public List<FormationUnit> GetAvailableTargets(FormationUnit performer, FormationParty friends, FormationParty enemies) { if (TargetRanks.IsSelfTarget) return new List<FormationUnit>(new FormationUnit[] { performer }); if (TargetRanks.IsSelfFormation) return friends.Units.FindAll(unit => (((unit == performer) && TargetRanks.IsTargetableUnit(unit) && IsSelfValid) || ((unit != performer) && TargetRanks.IsTargetableUnit(unit))) && (unit.Character.BattleModifiers == null || unit.Character.BattleModifiers.IsValidFriendlyTarget != false)); else return enemies.Units.FindAll(unit => ((unit != performer) && TargetRanks.IsTargetableUnit(unit))); }
public bool HasAvailableTargets(FormationUnit performer, FormationParty friends, FormationParty enemies) { if (TargetRanks.IsSelfTarget) return true; if (TargetRanks.IsSelfFormation) for (int i = 0; i < friends.Units.Count; i++) { if (performer == friends.Units[i]) { if (IsSelfValid && TargetRanks.IsTargetableUnit(friends.Units[i])) return true; } else if (TargetRanks.IsTargetableUnit(friends.Units[i])) return true; } else for (int i = 0; i < enemies.Units.Count; i++) if (TargetRanks.IsTargetableUnit(enemies.Units[i])) return true; return false; }
public bool HasAvailableTargets(FormationUnit performer, FormationParty friends, FormationParty enemies) { if (TargetRanks.IsSelfTarget) { return(true); } if (TargetRanks.IsSelfFormation) { for (int i = 0; i < friends.Units.Count; i++) { if (performer == friends.Units[i]) { if (IsSelfValid && TargetRanks.IsTargetableUnit(friends.Units[i])) { return(true); } } else if (TargetRanks.IsTargetableUnit(friends.Units[i])) { return(true); } } } else { for (int i = 0; i < enemies.Units.Count; i++) { if (TargetRanks.IsTargetableUnit(enemies.Units[i])) { return(true); } } } return(false); }