From adbac922fdce017605381c4040d4bedbc24dcd1a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 31 十二月 2025 19:50:37 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(红颜效果支持多个相同效果叠加;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5501.py |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5501.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5501.py
index 61d768a..516eda3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5501.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5501.py
@@ -21,6 +21,28 @@
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
     skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
     setLayerCnt = curEffect.GetEffectValue(1) # 指定buff层级
+    byTagStateList = curEffect.GetEffectValue(2) # 或根据目标xx状态 [状态1, 状态2, ...]总层级
+    bySameCountryLayerEx = curEffect.GetEffectValue(3) # 触发来源是同国时额外增加层级
+    if byTagStateList:
+        layerTotal = 0
+        tagBuffMgr = tagObj.GetBuffManager()
+        for index in range(tagBuffMgr.GetBuffCount()):
+            buff = tagBuffMgr.GetBuffByIndex(index)
+            skillData = buff.GetSkillData()
+            if skillData.GetCurBuffState() not in byTagStateList:
+                continue
+            layerTotal += buff.GetLayer()
+        setLayerCnt = layerTotal
+        
+    if bySameCountryLayerEx:
+        if "byFriendObj" in kwargs:
+            byFriendObj = kwargs.pop("byFriendObj") # 直接取出,防止传递
+            if batObj.GetCountry() == byFriendObj.GetCountry():
+                setLayerCnt += bySameCountryLayerEx
+                
+    if setLayerCnt <= 0:
+        return
+    
     if not skillID:
         passiveSkill = effSkill
     else:

--
Gitblit v1.8.0