亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? modmainserver.vb.svn-base

?? MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
?? SVN-BASE
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
        '#########################################'
        '###CHECK TARGET EXISTS + FIND ITS RACE###'
        '#########################################'

        If ObjectList(TargetId) Is Nothing Then
            'No object so we hit nothing
            Exit Sub
        Else
            Dim gPlayer As New clsPlayer
            Dim gMonster As New clsMonster
            Dim gNpc As New clsNpc
            'Get the Race of our target and put it in the TargetRace variable
            If ObjectList(TargetId).GetType Is gPlayer.GetType Then
                TargetRace = Races.Player
            End If
            If ObjectList(TargetId).GetType Is gMonster.GetType Then
                TargetRace = Races.Monster
            End If
            If ObjectList(TargetId).GetType Is gNpc.GetType Then
                TargetRace = Races.Npc
            End If
        End If

        If CheckMap.MapMode = modMap.MapModes.Safezone And TargetRace = Races.Player Then
            '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
            '!!!!CHECK IF TARGET IS IN A SAFEZONE RANGE!!!!'
            '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
            'Target is a Player and the map mode is safe so hit nothing
            Exit Sub
        End If

        Dim tPlayer As clsPlayer
        Dim tMonster As clsMonster
        Dim tMonStats As clsMobStats

        '#######################################'
        '###GET THE DAMAGE + IF WE HIT OR NOT###'
        '#######################################'

        Select Case TargetRace
            Case Races.None
                'Dont attack Nothing
                Exit Sub
            Case Races.Player
                'Attack Player
                tPlayer = ObjectList(TargetId)
                'Get the damage we do
                Damage = GetDamage(Player.DC, Player.MaxDC, Player.Luck - Player.Curse)

                Player.Target = Races.Player
                Player.TargetId = TargetId
                tPlayer.Attacker = Races.Player
                tPlayer.AttackerId = Player.StateId

                'Do we hit or miss?
                If Player.Accuracy > Rand(0, tPlayer.Agility) Then
                    WillHit = True
                End If

                'Check Players attack mode to see if we do hit or not
                Select Case Player.AttackMode
                    Case clsPlayer.AttackModes.Peaceful
                        'Peace Attack
                        Damage = 0
                        WillHit = False

                    Case clsPlayer.AttackModes.GroupAttack
                        'Group Attack
                        If Player.GroupMembers.Contains(TargetId) Then
                            Damage = 0
                            WillHit = False
                        End If

                    Case clsPlayer.AttackModes.GuildAttack
                        'Guild Attack
                        Damage = 0
                        WillHit = False

                    Case clsPlayer.AttackModes.RedBrownAttack
                        If tPlayer.PKPoint < 199 Then
                            Damage = 0
                            WillHit = False
                        End If

                    Case clsPlayer.AttackModes.AttackAll
                        'Attack All

                    Case clsPlayer.AttackModes.MarriageAttack
                        'Marriage
                        Damage = 0
                        WillHit = False
                End Select

                'If the target player is dead then we cant hit him
                If tPlayer.IsDead Or tPlayer.HP <= 0 Then
                    Damage = 0
                    WillHit = False
                End If

            Case Races.Monster
                'Attack Monster
                tMonster = ObjectList(TargetId)
                tMonStats = MonsterStatsList(tMonster.Name)

                'Do we get a holy bonus or not
                If tMonStats.Undead Then
                    Damage = GetDamage(Player.DC, Player.MaxDC, Player.Luck - Player.Curse + Player.Holy)
                Else
                    Damage = GetDamage(Player.DC, Player.MaxDC, Player.Luck - Player.Curse)
                End If
                tMonster.Target = Races.Player
                tMonster.TargetId = State.Index

                'Do we hit or miss?
                If Player.Accuracy > Rand(0, tMonStats.Agility) Then
                    WillHit = True
                End If

                'Monsters dead so we dont hit it
                If tMonster.HP <= 0 Then
                    Damage = 0
                    WillHit = False
                End If

            Case Races.Npc
                'Dont attack Npcs
                Exit Sub
        End Select

        'If were not going to hit it dont hurt it
        If WillHit = False Then Damage = 0
        If Damage = 0 Then WillHit = False

        'Get the real damage including AC
        If Damage > 0 Then
            Damage = Math.Max(0, Damage - GetAC(TargetId))
            'Dim WeapDuraLoss As Byte = Rand(0, 5) + 2
            'If Player.LooseDura(WeapDuraLoss, EquipId.weapon) Then
            '    'TellPlayer weapon broke
            'End If
        End If

        Dim HP As Integer
        Dim MaxHP As Integer
        Dim MP As Integer

        '########################################'
        '###DO THE ACTUAL DAMAGE TO THE TARGET###'
        '########################################'

        'Now do the damage
        If Damage > 0 Then
            Select Case TargetRace
                Case Races.Player
                    'Take away some of taget players HP
                    tPlayer.HP = Math.Max(tPlayer.HP - Damage, 0)
                    If tPlayer.HP <= 0 Then
                        'Player died, has he got a revival ring?
                        tPlayer.Died()
                    End If
                    HP = tPlayer.HP
                    MaxHP = tPlayer.MaxHP
                    MP = tPlayer.MP
                    'Process any loss on dura
                    'Dim Break As Boolean = False
                    'Dim DuraLoss As Byte = Rand(0, 10) + 5
                    'For i = 0 To 10
                    '    If i = equipid.weapon Or i = equipid.candle Or equipid.shoes Then
                    '    ElseIf tPlayer.losedur(durloss, i) = True Then
                    '        If i = equipid.armour Or i = equipid.helmet Then
                    '            break = True
                    '            'tell others we broke something later :p
                    '        End If
                    '        If i = equipid.candle Then
                    '            sendchangelight(State.Index, PlayerList(Player.Name), Player.Light)
                    '            'technicaly we should tell others our light ended aswell
                    '        End If
                    '    End If
                    'Next i
                    'If break = True Then
                    '    tPlayer.recalcstats()
                    '    'send the packet informing targetplayer about his new stats
                    '    sendlookchanges(tPlayer)
                    'End If

                Case Races.Monster
                    'Take away some of Monsters HP
                    tMonster.HP = Math.Max(tMonster.HP - Damage, 0)
                    If tMonster.HP <= 0 Then
                        'Monster died
                        tMonster.Died()
                    End If
                    HP = tMonster.HP
                    MaxHP = tMonStats.MaxHP
                    MP = tMonster.MP

            End Select
        End If

        '######################################'
        '###TELL EVERYONE YOU HIT THE TARGET###'
        '######################################'

        If WillHit And Damage > 0 Then
            'Attack has been Processed, Tell Players what got hit
            Dim lPlayer As clsPlayer
            For i = 0 To Locals.Count - 1
                If Not Locals(i) Is Nothing Then
                    'Tell players
                    lPlayer = ObjectList(Locals(i))

                    Select Case TargetRace
                        Case Races.Monster
                            If tMonster.IsDead Then
                                'If monster died tell everyone
                                Packets.SendDied(lPlayer.StateId, TargetId, TargetRace)
                                'Do Drops
                                tMonster.DoDrops()
                                'Add Exp
                                Player.AddExp(tMonster.Exp, tMonster.MobId)
                                'Remove Monster
                                'MonsterList.Remove(tMonster.MobId)
                                ObjectList.Remove(tMonster.MobId)
                            Else
                                Packets.SendStruck(lPlayer.StateId, TargetRace, GetSmallMonsterBuffer(tMonster))
                            End If

                        Case Races.Player
                            If tPlayer.IsDead Then
                                'If player died tell everyone
                                Packets.SendDied(lPlayer.StateId, tPlayer.StateId, TargetRace)
                                'Do Drops
                            Else
                                Packets.SendStruck(lPlayer.StateId, TargetRace, GetSmallPlayerBuffer(tPlayer))
                            End If
                    End Select

                End If
            Next i
        End If

    End Sub

