Files
bl/logic/service/fight/effect/199.go
xinian 937ddd0a97
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
fix: 修复宠物存活状态判定逻辑
移除 `NotAlive` 字段,改用 `Alive()` 方法通过 HP 判断存活状态,修正相关效果触发逻辑。
2026-03-17 13:34:50 +08:00

33 lines
812 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package effect
import (
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
// 199 - 下次被击败后下一个出场的精灵xx等级+k
type Effect199 struct {
node.EffectNode
}
func (e *Effect199) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(-1) // 持续n回合
}
func (e *Effect199) SwitchOut(in *input.Input) bool {
if e.Input == in {
if !e.Ctx().Our.CurrentPet.Alive() { // 被击败
// 设置下一个出场精灵的增益效果
effectType := int8(e.Args()[0].IntPart()) // xx类型
effectValue := int8(e.Args()[1].IntPart()) // 等级+k
e.Ctx().Our.SetProp(e.Ctx().Our, effectType, effectValue)
}
e.Alive(false)
}
return true
}
func init() {
input.InitEffect(input.EffectType.Skill, 199, &Effect199{})
}