Hunter Macros

I was working on some macros for my hunter this evening, and it seemed like there hasn’t been a lot of sharing lately in that department. So I thought it would be nice to share mine, maybe get some feedback on them, and also see who else has some essential hunter macros. Most of mine are going to be marksmanship specific. Some will be generic. I will throw in a couple BM ones at the end. Sorry survival hunters. :frowning:

A lot of these are going to be basic if you’re already a macro-afficianado, but I get asked how to make stuff like this all the time by guildies so obviously it isn’t something everything is comfortable with. So without further ado, here are the macros I use every day. I’m omitting the #showtooltip in front of each of these for the sake of brevity.

  1. Cast Binding Shot, Freezing Trap, Flare, Tar Trap, High-Explosive Trap, etc. at your cursor location, or cast it directly underneath you if you hold alt. All you have to do is change the name of the ability you’d like to use. I use this for literally every ability that requires you to aim with the green reticle on the ground. It’s much faster. Being able to hold alt to cast it underneath you is especially useful in PvP.

    /cast [@player,mod:alt][@cursor] Binding Shot

  2. Stop casting and both you and your pet feign death together. This is pretty straightforward. Using it again will cast Wake Up and force to stand up.

    /stopcasting
    /cast Play Dead
    /cast Feign Death

  3. Use Camouflage, or use Shadowmeld if you hold alt. This is for my Night Elves out there. Shadowmeld is an extremely useful tool for dropping aggro or hiding in PvP. You definitely want to use it, but you don’t really want it taking up an extra slot on your bars.

    /cast [mod:alt] Shadowmeld; Camouflage

  4. Immediately stop casting and Disengage. This is useful if you’re in the middle of casting something like Aimed Shot and need Disengage in a hurry.

    /stopcasting
    /cast Disengage

  5. Cast Misdirection on your focus target if they’re an ally, pet if it isn’t dead, or target. In that order.

    /cast [@focus,help][@pet,nodead][] Misdirection

  6. Cast Wild Spirits at your cursor location or Hunter’s Mark if you hold alt. This is for Hunters in the Night Fae Covenant.

    /cast [mod:alt] Hunter’s Mark; [@cursor] Wild Spirits

  7. Cast Rapid Fire, or Double Tap if you hold shift. Since I mostly PvP and double tap was nerfed for Aimed Shot damage, I usually use it on Rapid Fire instead. I also have the legendary that makes Rapid Fire do more damage so this really packs a punch. I use this combination for a few other abilities, like Aimed Shot/Steady Shot as well.

    /cast [mod:shift] Double Tap; Rapid Fire

  8. Mount Macro. This one is specific to Night Fae, but it can be easily adapted. For me, my mount button is Z, so that I can use a full range of modifier keys with this macro. If you hold alt, you’ll get a Goblin Glider. If you hold shift, or if you’re indoors, you’ll use Soulshape. If you’re in Soulshape already, you’ll use Flicker. If you’re swimming you’ll use a swimming mount and if you’re in a place you can fly you’ll use a flying mount. Otherwise you’ll use a ground mount. If you hold control while swimming or flying, you’ll use your ground mount instead.

    /cast [mod:alt] Goblin Glider Kit; [mod:shift,noform][indoors] Soulshape; [mod:shift][form:1] Flicker; [swimming,nomod:ctrl] Subdued Seahorse; [flyable,nomod:ctrl] Wildseed Cradle; Dreamlight Runestag
    /dismount [mounted]

I hope those help or inspire those who are newer to macros to experiment. I also hope that others will share their macros too. I’m sure there’s lots of good ones I don’t know about yet.

3 Likes

Thank you. I love number 6 and will be using it!

Dude, I am a returning player from like 2011. I didn’t know that play dead existed for pets xD… Thanks! I went right away to buy it. The macro works great too. Any other spells we can buy like that for the hunter or the pet? I got chameleon, fetch, play dead from that vendor.

