diff --git a/logic/service/fight/input/nodemanger.go b/logic/service/fight/input/nodemanger.go index 8f839be5..10d2276b 100644 --- a/logic/service/fight/input/nodemanger.go +++ b/logic/service/fight/input/nodemanger.go @@ -121,13 +121,13 @@ func (c *Input) AddEffect(e Effect) { // 删除 func (c *Input) RemoveEffect(e Effect) { - var remain []Effect + //*var remain []Effect for _, eff := range c.Effects { - if eff.ID() != e.ID() { - remain = append(remain, eff) + if eff.ID() == e.ID() { + eff.NotALive() } } - c.Effects = remain + //c.Effects = remain } // ForEachEffectBool 遍历所有 Effect,执行“无参数、返回 bool”的方法 @@ -155,13 +155,13 @@ func (c *Input) Exec(fn func(Effect) bool) bool { // 消除回合类效果 efftype 输入是消对方的还是自己的,false是自己,true是对方 func (c *Input) CancelTurn(efftype bool) { - var remain []Effect + //var remain []Effect for _, eff := range c.Effects { - if eff.Duration(0) <= 0 && eff.GetOwner() == efftype { //false是自身,true是对方,反转后为真就是自己的 - remain = append(remain, eff) + if eff.Duration(0) > 0 { //false是自身,true是对方,反转后为真就是自己的 + effect.NotAlive() } } - c.Effects = remain + //c.Effects = remain }