Among their many uses, macros can be used to establish cast sequences, "I win" buttons and evasive action commands.
Macros are something many players have heard of, but shy away from because they require some basic scripting knowledge. For the uninitiated, macros are commands built by users to execute customized actions or action sequences. A macro, known in the Computer Science world as a macro instruction, are defined as a rule that specifies how a certain input sequence should be mapped to an output sequence. Sounds horrible, I know, so let's make it easier.
Macros in World of Warcraft, are really just new and simplified ways to do the same old things. For a Mage, this can be a Presence of Mind / Pyroblast button, the "I win!" macro for Fire / Arcane mages. From simple commands to eat and drink at the same time, to determining a target's status (friendly or hostile) and casting an appropriate spell, macros can be used to streamline game play and clean up your User Interface. Macros take advantage what is known as a scripting language to accomplish some unique custom commands. Basically, the slash commands (/wave or /cast Blink) are the same you have grown accustomed to using for chat and emotes. This scripting language can be called programming lite, sounding more like the spoken word than programming syntax. It could be compared to telling someone to go get a cup of coffee, rather than telling them to stand up, turn left, take 3 steps forward, turn right, step over the cat, and so on.
Before one begins writing macros, it is important to understand what a macro can and cannot do. Here are some tidbits that you should know:
- Execute multiple commands at once, granted they do not trigger the Global cooldown (GCD)
- Step through a sequence of spells, abilities and other commands
- Make 'smart' decisions about a target's status and act appropriately
- Equip items
- Use items
- Cast spells
- Trigger abilities
- Store targets as your focus
- Facilitate an entire spell sequence with one click (as opposed to clicking one button more than once)
- Wait for the GCD to expire and move forward independently
- Play your character for you
For the sake of clarity, I will review the spell sequence functionality. Your macro could step you through a sequence of spells like Pyroblast, Fireball, Scorch and Fire Blast, requiring that you click the macro's button each time the Global cooldown resets. However, the same macro could not cast Pyroblast, wait for the GCD to expire, cast Fireball, wait for GCD, cast Scorch and so on.
Now that you know some fundamentals about macros, stay tuned for the next installment where I'll go into some basic commands and simple macros to get you started.
For those of you who simply cannot wait, Blizzard's official Macro Guide is a great place to start learning more about the power of macros. Also, thanks to Arturis, who pointed out some older macro-related stories here at WoW Insider. David's piece on using macros to manage your focus target, Amanda's piece on Mage macros and Krystalle's piece on Rogue macros are great resources we already have. Note that with recent patches, the /stopcasting slash command is no longer necessary.