package effect import "blazing/logic/service/fight/input" // 501. g1. 最后一个死 (只要有队友没死, 则自己又恢复hp和pp) type NewSel501 struct { NewSel0 } // SwitchOut 在拥有者死亡离场时触发;若仍有存活队友,则把自己回满留作后续再上场。 func (e *NewSel501) SwitchOut(in *input.Input) bool { owner := e.SourceInput() if owner == nil || in != owner || !e.IsOwner() { return true } currentPet := owner.CurrentPet() if currentPet == nil || currentPet.Info.Hp > 0 || !owner.HasLivingTeammate() { return true } currentPet.Info.Hp = currentPet.Info.MaxHp owner.HealPP(-1) return true } func init() { input.InitEffect(input.EffectType.NewSel, 501, &NewSel501{}) }