From 3beded4a9ae2e126158d89a4e7048f595ea0bc1b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 25 八月 2025 12:01:24 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(技能触发来源触发逻辑优化;增加承伤盾支持,0428通知buff相关值;增加嘲讽支持,优化技能选择目标逻辑;增加连击、反击、格挡、暴击、通用击晕支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py |   41 ++++++++++++-----------------------------
 1 files changed, 12 insertions(+), 29 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 4f4bdcb..76ed1de 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -45,7 +45,6 @@
 import GameObj
 import BuffSkill
 import PlayerState
-import MirrorAttack
 import ChPyNetSendPack
 import NPCHurtManager
 import NetPackCommon
@@ -454,7 +453,7 @@
             return heroIpyData.GetAtkDistType()
         
     npcID = curObj.GetNPCID()
-    npcDataEx = NPCCommon.GetNPCDataEx(npcID)
+    npcDataEx = NPCCommon.GetNPCDataPy(npcID)
     if npcDataEx:
         return npcDataEx.GetAtkDistType()
     
@@ -872,14 +871,14 @@
                 PlayerControl.NotifyCode(atkPlayer, sysMark)
         return False
     
-    npcDataEx = NPCCommon.GetNPCDataEx(npcID)
-    if npcDataEx and npcDataEx.GetFightPowerLackAtkLimit():
-        if npcDataEx.GetSuppressFightPower() > PlayerControl.GetFightPower(atkPlayer):
-            if isNotify:
-                PlayerControl.NotifyCode(atkPlayer, "BossFightPowerHint") 
-            #GameWorld.DebugLog("战力不足,无法攻击boss! npcID=%s,SuppressFightPower=%s > playerFightPower=%s" 
-            #                   % (npcID, npcDataEx.GetSuppressFightPower(), PlayerControl.GetFightPower(atkPlayer)))               
-            return False
+    #npcDataEx = NPCCommon.GetNPCDataPy(npcID)
+    #if npcDataEx and npcDataEx.GetFightPowerLackAtkLimit():
+    #    if npcDataEx.GetSuppressFightPower() > PlayerControl.GetFightPower(atkPlayer):
+    #        if isNotify:
+    #            PlayerControl.NotifyCode(atkPlayer, "BossFightPowerHint") 
+    #        #GameWorld.DebugLog("战力不足,无法攻击boss! npcID=%s,SuppressFightPower=%s > playerFightPower=%s" 
+    #        #                   % (npcID, npcDataEx.GetSuppressFightPower(), PlayerControl.GetFightPower(atkPlayer)))               
+    #        return False
         
     return True
 
@@ -2150,9 +2149,6 @@
         aBurnValue = atkwargs.get('burnValue', 0)
         aBurnPer = atkwargs.get('burnPer', 0)
         hurtFormulaKey = atkwargs.get('hurtFormulaKey', None)
-        #if hurtFormulaKey == "Burn":
-        #    pass
-        #else:
         hurtValue = eval(IpyGameDataPY.GetFuncCompileCfg("DOTFormula", 1))
     elif not curSkill:
         hurtValue = eval(IpyGameDataPY.GetFuncCompileCfg("HurtFormula", 3))
@@ -2239,8 +2235,6 @@
             atkObj.SetDict(ChConfig.Def_PlayerKey_LastHurtNPCObjID, defObj.GetID())
         else:
             defObj.SetDict(ChConfig.Def_PlayerKey_LastAttackerObjID, atkObj.GetID())
-            
-    TurnAttack.AddTurnObjHurtValue(atkObj, defObj, resultHurtType.HurtType, resultHurtType.RealHurtHP, resultHurtType.LostHP, curSkill)
     
     #if resultHurtType.RealHurtHP:
     #    PassiveBuffEffMng.OnPassiveSkillTrigger(defObj, atkObj, None, ChConfig.TriggerType_BeHurt, tick)
@@ -2549,17 +2543,6 @@
     '''
     #关系有3层,无-友好-敌人
     
-    #镜像PK下,无视PK区域、PK模式等,仅验证双方是否同一阵营
-    curBattleID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleID)
-    tagBattleID = tagPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MirrorBattleID)
-    if curBattleID and curBattleID == tagBattleID:
-        battle = MirrorAttack.GetMirrorBattleByID(curBattleID)
-        if battle.batState != ChConfig.Def_MirrorBatState_Fight:
-            return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_None
-        if curPlayer.GetFaction() != tagPlayer.GetFaction():
-            return ChConfig.Type_Relation_Enemy , ChConfig.Def_PASysMessage_None
-        return ChConfig.Type_Relation_Friend, ChConfig.Def_PASysMessage_None
-    
     #判断是否可释放(增/减)技能或普攻
     if CheckPlayersRelationInFB_IsNone(curPlayer, tagPlayer):
         return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_None
@@ -2708,8 +2691,8 @@
     if GameObj.GetHP(curObjDetel) > 0:
         return
     
-    if TurnAttack.SetTurnObjKilled(curObjDetel, atkObj):
-        return
+    #if TurnAttack.SetTurnObjKilled(curObjDetel, atkObj):
+    #    return
         
     #---玩家处理---
     if curObjDetel.GetGameObjType() == IPY_GameWorld.gotPlayer:
@@ -2787,7 +2770,7 @@
     srcID, srcType = 0, 0
     if srcObj:
         srcID, srcType = srcObj.GetID(), srcObj.GetGameObjType()
-    turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(curObj.GetID())
+    turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(curObj.GetTFGUID())
     if turnFight:
         clientPack = ChNetSendPack.tagObjPropertyRefreshView()
         clientPack.ObjID = curObj.GetID()

--
Gitblit v1.8.0