Oh boy, I love macro threads. Here is a full dump of my 18 character specific macros, covering (almost) every ability for all 3 specs. I didn’t include PvP talents and a couple of talents that I just drop on the bar and use as is, but everything else is here.

  1. Main Nuke - Aimed Shot in MM, Kill Command in BM, Wildfire Bomb in SV. Built in Misdirect to your pet when solo. Press with CTRL held down for Double Tap if talented.
#showtooltip [spec:1]Kill Command;[spec:3]Wildfire Bomb;[mod,talent:6/3]Double Tap;Aimed Shot
/use [@pet,pet,nogroup]Misdirection
/use [spec:1]Kill Command;[spec:3]Wildfire Bomb;[mod,talent:6/3]Double Tap;[nochanneling]Aimed Shot
  1. Burst CDs. Basic press for Trueshot/Aspect of the Wild/Coordinated Assault. Press with Alt for Primal Rage if you have the appropriate pet, press with Shift as SV for Aspect of the Eagle.
#showtooltip
/use [mod:alt,pet:Wolf/Scalehide/Clefthoof]Command Pet;[mod:shift,spec:3]Aspect of the Eagle;[spec:1]Aspect of the Wild;[spec:2]Trueshot;Coordinated Assault
/use [combat]13
  1. CC, basic Snare and Scare Beast macro
#showtooltip
/use [mod:ctrl,@mouseover,harm][mod:ctrl,@focus,harm][mod:ctrl]Scare Beast;[@mouseover,harm][@focus,harm][]Wing Clip
  1. Camouflage/Feign Death/Play Dead. Talent into Camo and you get Camo out of combat, Feign in combat. Pressing shift also triggers Play Dead (and Wake Up), and forces Feign Death out of combat if Camo is talented.
#showtooltip
/stopattack
/stopcasting
/stopcasting
/use [talent:3/3,nocombat,nomod:shift]Camouflage;Feign Death
/use [pet,mod:shift]Play Dead
  1. Focus dump. Cobra Shot for BM, Arcane Shot for MM, Raptor Strike or Arcane Shot for SV depending on equipped weapon.
#showtooltip [spec:1]Cobra Shot;[spec:3,noequipped:Bows]Raptor Strike;[nochanneling]Arcane Shot
/use [@pet,pet,nogroup]Misdirection
/use [spec:1]Cobra Shot;[spec:3,noequipped:Bows]Raptor Strike;[nochanneling]Arcane Shot
  1. Stealth detection/scouting. Flare normally, Hunter’s Mark (with mouseover targeting) if you press with CTRL, Eagle Eye if you press with SHIFT.
#showtooltip
/use [mod:ctrl,@mouseover,harm][mod:ctrl]Hunter's Mark;[mod:shift]!Eagle Eye;[@player,mod:alt][]Flare
  1. Harpoon with weapon swap. Equips a polearm if you currently have a bow equipped, so press twice in quick succession as Harpoon won’t trigger on the first press unless you already have a 2h equipped.
#showtooltip Harpoon
/equip [equipped:bows]Thornsweeper Scythe
/use [@mouseover,harm,nodead][]Harpoon
  1. Helpful Utility. Press with ALT for Aspect of the Turtle, with CTRL for Exhilaration, with CTRLALT to use a Healthstone, with SHIFT for Survival of the Fittest/Master’s Call if you have the appropriate pet, and with no modifier for Disengage. Will weapon swap to a bow if you Disengage while in Survival spec.
#showtooltip
/cancelaura [mod:alt]Aspect of the Turtle
/use [mod:ctrlalt]Healthstone;[mod:alt]Aspect of the Turtle;[mod:ctrl]Exhilaration;[mod,pet:hyena][mod,nopet][mod,pet:Turtle]Command Pet;Disengage
/equip [spec:3,noequipped:bows]The Philosopher
  1. Interrupt, with Mouseover/Focus targeting, for all specs.
#showtooltip
/use [@mouseover,harm,spec:3][@focus,harm,spec:3][spec:3]Muzzle;[@mouseover,harm][@focus,harm][]Counter Shot
  1. Kill Shot with baked in Misdirection and /stopcasting. I want to be able to immediately cancel a filler Steady Shot to fire it. This version of Misdirection will also auto-Misdirect to the tank in a group if you have them set as focus.
