Macros, I love em! They are great to enable many "slash commands" into a single button click. I won't go into the basics of what they are are or how to make them (click here for a beginner's guide) but they do come in many levels of complexity.
There are two limits Blizzard have on macros. The first is that macros cannot be more than 255 character long, which while annoying is an anti-botting mechanism of which I approve. The second is you are limited to 18 macros per character and while you can extend this with the use of the account wide General Macros, it is still annoying for a raving altaholic like myself.
The basic style of macro is in the form
/cast Spell name
This is how the spells from your spellbook work. But you can make them more complex by adding additional lines
or by adding other more useful things like on use abilities on items such as trinkets/cast Spell name
/say I cast a spell yippee!
/use Trinket of Awesomeness
/cast Spell
The trick here is that you can only add items that do not invoke a global cooldown otherwise you need to press the button multiple times which may not result in a time saving for you.
Now for the trickier stuff. Most of my spells I have as "mouseover" macros to supplement my Vuhdo because while I could key bind everything through Vuhdo, some things are just plain easier in certain situations. The base most of these macros is built upon is:
#showtooltip
/cast[@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead] [@targettarget,help,nodead][]Flash Heal
The macro above is a type of script. Each set of brackets contains some checks that if true will bypass the rest of the bracketed items and cast the spell (Flash Heal in this example). The first line, "#showtooltip" just makes sure your macro shows the tooltip of the first item it encounters in your macro.
- [@mouseover,help,nodead]: If your cursor is over an avatar or unit frame that is friendly and alive then cast Flash Heal on it
- [@mouseovertarget,help,nodead]: If your cursor is over an avatar or unit frame that is unfriendly, and their target is friendly and alive, then cast Flash Heal on the friendly target,
- [help,nodead]:If your cursor is NOT over an avatar or unit frame AND your target is friendly and alive then cast Flash Heal on your target
- [@targettarget,help,nodead]: If your cursor is NOT over an avatar or unit frame AND your target is unfriendly and their target is friendly and alive, then cast Flash Heal on the friendly target
- [ ]: Is an error preventer as it will always return true because it is checking nothing. Therefore if you have autocast enabled (and why wouldn't you?) it will cast the spell on yourself
- Flash Heal: The spell that will be cast, of course you need to amend this bit for your various spells
Some spells are worthy of announcing, like Power Word: Barrier, Hymn of Hope, Divine Hymn, Lightwell. This is done by adding in the line below to your macro
/script SendChatMessage(“Casting Pain Suppression on ” .. UnitName(“mouseover”), “RAID”)Of course you should change the spell name here to your desired spell. Being old I'm quite forgetful and sometimes I need things tobe super easy especially when I need to cast it on cooldown like Inner Focus. The way I get round this is some spells I add the following lines into the macro
/run SetCVar("Sound_EnableSFX","0")
/cast Inner Focus
/run SetCVar("Sound_EnableSFX","1")
What this does is turn off the annoying error speech so I don't get "that spell isn't ready yet", cast Inner Focus and then reactivate the error speech sound. You could also add the lines
/use 13
/use 14
to activate your trinkets (13 is the top trinket and 14 the bottom one) into key spells but I wouldn't recommend it as if you have a PvP trinket enabled it burns the cooldown when you don't need it. I get round this by having 2 trinket macros on my general macros so its available for all toons (although you'll notice in the post picture I have this there cos I am a nub at DPS cooldowns). Another neat trick is to whisper the target of your cast on them (please do NOT use this for spells you cast often as the spam is annoying for all).
#showtooltip/cast[@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead] [@targettarget,help,nodead][] Power Infusion/script SendChatMessage ("Evlyxx cast Power Infusion on you!","WHISPER",nil,UnitName("mouseover"))
I don't use this myself for Pain Suppression/Guardian Spirit because of 2 limits Blizzard have on macros I mentioned earlier and the way I help cheat the system, which is to have the macro do different things based on spec.
/cast [spec:2] [@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead][@targettarget,help,nodead][]Guardian Spirit
/cast [spec:1][@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead][@targettarget,help,nodead][]Pain Suppression
So here if I am in spec 2 (my spec I use for Holy) it will cast
Guardian Spirit and if I'm in spec 1 (my Disc spec) it will cast
Pain Suppression . Try to pair up your spec abilities to the same button the other one I use this style of macro on is Circle of Healing and Penance:
/cast [spec:2] [@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead][@targettarget,help,nodead][]Circle of Healing
/cast [spec:1][@mouseover,help,nodead][@mouseovertarget,help,nodead][help,nodead][@targettarget,help,nodead][]Penance
Now you will notice that I put spec 2 first each time. I do this because for some weird reason the macro doesn't work the other way round. Go figure.
The next tricksy macro is my one for healing via atonement to ensure that I always get my Holy Fire in on cooldown (you may need to add or remove a Smite depending on your haste and allow for increased haste phases due to Bloodlust/Heroism/Time Warp as you may miss a cast while waiting for
Holy Fire to come off of cooldown.
#showtooltipThe reason I use this macro is that when I'm on tank healing duty I can simply hover my mouse over the tanks target and spam faster/bigger heals than I would with a heal and if I need to pop a Power Word: Shield, Flash Heal, Greater Heal or Penance on the tank I can simply use my key binds for the relevant spell and its corresponding macro.
/castsequence reset=combat [@mouseover,harm,nodead] [harm,nodead]Holy Fire, Smite, Smite, Smite, Smite,Smite;[@mouseover,help,nodead][] Heal
0 comments: