public static async Task <bool> FightLogic_ArcaneCrest() { if (!Spells.ArcaneCrest.IsKnownAndReady()) { return(false); } if (!FightLogic.ZoneHasFightLogic() || !FightLogic.EnemyHasAnyAoeLogic()) { return(false); } if (FightLogic.EnemyIsCastingAoe() || FightLogic.EnemyIsCastingBigAoe()) { return(await FightLogic.DoAndBuffer(Spells.ArcaneCrest.CastAura(Core.Me, Auras.CrestOfTimeBorrowed))); } return(false); }
public static async Task <bool> Panhaima() { if (!SageSettings.Instance.Panhaima) { return(false); } if (!Spells.Panhaima.IsKnownAndReady()) { return(false); } if (Globals.InParty) { if (SageSettings.Instance.FightLogic_Panhaima && FightLogic.EnemyHasAnyAoeLogic()) { return(false); } var targets = Group.CastableAlliesWithin15.Where(CanPanhaima); if (targets.Count() < AoeNeedHealing) { return(false); } if (SageSettings.Instance.PanhaimaOnlyWithTank && !targets.Any(r => r.IsTank(SageSettings.Instance.PanhaimaOnlyWithMainTank))) { return(false); } if (!UseAoEHealingBuff(targets)) { return(false); } return(await Spells.Panhaima.CastAura(Core.Me, Auras.Panhaimatinon)); } if (Core.Me.CurrentHealthPercent > SageSettings.Instance.PanhaimaHpPercent) { return(false); } return(await Spells.Panhaima.CastAura(Core.Me, Auras.Panhaimatinon)); bool CanPanhaima(Character unit) { if (unit == null) { return(false); } if (unit.CurrentHealthPercent > SageSettings.Instance.PanhaimaHpPercent) { return(false); } if (unit.HasAura(Auras.Panhaimatinon)) { return(false); } return(unit.Distance(Core.Me) <= 15); } }