#showtooltip Kill Shot
/use [@pet,pet,nogroup][@focus,help,nodead]Misdirection
/stopcasting
/stopcasting
/equip [spec:3,equipped:bows]Thornsweeper Scythe
/use [@mouseover,harm,nodead][@focus,harm,nodead][]Kill Shot
  1. Standalone Misdirection. Targets your friendly target first, then focus, then pet. If none of those are true, will bring up the selection cursor for you to click a target, but only in combat. Out of combat uses the bottom trinket, which in my case is the Mistcaller’s Ocarina.
#showtooltip
/use [nocombat,noexists]14
/stopmacro [nocombat,noexists]
/use [help][@focus,help,nodead][@pet,pet,nodead][]Misdirection
  1. Mount macro. Includes Hearthstone, repair mount, and various speed boosts. the /click TF bit runs some custom code that puts me in Human form the first time I mount up after combat, the /click SF bit runs custom code that fires a Goblin Glider Kit, Updraft, or zone-appropriate Slow Fall toy. The /click RW bit runs custom code that uses Running Wild but only while in the Maw, so I can use my normal mounts the rest of the time with the same keybind.
#showtooltip
/click TF
/use [mod:shift]Tome of Town Portal;[mod:alt,outdoors]Traveler's Tundra Mammoth;[mod:ctrl]Darkflight;[mod:alt][combat]Aspect of the Cheetah;[indoors]Soulshape;[flyable]Huntmaster's Dire Wolfhawk;Garn Nighthowl
/click RW
/click SF
  • SF Code
--SF
local SF = CreateFrame("Button","SF",nil,"SecureActionButtonTemplate")
local SF_macro_text =[[
/console Sound_EnableErrorSpeech 0
/run UIErrorsFrame:Hide()
/cancelaura [nomod:ctrl]Goblin Glider
/cancelaura [nomod:ctrl]Aviana's Feather
/cancelaura [nomod:ctrl]Rocfeather Skyhorn Kite
/use 15
/use Goblin Glider Kit
/use Aviana's Feather
/use Rocfeather Skyhorn Kite
/use [pet:Rylak][pet:Pterrordax][pet:Feathermane]Updraft
/run UIErrorsFrame:Clear()
/run UIErrorsFrame:Show()
/console Sound_EnableErrorSpeech 1
]]
SF:SetAttribute("type","macro")
SF:SetAttribute("macrotext",SF_macro_text)
  • TF Code (Only useful for Worgen players)
--TF
local TF =CreateFrame("Button","TF",nil,"SecureActionButtonTemplate")
local TF_macro_text =[[
/castsequence reset=combat Two Forms,.
]]
TF:SetAttribute("type","macro")
TF:SetAttribute("macrotext",TF_macro_text)
  • RW Code (Only useful for Worgen players)
--RW
local function RWUpdate(self,event)
	local RW_macro_text
	if C_Map.GetBestMapForUnit("player") == 1543 then
		RW_macro_text = [[
/use [nomounted]Running Wild]]
	else
		RW_macro_text = [[
]]
	end
	self:SetAttribute("type","macro")
	self:SetAttribute("macrotext",RW_macro_text)
end
local RW = CreateFrame("Button","RW",nil,"SecureActionButtonTemplate")
RW:RegisterEvent("PLAYER_ENTERING_WORLD")
RW:RegisterEvent("ZONE_CHANGED_NEW_AREA")
RW:SetScript("OnEvent",RWUpdate)
  • Paste these snippets into https://addon.bool.no and it can generate an addon for you, allowing you to use these /click commands in macros.
  1. AoE. Includes both Multi-Shot and Carve, as well as Barrage and Stampede on modifiers.
