From 367d5e0a2998c414e58a139e35bf44c206b5da1e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 25 十二月 2025 10:51:44 +0800
Subject: [PATCH] 165 【挑战】天子的考验-服务端(每日重置榜单)

---
 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