feat(fight): 实现精灵切换时的出战和下场触发机制

- 新增SwitchOut接口方法用于精灵下场时触发
- 重命名Switch为SwitchIn用于精灵出战时触发
- 在战斗流程中添加精灵下场时的广播调用
- 修改EffectDefeatTrigger等效果的切换逻辑

refactor(effects): 优化战斗效果的切换处理逻辑

- 修改Effect147和Effect148的触发条件判断逻辑
-
This commit is contained in:
2025-12-25 20:49:54 +08:00
parent 99b1e9495c
commit 143e02de77
17 changed files with 75 additions and 260 deletions

View File

@@ -40,7 +40,8 @@ type Effect interface {
// 首发其实就是切换的精灵为nil
Switch(in *Input, at info.AttackValue, outpet *info.BattlePetEntity) bool // 精灵出战 / 上场时触发
SwitchIn(in *Input) bool // 精灵出战 / 上场时触发
SwitchOut(in *Input) bool // 精灵下场时触发
//OnSwitchOut() bool // 精灵下场时触发
// OnOwnerSwitchIn() bool // 所属玩家精灵出战时触发
// OnOwnerSwitchOut() bool // 所属玩家精灵下场时触发