private static async Task <bool> Protect() { if (!SuritoSettingsModel.Instance.UseProtect) { return(false); } if (PartyManager.IsInParty) { if (CombatHelper.LastSpell == Spells.Protect || ActionManager.LastSpell == Spells.Protect || !SuritoSettingsModel.Instance.UseProtectInCombat && PartyMembers.Any(pm => pm.InCombat) || PartyMembers.Any(pm => pm.Icon == PlayerIcon.Viewing_Cutscene) || HealManager.All(hm => hm.HasAura(Auras.Protect)) || HealManager.Any(hm => hm.CurrentHealthPercent <= SuritoSettingsModel.Instance.PhysickHpPct || hm.IsDead)) { return(false); } } var target = HealManager.FirstOrDefault(hm => !hm.HasAura(Auras.Protect)); if (target == null) { return(false); } return(await Spells.Protect.CastBuff(target, CombatHelper.LastSpell != Spells.Protect, Auras.Protect)); }