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("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; } } } }