66 lines
1.3 KiB
Go
66 lines
1.3 KiB
Go
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{})
|
|
}
|