internal static void PetManager() { if (!Me.IsDeadMe || !Me.IsMounted) { // Call Pet if (!ObjectManager.Pet.IsValid && CallPet.KnownSpell && !Me.IsMounted && CallPet.IsSpellUsable) { CallPet.Launch(); Thread.Sleep(Usefuls.Latency + 1000); } // Revive Pet if (ObjectManager.Pet.IsDead && RevivePet.KnownSpell && !Me.IsMounted && RevivePet.IsSpellUsable) { RevivePet.Launch(); Thread.Sleep(Usefuls.Latency + 1000); Usefuls.WaitIsCasting(); } // Mend Pet if (ObjectManager.Pet.IsAlive && ObjectManager.Pet.IsValid && !ObjectManager.Pet.HaveBuff("Mend Pet") && Me.IsAlive && MendPet.KnownSpell && MendPet.IsDistanceGood && ObjectManager.Pet.HealthPercent <= 60 && MendPet.IsSpellUsable) { MendPet.Launch(); Thread.Sleep(Usefuls.Latency + 1000); } } }
internal static void CombatRotation() { WoWUnit Target = ObjectManager.Target; if (Target.GetDistance < 10f && !_isBackingUp) { ToolBox.CheckAutoAttack(Attack); } if (Target.GetDistance > 10f && !_isBackingUp) { ReenableAutoshot(); } // Aspect of the viper if (AspectViper.KnownSpell && AspectViper.IsSpellUsable && !Me.HaveBuff("Aspect of the Viper") && Me.ManaPercentage < 30) { AspectViper.Launch(); } // Aspect of the Hawk if (AspectHawk.KnownSpell && AspectHawk.IsSpellUsable && !Me.HaveBuff("Aspect of the Hawk") && (Me.ManaPercentage > 90 || Me.HaveBuff("Aspect of the Cheetah"))) { AspectHawk.Launch(); } // Aspect of the Monkey if (AspectMonkey.KnownSpell && AspectMonkey.IsSpellUsable && !Me.HaveBuff("Aspect of the Monkey") && !AspectHawk.KnownSpell) { AspectMonkey.Launch(); } // Disengage if (Disengage.KnownSpell && Disengage.IsSpellUsable && ObjectManager.Pet.Target == Me.Target && Target.Target == Me.Guid && Target.GetDistance < 10 && !_isBackingUp) { Disengage.Launch(); } // Bestial Wrath if (BestialWrath.KnownSpell && BestialWrath.IsSpellUsable && Target.GetDistance < 34f && Target.HealthPercent >= 60 && Me.ManaPercentage > 10 && BestialWrath.IsSpellUsable && ((_settings.BestialWrathOnMulti && ObjectManager.GetUnitAttackPlayer().Count > 1) || !_settings.BestialWrathOnMulti)) { BestialWrath.Launch(); } // Rapid Fire if (RapidFire.KnownSpell && RapidFire.IsSpellUsable && Target.GetDistance < 34f && Target.HealthPercent >= 80.0 && ((_settings.RapidFireOnMulti && ObjectManager.GetUnitAttackPlayer().Count > 1) || !_settings.RapidFireOnMulti)) { RapidFire.Launch(); } // Kill Command if (KillCommand.KnownSpell && KillCommand.IsSpellUsable) { KillCommand.Launch(); } // Raptor Strike if (RaptorStrike.KnownSpell && RaptorStrike.IsSpellUsable && Target.GetDistance < 6f && !RaptorStrikeOn()) { RaptorStrike.Launch(); } // Mongoose Bite if (MongooseBite.KnownSpell && MongooseBite.IsSpellUsable && Target.GetDistance < 6f) { MongooseBite.Launch(); } // Feign Death if (FeignDeath.KnownSpell && FeignDeath.IsSpellUsable && Me.HealthPercent < 20) { FeignDeath.Launch(); Fight.StopFight(); } // Freezing Trap if (FreezingTrap.KnownSpell && FreezingTrap.IsSpellUsable && ObjectManager.Pet.HaveBuff("Mend Pet") && ObjectManager.GetUnitAttackPlayer().Count > 1 && _settings.UseFreezingTrap) { FreezingTrap.Launch(); } // Mend Pet if (ObjectManager.Pet.IsValid && MendPet.KnownSpell && MendPet.IsSpellUsable && ObjectManager.Pet.HealthPercent <= 30.0 && !ObjectManager.Pet.HaveBuff("Mend Pet")) { MendPet.Launch(); } // Hunter's Mark if (HuntersMark.KnownSpell && HuntersMark.IsSpellUsable && ObjectManager.Pet.IsValid && !HuntersMark.TargetHaveBuff && Target.GetDistance > 13f && Target.IsAlive) { HuntersMark.Launch(); } // Steady Shot if (SteadyShot.KnownSpell && SteadyShot.IsSpellUsable && Me.ManaPercentage > 30 && SteadyShot.IsDistanceGood && !_isBackingUp) { SteadyShot.Launch(); Thread.Sleep(_steadyShotSleep); } // Serpent Sting if (SerpentSting.KnownSpell && SerpentSting.IsSpellUsable && !Target.HaveBuff("Serpent Sting") && Target.GetDistance < 34f && ToolBox.CanBleed(Me.TargetObject) && Target.HealthPercent >= 80 && Me.ManaPercentage > 50u && !SteadyShot.KnownSpell && Target.GetDistance > 13f) { SerpentSting.Launch(); } // Intimidation if (Intimidation.KnownSpell && Intimidation.IsSpellUsable && Target.GetDistance < 34f && Target.GetDistance > 10f && Target.HealthPercent >= 20 && Me.ManaPercentage > 10 && Intimidation.IsSpellUsable) { Intimidation.Launch(); } // Arcane Shot if (ArcaneShot.KnownSpell && ArcaneShot.IsSpellUsable && Target.GetDistance < 34f && Target.HealthPercent >= 30 && Me.ManaPercentage > 80 && !SteadyShot.KnownSpell) { ArcaneShot.Launch(); } }