ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -55,6 +55,7 @@
import BuffSkill
import PlayerState
import ChPyNetSendPack
import NPCHurtManager
import NetPackCommon
import FamilyRobBoss
import FBCommon
@@ -699,15 +700,14 @@
#  @param hurtHP 攻击伤血值
#  @return None or True
#  @remarks 函数详细说明.
def NPCAddObjInHurtList(curObj, curTagObj, curTaglNPCHPBefore, hurtHP) :
def NPCAddObjInHurtList(curObj, curTagObj, curTaglNPCHPBefore, hurtHP, isBounce=False):
    if curObj == None:
        GameWorld.ErrLog("NPCAddObjInHurtList NoFindObj")
        return
    if curTaglNPCHPBefore < hurtHP:
        hurtHP = curTaglNPCHPBefore
    defNPCHurtList = curTagObj.GetPlayerHurtList()
    curObjType = curObj.GetGameObjType()
    if curObjType == IPY_GameWorld.gotPlayer:
        #BossHurtMng.BossAddPlayerInHurtList(curObj, curTagObj, hurtHP)
@@ -716,6 +716,9 @@
            FBLogic.DoFB_Player_HurtNPC(curObj, curTagObj, hurtHP)
        if GameObj.GetHP(curTagObj) == 0:
            curTagObj.SetDict(ChConfig.Def_PlayerKey_LastHurt, curObj.GetPlayerID())
        if NPCHurtManager.AddHurtValue(curObj, curTagObj, hurtHP, isBounce):
            return
        
        curTeam = curObj.GetTeam()
        
@@ -780,7 +783,7 @@
        #    return False
        
        #击杀次数判断
        if not CheckKillNPCByCnt(attacker, defender):
        if not NPCHurtManager.IsAssistPlayer(attacker.GetPlayerID(), defender) and not CheckKillNPCByCnt(attacker, defender):
            return False
        
        #仙盟归属NPC判断
@@ -794,7 +797,7 @@
        #    return False
        
        #击杀次数判断
        if not CheckKillNPCByCnt(defender, attacker, False):
        if not CheckKillNPCByCnt(defender, attacker, False) and not NPCHurtManager.IsAssistPlayer(defender.GetPlayerID(), attacker):
            return False
        
        #仙盟归属NPC判断
@@ -806,8 +809,10 @@
        if PetControl.IsPet(attacker) or attacker.GetGameNPCObjType()== IPY_GameWorld.gnotSummon:
            #击杀次数判断
            if not CheckKillNPCByCnt(attacker, defender, False):
                return False
                ownerPlayer = GetAttackPlayer(attacker)[0]
                if ownerPlayer and not NPCHurtManager.IsAssistPlayer(ownerPlayer.GetPlayerID(), defender):
                    return False
            #仙盟归属NPC判断
            if not CheckCanAttackFamilyOwnerNPC(attacker, defender, False):
                return False
@@ -2464,7 +2469,7 @@
    #    GameWorld.DebugLog("不能攻击,不反弹")
    #    return
    #杀怪次数判断
    if not CheckKillNPCByCnt(defObj, atkObj, False):
    if not CheckKillNPCByCnt(defObj, atkObj, False) and not NPCHurtManager.IsAssistPlayer(defObj.GetPlayerID(), atkObj):
        #GameWorld.DebugLog("不能攻击,不反弹")
        return