We have moved to Warcraft Wiki. Click here for information and the new URL.


General guides

Macros Beginners Guide
Making a macro
Macro conditionals
Macro commands

Useful macros by class

Useful macros for death knights Useful macros for demon hunters 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


Uber Pet Macro[]

This macro got its name because it gives almost complete control over your pet in a single button while also taking advantage of the focus targeting system. In order to use it you must have the spells Ability hunter beastcall [Call Pet] & Ability hunter beastsoothe [Revive Pet], or simply, a Hunter's Pet. You will need to edit the macro to specify which Call Pet to use. By default it uses Call Pet 1

How the Macro works... If you are mounted: You will dismount. If your pet is dead: You will cast Ability hunter beastsoothe [Revive Pet]. If your pet is not summoned: You will cast Call Pet 1. If your pet is not summoned but is dead you can hold shift to cast Ability hunter beastsoothe [Revive Pet]. If you do not have a focus: You will focus on your target and your pet will be sent to attack it. If you have a focus: You will clear focus and your pet will be recalled to follow you.

In less technical terms... If your pet is missing, dead, or you are holding down shift: Your pet will be summoned or revived. 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. Hunter's Mark will be cast on the target

/cast [@pet,dead][mod:shift] Revive Pet
/cast [nopet,nomod] Call Pet 1
/clearfocus [@focus,dead]
/focus [@focus,exists]player;target
/clearfocus [@focus,noharm]
/petattack [@focus,exists]
/petfollow [@focus,noexists]
/cast Hunter's Mark

One Button Call Pet[]

  • If you right click with no modifier, call pet in stable slot 2.
  • If you hold shift, call pet in stable slot 3.
  • If you hold ctrl, call pet in stable slot 4.
  • If you hold alt, call pet in stable slot 5.
  • Otherwise, call pet in stable slot 1.

The tooltip will show the icon of the pet (and the name of the pet on mouseover)

/cast [button:2]Call Pet 2; [mod:shift]Call Pet 3; [mod:ctrl]Call Pet 4; [mod:alt]Call Pet 5; Call Pet 1