#End Region
#Region "ProcessMagicAttack"

    Public Sub ProcessMagicAttack(ByVal Header As Header, ByVal State As State)
        Dim TargetX As Short = Header.wParam
        Dim TargetY As Short = Header.wTag
        Dim MagicId As Integer = Header.nRecog
        'Player that is doing the action
        Dim Player As clsPlayer = ObjectList(State.Index)

        '#########################'
        '###CHECK THEY CAN CAST###'
        '#########################'

        'Check they can perform the action and that server and client are in sync
        If Player.IsDead Or Player.Poison = clsPlayer.Poisons.Paralysis Or Not Player.PlayerMagics.Contains(MagicId) Or Not MagicList.Contains(MagicKeyList(MagicId)) Then
            Packets.SendCastFail(State.Index)
            Exit Sub
        End If

        Dim Magic As clsMagic = MagicList(MagicKeyList(MagicId))

        'Check target is in the range of the caster
        If Not CheckInRangeXY(Player.X, Player.Y, TargetX, TargetY, Magic.AttackRange, Magic.AttackRange) Then Exit Sub

        '######################'
        '###IF THEY CAN CAST###'
        '######################'

        'Tell them they can cast
        Packets.SendCastOk(State.Index)
        Player.Dir = Header.wSeries

        '########################'
        '###    USE MAGIC     ###'
        '########################'

        Dim MagicAttack As clsMagicAttack
        MagicAttack = Magic.UseMagic(Player, TargetX, TargetY)
        Magic.ProcessMagicAttack(MagicAttack)

        '###########################'
        '###TELL EVERYONE WE CAST###'
        '###      AND WHERE      ###'
        '###########################'

        Dim i As Integer
        Dim Locals As Hashtable = GetLocalObjects(Player.X, Player.Y, Player.Map, 15, 15, -1)
        Dim Added As New Hashtable
        Dim lPlayerId As Integer

        For i = 0 To Locals.Count - 1
            If Not Locals(i) Is Nothing Then
                'Its a player
                lPlayerId = Locals(i)
                If Not Added.Contains(lPlayerId) And Not lPlayerId = Player.StateId Then
                    Packets.SendCast(lPlayerId, Player.StateId, Races.Player, Player.Dir, Magic.Looks, TargetX, TargetY)
                    Added.Add(lPlayerId, "")
                End If
            End If
        Next i

        Added.Clear()


        '######################################'
        '###TELL EVERYONE WE STRUCK AND WHAT###'
        '######################################'

        Dim TargetRace As Races
        Dim TargetId As Object
        Dim m As Long

        Dim en As IDictionaryEnumerator = MagicAttack.Targets.GetEnumerator

        While en.MoveNext
            Dim tMonster As clsMonster
            Dim tPlayer As clsPlayer
            TargetRace = en.Value
            TargetId = en.Key

            Dim lPlayer As clsPlayer
            For i = 0 To Locals.Count - 1
                If Not Locals(i) Is Nothing Then
                    'Tell players
                    lPlayer = ObjectList(Locals(i))

                    Select Case TargetRace
                        Case Races.Monster
                            tMonster = ObjectList(TargetId)
                            If tMonster.IsDead Then
                                'If monster died tell everyone
                                Packets.SendDied(lPlayer.StateId, TargetId, TargetRace)
                                'Do Drops
                                tMonster.DoDrops()
                                'Add Exp
                                Player.AddExp(tMonster.Exp, tMonster.MobId)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线porny国产在线看| 国产精品色哟哟| 91精品欧美久久久久久动漫 | 欧美挠脚心视频网站| 色婷婷综合久久久中文一区二区| 94色蜜桃网一区二区三区| 成人午夜免费av| 99久久99精品久久久久久| 97久久久精品综合88久久| 色国产综合视频| 欧美日韩中文字幕精品| 777色狠狠一区二区三区| 欧美一区二区在线视频| 精品国产免费人成在线观看| 精品va天堂亚洲国产| 国产日韩欧美一区二区三区乱码| 国产调教视频一区| 成人欧美一区二区三区黑人麻豆| 亚洲欧美另类久久久精品2019| 悠悠色在线精品| 日韩高清在线电影| 韩国女主播一区| 99久久综合色| 欧美日韩国产a| 精品国产乱码久久| 国产精品三级av在线播放| 有码一区二区三区| 麻豆精品视频在线观看| 成人午夜av电影| 欧美性感一区二区三区| 欧美大片国产精品| 国产精品美女视频| 三级精品在线观看| 国产乱国产乱300精品| 97久久超碰国产精品| 91精品欧美综合在线观看最新| 久久一日本道色综合| 日韩码欧中文字| 日韩精品乱码av一区二区| 韩国精品一区二区| 91在线视频播放| 欧美一级欧美三级| 国产欧美日韩激情| 天天综合天天做天天综合| 国产高清无密码一区二区三区| 91麻豆福利精品推荐| 日韩欧美亚洲国产精品字幕久久久| 中文字幕第一页久久| 亚洲成人午夜电影| 国产suv精品一区二区三区| 欧美网站大全在线观看| 欧美精品一区二| 亚洲五月六月丁香激情| 国产成人在线看| 欧美一区二区视频免费观看| 国产精品高潮久久久久无| 琪琪一区二区三区| 色综合视频在线观看| 久久美女高清视频| 亚洲成人黄色影院| 成人av免费在线播放| 日韩一级欧美一级| 亚洲一区二区3| av激情成人网| 欧美精品一区在线观看| 亚洲777理论| 91视视频在线直接观看在线看网页在线看| 欧美高清视频一二三区| 综合久久国产九一剧情麻豆| 国产一区二区三区美女| 欧美一区二区三区色| 亚洲精品成人天堂一二三| 成人午夜免费电影| 久久综合色鬼综合色| 亚洲成av人片在www色猫咪| 92国产精品观看| 国产欧美一区二区精品秋霞影院| 日本视频一区二区| 欧美亚州韩日在线看免费版国语版| 中文字幕av一区二区三区高| 久久精品久久99精品久久| 欧美日韩国产一区| 有坂深雪av一区二区精品| 99久久婷婷国产综合精品| 日本一区二区三区电影| 国产麻豆视频一区二区| 欧美va天堂va视频va在线| 日日夜夜免费精品视频| 精品视频在线视频| 亚洲va天堂va国产va久| 欧美伊人久久久久久久久影院| 亚洲欧美偷拍卡通变态| 99精品视频在线免费观看| 国产精品美日韩| 不卡欧美aaaaa| 国产精品久久久久影院老司| 大白屁股一区二区视频| 国产亚洲一二三区| 国产黄色91视频| 中文字幕免费不卡在线| 成人av影视在线观看| 国产精品二三区| 色综合中文字幕国产 | 亚洲另类在线制服丝袜| 91在线播放网址| 亚洲精品少妇30p| 欧美三级视频在线| 天天综合网 天天综合色| 欧美一级在线观看| 麻豆91精品91久久久的内涵| 精品剧情v国产在线观看在线| 狠狠狠色丁香婷婷综合激情| 久久久久久久精| 成人免费电影视频| 亚洲欧美日韩中文播放 | 欧美日韩精品福利| 日韩精品亚洲专区| 欧美大片拔萝卜| 成人午夜碰碰视频| 夜夜嗨av一区二区三区| 91精品国产91热久久久做人人 | 在线影院国内精品| 亚洲成av人片| 精品久久五月天| 成人免费精品视频| 亚洲国产日韩a在线播放| 8x福利精品第一导航| 精品一区二区三区在线观看国产| 精品国内片67194| 成人av在线播放网址| 亚洲综合激情网| 欧美大片一区二区| 99久久免费国产| 日韩av一二三| 国产日韩影视精品| 欧美亚洲图片小说| 精品在线播放午夜| 亚洲男人都懂的| 欧美一区二区视频免费观看| 成人性视频免费网站| 午夜亚洲国产au精品一区二区| 欧美成人性战久久| 色婷婷久久99综合精品jk白丝| 日韩avvvv在线播放| 国产女同互慰高潮91漫画| 欧美吞精做爰啪啪高潮| 国产精品一区二区三区乱码| 一个色综合av| 国产日韩欧美一区二区三区乱码 | 色88888久久久久久影院野外| 蜜臂av日日欢夜夜爽一区| 国产精品成人免费| 日韩一区二区在线免费观看| 成人午夜视频网站| 琪琪久久久久日韩精品| 亚洲三级电影网站| 精品国产电影一区二区| 在线精品国精品国产尤物884a| 精品一区二区在线视频| 一区二区三区.www| 中文字幕免费一区| 欧美一卡在线观看| 欧美在线视频日韩| 国产成人免费xxxxxxxx| 日韩精彩视频在线观看| 亚洲欧洲日韩综合一区二区| 精品久久久久久久人人人人传媒| 91久久精品一区二区三区| 国产乱国产乱300精品| 三级在线观看一区二区| 亚洲伦理在线免费看| 久久综合狠狠综合久久激情| 欧美特级限制片免费在线观看| 国产成人亚洲综合a∨婷婷 | 欧美色视频一区| 99久久精品免费看国产 | 欧美日韩午夜在线视频| heyzo一本久久综合| 国产精品一区二区你懂的| 青青草国产成人av片免费| 亚洲成人一区二区在线观看| 亚洲视频你懂的| 国产精品网站在线| 精品盗摄一区二区三区| 日韩欧美自拍偷拍| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲自拍偷拍av| 日韩美女视频19| 中国色在线观看另类| 精品国产凹凸成av人导航| 91精品在线观看入口| 欧美日本在线观看| 欧美亚洲禁片免费| 欧洲国产伦久久久久久久| 色综合久久久久久久久久久| 白白色亚洲国产精品| 高清视频一区二区| 国产麻豆精品theporn| 黑人精品欧美一区二区蜜桃| 激情久久五月天|