Custom Rogue Macros for Vanilla World of Warcraft

When you play a Rogue, a lot of skills require you to get into stealth mode in different situations. I like to try to keep this as simple as possible, so many of these macros will perform different actions based on whether you are in stealth or not and will help you get into stealth before performing an action. This keeps my action bars clean and lets me focus more on the larger context of the fight, instead of the character mechanics of getting into stealth in different situations.

These macros are made for the 1.12.1 client version of World of Warcraft and require these addons:

  • SuperMacro allows the creation of longer macros than the default.
  • Zorlen is a function library that provides tons of benefits and is used throughout all the macros.

Also, many of these macros use modifier keys to alter their functionality. You may want to switch those modifier keys depending on your preference. Those functions are:

  • IsShiftKeyDown()
  • IsAltKeyDown()
  • IsControlKeyDown()


Macro Tips

Action Bar Range and Cooldown

A really handy macro trick is to make the first line:

/run --CastSpellByName("Spell")

This will give the macro the cool down and range check on your action bar of the spell you put in the quotes. This doesn't actually cast the spell because the double dash is used as a comment delimiter and prevents the rest of the line from being executed. However, the World of Warcraft client simply looks for the first CastSpellByName reference, even if it is in a comment, to decide how the cool down and range check will be determined.

Target Nearest Enemy

This is a useful line to have in many macros. It simply targets the nearest enemy if you don't already have a target.

/run if GetUnitName("target")==nil then TargetNearestEnemy() end


Attacks

Auto Attack

This simply targets the nearest enemy and starts attacking. Repeated use won't disable Attack. You can cancel Attack by holding Shift.

/run --CastSpellByName("Attack")
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if( IsShiftKeyDown() ) then stopAttack() else castAttack() end

Multi-skill Attack

This is your main combat macro. It keeps Slice and Dice active whenever possible. It uses Riposte after you parry, Eviscerate if you have 5 combo points, and finally Sinister Strike to build combo points. This macro is longer than 255 characters, and so must made as a super macro.

/run --CastSpellByName("Sinister Strike")
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not castRiposte() then if not isSliceActive() and isComboPoints(1) then castSliceAndDice() elseif isComboPoints(5) then castEviscerate() else castSinisterStrike() end end
/run castAttack()


Stealth

Crowd Control

This macro uses Sap if you are in Stealth, otherwise it uses Gouge.

/run --CastSpellByName("Gouge")
/run if isStealthActive() then CastSpellByName("Sap") else castGouge() end

Stealth or Vanish

This macro enters Stealth normally or using Vanish if in combat.

/run if Zorlen_inCombat() then castVanish() else castStealth() end

Cheap Shot

This macro enters Stealth normally or using Vanish if in combat, then casts Cheap Shot.

/run --CastSpellByName("Cheap Shot")
/run if not isStealthActive() then if Zorlen_inCombat() then castVanish() else castStealth() end end
/run if isStealthActive() then castCheapShot() end


Conclusion

The Rogue isn't my personal favorite class, but I found using these macros really let me appreciate it a lot more. I still have to play more with a Rogue and I'm sure I'll add more macros in time.

You may also be interested in these World of Warcraft related pages:

World of Warcraft Macros

Question or Comment?