WoWWiki

This wiki contains inaccurate and out-of-date information. Please head over to https://wowpedia.fandom.com for more accurate and up-to-date game information.

READ MORE

WoWWiki
Advertisement
Macrose

Useful macros
Macro commands

General guides

Beginner's guide
FAQs
Making a macro
Wiki Formatting
Category:Macros
UI Customization

Class Macros

Useful macros for death knights Useful macros for druids Useful macros for hunters Useful macros for mages Useful macros for monks Useful macros for paladins
Useful macros for priests Useful macros for rogues Useful macros for shamans Useful macros for warlocks Useful macros for warriors

Pet

Uber Pet Macro

This macro got it's name on the WoW Hunter Forums a while back, basically this is just a one button pet control macro. This macro only requires that you have the spells Call Pet & Revive Pet, or simply, a Hunter's Pet. Also, this macro will use your player's Focus marker.

How the Macro works... If your pet is dead: You will cast Revive Pet. If your pet is not summoned: You will cast Call Pet. If you are not focused: You will focus on your target and your pet will be sent to attack it. If you are focused: You will clear focus and your pet will be recalled to follow you.

In less technical terms... If your pet is dead or missing: Your pet will be revived or summoned. If your pet is not attacking: Your pet will attack your target. If your pet is attacking: Your pet will stop attacking and return to your side.

/cast [nopet] Call Pet; [target=pet, dead] Revive Pet
/clearfocus [target=focus, dead]
/focus [target=focus, exists] player; target
/clearfocus [target=focus, noharm]
/petattack [target=focus, exists]
/petfollow [target=focus, noexists]

Beast Mastery "I-Win button"

This macro will cast Bestial Wrath and Intimidation simultaneously. It requires a Beast Mastery spec and the appropriate talents.

/cast Bestial Wrath
/stopcasting
/cast Intimidation

This is a more PvP-oriented version that requires Bladefist's Breadth. It also has your pet attack your current target (which is most likely a Rogue trying to stunlock). You can replace Bladefist's Breadth with any other on-use trinket, such as Bloodlust Brooch. Note: Using /use 13 or /use 14 will attempt to use whatever is in your top or bottom trinket slot, respectively. Replacing "/use Bladefist's Breadth" with "/use 13" makes this macro work for any trinket.

/use Bladefist's Breadth
/stopcasting
/cast Bestial Wrath
/stopcasting
/cast Intimidation
/petattack

Dive / Dash -> Growl

This macro will cast Dive if you have an owl, Dash if you have a cat, or Growl if you have anything else.

/cast [pet:owl] Dive; [pet:cat] Dash; [pet] Growl

No Combat Feed / Combat Mend

This macro will cast Mend Pet when in combat and Feed Pet when out of combat.

Feed by food name.

/cast [nocombat] Feed Pet; [combat] Mend Pet
/use [nocombat] <food item>

-OR-

Feed by bag slot: bag #1 slot #13.

/cast [combat] Mend Pet; [nocombat] Feed Pet
/use [nocombat] 1 13

-OR-

Feed a certain food item depending on the type of pet.

/cast [pet, nocombat] Feed Pet
/use [pet:Cat/Ravager, nocombat] <food item>; [pet:Wind Serpent, nocombat] <food item>

-OR-

Hold down alt to cast Mend Pet out of combat, and shows the amount of food you have in your bags.

#show <food item>
/cast [modifier:alt][combat] Mend Pet; [pet, nocombat] Feed Pet
/use [pet, nocombat, nomodifier:alt] <food item>

Pet Attack queuing

In most games, you can queue up attack commands by using the shift key. You can now do this with your pet so that it will kill the targets sequentially in the order you give it.

This acts like a normal pet attack button, but when you hold shift and use it, your pet will attack your current target only once it is done killing all its already queued targets.

/focus [target=pettarget,modifier:shift]
/petfollow [nomodifier:shift]
/petattack
/target [modifier:shift] focus
/petattack [modifier:shift]

Pet Attack / Follow toggle

Get your pet out of that boss' AOE faster by putting Pet Attack and Pet Follow on the same button. Here's a way to toggle them by holding any modifier key:

/petattack [pet,nomodifier]
/petfollow [pet,modifier]

Or here's a way to make the toggle automatic -- if your pet is attacking, it'll call him back; otherwise he'll go to attack your target.

/petfollow [target=pettarget,exists]
/petattack [target=pettarget,noexists]

