From 491a52c412d57216da83f9aec2a5e1c21ed07006 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 十二月 2025 21:17:15 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(诸葛亮潜能;增加触发类型51;效果5012支持配置同国概率及消耗buff状态;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py |   19 ++++++++++++++++++-
 1 files changed, 18 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..92611de 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

--
Gitblit v1.8.0