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: