Alright, here is what I have so far. It's nothing special but the rotation is very close to what I use as a high-end fire mage. However, I am having a problem:
I cannot find any logic in the API that tracks a current debuff's base damage on its target. This is critical for hitting a high combustion reliably. Currently you have to make a stop casting macro and use an addon to track your ignite and then manually cast combustion. Here is what I have so far.
Any help is greatly appreciated. There is a serious lack of a good raiding mage CC, so please help
I cannot find any logic in the API that tracks a current debuff's base damage on its target. This is critical for hitting a high combustion reliably. Currently you have to make a stop casting macro and use an addon to track your ignite and then manually cast combustion. Here is what I have so far.
Code:
if (Me.GotTarget && Me.CurrentTarget != null && Me.CurrentTarget.IsAlive && Me.CurrentTarget.Attackable)
{
//SELF BUFF
//check for invoker's energy
if (!Me.HasAura("Invoker's Energy") && !Me.HasAura("Pyroblast!"))
CastSpell("Evocation");
//COMBAT COOLDOWNS
//Cast Presence of Mind if Alter Time cd is up and Pyroblast proc
if (Me.HasAura("Pyroblast!") && SpellManager.Spells["Alter Time"].CooldownTimeLeft.Milliseconds == 0)
CastSpell("Presence of Mind");
//Cast alter time if invoker's energy, Pyroblast and PoM are true
if (Me.HasAura("Invoker's Energy") && Me.HasAura("Pyroblast!") && Me.HasAura("Presence of Mind") && !Me.HasAura("Alter Time"))
CastSpell("Alter Time");
//Cast alter time if Alter time is in effect and you have already used Pyro proc and PoM pyro
if (Me.HasAura("Alter Time") && !Me.HasAura("Presence of Mind") && !Me.HasAura("Pyroblast!"))
CastSpell("Alter Time");
//Combustion will go here once I figure out how to check for base debuff damage on a target. Using combustion without a base ignite of 20k is a waste.
//COMBAT ROTATION
//Cast Pyro if either pyro proc or PoM
if (Me.HasAura("Pyroblast!") || Me.HasAura("Presence of Mind"))
CastSpell("Pyroblast");
if (Me.HasAura("Invoker's Energy") && !Me.HasAura("Pyroblast!") && !Me.HasAura("Alter Time") && !Me.HasAura("Presence of Mind"))
{
//Cast IB to proc pyro if Hot Streak proc is present
if (Me.HasAura("Heating Up"))
{
if (SpellManager.CanCast("Inferno Blast"))
CastSpell("Inferno Blast");
else
{
if (!Me.CurrentTarget.HasAura("Living Bomb") || Me.CurrentTarget.HasAura("Living Bomb") && MyDebuffTime("Living Bomb", Me.CurrentTarget) <= 1)
CastSpell("Living Bomb");
if (MyDebuffTime("Living Bomb", Me.CurrentTarget) > 2)
CastSpell("Fireball");
}
}
else
{
if (!Me.CurrentTarget.HasAura("Living Bomb") || Me.CurrentTarget.HasAura("Living Bomb") && MyDebuffTime("Living Bomb", Me.CurrentTarget) <= 1)
CastSpell("Living Bomb");
if (MyDebuffTime("Living Bomb", Me.CurrentTarget) > 2)
CastSpell("Fireball");
}
}
}
Any help is greatly appreciated. There is a serious lack of a good raiding mage CC, so please help

Last edited: