Example #1
0
 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
     }
 }
Example #2
0
        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;
                    }
                }
            }
        }