Back before 2.0 I had a mod that essentially let you write code that would dictate the action your character would do when you hit the key bound to it. I can't quite recall the name.
But I pretty much had every major skill to the point where it was completely automated.
Since the new macro system came out I've been working on and improving a one button tanking macro. I know there are various third party programs and even a few add ons that make the macro system a little more robust and while a lot of that information isn't entirely mainstream I felt that if anywhere had some information on the subject, it would be these forums.
Now obviously changes can be made to this macro depending on the situation. Like for example if you have devastate and are about to fight a hard hitting boss... assuming you want to use the one button macro for the boss, you could modify it like this:
I know blizzard has done their best to limit the functionality of this and I know alot of people consider automating the game to remove the fun of it. But the job where I work is to essentially find ways to automate things so I think that is just carrying over here. The funny thing is.. coming up with clever ways to automate tanking makes tanking MORE fun for me. Go figure.
Note: I know the macro isn't the most efficient threat cycle but for all intents and purposes it does its job very well. The only time the logic is wrong is when Shield Slam/Revenge are available and it randomly chooses to Sunder. From my experience this macro tends to keep Shield Slam and Revenge on cooldown pretty nicely. So I'm not losing much TPS.
As you yourself say its clearly inferior for threat generation and you only end up lowering your bar by using a macro like this instead of raising the bar.
If you want to minimize the ammounts of buttons you have to press I would instead merge revenge with shield block (since pretty much most of the time you want to use both whenever they are up).
/cast [equipped:shields] Shield Block
if the call to do shield block in your macro is in a /castrandom statement with a few other abilities, then the chance of the macro to perform shield block when you want it to goes down exponentially. It's the nature of the castrandom function.
You give it a list of commands that you would like to call randomly. The bigger the list, the less chance you'll have of actually getting the ability you want to activate on time heh.
CastRandom is basically good for randomizing which Netherdrake you want to fly on or if you limit it to 2 or 3 abilities. I used to have one for activating on-click trinkets and for backstab. But I'm such a spaz that I'd be spamming the macro while the mob was dying and waste a trinket at the very end of a fight.
If you look closely at the macro's I posted Shield Block would never be included in a cast random function as it does not operate on or trigger the GCD.
Shield Block and Heroic Strike can be added to any macro and should always be active. The problem is I am noticing that even if I spam the button as fast as possible I notice I can get a few ms faster by spam clicking the icon.
It's almost as if there is a bit of interface lag between Shield Blocks cooldown expiring and the macro allowing itself to use the skill.
Just the idea of this shames any half decent warrior. If you want a class that can be automated with a silly macro, my best suggestion is that tanking is probably not for you.
Anything you can even approach a half-assed tanking job on with a macro is pretty damn boring to tank in the first place... its just the nature of the beast. Anything that isnt supremely boring to tank is going to be eating your friends while you stand around wailing on 1 with a mob behind you.
The time it would take to write and choose macros for all the different incoming damage, mob health, and mob count situations will take longer than learning to tank effectively anyways. You are making some presumptions in these macros that are flat out false as well... for example, you do NOT want to always activate heroic strike.
Heroic strike is a low aggro ragesuck, and you shouldnt go anywhere near it* unless you are using your max threat instant on every cooldown and your rage is still rising... even then I only hit it once rage starts staying above 40. Including rage lost from the swing, you are paying as much as 20 rage for 176 pre-modifier threat, and even that is mitigated by the mob's armor. Its a rage dump, plain and simple, and if you are fighting anything that can crank up your rage you had best be paying attention.
(*or if you need the biggest immediate threat pop possible on a transition, but thats a rare case and a different discussion.)
But... I digress. The main point is that these macros always have and always will suck. The best advice possible for one-button tanking is "dont." I dont know who you are grouping with, but unless they eat babies, set puppies on fire, and throw chainsaws at kittens, they probably deserve better.
There are some roles for some classes that can be fairly acceptably automated, for when you are feeling lazy in easy content. Tanking as a warrior isnt one of them.
Wiseman - the miniscule lag you detect is probably the game running the macro.
And FWIW I agree with Stampy - some, small macros can be useful but an all in one tanking solution is always going to be sup-optimal and unless your in a raid of monkeys hammering keyboards is 'a bad idea'.
This line doesn't really impact anything threatwise. Sure it uses a GCD every 60 seconds on Commanding Shout to keep it up. Sure I could refresh it every 119 seconds and be fine. But is that really worth arguing over?
/cast Heroic Strike
Yes. This is a rage dump. I love these forums because without them I never would have guessed. But on a boss fight where you're sitting at 100 rage... yes, you want to keep this toggled the entire fight. What better way than have a macro do it?
Does anyone have anything to add besides what I've specifically asked not to see?
Macro's are the computer doing the thinking and the reacting. They are faster. The threat I lose by using a sunder instead of a revenge, but then revenge right after... is there... I realize it. But when comparing that loss in efficiency to the loss in efficiency to being a human. The computer wins.
Being more aware of your surroundings? Losing absolutely no TPS while moving a boss or performing extra functions the tank is expected to do in the increasingly complex fights blizzard is adding?
I first started automating alot of the skills back in blackwing lair on fights where I was required to move and turn bosses during certain abilities.
And all things being equal.. if the logic of the macro is correct, it will beat the human every time.
A great skill to develop is being able to see the value in something... even something trivial or seemingly stupid.
Ignorance and close mindedness is not what I was looking for... I will seek my answers elsewhere.