public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Cat Form")) { if (WoW.CanCast("Healing Touch") && WoW.HasBuff("PredatorySwiftness") && WoW.HealthPercent <= 80) { WoW.CastSpellByName("Healing Touch"); return; } if ((WoW.IsSpellInRange("Ferocious Bite") && WoW.CanCast("Ferocious Bite") && WoW.CurrentComboPoints >= 5 && WoW.HasDebuff("Rip")) && WoW.GetDebuffTimeRemaining("Rip") >= 5 && (WoW.Energy >= 50 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Ferocious Bite"); return; } if ((WoW.IsSpellInRange("Rake") && WoW.CanCast("Rake") && (!WoW.HasDebuff("Rake") || WoW.GetDebuffTimeRemaining("Rake") <= 3)) && (WoW.Energy >= 35 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Rake"); return; } if (WoW.IsSpellInRange("Frenesi") && WoW.CanCast("Frenesi") && !WoW.IsSpellOnCooldown("Frenesi") && WoW.CurrentComboPoints <= 2) { WoW.CastSpellByName("Frenesi"); return; } if ((WoW.IsSpellInRange("Rip") && WoW.CanCast("Rip") && WoW.CurrentComboPoints >= 5 && (!WoW.HasDebuff("Rip") || WoW.GetDebuffTimeRemaining("Rip") <= 5)) && (WoW.Energy >= 30 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Rip"); return; } if ((WoW.IsSpellInRange("Shred") && WoW.CanCast("Shred") && WoW.CurrentComboPoints < 5 && WoW.HasDebuff("Rake") && WoW.IsSpellOnCooldown("Brutal Slash")) && (WoW.Energy >= 40 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Shred"); return; } if (WoW.CanCast("Tigers Fury") && WoW.Energy <= 20 && !WoW.IsSpellOnCooldown("Tigers Fury")) { WoW.CastSpellByName("Tigers Fury"); return; } if ((WoW.IsSpellInRange("Shred") && WoW.CanCast("Brutal Slash") && !WoW.IsSpellOnCooldown("Brutal Slash")) && (WoW.Energy >= 20 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Brutal Slash"); return; } } } if (combatRoutine.Type == RotationType.AOE) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Cat Form")) { if (WoW.CanCast("Healing Touch") && WoW.HasBuff("PredatorySwiftness") && WoW.HealthPercent <= 80) { WoW.CastSpellByName("Healing Touch"); return; } if ((WoW.IsSpellInRange("Ferocious Bite") && WoW.CanCast("Ferocious Bite") && WoW.CurrentComboPoints >= 5 && WoW.HasDebuff("Rip")) && WoW.GetDebuffTimeRemaining("Rip") >= 5 && (WoW.Energy >= 50 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Ferocious Bite"); return; } if ((WoW.IsSpellInRange("Rake") && WoW.CanCast("Rake") && (!WoW.HasDebuff("Rake") || WoW.GetDebuffTimeRemaining("Rake") <= 3)) && (WoW.Energy >= 35 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Rake"); return; } if (WoW.IsSpellInRange("Frenesi") && WoW.CanCast("Frenesi") && !WoW.IsSpellOnCooldown("Frenesi") && WoW.CurrentComboPoints <= 2) { WoW.CastSpellByName("Frenesi"); return; } if ((WoW.IsSpellInRange("Rip") && WoW.CanCast("Rip") && WoW.CurrentComboPoints >= 5 && (!WoW.HasDebuff("Rip") || WoW.GetDebuffTimeRemaining("Rip") <= 5)) && (WoW.Energy >= 30 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Rip"); return; } if ((WoW.IsSpellInRange("Shred") && WoW.CanCast("Shred") && WoW.CurrentComboPoints < 5 && WoW.HasDebuff("Rake") && WoW.IsSpellOnCooldown("Brutal Slash")) && (WoW.Energy >= 40 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Shred"); return; } if (WoW.CanCast("Tigers Fury") && WoW.Energy <= 40 && !WoW.IsSpellOnCooldown("Tigers Fury")) { WoW.CastSpellByName("Tigers Fury"); return; } if ((WoW.IsSpellInRange("Shred") && WoW.CanCast("Brutal Slash") && !WoW.IsSpellOnCooldown("Brutal Slash")) && (WoW.Energy >= 20 || WoW.HasBuff("Incarnation") || WoW.HasBuff("Berserk"))) { WoW.CastSpellByName("Brutal Slash"); return; } } } }
public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) // Do Single Target Stuff here { if (WoW.HasTarget && WoW.TargetIsEnemy) { if (!WoW.IsSpellOnCooldown("Swipe")) { if (WoW.CanCast("Tigers Fury") && WoW.Energy <= 50) // Wtf { WoW.CastSpellByName("Tigers Fury"); return; } if (WoW.CanCast("Healing Touch") && WoW.CurrentComboPoints >= 4 && WoW.HasBuff("Clearcasting") && !WoW.HasBuff("Bloodtalons")) // { WoW.CastSpellByName("Healing Touch"); return; } if (WoW.CanCast("Ferocious Bite") && WoW.CurrentComboPoints >= 5 && WoW.Energy >= 50 && (WoW.TargetHealthPercent <= 25 || WoW.GetDebuffTimeRemaining("Rip") >= 10)) // { WoW.CastSpellByName("Ferocious Bite"); return; } if (WoW.CanCast("Rake") && WoW.Energy >= 35 && (!WoW.HasDebuff("Rake") || WoW.GetDebuffTimeRemaining("Rake") <= 3)) // Rake { WoW.CastSpellByName("Rake"); return; } if (WoW.CanCast("Rip") && WoW.Energy >= 30 && (!WoW.HasDebuff("Rip") || (WoW.GetDebuffTimeRemaining("Rip") <= 4.7 && WoW.CurrentComboPoints >= 5))) // { WoW.CastSpellByName("Rip"); return; } if (WoW.CanCast("Shred") && WoW.CurrentComboPoints <= 5) // { WoW.CastSpellByName("Shred"); return; } } } } if (combatRoutine.Type == RotationType.AOE) { // Do AOE Stuff here // Log.Write("Has Aura: " + WoW.HasAura("Furious Howl")); // Log.Write("Aura Count: " + WoW.GetAuraCount("Furious Howl")); // Log.Write("Aura Count: " + WoW.GetAuraCount("Taste for Blood")); } }
public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Bear Form")) { if (WoW.IsSpellInRange("Mangle") && WoW.CanCast("Mangle") && (!(WoW.GetDebuffStacks("Thrash") <= 2) || WoW.IsSpellOnCooldown("Thrash"))) { WoW.CastSpellByName("Mangle"); return; } if (WoW.CanCast("Swipe") && WoW.IsSpellOnCooldown("Mangle") && (!(WoW.GetDebuffTimeRemaining("Thrash") <= 2) || !(WoW.GetDebuffStacks("Thrash") <= 2))) { WoW.CastSpellByName("Swipe"); return; } if (WoW.IsSpellInRange("Moonfire") && WoW.CanCast("Moonfire") && !WoW.HasDebuff("Moonfire") || WoW.HasBuff("Galactic Guardian")) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.IsSpellInRange("growl") && WoW.CanCast("growl") && !WoW.HasDebuff("Intimidated")) { WoW.CastSpellByName("growl"); return; } if (WoW.CanCast("Frenzied Regeneration") && WoW.HealthPercent <= 85 && !WoW.HasBuff("Frenzied Regeneration")) { WoW.CastSpellByName("Frenzied Regeneration"); return; } if (WoW.CanCast("Ironfur") && (WoW.Rage >= 45)) { WoW.CastSpellByName("Ironfur"); return; } if (WoW.CanCast("Thrash") && WoW.GetDebuffStacks("Thrash") < 3 || WoW.GetDebuffTimeRemaining("Thrash") < 3) { WoW.CastSpellByName("Thrash"); return; } } } if (combatRoutine.Type == RotationType.AOE) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Bear Form")) { if (WoW.IsSpellInRange("Mangle") && WoW.CanCast("Mangle") && (!(WoW.GetDebuffStacks("Thrash") <= 2) || WoW.IsSpellOnCooldown("Thrash"))) { WoW.CastSpellByName("Mangle"); return; } if (WoW.CanCast("Swipe") && WoW.IsSpellOnCooldown("Mangle") && (!(WoW.GetDebuffTimeRemaining("Thrash") <= 2) || !(WoW.GetDebuffStacks("Thrash") <= 2))) { WoW.CastSpellByName("Swipe"); return; } if (WoW.IsSpellInRange("Moonfire") && WoW.CanCast("Moonfire") && !WoW.HasDebuff("Moonfire") || WoW.HasBuff("Galactic Guardian")) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.IsSpellInRange("growl") && WoW.CanCast("growl") && !WoW.HasDebuff("Intimidated")) { WoW.CastSpellByName("growl"); return; } if (WoW.CanCast("Frenzied Regeneration") && WoW.HealthPercent <= 85 && !WoW.HasBuff("Frenzied Regeneration")) { WoW.CastSpellByName("Frenzied Regeneration"); return; } if (WoW.CanCast("Thrash") && WoW.GetDebuffStacks("Thrash") < 3 || WoW.GetDebuffTimeRemaining("Thrash") < 3) { WoW.CastSpellByName("Thrash"); return; } if (WoW.CanCast("Ironfur") && WoW.HasBuff("Mark of Ursol") && (WoW.Rage >= 45)) { WoW.CastSpellByName("Ironfur"); return; } if (WoW.CanCast("Mark of Ursol") && (WoW.Rage >= 45) && !WoW.HasBuff("Mark of Ursol")) { WoW.CastSpellByName("Mark of Ursol"); return; } } } }