From 68c06a7abc6ad911baf81bde36e68019ecd1a11d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 十二月 2025 19:06:15 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(小乔所有技能;增加触发方式53-友方造成持续伤害时;优化效果5022 5507 5509;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5509.py | 36 +++++++++++++++++++++++++++++-------
1 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5509.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5509.py
index 7dac9f2..3a733e1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5509.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5509.py
@@ -24,13 +24,27 @@
byFriendObj = kwargs.pop("byFriendObj") # 直接取出,防止传递
passiveSkillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
- byHeorID = curEffect.GetEffectValue(1) # 仅友军武将ID时有效(验证用,不一定是技能目标)
+ byFriendRule = curEffect.GetEffectValue(1) # 友军验证规则[验证方式, 验证值]
+ tagRule = curEffect.GetEffectValue(2) # 指定目标 0-按技能,1-对击杀方,2-对来源友军,3-对关联对象
- friendHeroID = byFriendObj.GetHeroID()
- if friendHeroID != byHeorID:
- GameWorld.DebugLogEx("5509非友军触发来源不处理! friendHeroID=%s != %s", friendHeroID, byHeorID)
- return
-
+ if byFriendRule:
+ checkType = byFriendRule[0]
+ # 验证方式 1 - 按武将ID, 值-武将ID
+ if checkType == 1:
+ byHeorID = byFriendRule[1] if len(byFriendRule) > 1 else 0
+ friendHeroID = byFriendObj.GetHeroID()
+ if friendHeroID != byHeorID:
+ GameWorld.DebugLogEx("5509友军武将非触发来源不处理! friendHeroID=%s != %s", friendHeroID, byHeorID)
+ return
+
+ # 验证方式 2 - 按国家, 值-国家
+ elif checkType == 2:
+ byCountry = byFriendRule[1] if len(byFriendRule) > 1 else 0
+ friendCountry = byFriendObj.GetCountry()
+ if friendCountry != byCountry:
+ GameWorld.DebugLogEx("5509友军国家非触发来源不处理! friendCountry=%s != %s", friendCountry, byCountry)
+ return
+
if not passiveSkillID:
passiveSkillID = effSkill.GetSkillID()
if not passiveSkillID:
@@ -38,4 +52,12 @@
effectID = curEffect.GetEffectID()
effSkillID = effSkill.GetSkillID()
- return TurnSkill.OnUsePassiveSkill(turnFight, batObj, byFriendObj, passiveSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
+ toTagObj = None
+ if tagRule == 1:
+ toTagObj = byFriendObj.GetKiller()
+ elif tagRule == 2:
+ toTagObj = byFriendObj
+ elif tagRule == 3:
+ toTagObj = tagObj
+
+ return TurnSkill.OnUsePassiveSkill(turnFight, batObj, toTagObj, passiveSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
--
Gitblit v1.8.0