Brian left a comment in my Shot Rotation for Dummies post, wondering about shot rotation macros for Marksman Hunters.
The challenge for Marksman Hunters is the varying cooldown duration of the shots you use to weave into your Auto-Shots, as well as your varying attack speed.
One thread I found on the Hunter forums is this one. It was written by Uncas and is a terrific post regarding how to write your own /castsequence macro for your shot rotation. It is incredibly heavy on math and theorycraft, so tread lightly if you are not into that kind of thing.
But we can take some of the meat and potatoes of his post and talk about it here. First thing we need to do after reading the initial post is to jump towards the back of the thread to find some recent posts, as the thread is actually a few months old.
Nightcaller posts a useful macro that he takes advantage of on page 14.
It looks like this:
He states that this is a true mana dump that he uses to really unload damage quickly. This macro is going to try to cycle through that cast sequence as you mash on this macro, as well as attempt to cast Kill Command if available.
But when it comes down to it, I prefer not have a macro or predefined shot rotation when it comes down attempting to unload damage as quickly as possible.
For example, if I was in a Battleground, if I arrive at a battle unnoticed, I might want to start with an Aimed Shot to get the 50% healing debuff on my target and then adjust accordingly.
But it comes to unload burst in those ‘Oh crap’ situations, I usually start with my longest cooldown such as Multi-Shot and unload what is available. Oh hope when the crap hits the fan, we can burst it down. :)
*Updates* Interestingly enough, a new thread was made on the Hunter forums today with someone asking this same question. The response he received was these macros:
Fights with Crowd Control:
/script UIErrorsFrame:Hide()
/castsequence reset=3 steady shot, !auto shot
/cast [exists,target=pettarget] kill command
/cast arcane shot
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()
Fights without Crowd Control:
/script UIErrorsFrame:Hide()
/castsequence reset=3 steady shot, !auto shot
/cast [exists,target=pettarget] kill command
/castrandom Arcane Shot, Multi Shot
/script UIErrorsFrame:Clear(); UIErrorsFrame:Show()
Thanks to Thayer for posting them in that thread, they work great.

I wrote my own macro last night, just playing around, but it clipped like crazy. Clearly I did a poor job. I can’t wait to try these out this weekend!
Great post, and thank you again!
This works to eliminate the sound.
#showtooltip Steady Shot
/castsequence reset=3 steady shot, !auto shot
/cast [exists,target=pettarget] kill command
/console Sound_EnableSFX 0
/castrandom Arcane Shot, Multi Shot
/console Sound_EnableSFX 1
/script UIErrorsFrame:Clear()
I had to add the “-” between Multi and Shot for it to work correctly. Should read Multi-shot.
@Matt
Good call. I forget all about this post and moved everything over to the consolidated Shot Rotation Macros page. :)
I tried all the above posted macros, even with the “-” but im still clipping like CRAZY!
anyone else get this problem?