This one is insanely simple and I really only used it sparingly, as I only played my rogue a couple times once he hit 85. It is by no means, the end all of macros. Just something to get you started. As per my previous threads, thanks to CptJesus, Ssateneth, Chaotic, etc etc etc. Also, with my feral druid release, I use something that determines my player's relative position to the target, so if you do not use that, change the macro or get something that does.
If you have questions, let me know.
aoerogue
Code:
#showtooltip
/run if aoer==nil then aoer=1 SetMacroSpell("aoerogue","Fan of Knives") elseif aoer==1 then aoer=nil SetMacroSpell("aoerogue","Mutilate") end
mutilate
Code:
------INITIALIZE------
cast = CastSpellByName
------SND AND RUPTURE------
if not UnitBuff("player","Slice and Dice") then
sndremain=0
elseif UnitBuff("player","Slice and Dice") then
sndremain=select(7,UnitBuff("player","Slice and Dice"))-GetTime()
end
if not UnitDebuff("target","Rupture","","player") then
rptremain=0
elseif UnitDebuff("target","Rupture","","player") then
rptremain=select(7,UnitDebuff("target","Rupture","","player"))-GetTime()
end
------INTERRUPTS------
if UnitCastingInfo("target") and select(9,UnitCastingInfo("target"))==false and IsSpellInRange("Kick","target")==1 and select(2,IsUsableSpell("Kick"))==nil and GetSpellCooldown("Kick")==0 and (select(6,UnitCastingInfo("target"))/1000)-GetTime()<5.55 and not UnitBuff("target","Aegis of Flame") and (UnitCastingInfo("target")~="Release Aberrations" or UnitCastingInfo("target")~="Water Bomb" or UnitCastingInfo("target")~="Shadowflame Breath") then
cast("Kick","target")
end
if UnitCastingInfo("focus") and select(9,UnitCastingInfo("focus"))==false and IsSpellInRange("Kick","focus")==1 and select(2,IsUsableSpell("Kick"))==nil and GetSpellCooldown("Kick")==0 and (select(6,UnitCastingInfo("focus"))/1000)-GetTime()<5.55 and not UnitBuff("target","Aegis of Flame") and (UnitCastingInfo("target")~="Release Aberrations" or UnitCastingInfo("target")~="Water Bomb" or UnitCastingInfo("target")~="Shadowflame Breath") then
cast("Kick","focus")
end
if select(8,UnitChannelInfo("target"))==false and IsSpellInRange("Kick","target")==1 and select(2,IsUsableSpell("Kick"))==nil and GetSpellCooldown("Kick")==0 and not UnitBuff("target","Aegis of Flame") then
cast("Kick","target")
end
if select(8,UnitChannelInfo("focus"))==false and IsSpellInRange("Kick","focus")==1 and select(2,IsUsableSpell("Kick"))==nil and GetSpellCooldown("Kick")==0 and not UnitBuff("target","Aegis of Flame") then
cast("Kick","focus")
end
------TRICKS------
if (UnitAffectingCombat("player")==1 or IsStealthed()) and UnitExists("focus") and GetSpellCooldown("Tricks of the Trade")==0 and IsSpellInRange("Tricks of the Trade","focus") then
RunMacroText("/cast [@focus] Tricks of the Trade")
end
------AOE------
if aoer then
if select(2,IsUsableSpell("Fan of Knives"))==nil and GetSpellCooldown("Fan of Knives")==0 then
cast("Fan of Knives")
end
end
------OPENER/MAIN------
if not aoer then
if UnitAffectingCombat("player")==1 and not IsStealthed() then
RunMacroText("/startattack")
elseif IsStealthed() and UnitPower("player")>45 and AmIBehind==true then
cast("Garrote")
elseif IsStealthed() and UnitPower("player")>=55 and AmIBehind==false then
cast("Mutilate")
elseif UnitPower("player")>=55 then
cast("Mutilate")
end
end
------MAIN------
if sndremain<1 and GetComboPoints("player")>=2 and UnitPower("player")>=25 then
cast("Slice and Dice")
elseif sndremain>=3 and rptremain<1 and GetComboPoints("player")>=4 and UnitPower("player")>=25 then
cast("Rupture")
elseif sndremain>=3 and rptremain<=4 and GetComboPoints("player")>=4 and UnitPower("player")>=25 then
cast("Rupture")
elseif sndremain>=3 and GetComboPoints("player")<5 and (UnitHealth("target")/UnitHealthMax("target")<=0.35) and AmIBehind==true then
cast("Backstab")
elseif sndremain>=3 and rptremain>=4 and GetComboPoints("player")>=4 and GetSpellCooldown("Cold Blood")==0 and not UnitBuff("player","Cold Blood") then
cast("Cold Blood")
elseif UnitBuff("player","Cold Blood") and GetComboPoints("player")>=4 and UnitPower("player")>35 then
cast("Envenom")
elseif rptremain>=4 and (GetComboPoints("player")>=4 or sndremain<=3) and UnitPower("player")>35 then
cast("Envenom")
elseif sndremain>=4 and UnitPower("player")>=55 and GetComboPoints("player")<4 then
cast("Mutilate")
end