h1

Gnome at heart

29.06.2010

The world cup craze is getting slightly more sane – there are now only two games per day instead of three. And unlike other nations (England *cough* France), Germany is still in the running.

So what does a casual gamer do during a thirty minute break between two matches of football? Fire up World of Warcraft of course! But thirty minutes is quite a short time, even if you only want to grind a few mobs and maybe do a quest or two. Thank god the auction house is available on the iPhone, or thirty minutes would be gone without getting any actual playing done!

The question still remains, however. And I found a perfect answer – for me at least. Macro design and PowerAuras.

Now, I have a history with macroing in games. Back in my Counterstrike days, way, WAY before it went commercial or Steam, a long time before anybody at Valve thought of including favourites or predefined sets of equipment, I built a whole inventory / shop system, complete with intelligent decision what side you were playing, memorising your selections and able to preset your next buy during play and then just committing it with a single button. And all that with nothing more available than the ‘keypress’ command (for selecting menu entries), the ‘alias’ and ‘bindkey’.0

So when I found out that WoW includes a nice macro language, I was ecstatic. And I’m not even talking about the ability to run LUA scripts directly from within the game, something that I as a software developer find particularly interesting. No, the very basic macro commands, with their simple conditionals and modifiers and no logic at all. In my opinion, how much you can achieve with these simple tools is nothing short of amazing.

Everybody has written the odd castsequence for their mage. But how about a macro for their warrior to execute either Overpower or Revenge, depending on your stance? Still a simple line of ‘code’1, but it merges two of your skill buttons into a single one. Of course you can also page your action bar, but if you’re like me, then even the best paging has its limits when there are simple so many things to put on bars.

PowerAuras are another thing. I like them. They’re shiny. They remind me of things I need to do. They’re casual, although not trivial to set up correctly. I use a mix of global auras and ‘personalised’ auras for each character – very effective so far – basically, the goal is to not have an aura on screen. If there’s an aura, there’s something I should do about it. Either an ability goes unused, a buff un-buffed or maybe I should consider my options of retreat and regroup.

You can even chain several auras together to check for multiple conditions – something that I use on my warrior to show the correct auras only when I’m in a stance that could use them.

However, where it really gets amazing is the combination of PowerAuras and macros. Specifically, the ‘ability usable’ part of PowerAuras. What counts here is, according to the documentation, the name of the ability on the action bar. Or the macro. That means that you can set up a few auras to check for combat status and stance. Then your macro has one or two conditionals that ‘branch’2 for two different abilities. And your final aura checks for the aura chain and your macro.

Congratulations, that’s a hell of a lot of logic you were able to create for displaying the correct symbol on your screen and then doing something about it by reflexively pressing a button – no matter what stance you are in. And you can delete the unneeded abilities themselves from your action bars.

Yes, I am a software developer, so I find these things almost, if not more, fun than actually playing the game. But maybe I’m just a Gnome at heart – tinkering with things, in the case of auras often on the fly while in combat to see if they behave correctly, and watching things blow up in my face when they don’t.3

0) Actual names of the commands may have been slightly different, this was 11 years ago.
1) Macro writing is not writing code. Not is writing HTML, but that is an issue for another day or blog.
2) That’s not really a branch, but it is an abbreviated if statement, or case statement.
3) There’s actually a pretty funny story how I nearly TK’d a teammate during a critical league match because I set my controls to the wrong ‘mode’ in the initial buy phase. But that is definitely a story for another blog.

%d bloggers like this: