Files
bl/logic/service/fight/boss/NewSeIdx_503.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

43 lines
1.0 KiB
Go

package effect
import (
"blazing/logic/service/fight/action"
"blazing/logic/service/fight/input"
)
// 503. g3. 群体攻击技能可额外增加一个目标(最多不超过5个目标)
type NewSel503 struct {
NewSel0
}
// TurnStart 在拥有者本回合准备出手时触发;若本次技能是群体技能,则把目标数额外加 1。
func (e *NewSel503) TurnStart(fattack *action.SelectSkillAction, sattack *action.SelectSkillAction) {
owner := e.SourceInput()
if owner == nil || !e.IsOwner() {
return
}
for _, act := range []*action.SelectSkillAction{fattack, sattack} {
if act == nil || act.SkillEntity == nil || act.SkillEntity.Pet == nil {
continue
}
if act.SkillEntity.Pet.Info.CatchTime != e.ID().GetCatchTime() {
continue
}
if act.SkillEntity.XML.AtkType != 0 {
return
}
if act.SkillEntity.XML.AtkNum <= 0 {
act.SkillEntity.XML.AtkNum = 1
}
if act.SkillEntity.XML.AtkNum < 5 {
act.SkillEntity.XML.AtkNum++
}
return
}
}
func init() {
input.InitEffect(input.EffectType.NewSel, 503, &NewSel503{})
}