Monday, June 14, 2010

Macros and You!

I figure I should do a bit more than simply regurgitate news from other sites, and I was thinking to myself (yes, again...) that I really REALLY love macros and UIs in WoW. I mean REALLY. It's actually rather sad how excited I get when I decide to completely overthrow my Pitbull layout and start from scratch. But we'll leave off UI fun for another post, and focus more on the macro side of WoW.


One of the first things to think about when making a macro is: What do I want it to do exactly? Setting some goals when it comes to macro design is an important thing really. There is nothing worse than finishing a macro, only to realize that you didn't actually address your problem... like having a macro to summon your mount/flying mount regardless of location, only to have a macro that summons one of your twenty flying mounts only. ...not that I would know that from personal experience *coughs*.

So set a goal. What do you want your macro to do? Now, I'm not advocating the formation of lists and spread sheets, nono, don't get me wrong here... But setting your goal in your mind over what you want to make is the first step in making a successful macro.

Next, you'll obviously have to either have a grasp of the macro language, or know a very good website where you can find macros to either use or tweak yourself. Personally, I don't find the macro language too much of a barrier, so I tend to either create my own macros from scratch or simply customize an existing macro to work for what I need it to do.

Now, we're into the middle steps... making the macro. Some important things to remember when making a macro are the following:

1. Limited number of characters

When making a macro in WoW, you're limited to a total of 255 characters (letters, spaces, symbols, what have you). So you'll want to make sure you abbreviate whenever allowable.

Some handy ones include [mod] for modifier (holding alt, shift, or ctrl when pressing the macro key), @player/@target/etc for the old [target=player], and [btn:1] for mouse button 1 (left mouse button).

You can also save space by removing unnecessary /cast or /use calls. This is done by reducing:
/cast [@target, harm] Lightning Bolt
/cast [@target, noharm] Healing Wave
/cast [@target, harm] Lightning Bolt; [@target, noharm] Healing Wave;
chopping down your macro length and making it a bit more streamlined.

2. You can't do two things in one macro

Blizzard took a firm stand on macros playing your character for you, so you'll rarely be able to have a macro do things like they used to, such as the old Mage macros for 1-shotting people with trinket/PoM/Pyro. What you can do is sequence a macro using... well, /castsequence. So for example:

/castsequence reset=combat/7 Stormstrike, Lava Lash

will cast Stormstrike first, and then for the next 7 seconds (to account for the 8 second cooldown on SS) allow you to cast Lava Lash with the same button until you either leave combat or are able to use SS again.

3. Icons and tooltips are important

Never underestimate the usage of #showtooltip (which, obviously, shows the tooltip for the abilities you use in your macro). A macro like:

/use Zandalar Honor Token

will show the icon and tooltip for the Zandalar Honor Token item (ah, I miss the old ZG runs). You can use the #showtooltip in a cast sequence macro as well, to keep track of what ability you can currently use in the sequence. All you need to do when making the macro is be sure to use the ? icon for the macro, instead of choosing from the huge selection of icons available.

@target/@player/@focus : Allows you to set the target for the ability in the macro, making it harder to accidentally misuse an ability.

Ex: /cast [@focus] Healing Wave (no matter who you're targeting, this macro will ONLY cast Healing Wave on your focus... useful for say, when you have the tank focused and want to dedicate a button to making sure they don't die.)

[mod], [nomod] : Determines what happens when you're holding a modifier (ctrl, alt, shift) or not when pressing a macro button.

Ex: /cast [mod:ctrl] Healing Wave; [nomod] Lesser Healing Wave; (casts HW when you hold ctrl and hit the macro, and LHW when you're just hitting the macro.)

[harm], [noharm] : Determines what the macro does depending on whether the target is peaceful or neutral/aggressive.

Ex: /cast [noharm] Water Breathing; [harm] Frost Shock; (not especially useful I suppose, but it will cast WB on your target if it's friendly, and Frost Shock it if it is not.)

[flyable], [noflyable], [mounted], [nomounted] : Pretty self explanatory really. Does different things depending on if you can fly or not fly in the area, and if you're mounted or not mounted.
/dismount [mounted]
/cast [flyable] Swift Purple Wind Rider; [noflyable] Swift Orange Raptor; (uses your flying mount in places you can use it, and uses your ground mount if you can't fly. Will also dismount you if you're mounted... dangerous to use if flying high.)

[combat], [nocombat] : Like the others, does one thing in combat, and another if not in combat.
Ex: /cast [combat] Ghost Wolf; [nocombat] Swift Orange Raptor; (will GW if you're fighting something, or mount up otherwise).

So with those tips out of the way, lets get to making a macro, shall we? I'll start off with some macros I use, and explain their mechanics and usages where applicable.

/cast [nomod] Earth Shock; [mod] Wind Shear

This macro does two things: If I press the button, it will cast Earth Shock. If, however, I press the button while holding a modifier (ctrl, alt, shift), it will cast Wind Shear.

The main use is obvious: To keep my bar from being clogged down by abilities I rarely use, while keeping important abilities I rarely use in easy reach.

/castsequence [nomod] reset=combat/target/17 Flame Shock, Lava Burst
/cast [mod] Lava Burst

What this macro does is similar to the Stormstrike macro I included in the earlier bits, but with a slight change. First, it allows me to cast Flame Shock with a simple button press, followed by Lava Burst for the next 17 seconds (for the 18s debuff timer on Flame Shock), and it will reset in 17s, on leaving combat, or when I change targets. It also allows me to always cast Lava Burst if I press the button while holding a modifier down.

/castsequence [nomod] reset=2 Windfury Weapon, Flametongue Weapon
/stopmacro [nomod]
/run local c=CancelItemTempEnchantment c(1) c(2)

This macro is my latest fix for having my weapon enchants on one button. The last one was broken somewhere down the line, just like the ones I had used previously. So what it does is, with no modifiers held down, casts Windfury followed by Flametongue with a second press. It then stops the macro. If, however I press the button with a mod, it will clear my weapon enchants off, allowing me to always cast WF on my main hand, and FT on my off hand. Because we all know that there are few things less annoying than having the wrong enchant on your weapons, right?

Well, that's it for macros for this installment... maybe if I get some demand I'll go into more depth on things like scripts in your macro, and the many random mount type macros that are out there.

- Nipah

No comments:

Post a Comment