public static void UpdateAlliance( bool IgnoreAlliance, bool HealAllianceDps, bool HealAllianceHealers, bool HealAllianceTanks, bool ResAllianceDps, bool ResAllianceHealers, bool ResAllianceTanks ) { CastableAlliance.Clear(); // Should we be ignoring our alliance? if (!IgnoreAlliance && (Globals.InActiveDuty || WorldManager.InPvP)) { // Create a list of alliance members that we need to check if (HealAllianceDps || HealAllianceHealers || HealAllianceTanks) { var allianceToHeal = AllianceMembers.Where(a => !a.CanAttack && !a.HasAura(Auras.MountedPvp) && ( HealAllianceDps && a.IsDps() || HealAllianceTanks && a.IsTank() || HealAllianceHealers && a.IsDps())); foreach (var ally in allianceToHeal) { if (ally.Distance(Core.Me) <= 30) { CastableAlliance.Add(ally); } } } if (ResAllianceDps || ResAllianceHealers || ResAllianceTanks) { var allianceToRes = AllianceMembers.Where(a => a.CurrentHealth <= 0 && (ResAllianceDps && a.IsDps() || ResAllianceTanks && a.IsTank() || ResAllianceHealers && a.IsDps())); foreach (var ally in allianceToRes) { CastableAlliance.Add(ally); } } } }