Files
bl/logic/service/fight/boss/NewSeIdx_502.go
xinian f433a26a6d
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor: 重构战斗系统为统一动作包结构
2026-04-06 00:58:23 +08:00

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{})
}