35 lines
779 B
Go
35 lines
779 B
Go
package effect
|
|
|
|
import "blazing/logic/service/fight/input"
|
|
|
|
// 502. g2. 如果自身死亡, 恢复队友所有体力和PP值
|
|
type NewSel502 struct {
|
|
NewSel0
|
|
}
|
|
|
|
// SwitchOut 在拥有者死亡离场时触发;把仍在场的队友体力和 PP 恢复到满值。
|
|
func (e *NewSel502) 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 {
|
|
return true
|
|
}
|
|
|
|
for _, teammate := range owner.LivingTeammates() {
|
|
pet := teammate.CurrentPet()
|
|
if pet == nil {
|
|
continue
|
|
}
|
|
pet.Info.Hp = pet.Info.MaxHp
|
|
teammate.HealPP(-1)
|
|
}
|
|
return true
|
|
}
|
|
|
|
func init() {
|
|
input.InitEffect(input.EffectType.NewSel, 502, &NewSel502{})
|
|
}
|