public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) // Do Single Target Stuff here { if (WoW.HasTarget && WoW.TargetIsEnemy) { if (WoW.CanCast("Stormstrike", true, true, false, false)) { WoW.CastSpellByName("Stormstrike"); } if (WoW.CanCast("Boulderfist", true, true, false, false) && !WoW.HasBuff("Boulderfist")) { WoW.CastSpellByName("Boulderfist"); } if (WoW.CanCast("Flametounge", true, true, false, false)) { WoW.CastSpellByName("Flametounge"); } if (WoW.CanCast("Crash Lightning", true, true, false, false) && WoW.Power > 80) { WoW.CastSpellByName("Crash Lightning"); } if (WoW.CanCast("Lava Lash", true, true, false, false) && WoW.Power > 90) { WoW.CastSpellByName("Lava Lash"); } if (WoW.CanCast("Boulderfist", true, true, false, false)) { WoW.CastSpellByName("Boulderfist"); } } } if (combatRoutine.Type == RotationType.AOE) { } }
public override void Pulse() // Updated for Legion (tested and working for single target) { if (combatRoutine.Type == RotationType.SingleTarget) // Do Single Target Stuff here { if (WoW.HasTarget && WoW.TargetIsEnemy) { if (!WoW.HasDebuff("Virulent Plague") && WoW.CurrentRunes >= 1 && WoW.CanCast("Outbreak", true, false, true, false, true)) { WoW.CastSpellByName("Outbreak"); } if (WoW.CanCast("Dark Transformation", true, true, true, false, true)) { WoW.CastSpellByName("Dark Transformation"); } if ((WoW.CanCast("Death Coil", true, true, false, false, true) && (WoW.RunicPower >= 80)) || (WoW.HasBuff("Sudden Doom") && WoW.IsSpellOnCooldown("Dark Arbiter"))) { WoW.CastSpellByName("Death Coil"); } if (WoW.CanCast("Festering Strike", true, true, true, false, true) && WoW.GetDebuffStacks("Festering Wound") <= 4) { WoW.CastSpellByName("Festering Strike"); } if (WoW.CanCast("Clawing Shadows", true, true, false, false, true) && WoW.CurrentRunes >= 3) { WoW.CastSpellByName("Clawing Shadows"); } } } if (combatRoutine.Type == RotationType.AOE) { // Do AOE stuff here } if (combatRoutine.Type == RotationType.SingleTargetCleave) { // Do Single Target Cleave stuff here if applicable else ignore this one } }
public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Moonkin") && !WoW.IsMoving()) { if (WoW.IsSpellInRange("Moonfire") && WoW.CanCast("Moonfire") && !WoW.HasDebuff("Moonfire")) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.IsSpellInRange("Sunfire") && WoW.CanCast("Sunfire") && !WoW.HasDebuff("Sunfire")) { WoW.CastSpellByName("Sunfire"); return; } if (WoW.IsSpellInRange("LStrike") && WoW.CanCast("LStrike") && WoW.GetBuffStacks("LunarEmp") == 3 && WoW.Astral <= 80) { WoW.CastSpellByName("LStrike"); return; } if ((WoW.IsSpellInRange("SolarW") && WoW.CanCast("SolarW") && WoW.HasBuff("SolarEmp") && WoW.Astral <= 80) || (WoW.IsSpellInRange("SolarW") && WoW.Astral <= 40 && WoW.GetSpellCharges("Moon") < 1 && WoW.GetSpellCharges("HalfMoon") < 1 && WoW.GetSpellCharges("FullMoon") < 1 && WoW.GetBuffStacks("LunarEmp") <= 2)) { WoW.CastSpellByName("SolarW"); return; } if (WoW.IsSpellInRange("StarSurge") && WoW.CanCast("StarSurge") && WoW.Astral >= 40 && !(WoW.GetBuffStacks("LunarEmp") == 3) && !(WoW.GetBuffStacks("SolarEmp") == 3)) { WoW.CastSpellByName("StarSurge"); return; } if (WoW.IsSpellInRange("Moon") && WoW.CanCast("Moon") && WoW.Astral <= 60 && WoW.HasDebuff("Moonfire") && WoW.HasDebuff("Sunfire")) { WoW.CastSpellByName("Moon"); return; } } if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Moonkin") && WoW.IsMoving()) { if (WoW.IsSpellInRange("Moonfire") && WoW.CanCast("Moonfire") && WoW.Astral <= 40) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.IsSpellInRange("StarSurge") && WoW.CanCast("StarSurge") && WoW.Astral >= 40) { WoW.CastSpellByName("StarSurge"); return; } if (WoW.IsSpellInRange("Sunfire") && WoW.CanCast("Sunfire") && !WoW.HasDebuff("Sunfire")) { WoW.CastSpellByName("Sunfire"); return; } } } //12 e 18 if (combatRoutine.Type == RotationType.AOE) { if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Moonkin") && !WoW.IsMoving()) { if (WoW.CanCast("Moonfire") && !WoW.HasDebuff("Moonfire")) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.CanCast("Sunfire") && !WoW.HasDebuff("Sunfire")) { WoW.CastSpellByName("Sunfire"); return; } if (WoW.CanCast("SolarW") && WoW.GetBuffStacks("SolarEmp") == 3 && WoW.Astral <= 80) { WoW.CastSpellByName("SolarW"); return; } if ((WoW.CanCast("LStrike") && WoW.HasBuff("LunarEmp") && WoW.Astral <= 80) || ( WoW.Astral <= 40 && WoW.GetSpellCharges("Moon") < 1 && WoW.GetSpellCharges("HalfMoon") < 1 && WoW.GetSpellCharges("FullMoon") < 1 && WoW.GetBuffStacks("SolarEmp") <= 2)) { WoW.CastSpellByName("LStrike"); return; } if (WoW.CanCast("StarSurge") && WoW.Astral >= 40 && !(WoW.GetBuffStacks("LunarEmp") == 3) && !(WoW.GetBuffStacks("SolarEmp") == 3)) { WoW.CastSpellByName("StarSurge"); return; } if (WoW.CanCast("Moon") && WoW.Astral <= 60 && WoW.HasDebuff("Sunfire") && WoW.HasDebuff("Moonfire")) { WoW.CastSpellByName("Moon"); return; } } if (WoW.HasTarget && WoW.TargetIsEnemy && WoW.HasBuff("Moonkin") && WoW.IsMoving()) { if (WoW.IsSpellInRange("Moonfire") && WoW.CanCast("Moonfire") && WoW.Astral <= 40) { WoW.CastSpellByName("Moonfire"); return; } if (WoW.IsSpellInRange("StarSurge") && WoW.CanCast("StarSurge") && WoW.Astral >= 40) { WoW.CastSpellByName("StarSurge"); return; } if (WoW.IsSpellInRange("Sunfire") && WoW.CanCast("Sunfire") && !WoW.HasDebuff("Sunfire")) { WoW.CastSpellByName("Sunfire"); 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.PlayerIsChanneling && !WoW.PlayerIsCasting && !WoW.HasDebuff("Paralysis")) { if (WoW.CanCast("Energizing Elixir") && WoW.IsSpellInRange("Tiger Palm") && !WoW.IsSpellOnCooldown("Energizing Elixir") && !WoW.IsSpellOnCooldown("Fists of Fury") && WoW.CurrentChi <= 1) { WoW.CastSpellByName("Energizing Elixir"); return; } if (WoW.CanCast("Strike of the Windlord") && WoW.CurrentChi >= 2 && !WoW.lastSpell.Equals("Strike of the Windlord") && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Strike of the Windlord"); return; } if (WoW.CanCast("Fists of Fury") && WoW.CurrentChi >= 3 && !WoW.lastSpell.Equals("Fists of Fury") && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Fists of Fury"); return; } if (WoW.CanCast("Rising Sun Kick") && !WoW.lastSpell.Equals("Rising Sun Kick") && WoW.CurrentChi >= 2 && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Rising Sun Kick"); return; } if (WoW.CanCast("Whirling Dragon Punch") && WoW.IsSpellOnCooldown("Rising Sun Kick") && WoW.IsSpellOnCooldown("Fists of Fury") && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Whirling Dragon Punch"); return; } if (WoW.CanCast("Chi Wave") && !WoW.lastSpell.Equals("Chi Wave")) { WoW.CastSpellByName("Chi Wave"); return; } if (WoW.CanCast("Touch of Death") && !WoW.lastSpell.Equals("Touch of Death") && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Touch of Death"); return; } if (WoW.CanCast("Blackout Kick") && !WoW.lastSpell.Equals("Blackout Kick") && (WoW.CurrentChi >= 1 || WoW.HasBuff("Blackout Kick!")) && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Blackout Kick"); return; } if (WoW.CanCast("Tiger Palm") && !WoW.lastSpell.Equals("Tiger Palm") && WoW.CurrentChi < 4 && WoW.Energy >= 50 && WoW.IsSpellInRange("Tiger Palm")) { WoW.CastSpellByName("Tiger Palm"); return; } } } if (combatRoutine.Type == RotationType.AOE) { if (WoW.HasTarget && WoW.TargetIsEnemy) { } } }
public override void Pulse() { if (combatRoutine.Type == RotationType.SingleTarget) // Do Single Target Stuff here { if (WoW.CanCast("Barreira de Gelo") && !WoW.PlayerIsChanneling && !WoW.HasBuff("Invis")) { WoW.CastSpellByName("Barreira de Gelo"); return; } if (WoW.HasTarget && WoW.TargetIsEnemy && !WoW.PlayerIsCasting && !WoW.PlayerIsChanneling && !WoW.HasBuff("Invis")) { if (WoW.CanCast("Supernova")) { WoW.CastSpellByName("Supernova"); return; } if (WoW.CanCast("Retardar") && !WoW.HasDebuff("Retardar")) { WoW.CastSpellByName("Retardar"); return; } if ((WoW.CanCast("Rune of Power") && WoW.GetSpellCharges("Rune of Power") == 2 && !WoW.HasBuff("Rune of Power") && !WoW.IsSpellOnCooldown("Rune of Power")) || WoW.IsSpellOnCooldown("Aluneth") && !WoW.HasBuff("Rune of Power") && !WoW.IsSpellOnCooldown("Rune of Power")) { WoW.CastSpellByName("Rune of Power"); return; } if (WoW.CanCast("Poder Arcano")) { WoW.CastSpellByName("Poder Arcano"); return; } if (WoW.CanCast("Aluneth") && WoW.HasBuff("Rune of Power")) { WoW.CastSpellByName("Aluneth"); return; } if (WoW.CanCast("Evocation") && WoW.Mana <= 20) { WoW.CastSpellByName("Evocation"); return; } if (WoW.CanCast("Tempest") && !WoW.HasDebuff("Tempest") && WoW.CurrentArcaneCharges >= 4) { WoW.CastSpellByName("Tempest"); return; } if (WoW.CanCast("Arcane Miss") && WoW.HasBuff("Arcane Missiles")) { WoW.CastSpellByName("Arcane Miss"); return; } if ((WoW.CanCast("Impacto Arcano") && WoW.Mana >= 25 && WoW.IsSpellOnCooldown("Evocation") && !WoW.HasBuff("Arcane Missiles")) || WoW.CurrentArcaneCharges <= 3) { WoW.CastSpellByName("Impacto Arcano"); return; } if ((WoW.CanCast("Salva") && WoW.Mana <= 40 && !WoW.HasBuff("Arcane Missiles") && WoW.CurrentArcaneCharges == 4) || (WoW.CurrentArcaneCharges == 4 && !WoW.IsSpellOnCooldown("Evocation"))) { WoW.CastSpellByName("Salva"); return; } } if (WoW.CanCast("Familiar") && !WoW.PlayerIsCasting && !WoW.PlayerIsChanneling && !WoW.HasBuff("Invis") && !WoW.HasBuff("Familiar")) { WoW.CastSpellByName("Familiar"); return; } } if (combatRoutine.Type == RotationType.AOE) { // Do AOE stuff here } if (combatRoutine.Type == RotationType.SingleTargetCleave) { // Do Single Target Cleave stuff here if applicable else ignore this one } }
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) { 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; } } } }