From bea3ae882f1b6b22b0d67f20d28b0892d3c89b81 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 20 十二月 2025 17:40:44 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(周瑜小乔潜能1;步练师潜能1、5;孙坚潜能1、3;增加灼烧增减伤属性;增加触发方式52;优化效果5022、5504;增加效果5026;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 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 ebb2e75..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
@@ -19,12 +19,29 @@
 import IpyGameDataPY
 import GameWorld
 import ChConfig
+import TurnBuff
 
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
     rate = curEffect.GetEffectValue(0)
+    bySameCountryFriendRate = curEffect.GetEffectValue(2) # 触发来源友方是同国时的概率
+    if bySameCountryFriendRate:
+        if "byFriendObj" in kwargs:
+            byFriendObj = kwargs["byFriendObj"]
+            if byFriendObj and byFriendObj.GetCountry() == batObj.GetCountry():
+                rate = bySameCountryFriendRate
     if not GameWorld.CanHappen(rate):
-        #GameWorld.DebugLog("概率进行追击不触发!")
+        #GameWorld.DebugLogEx("5012概率进行追击不触发! %s", rate)
         return
+    
+    costBuffState = curEffect.GetEffectValue(3) # 可设置需消耗某状态buff(默认1层)
+    if costBuffState:
+        buffMgr = batObj.GetBuffManager()
+        buff = buffMgr.FindBuffByState(costBuffState)
+        if not buff:
+            #GameWorld.DebugLogEx("5012不存在buff状态,无法触发! costBuffState=%s", costBuffState)
+            return
+        TurnBuff.DoBuffLayerChange(turnFight, batObj, buff, buff.GetLayer() - 1, connSkill)
+        
     skillID = curEffect.GetEffectValue(1) # 技能ID,为0时释放本技能
     if not skillID:
         passiveSkill = effSkill
@@ -32,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):

--
Gitblit v1.8.0