So I hear what you're saying, what the hell is a macro? In simple words, a macro is a basic command that results in a whole series of commands to a computer. Am I going to keep talking like this, or tell you what they are simply and how to use them? Yes! In WoW, macros allow gamers to create their own sections of code, that perform an instruction (or multiple) such as casting a spell, ability or just a simple /lol command, all with the click of a button.
To start with there are two basic things you should know. First, there is a 255 character limit on your macro. Second is that each new command starts on a new line and must have a '/' before the function you want to carry out. At the end of this article I'll give a few examples of what macros look like in the WoW interface.
Lets start basic - Speech Commands
This allows you to write a message/sentence in a certain context, for example /say /2 /guild etc. You can use that as many times as you like with the click of a button. So lets make your first speech command, go macros and follow the information above and put in "/say this is me learning how to write a speech macro" Next drag that macro onto your interface and should appear as a button with the options you chose, click it and your character should say whatever you typed.
Next, return to the macro tab and remove that code you just typed in. Now, if you try and click the macro button, quite obviously, it does nothing. Test it out a bit with a few /dance /yell and /lol commands and have fun testing out how you can mix things together.
Congratulations on getting this far!
I'm sure already you're getting the hang of it. Now we are going to try a cast macro, make a new macro call it what you want and choose whichever icon suits you. Then type (WITHOUT the square brackets and quotes) "/cast [the spell you want to cast]" See, pretty simple right? Lets take a simple Fireball for example you would type in /cast Fireball. Make sure the spell name is spelt exactly as it appears in the spell book and make sure to add a space between the /cast and the spell.
Drag it onto your interface and test it out!
Easy right? It will automatically cast the highest level of that spell you currently have. If you wanted to use a specific rank of spell you would simply type in "/cast Fireball (Rank #)" Where # is the rank you want to use.
Here's where it starts to get a bit more fun. Start a new combined macro. Type the code below (all the lines are the same as in the game, I start a new line, so do you.) Oh, and %t is the code for your current target.
/yell die %t time to burn, baby!
/cast Fireball
If you did that right, when you click that command button, your character will yell die <current target> time to burn, baby! and at the same time it will cast a fireball at your current target. (Change the spell and text to one that suits your class and race etc.)
Use of the speech and movement commands could be simply:
Don't include the square brackets in WoW.
/target [name]
/point
/say you total noob, bet you can't even use macros!
See what I did there? Anyway, I would strongly advise you NOT to do this for any spells you will be using a lot, or you will annoy the hell out of people and get loads of complaints. When using speech macros in trades, if it doesn't work the first two times you click it, you've got lag/latency, don't click it again or it may spam uncontrollably! This will get you complaints and ignored too.
You can have as many lines of speech as you like in speech macros, and it will say them all at once when you click the command button. However, cast macros really aren't so easy. If you try typing the following, you'll see what happens:
/cast spell 1
/cast spell 2
You see that only the first spell you chose was cast and the other said it was not ready yet. I'm sure you know, that this is because of the global cooldown time on spells. There are complex methods around this, but I'm just showing you the basics at the moment. There are spells that are exempt from this, the ones that have no global cooldown, such as the Heroic Strike on warriors. Try it out if you can:
/cast Heroic Strike
/cast Pummel
Really must say well done if you've never made a macro before and you've got this far!
If you've ever been casting a very long spell or ability but suddenly realise your characters life depends on casting that crucial instant spell right now! Then the easy stopcasting macro will be your saviour!
In this case we'll use a Paladin, because it's particularly useful when combined with instant cast healing spells and high damage spells. If you're casting holy light which takes forever and your target ally is about to be obliterated, the you can use this macro to save their life!
/stopcasting
/cast Holy Shock
It will instantly stop casting holy light and cast holy shock which will save the precious life of your ally!
Now, lets get into a full cast sequence - I hope you are prepared!
Start a new macro:
/castsequence [spell1], [spell2], [spell3] (leave out the square brackets but include the comma's)
Choose the order of your spells carefully, taking into account the cooldown times of each of the spells. You don't have to use just 3 like my example, you can use more or less. Make sure it's set out the right way with a comma and space in between each spell.
This button lets you click it over and over again and each time you click it, it will cast a different spell. When it gets to the end of your sequence of spells, it starts from the beginning again. We're still missing something though - a reset command to make it start from number one after a raid or event etc.
Just add a following in the [reset] position.
reset=combat/target/10/shift/control/alt/ (10 is the number of seconds) (number of these variables can be added and separated by a '/')
/castsequence reset spell1, spell3, spell2, spell3
/castsequence reset=combat/target/shift Fireball, Arcane Shot, Arcane Missiles
The sequence will reset when it comes to your chosen variable.
You now know how to make simple, and most commonly used macros!
Here are a few extra commands for you to play around with though:
/equip item name (equips item)
Equipment Slot Names:
Two-Hand Ranged
Bag Chest
Shirt Off Hand
Chest Shoulder
Back Tabard
Feet Thrown (ranged slot items like thrown daggers)
Finger Trinket
Hands Waist
Head One-Hand
Held In Off-hand Main Hand
Legs Off Hand
Neck Wrist
And here are some evaluation commands from all over the internet!
help – Evaluates ‘true’ if target is friendly
harm – Evaluates ‘true’ if target is hostile
combat – Evaluates ‘true’ if you are in combat.
stance or stance:# – Evaluates ‘true’ if you are in a stance, or are in a particular stance
stealth – Evaluates ‘true’ if you are stealthed.
equipped: – Evaluates ‘true’ if item is equipped. Item can be any valid inventory slot, item class or item subclass.
pet: – Evaluates ‘true’ if the pet exists. Takes pet type (Owl, Bear, Imp) or pet name (Fluffy, MrBigglesworth). With no modifier (i.e. just [pet]) it evaluates ‘true’ if ANY pet exists.
indoors, outdoors – Evaluates ‘true’ if you are indoors or outdoors, respectively.
channeling: – Evaluates true if you are channeling the spell listed. With no spell listed, it evaluates true if any spell is being channeled.
exists and dead – Evaluates true if your target is dead, or actually exists.
party – evaluates true if the target is a member of your party
raid – evaluates true if the target is a member of your party or raid
group – evaluates true if you are in a group
/cast [help] Greater Heal; Smite
/cast [help] Greater Heal; [harm, combat] Smite; [harm, nocombat] Mind Flay
/cast [nopet] Call Pet; Revive Pet
/cast [pet:owl] Dive; [pet:cat] Dash; [pet] Growl
use [nomounted,outdoors] Black War Steed Bridle
/cast [group:party] Arcane Brilliance; Arcane Intellect