OK, think i have the conserve phase on Arcane Blast and Missles workied out (thanks crystal!) Like R0w4n pointed out we can get by with casting more then a couple arcane blasts during our conserve phase due to raid buffs. So i have set it to keep casting AB until we reach around 80% mana then cast missle, rinse and repeat. So if you have better gear and buffs from raid you will cast more AB's before using AM. This should increase our dps during the burn phase which takes a drastic drop while in this phase. Dont forget to create mana gems before entering combat! I took out the make gem due to the fact it is a dps decrease. Thought xelper was going to add in some type of self buff feature, hint hint!
It is really hard to test this on a dummy, since we do not have the buffs to keep casting AB. So please test and let me know where i can treak it.
Mage_Abilities
Code:
<?xml version="1.0" encoding="utf-8" ?><MAGE><Ability><Name>B - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
if manapercent &lt;= 36 then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Power</Name><Default>false</Default><SpellID>12042</SpellID><Actions></Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Use - Mana Gem</Name><Default>false</Default><SpellID>0</SpellID><Actions>/use Mana Gem</Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
local ManaGemStart, ManaGemDuration = GetItemCooldown(36799)
local ManaGemCooldown = (ManaGemStart + ManaGemDuration - GetTime())
if ManaGemCooldown &lt; 3 then
if manapercent &lt; 85 then
return true
end
end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Flame Orb</Name><Default>false</Default><SpellID>82731</SpellID><Actions>/startattack</Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Mirror Image</Name><Default>false</Default><SpellID>55342</SpellID><Actions></Actions><Lua>local levelCheck = UnitLevel(&quot;target&quot;)
if levelCheck ~= -1 then
return false
else
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Make - Mana Gem</Name><Default>false</Default><SpellID>759</SpellID><Actions></Actions><Lua>local gemcount = GetItemCount(&quot;Mana Gem&quot;)
if gemcount &lt; 1 then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Evocation</Name><Default>false</Default><SpellID>12051</SpellID><Actions></Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
if manapercent &lt; 35 then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>B - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack|/use 10|/use 13|/use 14|/use 6|/cast Arcane Power|/cast Presence of Mind</Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
if EvocationCooldown &lt; 3 then
if manapercent &gt; 35 then
return true
end
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Brilliance</Name><Default>false</Default><SpellID>1459</SpellID><Actions></Actions><Lua>sABr = UnitBuffID(&quot;player&quot;, 1459)
if sABr == nil then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,ABcount = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
if ABcount == nil then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
local timesCast = 1
local myMana = UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;) * 100
if timesCast &lt;= 5 and myMana &gt;= 75 then
timesCast = timesCast + 1
return true
elseif timescast == 6 then
timesCast = 0
return false
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local myMana = UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;) * 100
local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
if AM ~= nil and myMana &lt;= 70 then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
if EvocationCooldown &gt; 3 then
if manapercent &lt;= 80 then
return true
end
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Barrage</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
if AB == nil then
if AM == nil then
return true
end
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast - Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,ABcount = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
if ABcount == nil then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local timesCast = 0
local myMana = UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;) * 100
if timesCast &lt;= 5 and myMana &gt;= 70 then
timesCast = timesCast + 1
return true
elseif timescast == 6 then
timesCast = 0
return false
end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Mage Armor</Name><Default>false</Default><SpellID>6117</SpellID><Actions></Actions><Lua>sMA = UnitBuffID(&quot;player&quot;, 6117)
if sMA == nil then
return true
end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability></MAGE>
Mage_Rotations
Code:
<?xml version="1.0" encoding="utf-8" ?><MAGE><Rotation><RotationName>Arcane</RotationName><RotationDefault>false</RotationDefault><RotationList>Buff - Mage Armor|Buff - Arcane Brilliance|Buff - Arcane Power|Mirror Image|Use - Mana Gem|B - Arcane Blast|B - Arcane Missile|Flame Orb|Evocation|C - Arcane Blast - Filler|C - Arcane Missile|C - Arcane Blast</RotationList></Rotation><Rotation><RotationName>Arcane - Trash</RotationName><RotationDefault>false</RotationDefault><RotationList>T - Arcane Blast Filler|T - Arcane Blast|T - Arcane Barrage|T - Arcane Missile</RotationList></Rotation></MAGE>
I have also tweaked the trash rotation to cast till mana is to a set %, works great.