diff --git a/logic/service/fight/input/node.go b/logic/service/fight/input/node.go index 14ad3264..a636bef4 100644 --- a/logic/service/fight/input/node.go +++ b/logic/service/fight/input/node.go @@ -162,18 +162,19 @@ func (c *Input) AddEffect(e *EffectID) { // 参数 fn:接收单个 Effect,返回 bool(如 func(e Effect) bool { return e.OnBattleStart() }) // 返回值:所有 Effect 的方法返回值列表 func (c *Input) Exec(fn func(Effect) bool) bool { + result := true c.Effects.Range(func(key int, value Effect) bool { if value.Alive() { - result := fn(value) - if !result { - return result //如果是false,说明存在阻止向下执行的effect,比如免疫能力提升效果 + result1 := fn(value) + if !result1 { + result = false //如果是false,说明存在阻止向下执行的effect,比如免疫能力提升效果 } } return true }) - return true + return result } // 消除回合类效果 efftype 输入是消对方的还是自己的,false是自己,true是对方