From b3d16628055d113d37021c1c55661f2cee035bdc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 26 八月 2025 20:06:07 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(简化触发方式;优化额外触发技能;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
index 80b81d4..d99d20f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -1151,20 +1151,24 @@
                 buffMgr = batObj.GetBuffManager()
                 for index in range(buffMgr.GetBuffCount())[::-1]:
                     buff = buffMgr.GetBuffByIndex(index)
+                    buffID = buff.GetBuffID()
+                    skillID = buff.GetSkillID()
+                    skillData = buff.GetSkillData()
+                    if skillData.GetSkillType() in ChConfig.Def_LstBuff_List:
+                        #GameWorld.DebugLog("    持续类buff由触发时机决定剩余时间! curID=%s,index=%s,skillID=%s,buffID=%s" % (curID, index, skillID, buffID))
+                        continue
                     remainTime = buff.GetRemainTime()
                     if not remainTime:
                         # 永久buff不处理
-                        #GameWorld.DebugLog("    永久buff不处理! curID=%s,index=%s,skillID=%s" % (curID, index, buff.GetSkillID()))
+                        #GameWorld.DebugLog("    永久buff不处理! curID=%s,index=%s,skillID=%s" % (curID, index, skillID))
                         continue
                     calcTimeline = buff.GetCalcTime()
                     passTurn = __calcPassturn(calcTimeline, nowTimeline, False)
                     if passTurn <= 0:
-                        #GameWorld.DebugLog("    passTurn <= 0 passTurn=%s,calcTimeline=%s,nowTimeline=%s,skillID=%s" % (passTurn, calcTimeline, nowTimeline, buff.GetSkillID()))
+                        #GameWorld.DebugLog("    passTurn <= 0 passTurn=%s,calcTimeline=%s,nowTimeline=%s,skillID=%s" % (passTurn, calcTimeline, nowTimeline, skillID))
                         continue
                     
                     updRemainTime = max(0, remainTime - passTurn)
-                    buffID = buff.GetBuffID()
-                    skillID = buff.GetSkillID()
                     GameWorld.DebugLog("更新buff剩余回合数: curID=%s,buffID=%s,skillID=%s,updRemainTime=%s,calcTimeline=%s,passTurn=%s" 
                                        % (curID, buffID, skillID, updRemainTime, calcTimeline, passTurn))
                     if updRemainTime > 0:

--
Gitblit v1.8.0