A downside to the latter is that you may have to retrain your fingers a bit if you're accustomed to using your Pet Attack key to make your pet switch targets.

Revive Pet -> Call Pet -> Mend Pet

This will revive your pet if it's dead, call your pet if you don't have him out, or mend your pet.

/cast [modifier] Revive Pet; [target=pet,dead] Revive Pet; [nopet] Call Pet; Mend Pet

If your dead pet is out of range (i.e. cannot be found by the target command), you can hold down any modifier to force Revive Pet.

Call Pet -> Revive Pet

This macro will call your pet if you do not have one, otherwise it attempts to cast Revive Pet.

/cast [nopet] Call Pet; Revive Pet

The preceding macro won't work correctly if you died, or had to leave an instance without reviving your pet. If your pet's corpse is still around this one will revive it, or if you hold down alt. If you are not in combat, and hold down ctrl your pet will be dismissed, if you don't have a pet it will call pet.

/cast [modifier:alt] [target=pet, dead] Revive Pet; [nopet] Call Pet; [pet, nocombat, modifier:ctrl] Dismiss Pet

Another one-button pet management variation, with Feed-O-Matic

This macro calls your pet if he's not out, revives him if he's dead, heals him during combat, and feeds him out of combat (using the Feed-O-Matic addon). Since the macro system can't tell whether your pet is alive if his corpse isn't around, holding any modifier when you have no pet out will cast Revive Pet. Also, holding any modifier key when your pet is out will heal him instead of feeding. (The complicated showtooltip line makes sure the macro button shows appropriate feedback as conditions change.)

#showtooltip [nocombat,pet,target=pet,nodead,nomodifier] Feed Pet
/cast [nopet,modifier] Revive Pet; [target=pet,dead] Revive Pet; [nopet] Call Pet; [combat][modifier]Mend Pet
/stopmacro [combat]
/click FOM_FeedButton

For regular feeding, replace the last line with:

/cast Feed Pet
/use <food item>

or any of the variations under No Combat Feed / Combat Mend above.

Full One button Pet Treatment

This macro will Rez your pet if it's dead, call it if it's dismissed, Mend it if it's by your side, feed it if you press alt at the same time and dismiss it if you right click the button.

#show [modifier:alt] Mutton Chop
/cast [nopet] Call Pet
/cast [target=pet, dead] Revive Pet
/cast [pet, nomodifier, button:1] Mend Pet
/cast [pet, nomodifier, button:2] Dismiss Pet
/cast [pet, modifier:alt] Feed Pet
/use [pet, modifier:alt] Mutton Chop

Mend Pet Tracker

This macro will put Mend Pet on, then change the icon until Mend Pet wears off. It makes it easy to keep track of when to reapply Mend Pet.

/castsequence reset=15 Mend Pet, Raptor Strike

Shots

Aimed Shot -> Arcane Shot / Steady Shot

This macro is designed to maximize your single target ranged DPS. It rotates through Arcane Shot, Steady Shot, and Aimed Shot. It casts Aimed Shot if you are out of combat to start off the fight; then it spams Arcane Shot when it isn't on cool down and Steady Shot the rest of the time. Selecting the INV Misc QuestionMark Macro Icon will show the icon for the next spell to be cast.

Note: You need to adjust the reset to equal the cool down on your Arcane Shot, and you need to wait for an auto shot to go off before casting each Steady Shot, to maximize your DPS.

/castsequence [combat] reset=5 Arcane Shot, Steady Shot, Steady Shot, Steady Shot; [nocombat] Aimed Shot

Misdirection

Set the focus target using the Hunter's Mark / Focus Target macro, in this case the Main Tank; then use this macro just before pulling to cast Misdirection on your focus target without losing your target.

#showtooltip
/cast [target=focus,help] Misdirection; [help] Misdirection; [target=pet,exists] Misdirection

This will misdirect to your focus target, if that is friendly. If not, it will cast on a friendly selected target instead. If that doesn't exist either, it will misdirect on your pet. That way, the macro works as intended in any situation, without the need of pressing qualifier keys or choosing between different buttons.

A macro that does almost the same thing, but doesn't use a focus is as follows. This will cast Misdirection on the tank without losing your target. Just replace "Tank" with your tank.

#showtooltip
/cast [target="Tank"] Misdirection

