From 5548fb3d02aa92982ed5690db06786c71e8304ae Mon Sep 17 00:00:00 2001 From: 1 <1@72wo.cn> Date: Tue, 11 Nov 2025 08:03:35 +0000 Subject: [PATCH] =?UTF-8?q?fix(fight):=20=E4=BF=AE=E5=A4=8D=E7=A9=BA?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E6=8F=90=E4=BA=A4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic/service/fight/input/effect.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/logic/service/fight/input/effect.go b/logic/service/fight/input/effect.go index 32fedf12f..9fd85115e 100644 --- a/logic/service/fight/input/effect.go +++ b/logic/service/fight/input/effect.go @@ -150,19 +150,20 @@ func (our *Input) AddEffect(e Effect) { if v.ID() == e.ID() && //找到相同的效果id v.Alive() && //如果之前的效果还存活 equalInts(v.GetArgs(), e.GetArgs()) { //如果层数可以叠加或者是无限层数 + if v.MaxStack() == 0 { v.Alive(false) //不允许叠层,取消效果 e.Duration(utils.Max(e.Duration(), v.Duration())) - } else { ///e.Alive(false) //取消之前效果 if v.Stack() <= v.MaxStack() { //如果小于最大叠层,状态可以叠层 - e.Stack(v.Stack() + e.Stack()) //获取到当前叠层数然后叠加 + v.Stack(v.Stack() + e.Stack()) //获取到当前叠层数然后叠加 //这里直接返回,不再继续执行后续效果,因为这里是可以叠加的效果 //v.Duration(e.Duration()) //回合数覆盖 } + v.Duration(utils.Max(e.Duration(), v.Duration())) return // c.Effects = append(c.Effects, e) //return