hxp
2025-07-23 a7ab0247c7b8eff06ad104bee39bc035384ca43e
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 攻击者实例
@@ -1673,7 +1676,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 +1823,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 +1882,8 @@
    #通知客户端攻击结果
    __Sync_AttackResult(curNPC, target, curSkill)
    
    TurnAttack.OnTurnfightAttackSuccess(curNPC, target, curSkill)
    #技能使用成功
    if curSkill:
        skillTypeID = curSkill.GetSkillTypeID()
@@ -1922,9 +1927,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 +2670,8 @@
            continue
        DoLogic_AttackResult(attacker, defObj, curSkill, tick)
    TurnAttack.OnTurnfightAttackResult(attacker, None, curSkill)
    return True