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