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