Another useful macro combination for one-button misdirecting. If you select a friendly target, it will make them the focus, otherwise it will cast misdirection on whatever the focus was. If you haven't got a focus set, it will misdirect to your pet instead. Usage:

  1. Select tank and click macro button. This will set your tank as focus target. You only have to do this once, until you want to change the focus to a different player.
  2. Select the mob that you want to pull (and misdirect).
  3. Shoot away!
#showtooltip
/focus [help]
/stopmacro [help]
/cast [target=focus,exists] Misdirection;  [target=pet,exists] Misdirection

A variation on this wonderful macro is

#showtooltip
/focus [help]
/script SendChatMessage ("You are now my FOCUS target","WHISPER",nil,UnitName("target")) 
/stopmacro [help]
/y ~~Misdirecting on %f~~
/cast [target=focus,exists] Misdirection

This will whisper your tank every time you change focus targets; feel free to change the message to something whitty. This also includes a yell that will announce your misdirection on your focus target, to help prevent overlapping misdirection casts.

Rapid Fire -> Berserking -> Arcane Shot

This macro stops after casting Rapid Fire, so you have to press the button for it again. You can add a "/use Devilsaur Eye" or other trinket as well.

#show Rapid Fire
/cast Rapid Fire
/stopcasting
/cast Berserking
/stopcasting
/cast Arcane Shot

I've found that placing Rapid Fire at the end works more efficiently. It will activate them all with one click, rather than spamming the button.

Steady Shot -> Auto Shot

This macro will cast Steady Shot and Auto Shot in alternating order, preventing players from accidentally clipping Auto Shots while attempting to cast Steady Shot. The sequence will reset after obtaining a new target or after three seconds of idle time. If the target is a friendly target, you will assist the player before beginning the sequence, but only if you are in combat first. If the new target is still a friendly target, the macro will stop.

#showtooltip
/assist [help, combat]
/stopmacro [help]
/castsequence reset=target/3 Steady Shot, Auto Shot

Kill Command macro

As of 2.1, Kill Command is off of the global cooldown. However, it is still subject to the 0.5 second Auto Shot delay. This means using Kill Command can clip your rotation if your attack speed is too fast. It is very beneficial to a hunter's DPS to use the ability after every crit, so here are some macros to help with that. Furthermore change the reset time so it matches your weaponspeed, can be found in your caractersheet, this minimize the time between your shots, really good if you have a fast weapon.

The following macro combines Steady Shot and Kill Command into one action. It should be used as a replacement for the normal Steady Shot, so that Kill Command will be used as early as possible whenever it is available (ie. after a critical strike):

/script UIErrorsFrame:Hide()
/stopcasting
/cast [target=pettarget] Kill Command
/stopcasting
/cast Steady Shot
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()

This macro will

  • start casting Steady Shot
  • give the Kill Command; in effect this will be only executed if it is actually available

The calls to the UIErrorsFrame method are not strictly necessary, but they remove possibly distracting error messages from the screen that would otherwise appear when Kill Command is not available. While the structure of the macro might seem overly complicated at first sight, it is indeed the only way to make the intended effect transparent to the player. The macro is intended to work as a replacement for Steady Shot, having it behave as closely to the original Steady Shot as possible.

Another variation can be seen here. The error frame will show all errors as it normally does except that it will ignore errors coming from the use of Kill Command.

#showtooltip Steady Shot
/stopcasting
/script local function x() end local y = UIErrorsFrame.AddMessage UIErrorsFrame.AddMessage = x
/cast Kill Command
/stopcasting
/script UIErrorsFrame.AddMessage = y
/cast Steady Shot

