diff --git a/logic/service/fight/battle/node/manger.go b/logic/service/fight/battle/node/manger.go index ba63dbe5..6ceccf48 100644 --- a/logic/service/fight/battle/node/manger.go +++ b/logic/service/fight/battle/node/manger.go @@ -31,10 +31,20 @@ func (c *NodeManager) AddEffect(e Effect) { // 触发执行 func (c *NodeManager) Trigger() { - turnStartResults := c.Exec(func(e Effect) bool { + c.Exec(func(e Effect) bool { return e.OnTurnStart() }) //回合开始 + //假如说这里需要能力提升 + c.Exec(func(e Effect) bool { + return e.OnBeforeAddMark() + }) + //添加印记前的效果如果有任何一个false,说明组织了添加效果 + //这里能力提升 + c.Exec(func(e Effect) bool { + return e.OnAnyMarkAdded() + }) + // var candidates []*Effect // for _, eff := range c.Effects { // if eff.Trigger == trigger { diff --git a/logic/service/fight/battle/node/node.go b/logic/service/fight/battle/node/node.go index f4befb9c..93994a97 100644 --- a/logic/service/fight/battle/node/node.go +++ b/logic/service/fight/battle/node/node.go @@ -13,7 +13,8 @@ type Effect interface { Stack(int) int MaxStack() int - + OnBeforeAddMark() bool + OnAnyMarkAdded() bool Duration(int) int }