From 8d701c0d36c2f4ed0948ea485d10506f9ae86ef8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 20 十二月 2025 14:01:21 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(修复关羽潜能触发怒气追击会消耗怒气bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py |    3 +++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py                      |   10 +++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
index 92611de..9496138 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
@@ -49,6 +49,9 @@
         passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
     if not passiveSkill:
         return
+    noUseXP = curEffect.GetEffectValue(4) # 怒气追击时是否不消耗怒气
+    if noUseXP:
+        kwargs["noUseXP"] = 1
     return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill, byBuff=connBuff, **kwargs)
 
 def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
index 4f9849a..b6da081 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1172,7 +1172,7 @@
     if IsNeedSyncSkill(useSkill):
         Sync_UseSkill(turnFight, curBatObj, useSkill)
         
-    __doSkillUserAnger(turnFight, curBatObj, useSkill)
+    __doSkillUserAnger(turnFight, curBatObj, useSkill, **kwargs)
     
     DoBeAttackResult(turnFight, curBatObj, useSkill)
     return
@@ -1644,10 +1644,14 @@
         
     return
 
-def __doSkillUserAnger(turnFight, curBatObj, useSkill):
+def __doSkillUserAnger(turnFight, curBatObj, useSkill, **kwargs):
     ## 技能释放者怒气相关
     if SkillCommon.isAngerSkill(useSkill):
-        curBatObj.SetXP(0)
+        if "noUseXP" in kwargs:
+            kwargs.pop("noUseXP")
+            GameWorld.DebugLogEx("本次不消耗怒气")
+        else:
+            curBatObj.SetXP(0)
     elif SkillCommon.isTurnNormalSkill(useSkill) and useSkill.GetBatType() == ChConfig.TurnBattleType_Normal:
         addXP = IpyGameDataPY.GetFuncCfg("AngerXP", 3)
         AddFightXP(curBatObj, addXP, "skillID:%s" % useSkill.GetSkillID())

--
Gitblit v1.8.0