public async Task <bool> HandOfTheProtectordMethod() { if (!Paladin.Settings.PaladinSettings.Instance.UseLightOfTheProtector) { return(false); } var spell = LightOfTheProtector; if (MyTalents.HandOfTheProtector.IsActive()) { spell = HandOfTheProtector; } if (spell.CRSpell.Cooldown) { return(false); } if (Globals.MyHp < Paladin.Settings.PaladinSettings.Instance.LightOfTheProtector) { return(await CastHandOfTheProtector(StyxWoW.Me, spell)); } var target = Healing.HealTarget(Paladin.Settings.PaladinSettings.Instance.LightOfTheProtectorOther); if (target == null) { return(false); } return(await CastHandOfTheProtector(target, spell)); }
public async Task <bool> BestowFaithMethod() { if (BestowFaith.CRSpell.Cooldown) { return(false); } var target = Healing.HealTarget(PaladinSettings.Instance.BestowFaith, true); if (target == null || target.IsDead || target.IsGhost) { return(false); } Helpers.Logger.DiagnosticLog("Bestow Faith on {0}, Distance: {1}, LOS: {2}", target.SafeName, target.Distance, target.InLineOfSpellSight); return(await BestowFaithCast(target)); }
public async Task <bool> HolyLightMethod() { if (StyxWoW.Me.IsMoving) { return(false); } var target = Healing.HealTarget(PaladinSettings.Instance.HolyLight, true); if (target == null || target.IsDead || target.IsGhost) { return(false); } Helpers.Logger.DiagnosticLog("Holy Light on {0}, Distance: {1}, LOS: {2}", target.SafeName, target.Distance, target.InLineOfSpellSight); return(await HolyLightCast(target)); }
public async Task <bool> FlashOfLightMethod() { // TODO unify if (!PaladinSettings.Instance.ProtFoLMe && !PaladinSettings.Instance.ProtFoLOther) { return(false); } if (StyxWoW.Me.IsMoving) { return(false); } if (Globals.InParty && !Globals.Pvp) { return(false); // if we are in a pvp party dont heal TODO check if healer is alive } // We check ourself first if (StyxWoW.Me.HealthPercent <= PaladinSettings.Instance.ProtFoLSelfHp) { return(await FlashOfLightCast(StyxWoW.Me)); } if (!Globals.Arena) { return(false); } if (!PaladinSettings.Instance.ProtFoLOther || !Globals.InParty) { return(false); } // Look for a group target TODO var target = Healing.HealTarget(PaladinSettings.Instance.ProtFoLOtherHp); if (target == null || target.IsDead) { return(false); } Helpers.Logger.DiagnosticLog("Flash of Light on {0}, Distance: {1}, LOS: {2}", target.SafeName, target.Distance, target.InLineOfSpellSight); return(await FlashOfLightCast(target)); }
public async Task <bool> WordOfGloryMethod() { if (!PaladinSettings.Instance.WoGUse) { return(false); } if (!MyTalents.WordOfGLory.IsActive()) { return(false); } // We check ourself first if (Globals.MyHp <= PaladinSettings.Instance.WoGHealth) { return(await WordOfGloryCast()); } if (!PaladinSettings.Instance.WoGHealParty || !Globals.Arena) { return(false); } // Find a group target var target = Healing.HealTarget(PaladinSettings.Instance.WoGPartyHealth); if (target == null || target.IsDead) { return(false); } if (target.Distance > 15) { return(false); } return(await WordOfGloryCast()); }
public async Task <bool> FlashOfLightMethod() { if (StyxWoW.Me.IsMoving) { return(false); } // cast holy light with proc if (StyxWoW.Me.GetAuraById(54149) != null && Unit.EnemiesAttackingTarget(StyxWoW.Me) <= 0) { return(false); } var target = Healing.HealTarget(PaladinSettings.Instance.HolyFoL, true); if (target == null || target.IsDead || target.IsGhost) { return(false); } Helpers.Logger.DiagnosticLog("Flash of Light on {0}, Distance: {1}, LOS: {2}", target.SafeName, target.Distance, target.InLineOfSpellSight); return(await FlashOfLightCast(target)); }