From 49cfc84f644219fefb382215e1765a8fd81fde48 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 25 九月 2025 09:49:52 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(甘宁技能;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py | 37 +++++++++++-------------------------- 1 files changed, 11 insertions(+), 26 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py index 391f7aa..ebf27e0 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py @@ -4,12 +4,12 @@ # ##@package Skill.PassiveTrigger.PassiveEff_5001 # -# @todo:buff层数结算持续buff +# @todo:结算某持续buff回合效果(可以是攻击或治疗) # @author hxp # @date 2025-08-19 # @version 1.0 # -# 详细描述: buff层数结算持续buff +# 详细描述: 结算某持续buff回合效果(可以是攻击或治疗) # #------------------------------------------------------------------------------- #"""Version = 2025-08-19 16:00""" @@ -17,31 +17,16 @@ import TurnBuff -def DoBuffEffectLogic(turnFight, batObj, tagObj, curBuff, curEffect, connSkill): - singleLayerCnt = max(1, curEffect.GetEffectValue(0)) # 单次消耗层数/次数 - noDel = curEffect.GetEffectValue(1) # 是否不扣除层数,默认0-扣除 1-不扣除 - isAll = curEffect.GetEffectValue(2) # 是否结算剩余全部层数/次数,默认0结算单次 +def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs): + #结算一次扣除1回合 + remainTime = max(0, effBuff.GetRemainTime() - 1) + effBuff.SetRemainTime(remainTime) - skillData = curBuff.GetSkillData() - nowLayerCnt = curBuff.GetLayer() + TurnBuff.DoBuffProcess(turnFight, batObj, effBuff) - # 全部层级 - if isAll: - logicCnt = nowLayerCnt / singleLayerCnt - updLayerCnt = 0 + if remainTime <= 0: + TurnBuff.DoBuffDel(turnFight, batObj, effBuff) else: - logicCnt = 1 # 执行逻辑次数 - updLayerCnt = nowLayerCnt - singleLayerCnt + TurnBuff.SyncBuffRefresh(turnFight, batObj, effBuff) - for _ in range(logicCnt): - TurnBuff.DoBuffProcess(turnFight, batObj, curBuff) - - # 消耗层级,有限制层级的才进行消耗 - if not noDel and skillData.GetLayerCnt(): - curBuff.SetLayer(max(updLayerCnt, 0)) - if updLayerCnt <= 0: - TurnBuff.DoBuffDel(turnFight, batObj, curBuff) - else: - TurnBuff.SyncBuffRefresh(turnFight, batObj, curBuff) - - return + return True -- Gitblit v1.8.0