WoW Classic Rogue Macros
This guide was written in 2020 and is relevant for the WoW Classic release of the game as well as private servers. You'll find all of the WoW Classic Druid Macros that I have found online and considered useful. Not all of these are my original creation and credit goes to whomever first penned the words onto paper.
For the most part all of the macros on this page should work with both the Private Servers for WoW Classic as well as the official rerelease of the game. Don't forget, however, Blizzard changed how the macro system worked for the rerelease and it uses a hybrid current WoW and old WoW system. Two of the biggest things that are unavailable with this new macro system are Focus targets and the ability to target any raid mark with a macro.
Note: For each Macro the original vanilla version is found above, the second one is what you'll normally use on the WoW Classic servers.
Note #2: Every Vanilla macro that includes (59) only works if you have Stealth in slot 59 on your action bar. Same goes for having Attack in slot (60) on the action bar. If you want to change the slot just look up wow spellslots, and put the correct number. In order to use /unbuff you need the addon Super Macro (Vanilla only).
Spammable Stealth
Vanilla
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
Classic
/cast [nostealth] Stealth
possible alternative (untested)
/cast !Stealth
Attack Macros
Hemorrhage
Vanilla
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not IsCurrentAction(60) then UseAction(60) end
/cast Hemorrhage
Classic
#showtooltip Hemorrhage
/cleartarget [dead][help]
/startattack
/cast Hemorrhage
Ghostly Strike
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not IsCurrentAction(60) then UseAction(60) end
/cast Ghostly Strike
#showtooltip Ghostly Strike
/cleartarget [dead][help]
/startattack
/cast Ghostly Strike
Riposte/SS
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not IsCurrentAction(60) then UseAction(60) end
/cast Riposte
/cast Sinister Strike
#showtooltip Sinister Strike
/cleartarget [dead][help]
/startattack
/cast Riposte
/cast Sinister Strike
Riposte + Eviscerate
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not IsCurrentAction(60) then UseAction(60) end
/cast Riposte
/cast Eviscerate
#showtooltip Eviscerate
/cleartarget [dead][help]
/startattack
/cast Riposte
/cast Eviscerate
rRupture
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/run if not IsCurrentAction(60) then UseAction(60) end
/cast Riposte
/cast Rupture
#showtooltip Rupture
/cleartarget [dead][help]
/startattack
/cast Riposte
/cast Rupture
Backstab
/run if GetUnitName("target")==nil then TargetNearestEnemy() end
/script if not IsCurrentAction(59) then if not IsCurrentAction(60) then UseAction(60) end end
/cast Backstab
#showtooltip Backstab
/cleartarget [dead][help]
/targetenemy [noexists]
/startattack [nostealth]
/cast Backstab
Throw/Shoot
Vanilla
/run local ,,i=strfind(GetInventoryItemLink("player",18),"\124Hitem:(%d+)")local ,,,,_,p=GetItemInfo(i)local t={}t.Bows="Bow"t.Guns="Gun"t.Crossbows="Crossbow"t.Thrown="Throw"CastSpellByName((string.gsub(t[p],"[^T]","Shoot %1")))
#showtooltip
/cast [worn:Thrown] Throw; [worn:Bows] Shoot Bow; [worn:Guns] Shoot Gun; [worn:Crossbows] Shoot Crossbow
Throw/Shoot Cancel Stealth
#showtooltip [worn:Thrown] Throw; [worn:Bows] Shoot Bow; [worn:Guns] Shoot Gun; [worn:Crossbows] Shoot Crossbow
/cancelaura Stealth
/cast [worn:Thrown] Throw; [worn:Bows] Shoot Bow; [worn:Guns] Shoot Gun; [worn:Crossbows] Shoot Crossbow
Opener Macros
Cheap Shot
Vanilla
/cast Cheap Shot
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
/cast Cheap Shot
/cast [nostealth] Stealth
Ambush
/cast Ambush
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
/cast Ambush
/cast [nostealth] Stealth
Garrote
/cast Garrote
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
/cast Garrote
/cast [nostealth] Stealth
Sap
/cast Sap
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
/cast Sap
/cast [nostealth] Stealth
Spam Sap
/run ClearTarget()
/run TargetNearestEnemy()
/cast Sap
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
#showtooltip
/cleartarget
/targetenemyplayer
/cast Sap
/cast [nostealth] Stealth
Spam Pick Pocket
/run ClearTarget()
/run TargetNearestEnemy()
/cast Pick Pocket
/run if not IsCurrentAction(59) then CastSpellByName("Stealth") end
#showtooltip
/cleartarget
/targetenemy
/cast Pick Pocket
/cast [nostealth] Stealth
Other Rogue Macros
Vanish
/run StopAttack()
/run if UnitAffectingCombat("player") then CastSpellByName("Vanish") else if not IsCurrentAction(59) then CastSpellByName("Stealth") end end
/stopattack
/cast [combat] Vanish; [nostealth] Stealth
Evasion
/script if not IsCurrentAction(59) then CastSpellByName("Evasion") end
/cast [nostealth] Evasion
Cannibalize
/script if not IsCurrentAction(59) then CastSpellByName("Cannibalize") end
/cast [nostealth] Cannibalize
Poisons
Vanilla (credit to moghedanbanned+Cupcake, Nostalrius Forum)
MH
/use Instant Poison VI
/script PickupInventoryItem(16)
/run ReplaceEnchant()
/run ClearCursor()
OH
/use Instant Poison VI
/script PickupInventoryItem(17)
/run ReplaceEnchant()
/run ClearCursor()
Classic
/use Instant Poison VI
/use [btn:1] 16; [btn:2] 17
/click StaticPopup1Button1
Classic Advanced Version
/use [nomod] Instant Poison VI; [mod:shift] Crippling Poison II; [mod:ctrl] Wound Poison IV
/use [btn:1] 16; [btn:2] 17
/click StaticPopup1Button1
Tip: You can remove “/click StaticPopup1Button1” and use the first 2 lines only and still be safe to not accept things on accident. In fact, I recommend doing this.
Drop Flag+Vanish+Cheap
/unbuff Silverwing Flag
/cast Vanish
/cast Cheap Shot
Horde WSG Macro
/cancelaura Silverwing Flag
/cast Vanish
/cast Cheap Shot
Alliance WSG Macro
/cancelaura Warsong Flag
/cast Vanish
/cast Cheap Shot
Expose Armor
Vanilla
/cast Expose Armor
/script StopAttack()
Vanilla Version 2
/cast Expose Armor
/script AttackTarget()
/script ClearTarget()
/script TargetLastTarget()
Classic
#showtooltip
/cast Expose Armor
/stopattack
Classic Version 2
/cast Expose Armor
/startattack
/cleartarget
/targetlasttarget
Cheap Shot (No attack)
/cast Cheap Shot
/startattack
/cleartarget
/targetlasttarget
Cold Blood
#showtooltip
/cast Cold Blood
/cast Eviscerate
Blind
#showtooltip
/cast [@mouseover, harm] Blind; Blind
Gouge
#showtooltip
/cast [@mouseover, harm] Gouge; Gouge
Kick
#showtooltip
/cast [@mouseover, harm] Kick; Kick
Blind + Bandage
Vanilla
/cast Blind
/use Heavy Runecloth Bandage
Classic
/cast Blind
/use [@player] Heavy Runecloth Bandage
/cast Gouge
/use [@player] Heavy Runecloth Bandage
Rogue Pickpocket Macros
Note: For these Macros you'll need to have Auto Loot enabled for quicker looting.
Garrote + Pickpocket
#showtooltip Garrote
/cast Pick Pocket
/cast Garrote
Sap + Pickpocket (I dont really use this for reasons, but it works).
#showtooltip Sap
/cast Pick Pocket
/cast Sap
Cheap Shot+ Pickpocket
#showtooltip Cheap Shot
/cast Pick Pocket
/cast Cheap Shot
Ambush + Pickpocket
#showtooltip Ambush
/cast Pick Pocket
/cast Ambush
