refactor(fight): 重构战斗状态效果系统 - 重命名BaseStatus.Switch方法为SwitchOut以提高语义清晰度 - 修改ParasiticSeed结构体继承关系,从BaseStatus改为EffectNode - 添加Status字段用于存储状态类型枚举 - 修复战斗循环中血量计算逻辑,使用Min替代Max确保血量不超过上限 - 完善PetSwitch逻辑,确保我方单位下场时状态正确失效 fix(fight): 修复战斗播报和切换逻辑 - 在战斗回合信息中添加技能
26 lines
395 B
Go
26 lines
395 B
Go
package node
|
|
|
|
import (
|
|
"blazing/logic/service/fight/input"
|
|
)
|
|
|
|
func (e *EffectNode) SwitchIn(in *input.Input) bool {
|
|
|
|
return true
|
|
}
|
|
|
|
func (e *EffectNode) SwitchOut(in *input.Input) bool {
|
|
//说明是我放切精灵
|
|
if e.Input == in {
|
|
//下场,执行消回合效果
|
|
// e.ctx.Our.CancelAll()
|
|
///我放下场
|
|
e.Alive(false)
|
|
}
|
|
|
|
if in == e.Ctx().Our {
|
|
e.Alive(false)
|
|
}
|
|
return true
|
|
}
|