BM new step function one button Gnomesequencer macro

This includes three modifier buttons to fire off either multi-shot for when you AOE, stampede at opener or when it is off cooldown, and barrage when you are ready to cast it and/or when it is off cooldown (otherwise cast arcane shot).

I use left only button modifiers because my right buttons are used to push to talk and I don’t want them triggering abilities.

The reason stampede is not triggered automatically is that you wouldn’t want it on trash would you?

The step rotation is based on here

If you press the ctrl key it will cast multi-shot and not arcane shot.

Shift casts barrage instead of arcane shot as those two compete for focus so when you want to cast barrage, you don’t want arcane shot eating up your focus.

I have dire beast in there but if you use steady shot this will build the double shots for cobra shot needed to trigger steady shot without having to remove dire beast from this macro (it will just ignore it).

The “Call Pet 4” is because that is the pet I use the most, swap 4 with the pet you use the most.

“/cast [combat,pet:worm,@target,exists] Burrow Attack;[combat,pet:chimaera,@target,exists]Froststorm Breath;[combat,pet:Spirit Beast,@player] Spirit Mend”

That is used to trigger the special abilities of my most used pets but you can just remove that line if you don’t care for it.

I don’t hold on to focus fire until 5 stacks because I don’t feel it benefits and this way it is up all the time.

“/use [combat] 14” is only because I have an on use trinket in the bottom trinket slot, swap to “/use [combat] 13” if you use the top trinket slot or remove if you do not have on use trinkets.

My talents are 3/1/2/2/3/3/3 but I swap between steady focus for large aoe fights and dire beast for single target.

You must use gnomesequencer and not something like superdupermacro for this to work.

Go here to learn how to use gnomesequencer

Here is the macro:

Sequences['BMStep'] = {
StepFunction = [[
	 order = newtable(6, 7, 1, 4, 3, 8, 1, 4, 2, 2, 5, 1, 4) 
	 newstep = (newstep and (newstep % #order + 1)) or 2
	 step = order[newstep]
PreMacro = [[
/targetenemy [noharm][dead]
/console Sound_EnableSFX 0
/cast [mod:lalt,nochanneling] Stampede
/cast [nopet,nodead]Call Pet 4;[@pet,dead]Heart of the Phoenix
/petattack [@target,exists]
PostMacro = [[
/use [combat] 14
/cast [combat,pet:worm,@target,exists] Burrow Attack;[combat,pet:chimaera,@target,exists]Froststorm Breath;[combat,pet:Spirit Beast,@player] Spirit Mend
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
	-- Macro 1
/cast [nochanneling] Kill Command
	-- Macro 2
/cast [nochanneling] Cobra Shot
	-- Macro 3
/cast [nochanneling, mod:lshift] Barrage; [nochanneling, nomod] Arcane Shot
	-- Macro 4
/cast [nochanneling] Kill Shot
	-- Macro 5
/cast [nochanneling] Focus Fire
	-- Macro 6
/cast [nochanneling] Bestial Wrath
	-- Macro 7
/cast [nochanneling] Dire Beast
	-- Macro 8
/cast [nochanneling, mod:lctrl] Multi-Shot