From e61476330284d8d31a5f623bcb85ab2bdcedd6df Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 31 十月 2025 19:28:34 +0800
Subject: [PATCH] 297 【常规】坊市系统-服务端(将魂商店刷新重置购买次数)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5001.py | 43 +++++++++++++++++--------------------------
1 files changed, 17 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..d9422e6 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,44 +4,35 @@
#
##@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"""
#-------------------------------------------------------------------------------
import TurnBuff
+import GameWorld
-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 = effBuff.GetRemainTime()
- skillData = curBuff.GetSkillData()
- nowLayerCnt = curBuff.GetLayer()
+ TurnBuff.DoBuffProcess(turnFight, batObj, effBuff)
- # 全部层级
- if isAll:
- logicCnt = nowLayerCnt / singleLayerCnt
- updLayerCnt = 0
+ if remainTime == 0:
+ GameWorld.DebugLog("永久buff,不扣回合数")
+ return True
+
+ remainTime -= 1
+ if remainTime <= 0:
+ TurnBuff.DoBuffDel(turnFight, batObj, effBuff)
else:
- logicCnt = 1 # 执行逻辑次数
- updLayerCnt = nowLayerCnt - singleLayerCnt
+ effBuff.SetRemainTime(remainTime)
+ 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