Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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"));
            }
        }
Ejemplo n.º 3
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;
                    }
                }
            }
        }