You can also use /startattack at the end so that if the hunter chooses to abort a Steady Shot (perhaps by moving), the autoattacks will continue as they would with Steady Shot on the action bar instead of this macro (if Steady Shot succeeds, autoattack is turned on whether you're using the macro or the regular action). It does, however, have the side effect of turning on autoattack if you try using this macro in situations in which Steady Shot cannot be used, which wouldn't happen without the macro. Thus, it's really a matter of personal preference as to whether you'd like autoattacks to be on or off after a failed Steady Shot.

If you want a "spamable" macro, use the following:

/script UIErrorsFrame:Hide()
/cast [target=pettarget] Kill Command
/castsequence reset=3 Steady Shot, Auto Shot
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()

The above macro works very well if you spam it (i.e. cast repeatedly). An easy way to do this is by binding it to the mouse wheel (scroll the mouse wheel in the intended direction after clicking the Bind Key button; a mouse wheel click is treated like a mouse button click, so by scrolling the mouse wheel you can then spam the action in rapid succession).

Kill Command and Wind Serpent's Lightning Breath:

#showtooltip Steady Shot
/script UIErrorsFrame:Hide()
/cast [target=pettarget] Kill Command
/castsequence reset=3 Steady Shot,Auto Shot
/cast Lightning Breath
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()

When you spam it, this macro will cause lots of error messages on your HUD while the pet does not have enough focus or after is just casted Lightning Breath. To get rid of the errors, use

#showtooltip Steady Shot
/script UIErrorsFrame:Hide()
/petautocaston Lightning Breath
/cast [target=pettarget] Kill Command
/castsequence reset=3 Steady Shot,Auto Shot
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()

and combine it with "/petautocastoff Lightning Breath" in your pet attack macro. This will ensure that the Wind Serpent goes into melee range right away, but it might allow for the occasional pathing issue (pet backing up for LB).


The following will autocast your DPS trinkets to maximize your damage output (remeber to change the names and order for your trinkets):

#showtooltip Steady Shot
/assist [help,combat]
/stopmacro [help]
/castsequence reset=120 Bladefist's Breadth,Ancient Draenei War Talisman
/cast [target=pettarget,nodead,exists] Kill Command
/castsequence reset=combat/target Auto Shot, Steady Shot

Stings & Volleys

Put most of your stings on a single key. Use the INV Misc QuestionMark icon and it will show which one is up:

#showtooltip
/cast [modifier:alt] Scorpid Sting; [modifier:ctrl] Tranquilizing Shot; Serpent sting

Switch between Volley and Flare. Use the INV Misc QuestionMark icon:

#showtooltip
/cast [modifier:alt] Flare; Volley

Distracting Shot

Cast distracting shot, then stop attacking.

#showtooltip
/cast Distracting Shot
/stopattack

Melee

Raptor Strike + Wing Clip

This is a very simple macro that queues a Raptor Strike for the next normal melee swing and uses Wing Clip. The stopcasting is used to cancel the Raptor Strike effect if the Wing Clip isn't done. If your Raptor Strike is on cooldown, Wing Clip can be used alone. Although this macro contains two skills, it works because one attacks instantly and the other attacks on the next melee swing.

/cast Raptor Strike
/cast Wing Clip
/stopcasting

Call Pet or Mend Pet or Wing Clip + Raptor Strike

With one button you can now Mend your pet or spam Wing Clip and Raptor Strike. Set the time in /target/10 to whatever you like, and append as many Raptor Strikes as you like. I just added more then I needed to make sure I'm using RS when not Wing Clipping.

/castsequence [nopet] Call Pet; [nocombat] Mend Pet; reset=combat/target/10 Wing Clip, Raptor Strike, Raptor Strike, Raptor Strike

Cleverly Trapping

Two Traps for the Price of One

Cut down on the number of buttons you have dedicated to traps. The stopcasting & stopattack will help keep you from breaking your own traps. You can also use Immolation/Explosive. Use the INV Misc QuestionMark icon.

#showtooltip [modifier:alt] Frost Trap; Freezing Trap
/stopcasting
/stopattack
/cast [modifier:alt] Frost Trap; Freezing Trap

Tracks

A hunter has several tracking abilities that can be selected at the expense of gathering prospects.

A hunter can track the following:

Uber track

/castsequence [nocombat] reset=10 Find Minerals, Find Herbs, Track Beasts, Track Demons, Track Dragonkin, Track Elementals, Track Giants, Track Hidden, Track Humanoids, Track Undead

The reset=10 allows you to wait 10 seconds between using the macro to only change between minerals and herbs. You can shorten or lengthen it as you see fit. The rest are in alphabetical order.

Alternative track

The alternative cycles the gathering skills if you have a friendly target (yourself/pet/party member/NPC) or no target, and the combat skills if you have a hostile target.

/castsequence [nocombat,help] Find Herbs, Find Minerals
/castsequence [nocombat,noexists] Find Herbs, Find Minerals
/castsequence [nocombat,harm] Track Beasts, Track Demons, Track Dragonkin, Track Elementals, Track Giants, Track Hidden, Track Humanoids, Track Undead

Miscellaneous

Assist Focus

The Assist Focus macro is setup to assist and attack the target of the focus target; in this case, it is the main tank or main assist. You can use the Hunter's Mark / Focus Target macro to easily set your focus target; then use this macro to target his target from then on. So it is a main tank assist macro centered around the focus target. I bind this macro to T and use it exclusively to target and begin attacking.

/assist [target=focus, exists]
/cast [nocombat] attack;
/startattack [combat];

Aspect of the Cheetah / Pack by group status

This macro will cast Aspect of the Cheetah if you are not in a group, or Aspect of the Pack if you are.

/cast [group] Aspect of the Pack; Aspect of the Cheetah

Aspect of the Cheetah / Pack by mouse click

Left-click to cast Aspect of the Cheetah; right-click to cast Aspect of the Pack

/cast [button:2] Aspect of the Pack; Aspect of the Cheetah

Hunter's Mark / Focus Target

The Hunter's Mark macro will set the focus target if the target is friendly or it will cast Hunter's Mark if the target is hostile. I use this macro with the Misdirection macro to set the recipient of aggro, typically the main tank, and with the Assist Focus macro to set the main assist.

#showtooltip Hunter's Mark
/cast [harm] Hunter's Mark;
/focus [help]

Hunter's Mark + Pet Attack

This macro will mark your current target and send your pet to attack while keeping the Hunter's Mark icon and tooltip. If you don't want to manually find the Hunter's Mark icon in the macro icon selection window, simply select the question mark icon INV Misc QuestionMark and the macro will automatically change it to the Hunter's Mark icon for you.

/cast Hunter's Mark
/petattack

A simpler form, without the tooltips, but adding Auto Shot also works properly. Auto Shot is an effect, and is not subject to the Global Cooldown that affects Spells like Hunter's Mark.

#showtooltip Hunter's Mark
/cast Auto Shot
/cast Hunter's Mark
/petattack

This one is a little more complex, but it allows you to add Hunter's Mark to a mob without sending in your pet. All you have to do is right-click the button to cast only the Hunter's Mark.

#showtooltip Hunter's Mark
/cast [button:2] Hunter's Mark; Hunter's Mark
/stopmacro [button:2]
/petattack

Swap between melee and range actionbar

The following macro will swap between a melee and a range action bar while casting Aspect of the Monkey for melee or Aspect of the Hawk for range. In this example, the melee spells are on action bar 2 and the range spells on action bar 1.

/cast [noactionbar:1] Aspect of the Hawk; [noactionbar:2] Aspect of the Monkey
/swapactionbar 1 2

-OR-

Hold down alt to cast Aspect of the Viper without switching actionbars.

/cast [noactionbar:1, nomodifier:alt] Aspect of the Hawk; [noactionbar:2, nomodifier:alt] Aspect of the Monkey;
      [modifier:alt] Aspect of the Viper
/swapactionbar [nomodifier:alt] 1 2

Use Aspect of the Monkey before mounting

The game now automatically uncasts Aspect of the Cheetah when you mount, preventing you from being dazed after the first hit you receive when you're mounted. To further decrease the chances that you get knocked off your mount, though, you can set up a macro that will automatically cast Aspect of the Monkey when you mount.

/cast Aspect of the Monkey
/stopcasting
/use Reins of the Spotted Frostsaber

You can substitute the name of your own mount by opening the macro window while you have your bags open and shift-clicking your mount.

- OR -

I used to get annoyed having to turn off Aspect of the Monkey if it was already on for any reason, so with this addition to the above macro you can right click to avoid losing your Monkey. Tooltip is more aesthetically pleasing too, if you're into that.

#showtooltip Swift Pink Hawkstrider
/cast [button:1] Aspect of the Monkey
/stopcasting
/use Swift Pink Hawkstrider

/use [button:2] Swift Pink Hawkstrider

Again, change the mount name to suit your character.

One-button reactive abilities

This will cast whichever is currently available (or both if both are), so you can just hit it reflexively when the yellow text pops up (if you have that option in the built-in floating combat text turned on) without having to read it.

/cast Kill Command
/stopcasting
/cast Mongoose Bite

It will produce errors if one ability or the other isn't ready, though. If that bothers you, add

/script UIErrorsFrame:Hide()

at the beginning and

/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()

at the end.

One-button aggro dump

Casts Feign Death on the first press, then Disengage on subsequent presses until your FD cooldown is up. (Remember, though: Disengage only works in melee range.)

/castsequence reset=30 Feign Death, Disengage, Disengage, Disengage, Disengage, Disengage, Disengage
Advertisement