package effect import ( "blazing/logic/service/fight/input" "blazing/logic/service/fight/node" ) // Effect 3: 解除自身的能力下降状态 type Effect3 struct { node.EffectNode Reverse bool Level int8 } // ---------------------- // 执行时逻辑 // ---------------------- func (e *Effect3) Skill_Use() bool { for i, v := range e.Ctx().Our.Prop[:] { if v < 0 { e.Ctx().Our.SetProp(e.Ctx().Our, int8(i), 0) } } return true } // Effect 33: 消除敌方阵营所有强化 type Effect33 struct { node.EffectNode Reverse bool Level int8 } // ---------------------- // 执行时逻辑 // ---------------------- func (e *Effect33) Skill_Use() bool { e.ForEachOpponentSlot(func(target *input.Input) bool { if target == nil { return true } for i, v := range target.Prop[:] { if v > 0 { target.SetProp(e.Ctx().Our, int8(i), 0) } } return true }) return true } // ---------------------- // 注册所有效果 // ---------------------- func init() { // {3, false, 0}, // 解除自身能力下降状态 // {33, true, 0}, // 消除敌方阵营所有强化{3, false, 0}, // 解除自身能力下降状态 // {33, true, 0}, // 消除敌方阵营所有强化 input.InitEffect(input.EffectType.Skill, 3, &Effect3{}) input.InitEffect(input.EffectType.Skill, 33, &Effect33{}) }