package effect import ( "blazing/logic/service/fight/info" "blazing/logic/service/fight/input" ) // forEachEnemyTargetBySkill 在普通情况下对单个目标生效; // 当技能为 AtkType=3(仅自己)且当前目标仍在己方时,改为遍历敌方全部站位。 func forEachEnemyTargetBySkill(carrier, target *input.Input, skill *info.SkillEntity, fn func(*input.Input) bool) { if fn == nil { return } if carrier == nil { if target != nil { fn(target) } return } if skill == nil || skill.XML.AtkType != 3 || !isSameSideTarget(carrier, target) { if target != nil { fn(target) } return } for _, opponent := range carrier.OpponentSlots() { if opponent == nil { continue } if !fn(opponent) { return } } }