I just wanted to share this frost mage spec I've made, expect a fire and arcane build to come as well!
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SPQR;
using MySPQR;
namespace SPQR.Engine
{
class Mage : Engine.FightModule
{
public override string DisplayName
{
get { return "Improbable_Frost_mage"; }
}
internal enum Spells : int
{
FrostfireBolt = 44614,
FrostNova = 122,
Counterspell = 2139,
IceLance = 30455,
ColdSnap = 11958,
Frostjaw = 102051,
ArcanePower = 12042,
IcyVeins = 12472,
Combustion = 11129,
Shield = 115610,
IceBarrier = 11426,
Bomb = 125430,
ArcaneBlast = 30451, //
FrostBolt = 116, //
FrozenOrb = 84714,
Freezeyou = 122,
Freezeme = 45438,
Blinkout = 1953,
Evocation = 12051,
}
internal enum Auras : int
{
FrostArmor = 7302,
EvocationAura = 116257,
Pyroblast = 48108,
BrainFreeze = 57761,
FingerOfFrost = 44544,
Polymorph = 118,
Frozen = 122,
IceBarrier = 11426,
BombAura = 44457,
}
public override void CombatLogic() //begin rotation
{
var TARGET = MySPQR.Internals.ObjectManager.Target;
var ME = MySPQR.Internals.ObjectManager.WoWLocalPlayer;
if (TARGET.Position.Distance3DFromPlayer < 30)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.FrozenOrb); //Gives you frost finger procs and can give you brain freeze faster.
if (TARGET.Position.Distance3DFromPlayer < 10)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Freezeyou); //freeze then V
if (TARGET.Position.Distance3DFromPlayer < 9)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Blinkout); //Blink away :D (is buggy)
if(ME.HealthPercent <= 60)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.IcyVeins); //my health is low so lets make a final stand with more haste :D
if(ME.ManaPercent <= 20)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Evocation); //gives me mana back.
if(ME.HealthPercent <= 75)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Shield); //shield you
if(ME.HealthPercent <= 20)
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Freezeme); //Health is low so cover yourself in ice :D
if (!ME.HasAurabyId((int)Auras.IceBarrier))
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.IceBarrier); //shield obsorbing damage
if(!TARGET.HasAurabyId((int)Auras.BombAura))
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.Bomb); //bomb that enemy
if (TARGET.HasAurabyId((int)Auras.Frozen) || ME.HasAurabyId((int)Auras.FingerOfFrost )) //icelance proc
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.IceLance);
if(ME.HasAurabyId((int)Auras.BrainFreeze ))
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.FrostfireBolt); //frostfire proc
foreach (var aura in ME.AuraList)
{
if (aura.Id == (int)Auras.ArcaneCharge && aura.StackCount > 4)
{
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.ArcaneBarrage);
}
}
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.FrostBolt);
MySPQR.Internals.ActionBar.CastSpellById((int)Spells.FrostfireBolt);
}
public override void OnLoad()
{
}
public override void OnClose()
{
}
public override void OnStart()
{
}
public override void OnStop()
{
}
}
}
Download
improbablefrostmage