Originally Posted by
sed-
The fire mage macro stops casting when critical mass is up.
Code:
#showtooltip Fireball #VARIABLES /run c=CastSpellByName cd=GetSpellCooldown b=UnitBuff d=UnitDebuff mana=UnitPower("player")/UnitPowerMax("player") p="player" t="target" u=IsUsableSpell r=IsSpellInRange s=GetUnitSpeed("player") hp=UnitHealth hpm=UnitHealthMax ma="Molten Armor" cau="Cauterize" block="Ice Block" lb="Living Bomb" comb="Combustion" pyro="Pyroblast" hot="Hot Streak" crit="Critical Mass" fo="Flame Orb" mi="Mirror Image" fire="Fireball" int="Arcane Brilliance" #START ATTACKING /run if UnitHealth(t)==0 and UnitIsEnemy(p,t) then ClearTarget() end; /startattack #ARCANE BRILLIANCE /run if not b(p,int) then c(int) end; #MOLTEN ARMOR /run if not b(p,ma) then c(ma) end; #MIRROR IMAGE /run if UnitAffectingCombat(p)==1 and r("Fireball",t)==1 and cd("Mirror Image")==0 then c("Mirror Image") end; #CAUTERIZE /run if b(p,cau) and cd(block)==0 then SpellStopCasting() c(block) end; #REMOVE ICEBLOCK /run if d(p,cau) and b(p,block) then CancelUnitBuff(p,block) end; #INTERRUPT /run if select(9,UnitCastingInfo('target'))==false and cd("Counterspell")==0 and r("Counterspell")==1 then c("Counterspell") end; /run if select(8,UnitChannelInfo('target'))==false and cd("Counterspell")==0 and r("Counterspell")==1 then c("Counterspell") end; #MANA GEM /run if UnitAffectingCombat(p)==1 and mana0 or mana0.05 and cd(fire)==0 and r(fire,t)==1 then c(fire) end; #CRITICAL MASS /run if b(p,hot) and r(pyro,t)==1 and cd(pyro)==0 then c(pyro) elseif not (d(t,crit) or d(t,"Shadow and Flame")) and r("Scorch",t)==1 and cd("Scorch")==0 then c("Scorch") end; /script CombatLogClearEntries(); /run UIErrorsFrame:Clear(); /run StaticPopup_Hide("MACRO_ACTION_FORBIDDEN");
Try that. I'm running it on my own mage at level 84, absolutely no problems.