From c69a35c87860659271cbb58d0b0f13a9c65cdb35 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 04 一月 2026 14:44:17 +0800
Subject: [PATCH] 389 流向记录(增加主线装备分解流向支持:根据当前祝福等级取倒数x个品质记录;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 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 7e30a7d..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,7 +49,10 @@
         passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
     if not passiveSkill:
         return
-    return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill, byBuff=connBuff)
+    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):
     effSkill = effBuff.GetSkillData().GetIpyData()

--
Gitblit v1.8.0