ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -339,6 +339,8 @@
        return False
        
    DoLogic_AttackResult(attacker, defender, useSkill, tick)
    #TurnAttack.OnTurnfightAttackResult(attacker, defender, useSkill)
    return True
#---------------------------------------------------------------------
@@ -664,7 +666,7 @@
    
    OnHurtTypeTriggerPassiveSkill(attacker, defender, curSkill, tick)
    DoLogic_AttackResult(attacker, defender, curSkill, tick)
    #TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
    return True
@@ -875,8 +877,9 @@
            continue
        DoLogic_AttackResult(attacker, defObj, curSkill, tick)
    #TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
    return
## 执行群攻攻击
#  @param attacker 攻击者实例
@@ -981,22 +984,20 @@
        if not curTag:
            continue
        
        #非自定义场景才需要判断
        if not attacker.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
            if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
                if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
                    #npc主人是玩家不能攻击
                    continue
            if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
                # 最远距离防范
                GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
        if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
            if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
                #npc主人是玩家不能攻击
                continue
            if CheckFunc != None:
                #检查是否受影响
                if not CheckFunc(attacker, curTag, curSkill, tick):
                    continue
        if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
            # 最远距离防范
            GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
            continue
        if CheckFunc != None:
            #检查是否受影响
            if not CheckFunc(attacker, curTag, curSkill, tick):
                continue
        
        resultList.append(curTag)
            
@@ -1673,7 +1674,7 @@
                         curSkill.GetFuncType() in [ChConfig.Def_SkillFuncType_FbSkill,
                                                    ChConfig.Def_SkillFuncType_PetSkill,
                                                    ChConfig.Def_SkillFuncType_NormalAttack,
                                                    ChConfig.Def_SkillFuncType_TurnNormaAttack]):
                                                    ChConfig.Def_SkillFuncType_TurnNormaSkill]):
        # 攻击减层级 优先处理,因为同个技能触发buff后,会再处理层级,导致立即减层级
        PassiveBuffEffMng.OnPassiveBuffTrigger(attacker, defender, curSkill, ChConfig.TriggerType_Buff_AttackSubLayer, tick)
    
@@ -1820,19 +1821,19 @@
    #===========================================================================
    
    #----------扣XP点
    if SkillCommon.isXPSkill(curSkill):
        GameObj.SetXP(curObj, 0)
    #if SkillCommon.isAngerSkill(curSkill):
    #    GameObj.SetXP(curObj, 0)
    #----------扣HP点
    lostHPValue = curSkill.GetHP()
    curPlayerHP = GameObj.GetHP(curObj)
    if curPlayerHP < lostHPValue:
        GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
                            curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
    if lostHPValue > 0:
        GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
    #lostHPValue = curSkill.GetHP()
    #curPlayerHP = GameObj.GetHP(curObj)
    #
    #if curPlayerHP < lostHPValue:
    #    GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
    #                        curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
    #
    #if lostHPValue > 0:
    #    GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
        
    return
@@ -1879,6 +1880,8 @@
    #通知客户端攻击结果
    __Sync_AttackResult(curNPC, target, curSkill)
    
    #TurnAttack.OnTurnfightAttackSuccess(curNPC, target, curSkill)
    #技能使用成功
    if curSkill:
        skillTypeID = curSkill.GetSkillTypeID()
@@ -1922,9 +1925,7 @@
        if curPlayer != None and GameObj.GetHP(curPlayer) > 0:
            if curSkill == None or curSkill.GetSkillType() not in ChConfig.Def_NoBattleState_List: 
                AttackCommon.SetPlayerBattleState(curPlayer, tick)
    FBLogic.DoOverNPCAttackSuccess(curNPC, target, tick)
    # 灵为玩家的替身需要走此逻辑
    UseSkillOver(curNPC, target, curSkill, tick)
    return True
@@ -2667,7 +2668,8 @@
            continue
        DoLogic_AttackResult(attacker, defObj, curSkill, tick)
    #TurnAttack.OnTurnfightAttackResult(attacker, None, curSkill)
    return True
    
    
@@ -2777,7 +2779,7 @@
    sendPack.ValueEx = curHurt.GetHurtHPEx()
    sendPack.RemainHP = curHurt.GetCurHP()
    sendPack.RemainHPEx = curHurt.GetCurHPEx()
    turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(attacker.GetID())
    turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(attacker.GetTFGUID())
    if turnFight:
        turnFight.addBatPack(sendPack)
        return
@@ -2793,7 +2795,7 @@
    # m_LastBattleTick = GetGameWorldManager()->GetTick();
    #===========================================================================
    
    turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(attacker.GetID())
    turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(attacker.GetTFGUID())
    if turnFight:
        sendPack = ChNetSendPack.tagUseSkillAttack()
        sendPack.ObjID = attacker.GetID()