Files
bl/logic/service/fight/effect/effect_prop.go
xinian de755f8fd0
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
fix: 修正效果33为消除敌方阵营所有强化
2026-04-14 16:26:05 +08:00

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{})
}