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")); } }
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.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 } }