From ecec2bde4584f578e822e614548e3ceec830cfef Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 十二月 2025 16:04:59 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(修复吕玲绮队友死亡触发怒技回合受限无效bug;7009效果支持纯被动效果技能;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
index 3dd3612..fc4ec53 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
@@ -20,6 +20,7 @@
import IpyGameDataPY
import BattleObj
import ChConfig
+import TurnSkill
GameWorld.ImportAll("Script\\Skill\\", "PassiveTrigger")
@@ -88,14 +89,28 @@
return
kwargs["byEffSkill"] = effSkill # 目前用于触发被动技能时,该效果技能提前先设置CD,防止嵌套触发时CD后置才设置,如关羽的怒技追击
+ # 没有类型的,纯配被动效果,有类型的技能在 OnUseSkill 统一处理回合次数,这里只处理纯被动效果的
+ useCntLimit = None
+ if not effSkill.GetSkillType():
+ useCntLimit = TurnSkill.CheckSkillUseCntLimit(batObj, effSkill)
+ if useCntLimit:
+ return
+
+ isOK = False
kwargs["byTriggerWay"] = triggerWay
for effID in effIDList:
curEffect = effSkill.GetEffectByID(effID, triggerWay)
if not curEffect:
continue
- DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)
+ if DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
+ isOK = True # 有效果触发就算
- return
+ if isOK:
+ if useCntLimit != None:
+ #GameWorld.DebugLogEx("增加被动效果回合触发次数! skillID=%s", effSkill.GetSkillID())
+ batObj.AddSkillUseCnt(effSkill.GetSkillID())
+
+ return isOK
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff=None, **kwargs):
effID = curEffect.GetEffectID()
@@ -115,7 +130,7 @@
if hasattr(effSkill, "GetRemainTime"):
effSkill.SetRemainTime(cdTime)
- return
+ return True
def __doTriggerPassiveEffectByBuff(turnFight, batObj, tagObj, triggerWay, buffID, effIDList, connSkill=None, connBuff=None, **kwargs):
buffMgr = batObj.GetBuffManager()
--
Gitblit v1.8.0