Please disable your ad blocker to support our website.

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