Ejemplo n.º 1
0
        public override void Pulse()
        {
            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, true, true) && WoW.GetSpellCharges("Dark Transformation") > 0)
                    {
                        WoW.CastSpellByName("Dark Transformation");
                    }

                    //if (WoW.CanCast("Death Coil", true, false, false, false, true) && (WoW.RunicPower >= 80) || (WoW.HasBuff("Sudden Doom") && WoW.IsSpellOnCooldown("Dark Arbiter")))
                    //{
                    //    WoW.CastSpellByName("Death Coil");
                    //}
                    //if (WoW.CanCast("Festering Strike", true, false, true, false, true) && WoW.GetDebuffStacks("Festering Wound") <= 4)
                    //{
                    //    WoW.CastSpellByName("Festering Strike");
                    //}
                    //if (WoW.CanCast("Clawing Shadows", true, false, false, false, true) && WoW.CurrentRunes >= 3)
                    //{
                    //    WoW.CastSpellByName("Clawing Shadows");
                    //}
                }
            }
            if (combatRoutine.Type == RotationType.AOE)
            {
                //Log.Write("Spell Charges: " + WoW.GetSpellCharges("Dark Transformation"));
                Log.Write("Spell Charges: " + WoW.GetSpellCharges("Dark Transformation"));
            }
        }
Ejemplo n.º 2
0
 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;
             }
         }
     }
 }
Ejemplo n.º 3
0
        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
            }
        }