public override void OutOfCombatExecute() { ReadyToDisengage = false; SlowTargetWhenPossible = false; base.OutOfCombatExecute(); if (PetManager.Tick()) { return; } }
public override void Execute() { // we dont want to do anything if we are casting something... if (WowInterface.ObjectManager.Player.IsCasting) { return; } if (MyAuraManager.Tick() || TargetAuraManager.Tick() || PetManager.Tick() || WowInterface.ObjectManager.Player.ManaPercentage < 90 && WowInterface.ObjectManager.Player.HealthPercentage > 60 && CastSpellIfPossible(lifeTapSpell, 0) || (WowInterface.ObjectManager.Player.HealthPercentage < 80 && CastSpellIfPossible(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true))) { return; } if (WowInterface.ObjectManager.Target != null) { if (WowInterface.ObjectManager.Target.GetType() == typeof(WowPlayer)) { if (DateTime.Now - LastFearAttempt > TimeSpan.FromSeconds(fearAttemptDelay) && ((WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 6 && CastSpellIfPossible(howlOfTerrorSpell, 0, true)) || (WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 12 && CastSpellIfPossible(fearSpell, WowInterface.ObjectManager.TargetGuid, true)))) { LastFearAttempt = DateTime.Now; return; } } if (!WowInterface.ObjectManager.Player.IsCasting && WowInterface.CharacterManager.Inventory.Items.Count(e => e.Name.Equals("Soul Shard", StringComparison.OrdinalIgnoreCase)) < 5 && WowInterface.ObjectManager.Target.HealthPercentage < 8 && CastSpellIfPossible(drainSoulSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } if (CastSpellIfPossible(shadowBoltSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } }
public override void ExecuteCC() { if (PetManager.Tick() || WowInterface.ObjectManager.Player.ManaPercentage < 20 && WowInterface.ObjectManager.Player.HealthPercentage > 60 && CastSpellIfPossible(lifeTapSpell, 0) || (WowInterface.ObjectManager.Player.HealthPercentage < 80 && CastSpellIfPossible(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true)) || (WowInterface.ObjectManager.Player.HealthPercentage < 50 && CastSpellIfPossible(drainLifeSpell, WowInterface.ObjectManager.TargetGuid, true))) { return; } if (WowInterface.ObjectManager.Target != null) { if (WowInterface.ObjectManager.Target.GetType() == typeof(WowPlayer)) { if (DateTime.Now - LastFearAttempt > TimeSpan.FromSeconds(fearAttemptDelay) && ((WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 6 && CastSpellIfPossible(howlOfTerrorSpell, 0, true)) || (WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 12 && CastSpellIfPossible(fearSpell, WowInterface.ObjectManager.TargetGuid, true)))) { LastFearAttempt = DateTime.Now; return; } } if (!WowInterface.ObjectManager.Player.IsCasting && WowInterface.CharacterManager.Inventory.Items.Count(e => e.Name.Equals("Soul Shard", StringComparison.OrdinalIgnoreCase)) < 5 && WowInterface.ObjectManager.Target.HealthPercentage < 8 && CastSpellIfPossible(drainSoulSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } if (CastSpellIfPossible(chaosBoltSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(conflagrateSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(incinerateSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } }
public override void Execute() { base.Execute(); if (SelectTarget(TargetManagerDps)) { if (PetManager.Tick()) { return; } if (WowInterface.ObjectManager.Target != null) { double distanceToTarget = WowInterface.ObjectManager.Target.Position.GetDistance(WowInterface.ObjectManager.Player.Position); // make some distance if ((WowInterface.ObjectManager.Target.Type == WowObjectType.Player && WowInterface.ObjectManager.TargetGuid != 0 && distanceToTarget < 10.0) || (WowInterface.ObjectManager.Target.Type == WowObjectType.Unit && WowInterface.ObjectManager.TargetGuid != 0 && distanceToTarget < 3.0)) { WowInterface.MovementEngine.SetMovementAction(MovementAction.Fleeing, WowInterface.ObjectManager.Target.Position, WowInterface.ObjectManager.Target.Rotation); } if (WowInterface.ObjectManager.Player.HealthPercentage < 15 && TryCastSpell(feignDeathSpell, 0)) { return; } if (distanceToTarget < 5.0) { if (ReadyToDisengage && TryCastSpell(disengageSpell, 0, true)) { ReadyToDisengage = false; SlowTargetWhenPossible = true; return; } if (TryCastSpell(frostTrapSpell, 0, true)) { ReadyToDisengage = true; SlowTargetWhenPossible = true; return; } if (WowInterface.ObjectManager.Player.HealthPercentage < 30 && TryCastSpell(deterrenceSpell, 0, true)) { return; } if (TryCastSpell(raptorStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) || TryCastSpell(mongooseBiteSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } else { if (SlowTargetWhenPossible && TryCastSpell(concussiveShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { SlowTargetWhenPossible = false; return; } if (WowInterface.ObjectManager.Target.HealthPercentage < 20 && TryCastSpell(killShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } TryCastSpell(killCommandSpell, WowInterface.ObjectManager.TargetGuid, true); TryCastSpell(beastialWrathSpell, WowInterface.ObjectManager.TargetGuid, true); TryCastSpell(rapidFireSpell, 0); if (WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Target.Position, 16.0).Count() > 2 && TryCastSpell(multiShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } if (TryCastSpell(arcaneShotSpell, WowInterface.ObjectManager.TargetGuid, true) || TryCastSpell(steadyShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } } } }
public override void Execute() { base.Execute(); if (SelectTarget(TargetManagerDps)) { if (PetManager.Tick()) { return; } if (WowInterface.ObjectManager.Player.ManaPercentage < 50.0 && WowInterface.ObjectManager.Player.HealthPercentage > 60.0 && TryCastSpell(lifeTapSpell, 0) || (WowInterface.ObjectManager.Player.HealthPercentage < 80.0 && TryCastSpell(deathCoilSpell, WowInterface.ObjectManager.TargetGuid, true)) || (WowInterface.ObjectManager.Player.HealthPercentage < 50.0 && TryCastSpell(drainLifeSpell, WowInterface.ObjectManager.TargetGuid, true)) || TryCastSpell(metamorphosisSpell, 0) || (WowInterface.ObjectManager.Pet?.Health > 0 && TryCastSpell(demonicEmpowermentSpell, 0))) { return; } if (WowInterface.ObjectManager.Target != null) { if (WowInterface.ObjectManager.Target.GetType() == typeof(WowPlayer)) { if (DateTime.Now - LastFearAttempt > TimeSpan.FromSeconds(5) && ((WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 6.0 && TryCastSpell(howlOfTerrorSpell, 0, true)) || (WowInterface.ObjectManager.Player.Position.GetDistance(WowInterface.ObjectManager.Target.Position) < 12.0 && TryCastSpell(fearSpell, WowInterface.ObjectManager.TargetGuid, true)))) { LastFearAttempt = DateTime.Now; return; } } if (WowInterface.CharacterManager.Inventory.Items.Count(e => e.Name.Equals("Soul Shard", StringComparison.OrdinalIgnoreCase)) < 5.0 && WowInterface.ObjectManager.Target.HealthPercentage < 25.0 && TryCastSpell(drainSoulSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } if (WowInterface.ObjectManager.GetNearEnemies <WowUnit>(WowInterface.ObjectManager.Target.Position, 16.0).Count() > 2 && !WowInterface.ObjectManager.Target.HasBuffByName(seedOfCorruptionSpell) && TryCastSpell(seedOfCorruptionSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } bool hasDecimation = WowInterface.ObjectManager.Player.HasBuffByName(decimationSpell); bool hasMoltenCore = WowInterface.ObjectManager.Player.HasBuffByName(moltenCoreSpell); if (hasDecimation && hasMoltenCore && TryCastSpell(soulfireSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } else if (hasDecimation && TryCastSpell(soulfireSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } else if (hasMoltenCore && TryCastSpell(incinerateSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } else if (TryCastSpell(shadowBoltSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } }
public override void ExecuteCC() { if (!WowInterface.ObjectManager.Player.IsAutoAttacking && AutoAttackEvent.Run()) { WowInterface.HookManager.StartAutoAttack(WowInterface.ObjectManager.Target); } if (MyAuraManager.Tick() || TargetAuraManager.Tick() || TargetInterruptManager.Tick() || PetManager.Tick()) { return; } WowUnit target = (WowUnit)WowInterface.ObjectManager.WowObjects.FirstOrDefault(e => e.Guid == WowInterface.ObjectManager.TargetGuid); if (target != null) { double distanceToTarget = target.Position.GetDistance(WowInterface.ObjectManager.Player.Position); if (WowInterface.ObjectManager.Player.HealthPercentage < 15 && CastSpellIfPossible(feignDeathSpell, 0)) { return; } if (distanceToTarget < 3) { if (CastSpellIfPossible(frostTrapSpell, 0, true)) { InFrostTrapCombo = true; DisengagePrepared = true; return; } if (WowInterface.ObjectManager.Player.HealthPercentage < 30 && CastSpellIfPossible(deterrenceSpell, 0, true)) { return; } if (CastSpellIfPossible(raptorStrikeSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(mongooseBiteSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } else { if (DisengagePrepared && CastSpellIfPossible(concussiveShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { DisengagePrepared = false; return; } if (InFrostTrapCombo && CastSpellIfPossible(disengageSpell, 0, true)) { InFrostTrapCombo = false; return; } if (target.HealthPercentage < 20 && CastSpellIfPossible(killShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } CastSpellIfPossible(killCommandSpell, WowInterface.ObjectManager.TargetGuid, true); CastSpellIfPossible(rapidFireSpell, WowInterface.ObjectManager.TargetGuid); if ((WowInterface.ObjectManager.WowObjects.OfType <WowUnit>().Where(e => target.Position.GetDistance(e.Position) < 16).Count() > 2 && CastSpellIfPossible(multiShotSpell, WowInterface.ObjectManager.TargetGuid, true)) || CastSpellIfPossible(chimeraShotSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(aimedShotSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(arcaneShotSpell, WowInterface.ObjectManager.TargetGuid, true) || CastSpellIfPossible(steadyShotSpell, WowInterface.ObjectManager.TargetGuid, true)) { return; } } } }