#showtooltip [spec:3]Carve;[mod,spec:2,talent:2/2][mod,talent:6/2]Barrage;[mod,talent:6/3]Stampede;Multi-Shot
/use [@pet,pet,nogroup]Misdirection
/use [spec:3]Carve;[nomod,nochanneling]Multi-Shot;[spec:2,talent:2/2][talent:6/2]Barrage;[talent:6/3]Stampede
  1. Pets. Call/Revive/Dismiss baked into one button, with conditionals to call specific pets without having to use the flyout pet picker. /click PetControl uses the custom code in my addon here (https://www.curseforge.com/wow/addons/PetControl/), which is a one button attack/follow command. Combined, pressing the button while my pet is attacking will Mend Pet and call it to me, pressing while my pet is at my side will Mend Pet and send it to attack, pressing with SHIFT will Mend Pet and keep the pet where it is.
#showtooltip
/use [mod:ctrlalt,pet]Dismiss Pet;[mod:ctrlshift]Call Pet 4;[mod:altshift]Call Pet 5;[mod:ctrlalt]Call Pet 2;[@pet,dead][nopet,mod:alt]Revive Pet;[nopet,spec:1]Call Pet 3;[nopet]Call Pet 1;Revive Pet
/tar Mouseover
/click PetControl
  1. Basic Tranq Shot dispel macro.
#showtooltip
/use [@mouseover,harm,nodead][@focus,harm,nodead][]Tranquilizing Shot
  1. Traps and Binding Shot. Works well on it’s own, but I’ve recently switched to on-release trapping so I can see the reticle before I drop it for more precise placement without any additional keypresses. See here: (Trap On Release Macro/Addon - #7 by Adreaver-undermine)
#showtooltip
/use [spec:2mod:shiftalt,@player][spec:2mod:shift,@cursor][mod:shiftalt,talent:5/3,@player][mod:shift,talent:5/3,@cursor]Binding Shot;[mod:ctrlalt,@player][mod:ctrl,@cursor]Tar Trap;[mod:alt,@player][@cursor]Freezing Trap
  1. Mouseover/focus Intimidation and Volley with [@cursor]. I would have preferred to keep these two abilities completely separate, but I didn’t have enough macro slots.
#showtooltip
/use [spec:1/3,@mouseover,harm,nodead][spec:1/3,@focus,harm,nodead][spec:1/3]Intimidation;[mod:alt,talent:7/3,@player][talent:7/3,@cursor]Volley
  1. Basic Wild Spirits [@curcor] more.
#showtooltip
/use [mod:alt,@player][@cursor]Wild Spirits
1 Like

@ Ravenbella You’re welcome! I’m so glad it helped.

@ Azric Fetch and Play Dead are the only real must haves. You can get the ability to shoot fireworks too from the engineering supplies vendors in Dalaran. https://www.wowhead.com/item=136782/fireworks-instruction-manual

@Adreaver Thanks you really went all out. I’m definitely going to be incorporating some of these into my macros.

1 Like

You got me to thinking…

Is there syntax that would allow a macro to cast Aimed Shot if you have the focus, or Steady if you’re below a threshold? I guess the question is: Is there a condition for resources?

Ideally, it would be cool if you could do this:

IF LnL, cast AiS;
IF Focus >30, cast AiS;
IF no AiS charges, cast SS
IF moving (no LnL), cast SS

Is that possible?

No.

Macros: Essential Information

Read this sticky, it explains the ins and outs of what macros can and can’t do, and is a great resource for writing your own.

I wrote and maintain this guide, so feel free to ask me any questions.

1 Like

I actually ended up doing some googling after posting that and came across your write-up. I find it weird that a condition like “am I moving” is considered automated. It’s a check the game already performs.

The game performs many checks that they don’t want available to macros, because they don’t want macros to be able to play the game for you. You can take advantage of those checks sometimes - by using an off-GCD instant in the macro after Aimed Shot for example - but the rule is that YOU need to decide what to cast, based on a relatively short list of whitelisted conditions, rather than the macro deciding for you.

Couldn’t you, at one time (not sure if this has changed) abuse cast sequence to skirt that rule? Or was it cast random… I don’t remember.

Both, at varying times. Both have been fixed now.

In Vanilla, before the macro API was changed, macros failed through, rather than failed and stopped, and CastSpellByName() was unprotected (read: usable by players in macros and addons, even in combat), and you could literally do this:

/run if not HasAura(target,"Hunter's Mark") then CastSpellByName("Hunter's Mark") end
/use Aimed Shot
/use Steady Shot

And it would work properly - it would use Hunter’s Mark only if it wasn’t applied, it would use Aimed Shot if it was possible to do so, and if not, it would fail through to the next line and use Steady Shot. (This is a hypothetical to illustrate what was possible, I’m aware Steady Shot didn’t exist in Vanilla).

In TBC they changed the fail-through behavior to fail-stop, as well as protecting CastSpellByName(), so people making one button macros largely switched to /castrandom. The macro was basically this:

/castrandom Aimed Shot, Steady Shot, Kill Shot

At the time, castrandom rolled a new random ability everytime regardless of whether or not the previous cast succeeded, so you could put something like that on a mousewheel (ideally one of the Logitech ones with infinite scroll) and it would fire dozens of times per second. Not perfect because you have a chance to get Steady Shot when you should be using Aimed Shot, but it was doable. After TBC, this was changed as well, and /castrandom now fail-stops in the same way that /castsequence iterates. If you land on a random ability you can’t cast, /castrandom won’t roll for a new ability until you can cast that one successfully.

Later, in Cataclysm when the ammo slot was removed, people discovered macros like this:

/castsequence Aimed Shot,0,0,0,0
/castsequence Kill Shot,0,0,0
/castsequence Serpent Sting,0,0
/castsequence Arcane Shot,0
/cast Steady Shot

The ammo slot (0) didn’t exist anymore (but still existed in the macro API), so attempting to use it did nothing. Since it wasn’t trying to cast a spell, it wouldn’t trigger the GCD or prevent the macro from parsing subsequent lines. Since it still existed in the macro API, it was parsed as a legitimate (and successful, since the game didn’t throw any errors like “Out of Range” or “Not Enough Resources”) command, allowing the castsequence to iterate through the steps. This was patched in WoD with the removal of the ammo slot from the macro API, and requiring castsequences to actually use an ability/item/etc in order to progress, so something like /castsequence Aimed Shot,null will stick on null forever, as null isn’t a valid spell. This can be worked around with a reset= condition on the sequence, but those are not practical for “one-button macros”, as reset=10 means 10 seconds from when you last pressed the key, not when you first pressed it. Other reset conditions (target, combat, mod) can work in isolated circumstances (e.g. applying 2 dots to a bunch of enemies, or swapping from Worgen Form to Human Form after combat without swapping back).

It is noteworthy that aside from the Vanilla implementation (which allowed for actual scripting with proper buff/resource checks), any attempt to make a “one-button macro” has resulted in a massive dps loss over a skilled player just doing the rotation normally in 99% of cases.

Those are the situations I was thinking of, thank you for refreshing my memory.

1 Like

What about a macro that will not interrupt Rapidfire with Aimed shot UNLESS a LNL proc has happened?

No.

You can’t cast a spell based on the presence or absence of a buff or debuff.

#showtooltip Aimed Shot
/use [nochanneling]Aimed Shot

You don’t want to interrupt Rapid Fire anyway, just fire AiS after RF is finished.

For the big bad boss pull…

/use 14
/cast Blood Fury
/cast Aspect of the Wild
/cast Primal Rage
/cast Beastial Wrath

I do have all of these separate as well, but this is a good 1 button starter, especially in Torghast… Once the fight is going, use the individual binds.

You do if you have double tap up and lock and load.

How would you ever have Double Tap active, Rapid Fire channeling, and want to cast Aimed Shot? Double Tap would be consumed by Rapid Fire, and then you really wouldn’t want to interrupt it.

If you mean Double Tap is off cooldown, then that is a very different story, because you can just omit the [nochanneling] portion from Double Tap while keeping it on Aimed Shot (which I did in my macro), let Double Tap interrupt the channel, then fire Aimed Shot.

#showtooltip [mod,talent:6/3]Double Tap;Aimed Shot
/use [@pet,pet,nogroup]Misdirection
/use [mod,talent:6/3]Double Tap;[nochanneling]Aimed Shot