Ability hunter beastsoothe [Revive Pet] -> Ability hunter beastcall [Call Pet] (-> Ability hunter mendpet [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 [mod]Revive Pet; [@pet,dead]Revive Pet; [nopet]Call Pet 1; 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.

Alternatively, the following macro does the same as above but without Mend Pet.

/cast [nopet]Call Pet 1; [mod][]Revive Pet

Full One button Pet Treatment[]

This macro will revive your pet if it's dead or you hold down shift, call it if it's dismissed, mend it if it's alive, 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 1
/cast [@pet,dead][mod:shift] Revive Pet
/cast [pet,nomod,button:1] Mend Pet
/cast [pet,nomod,button:2] Dismiss Pet
/cast [pet,mod:alt] Feed Pet
/use [pet,mod:alt] <food item>

An alternative to this is below. Left clicking while holding SHIFT or ALT will cast Revive Pet, or left clicking without holding anything will cast Mend Pet if the pet is out and at your side. If you right click, you will cast Call Pet if he's alive but not out, Feed Pet if he's by your side, and if you hold SHIFT or ALT, it will cast Dismiss Pet. Be sure to change the type of food at the bottom of the macro to the name of the food you feed your pet.

/cast [button:1,modifier] Revive Pet
/cast [button:1,@pet,exists] Mend Pet
/cast [button:2,@pet,noexists] Call Pet 1
/cast [button:2,pet,nocombat] Feed Pet
/cast [button:2,modifier] Dismiss Pet
/use [button:2,pet,nocombat] <food item>

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>


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

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


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>


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 / 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 [@pettarget,exists]
/petattack [@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.

Quick Mark & Pull[]

This macro will mark your target, start Auto Shot and send in your pet, all at once.

/cast Hunter's Mark
/cast Auto Shot

This is the one that I use to open with. If you are in a group, it turns off Growl, and turns on Cower; If you are solo, turns on Growl, and turns off Cower. Somhlth (talk)

/stopmacro [noexists]
/cast Hunter's Mark
/petautocaston [group] Cower; [nogroup] Growl
/petautocastoff [nogroup] Cower; [group] Growl
/cast Auto Shot


Ability hunter misdirection [Misdirection][]

At the start of an instance or raid, set your focus target to the Main Tank, then use this macro just before pulling to cast Ability hunter misdirection [Misdirection] on him/her without losing your target.

/cast [@focus,help][help][@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.

Alternatively, you can create a macro designed to cast Misdirection on a friendly player by name. Simply replace "Tank" with the name of the player you'd like to misdirect.

/cast [@"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!
/focus [help]
/stopmacro [help]
/cast [@focus,exists] Misdirection;[@pet,exists] Misdirection

A variation on this wonderful macro is

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

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

Here is a version that can be set to an arbitrary target with a click, yet does not use up your focus to maintain the misdirection target. There are some limitations: You need to name this macro "misd" for it to work. Casting it on people with certain names (such as "Macro" or "Body") could break the macro, but those names should be pretty rare. You can only memorize a new target while not in combat. And there is a limit to the length of the name that fits in the macro. Usage:

  • Click the macro with no modifiers to cast misdirection on your target.
  • Hold alt and click the macro to cast misdirection on your pet.
  • Hold shift and click the macro to make the macro memorize your current target.
  • Hold ctrl and click the macro to cast misdirection on the memorized target.
/cast [mod:ctrl,@Replace][mod:alt,@pet][nomod:shift]Misdirection
/stopmacro [nomod:shift]
/run local t=UnitName("target");if t:len()<18 then EditMacro("misd",nil,nil,GetMacroBody("misd"):gsub("Replace",t)..string.rep(" ",40),1,nil);end

Yet another useful Misdirection macro application geared towards raiders.

If you have a focus target and your focus target is friendly, cast Misdirection on your focus target. If you have a focus target that is not friendly and your focus has a target and that target is friendly, cast Misdirection on your focus' target. (It will fail here if the focus' target is you.) If you have a target and your target is friendly, cast Misdirection on your target. If you have a target that is not friendly and your target has a target, cast Misdirection on your target's target. Else, if your pet is alive and exists, cast Misdirection on your pet.

#showtooltip Misdirection
/cast [@focus,help][@focustarget,help][@target,help][@targettarget,help][@pet,nodead,exists] Misdirection

A script based Misdirection where the tank (assigned by role) will always be the one getting the Misdirection. The macro auto-updates itself as you use it. There are two versions, one for raid and one for groups (as the 255 chars are not enough for a hybrid party/raid version). Note that it only updates when you use it out of combat, as in-combat EditMacro can't be executed. Also the macro works with any language as Misdirection is referred by spell id rather than a name.

/run local g="party"for i=1,GetNumPartyMembers()do if UnitGroupRolesAssigned(g..i)=="TANK"and not InCombatLockdown()then EditMacro("MISD",nil,nil,strsub(GetMacroBody("MISDP"),0,224).."\n/use [@"..g..i.."]spell:34477")end end


/run local g="raid"for i=1,GetNumRaidMembers()do if UnitGroupRolesAssigned(g..i)=="TANK"and not InCombatLockdown()then EditMacro("MISD",nil,nil,strsub(GetMacroBody("MISDR"),0,222).."\n/use [@"..g..i.."]spell:34477")end end

Ability hunter markedfordeath [Hunter's Mark][]

This macro will set a friendly target as your focus, assist your focus if you have one, and cast hunter's mark on an enemy target.

#showtooltip Hunter's Mark
/assist [@focus, exists]
/cast [harm] Hunter's Mark;
/focus [help]

Aspect of the Cheetah / Pack by mouse click[]

Left-click to cast Ability mount jungletiger [Aspect of the Cheetah]; right-click to cast Ability mount whitetiger [Aspect of the Pack]

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

Clever Trapping[]

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
/cast [modifier:alt] Frost Trap; Freezing Trap

Trap Launcher[]

A macro for cutting down the number of buttons for traps AND adding trap launcher. You can change the mod keys to fit your preferences, along with the traps. I suggest just leaving the icons as they are so that the correct trap icon will show with each mod key.

/cast [nomod] Trap Launcher; [mod:ctrl]Freezing Trap(Frost); [mod:alt] Explosive Trap(Fire); [mod:shift] Snake Trap(Nature)

Beast Mastery[]

Beast Mastery "I-Win button"[]

This macro requires a Ability hunter beastmastery [Exotic Beasts] specialization with the Ability druid ferociousbite [Bestial Wrath] talent learned. It can also use any items with On-Use effects, such as potions, trinkets, and items with specific enchants, such as Hand-Mounted Pyro Rockets.

#showtooltip Bestial Wrath
/use Potion of Speed
/cast Bestial Wrath
/cast Intimidation

A version for beastmasters with Ability hunter focusfire [Focus Fire], Ability druid ferociousbite [Bestial Wrath], Ability devour [Intimidation] and a core hound. It also uses both trinkets.

#showtooltip Rapid Fire
/cast Rapid Fire
/cast Bestial Wrath
/cast Focus Fire
/cast Intimidation
/cast 13
/cast 14
/cast Ancient Hysteria

BM DPS Rotation Macro for Patch 4.0.1[]

I made this using an older Hunter macro while in IF testing out rotations to find a steady shot rotation that wouldn't starve for focus while maintaining a solid DPS. I decided not to include Beastial Wrath as it can be activated on demand and may not always be needed depending on the situation. Also, note Multi-Shot is optional depending on the type of fight your in so don't let this macro get you in trouble by leaving Multi Shot in if threat will be a problem. -=DragonBeard=-

/castsequence reset=10  Serpent Sting, Steady Shot, Steady Shot, Arcane Shot, Steady Shot, Steady Shot, Steady Shot, Multi-Shot, Steady Shot, Focus Fire
/cast [target=pettarget] Kill Command
/script UIErrorsFrame:Clear

Spirit Beast Super Heal Macro[]

I developed this specifically for my spirit beast's Spell shaman spiritlink [Spirit Mend] ability, although feel free to change the spell to whatever pet skill you'd like. Basically, this gives you more control over the spell. Holding shift will heal your focus, alt heals your pet, ctrl heals your current target's target (NOT your pet's target's target), and using no modifier will heal you.

#showtooltip Spirit Mend
/cast [mod:shift, @focus] Spirit Mend; [mod:alt, @pet] Spirit Mend; [mod:ctrl, @targettarget] Spirit Mend; [@player] Spirit Mend