public override void Execute() { base.Execute(); if (SelectTarget(TargetManagerDps)) { if (WowInterface.ObjectManager.Target != null) { double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position); if ((WowInterface.ObjectManager.Player.IsDazed || WowInterface.ObjectManager.Player.IsConfused || WowInterface.ObjectManager.Player.IsPossessed || WowInterface.ObjectManager.Player.IsFleeing) && TryCastSpell(heroicFurySpell, 0)) { return; } if (distanceToTarget > 4.0) { if (TryCastSpellWarrior(chargeSpell, battleStanceSpell, WowInterface.ObjectManager.Target.Guid, true) || (TryCastSpell(berserkerRageSpell, WowInterface.ObjectManager.Target.Guid, true) && TryCastSpellWarrior(interceptSpell, berserkerStanceSpell, WowInterface.ObjectManager.Target.Guid, true))) { return; } } else { if (HeroicStrikeEvent.Ready && !WowInterface.ObjectManager.Player.HasBuffByName(recklessnessSpell)) { if ((WowInterface.ObjectManager.Player.Rage > 50 && WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Player.Position, 8.0).Count() > 2 && TryCastSpellWarrior(cleaveSpell, berserkerStanceSpell, 0, true)) || (WowInterface.ObjectManager.Player.Rage > 50 && TryCastSpellWarrior(heroicStrikeSpell, berserkerStanceSpell, WowInterface.ObjectManager.TargetGuid, true))) { HeroicStrikeEvent.Run(); return; } } if (TryCastSpellWarrior(bloodthirstSpell, berserkerStanceSpell, WowInterface.ObjectManager.Target.Guid, true) || TryCastSpellWarrior(whirlwindSpell, berserkerStanceSpell, WowInterface.ObjectManager.Target.Guid, true)) { return; } // dont prevent BT or WW with GCD if (CooldownManager.GetSpellCooldown(bloodthirstSpell) <= 1200 || CooldownManager.GetSpellCooldown(whirlwindSpell) <= 1200) { return; } if (WowInterface.ObjectManager.Player.HasBuffByName($"{slamSpell}!") && TryCastSpell(slamSpell, WowInterface.ObjectManager.Target.Guid, true)) { return; } if (TryCastSpell(berserkerRageSpell, 0)) { return; } if (TryCastSpell(bloodrageSpell, WowInterface.ObjectManager.Target.Guid, true, WowInterface.ObjectManager.Player.Health)) { return; } if (TryCastSpell(recklessnessSpell, WowInterface.ObjectManager.Target.Guid, true)) { return; } if (TryCastSpell(deathWishSpell, WowInterface.ObjectManager.Target.Guid, true)) { return; } if (WowInterface.ObjectManager.Player.Rage > 25 && WowInterface.ObjectManager.Target.HealthPercentage < 20 && TryCastSpellWarrior(executeSpell, berserkerStanceSpell, WowInterface.ObjectManager.Target.Guid, true)) { return; } } } } }