I’m lazy, and I know it, and I’m okay with it. There are some abilities that I’ll always want to hit when I hit a different ability, and blowing cooldowns be damned.
Inner Rage is one of those cooldowns where you pretty much want it to always be off CD when you’re using Heroic Strike or Cleave. So, macro it.
I use Cleave more often than Heroic Strike, so here’s its macro:
#showtooltip Cleave /startattack /console Sound_EnableSFX 0 /cast Inner Rage /console Sound_EnableSFX 1 /run UIErrorsFrame:Clear() /cast Cleave
Heroic Strike is bound to the shift modifier of Cleave in Bartender.
#showtooltip Heroic Strike /startattack /console Sound_EnableSFX 0 /cast Inner Rage /console Sound_EnableSFX 1 /run UIErrorsFrame:Clear() /cast Heroic Strike
CONTEXT IS EVERYTHING
One of the most important lessons I learned when first writing macros for my warrior(s) was the importance of conditionals. There are a lot of times when the stance you’re in, or the weapons you have equipped, will determine your available actions.
First, an easy one. Devastate requires you to have shields equipped. If for some reason you don’t, it won’t work. So I macroed in Slam for those times I switched weapons (to a 2H, usually.)
#showtooltip /use [equipped:shields] Devastate; Slam
I struggled with Hamstring’s modifications in Cataclysm until I realized I was thinking about it and Disarm totally wrong. They’re mutually exclusive in terms of stances, and they perform somewhat similar functions (disable the opponent somehow.)
So, this button will change according to what stance you’re in. Stance 1 is Battle, 2 Defensive, 3 Berserker.
#showtooltip /startattack /use [stance:1/3]Hamstring;[stance:2]Disarm;
Hit Like A Truck (Revenge/Execute)
I like Revenge, it hits like a truck. I also like Execute, it hits like a truck. But they’re stance-exclusive. Oh look! That means another spot saved on my action bars!
#showtooltip /startattack /use [stance:1] Execute; [stance:2] Revenge; [stance:3] Execute
I confess, I considered putting Overpower in here for the proc aspect of it, but decided to keep that one separate because Execute is SO GOOD.
Thunderwind (Thunder Clap/Whirlwind)
I find it odd that the two AoE abilities I have at level 70 are another set of stance-exclusive abilities – it was another eureka moment when I saw that they had a similar theme, but one was Berserker-only and TC was not.
#showtooltip /startattack /use [stance:1] Thunder Clap; [stance:2] Thunder Clap; [Stance:3] Whirlwind
Blockery (Overpower/Shield Block/Recklessness)
Kind of an odd one, this macro. Usually I’m hitting it in my row of defensive CDs (Shield Block being one of my favorite abilities), but that’s only available in Defensive Stance. So I picked two other abilities with stance restrictions – or, in Recklessness’s case, just having it be a better idea to hit it in Berserker.
#showtooltip /use [stance:1] Overpower; [stance:2] Shield Block; [stance:3] Recklessness
Rend is another one with somewhat strange stance requirements. As such, I blended it in with Intercept, which is available in all three stances. I should probably find another Berserker-only ability, but … well, I play Prot, and almost never in zerker.
So I put Intercept in there.
#showtooltip /startattack /use [stance:1]Rend; [stance:2] Rend; [stance:3]Intercept
I kept forgetting to hit Berserker Rage. So I macroed it in to my main attack. To keep the number of macros down, I used [spec] to distinguish between Prot (Shield Slam) and Arms (Mortal Strike).
And then I dual-specced Prot, so the macro looks a little silly.
#showtooltip /startattack /cast [spec:1] Shield Slam; [spec:2] Shield Slam /use Berserker Rage /run UIErrorsFrame:Clear()
I have a mouseover taunt, though I’m not very good about using it. I prefer to Charge over to the mob and wail on it, maybe hit it with a Heroic Throw if Charge is on CD.
But I have it. I try to use it!
#showtooltip Taunt /cast [nostance:2] Defensive Stance; [stance:2, target=mouseover, exists, harm][stance:2, nodead, harm][stance:2, target=targettarget, nodead, harm][stance:2] Taunt
So… I don’t have Intervene yet, but when I do I’m pretty sure I’m going to want to combine it with Intervene. That way if I mouse over the mob attacking the healer instead of the healer, I still get over there and save the day.
#showtooltip /cast [@mouseover,harm][harm] Intercept; [@mouseover,help][help] Intervene;
Same idea, only with Charge.
#showtooltip Charge /cast [@mouseover,harm][harm] Charge; [@mouseover,help][help] Intervene;
LEVEL 19 MACROS
Some of the above macros assume you have cool Warrior abilities like Warbringer or, you know, shouts. Things are a lot more limited at level 19.
Sometimes, it’s simple things, like binding /startattack into most abilities, like Rend:
#showtooltip /startattack /cast Rend
Or realizing that you only have two stances, so realizing that if you’re in Battle you’re probably not going to need Sunder Armor:
#showtooltip /startattack /use [stance:1]Execute; [stance:2]Sunder Armor
Since I don’t have Warbringer at level 19, I’ve had to make a few macros to work around it. This one Charges if you’re in Battle Stance, flips you to Battle Stance if you’re in Defensive stance.
#showtooltip Charge /startattack /use [stance:1] Charge; [stance:2] Battle Stance; /run UIErrorsFrame:Clear()
I used to use this one to make my stance dancing seamless. I do it manually now, but still… this macro makes for very easy pulls at low levels.
#showtooltip /startattack /castsequence reset=2 Battle Stance, Charge, Defensive Stance, Rend, Thunder Clap, Shield Slam, Sunder Armor, Sunder Armor, Sunder Armor