Efficient BeastMaster Macro for single and multi-target

A few notes:

1 - Arcane Shot is not in this macro. I prefer not to have a focus dump in the macro so I can use it manually, or simply not use it at all. I also find the DPS is simply better overall without Arcane Shot due to more frequent casts of Barrage and Kill Command. If I get Focus-capped (happens occasionally) I simply manually toss in a couple of Arcane Shots or not depending. Either way, I find I have better DPS without it.

2 - I have Focus Fire chained off of Dire Beast. I originally tried chaining it off Barrage as it is a 20-second cooldown so it would basically always be up, but I found I had many more 2 and 3 stacks casts, and with Dire Beast, I had mostly 4-5 stack casts. If you get to a 5 stack quickly, you can manually cast FF and it won’t hurt the macro.

3 - I weave Multi-Shot in with the CTRL or ALT key for AOE. This is ‘slightly’ less DPS than a pure AOE macro, but I find this a much better option as most fights are a combination of single target and AOE. Also, the lack of Arcane Shot offers much more Focus for weaving in Multi-Shot on demand.

Updated macro 5/15/2015:

Sequences['BMST'] = {
StepFunction = [[
limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
]],
PreMacro = [[
/targetenemy [noharm][dead]
/cast [mod,nochanneling]Multi-Shot
/cast [nopet,nodead]Call Pet 5;[@pet,dead]Heart of the Phoenix
/console Sound_EnableSFX 0
]],
[[/castsequence [nochanneling]Kill Shot]],
[[/castsequence [nochanneling]Kill Command]],
[[/castsequence [nochanneling,talent:5/1]A Murder of Crows;[nochanneling,talent:5/2]Kill Command;[nochanneling,talent:5/3]Kill Command]],
[[/castsequence [talent:6/1] Glaive Toss;[talent:6/3]Barrage]],
[[/castsequence [nochanneling]Dire Beast,Focus Fire]],
[[/castsequence [nochanneling]Cobra Shot]],
PostMacro = [[
/startattack
/cast [nochanneling][combat]Blood Fury
/cast [nochanneling][combat]Bestial Wrath
/cast [combat,pet:Spirit Beast,@player]Spirit Mend
/cast [combat,pet,@player]Roar of Sacrifice
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
]],
}

You need arcane shot to trigger cobra strikes. So don’t exclude it from your rotation even if it is not on a one button macro.

Also the exclamation mark is useless for anything that is not a toggle. So unless you are using it for n ability like trap launcher, it does nothing before something like cobra shot.

Startattack is not needed on hunters as auto attack is now backed into all our combat attacks like arcane shot, barrage, etc

You shouldn’t put a insta cast shot on the GCD in a pre macro as it will just degrade the main rotation. Put it in the sequence and let it fire in sequence instead of before every click which is a HUGE focus dump that you say you want to avoid.

You do not need [nochanneling] with barrage as the whole point of that is to have other spells not cancel the channel.

Also castsequence with one ability/shot is not beneficial, change those to just /cast

Kill command should go on the top of your sequence as it needs to be fired off every time and you don’t want to blow a gcd by having it not fire.

Here are some tweaks that might work better. I also added in the ability to swap out the talent for glaive toss and barrage without having to change the macro.

Sequences['BMST'] = {
StepFunction = [[
limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
]],
PreMacro = [[
/targetenemy [noharm][dead]
/console Sound_EnableSFX 0
/cast [nopet,nodead]Call Pet 4;[@pet,dead]Heart of the Phoenix
/petattack [@target,exists]
]],
	'/cast [nochanneling] Kill Command',
	'/cast [talent:6/1] Glaive Toss;[talent:6/3] Barrage',
	'/cast [nochanneling] Kill Shot',
	'/castsequence [nochanneling] Dire Beast, Focus Fire',
	'/cast [nochanneling] Cobra Shot',
	'/cast [mod,nochanneling] Multi-Shot',
PostMacro = [[
/cast [combat,nochanneling] Bestial Wrath
/cast [combat,nochanneling] Blood Fury
/cast [combat,pet:Spirit Beast,@player] Spirit Mend
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
]],
}

After extensive testing, my DPS is better without Arcane Shot. If that means I forgo Cobra Strikes, so be it. The exclamation points are not needed, but I keep them as a placeholder since there is no ill effect.

Startattack is used primarily as an additional targeting line. Again, not needed, but doesn’t have any negative impact.

Placing Blood Fury and Bestial Wrath in the PreMacro has the benefit of shortening the StepFunction sequence. I see no degradation of the rotation as you allege. I honestly have no idea what you mean when you say this is a huge focus dump since these abilities require no focus.

Placing [nochanneling] on each line is a convenience. I edit the macro a lot trying various things, and this allows me to not have to remove/add every time. Again, there is no ill effect from having it here.

Using a castsequence with a single ability may not have a benefit, but it also doesn’t hurt in any way. ALso, it allows me to easily add, change chaining of spells.

Kill Command works extremely efficiently with this macro. Also I think Kill Shot is a higher priority.

The change to Multi-Shot doesn’t work well, since when I want to use that ability, I want to use it EXCLUSIVELY. So I prefer having it in the PreMacro.

Thanks for the tip about using the talent selection more efficiently, I think that will be useful. I will also try out the Spirit Mend and Call Pet additions, they look to be useful. I appreciate your feedback and will be trying some of what you suggested.

After re-reading your post, it occurs to me that you might be under the impression that Multi-Shot fires every time the macro cycles. It does not. It only fires when I hold down CTRL or ALT, and then ONLY Multi-Shot goes off. This is precisely what I wanted.

I also don’t get the point of moving Blood Fury and Bestial Wrath to the PostMacro section instead of being in the PreMacro.

Updated macro based on feedback and adding additional functionality.

Incorporated a line for A Murder of Crows for people using that talent.

I also added Roar of Sacrifice @player. Probably might make this optional to cast on focus (tank) along with Spirit Mend.


Sequences['BMST'] = {
StepFunction = [[
limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
]],
PreMacro = [[
/targetenemy [noharm][dead]
/cast [mod,nochanneling]Multi-Shot
/cast [nopet,nodead]Call Pet 5;[@pet,dead]Heart of the Phoenix
/console Sound_EnableSFX 0
]],
[[/castsequence [nochanneling]Kill Shot]],
[[/castsequence [nochanneling]Kill Command]],
[[/castsequence [nochanneling,talent:5/1]A Murder of Crows;[nochanneling,talent:5/2]Kill Command;[nochanneling,talent:5/3]Kill Command]],
[[/castsequence [talent:6/1] Glaive Toss;[talent:6/3]Barrage]],
[[/castsequence [nochanneling]Dire Beast,Focus Fire]],
[[/castsequence [nochanneling]Cobra Shot]],
PostMacro = [[
/startattack
/cast [nochanneling][combat]Blood Fury
/cast [nochanneling][combat]Bestial Wrath
/cast [combat,pet:Spirit Beast,@player]Spirit Mend
/cast [combat,pet,@player]Roar of Sacrifice
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
]],
}

In case you have the 2 parts T17, you need to delay your Bestial Wrath so it doesn’t overwrite itself.