From ad6a669af7002ce115b322f5f10ad44c7992bb7b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 十二月 2025 14:43:09 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(吕玲绮技能,除了突破8潜能; buff持续回合计算增加规则3;技能目标范围增加男女;增加效果6030-掉血保护;5022效果支持配置仅对指定性别有效;)

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

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5504.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5504.py
index 69e08b3..0813b4e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5504.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5504.py
@@ -17,11 +17,13 @@
 
 import TurnSkill
 import IpyGameDataPY
+import GameWorld
 
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
     skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
     checkStateList = curEffect.GetEffectValue(1) # 可附加验证目标处于xx状态
     checkOwner = curEffect.GetEffectValue(2) # 是否只限归属自己的状态buff
+    isSelfDOTTrigger = curEffect.GetEffectValue(3) # 可附加验证触发的持续buff是否是自己施加的
     
     if checkStateList:
         ownerID = batObj.GetID() if checkOwner else 0
@@ -35,6 +37,21 @@
             #GameWorld.DebugLogEx("目标不在状态下不触发: tagID=%s,checkStateList=%s,ownerID=%s", tagObj.GetID(), checkStateList, ownerID)
             return
         
+    if isSelfDOTTrigger:
+        if not connBuff:
+            GameWorld.DebugLogEx("5504没有关联的buff不处理!")
+            return
+        curID = batObj.GetID()
+        buffOwnerID = connBuff.GetOwnerID()
+        connBuffID = connBuff.GetBuffID()
+        if curID != buffOwnerID:
+            GameWorld.DebugLogEx("5504非自己的持续buff触发的不处理: connBuffID=%s,buffOwnerID=%s != curID=%s", connBuffID, buffOwnerID, curID)
+            return
+        if checkStateList:
+            if connBuff.GetCurBuffState() not in checkStateList:
+                GameWorld.DebugLogEx("5504非自己指定持续buff触发的不处理: connBuffID=%s,buffState=%s not in %s", connBuffID, connBuff.GetCurBuffState(), checkStateList)
+                return
+            
     if not skillID:
         passiveSkill = effSkill
     else:

--
Gitblit v1.8.0