Shifting Perspective: An introduction to making macros for a druid
Every Tuesday, Shifting Perspectives explores issues affecting druids and those who group with them, brought to you by David Bowers and Dan O'Halloran.
Macros used to be a very mysterious thing, involving lots of "if" clauses, "/script" commands, and parenthetical programming language that lots of people don't understand. For some, of course, it's exciting to try and figure it all out, but many people play for a long time before realizing that macros even exist, and then get intimidated by them once they do.
When WoW 2.0 was released, however, so much of that changed. Many of the most complicated scripting functions were disabled, but many simpler functions were put in to help common people get a better sense of how to use them. There are still strange elements in it sometimes, but overall it's much easier for an amateur to understand. I managed to learn the basics and design some of my own shapeshifting macros to replace both my old copy/pasted macros, as well as an addon I had used originally to help make shapeshifting more manageable. I love being able to tailor my macros to my own play style.
So today I'm going to share with you some examples of handy shapeshifting macros to illustrate how to work with your own, and give you some resources to continue using macros if you are interested. For those of you who are expert macro users and just want a list of macros you can copy/paste into your game, have a look at this excellent list. Some of you may already be very familiar with macro construction, but to many of us it is enlightening to discover how to use macros to do several things in one step, activate different abilities in different situations with a single button, or even make existing functions more efficient and useful. You'll get a good sense of how macros can work from these few examples and be ready to go out and find some more that you might like to use, or even design your own. (Non-druids interested in getting started with macros might like this too.)
So now lets look at my shapeshifting macro set up. I'm a feral druid, so I have four basic shifting needs: I need to get from whatever form I'm in to Caster form, Bear form, Cat form, or one of my fast-moving forms: Flight for Outland, Aquatic for water, and Travel for gaining distance on an enemy. Caster form is of course the intermediate form for shifting between feral forms, so I decided that I didn't need a special button for that. Instead, I wanted to make three buttons: Bear, Cat, and Travel, and let all of them shift me into caster form again too. So for example, here is my Bear macro:
/cancelform
/cast [nostance] Dire Bear Form
The first line, "/cancelform," will bring me back to the default Caster form, or do nothing if I'm a there already. If I'm already in Caster form, the next line will put me into Dire Bear Form. Putting "nostance" in brackets is like telling the computer to do this only if I'm not in a form already. (They use the word "stance" based on the Warrior's Battle, Defensive, and Berserker stances, but the equivalent of stances for other classes works too, such as stealth for rogues or forms for druids.) This macro is the simplest of my shapeshifting macros, and it just lets me press once to shift out of anything and then again to swifly shift into Bear form, or even out of Bear form again so that I can heal. This is sort of a panic button I can press, depending only on one condition: whether I need survivability or healing. (Note, I am careful not to panic too much and press repeatedly, or else who knows what form I'll end up in.)
So next is my Cat Form macro:
/cancelform [stance:2/4/5]
/cast [nostance] Cat Form; [stance:1] Enrage; [stance:3] Prowl
This is a bit more complicated. Stances for any class are numbered. For warriors, their three stances are just 1, 2 and 3, and for a rogue, stealth is just [stance:1]. But for a druid, these stance numbers are in the order you get them as you level up, so it goes as follows: Bear is [stance:1], Aquatic [stance:2], Cat [stance:3], Travel [stance:4], and Flight [stance:5]. (Moonkin and Tree-of-Life druids -- Beware! for *you*, [stance:5] is your Moonkin or Tree of Life form, and [stance:6] is your Flight form.) Now personally I would argue that since druids have more "stances" than warriors do, these should be called [form:1], [form:2] and so on. But anyway...
So in this macro, "/cancelform" has a conditional too, to only work in stances 2, 4 or 5: Aquatic, Travel, or Flight. Also, the ";" semicolon lets me assign multiple spells to be cast in different situations. It basically means "or" and makes it so that you don't have to type "/cast" on separate lines for each stance, although that would work too. I assigned this one to depend on more conditions because I can use it in more calm and strategic situations. I already have my Bear macro for simple panic shifting, and I found that using the Cat macro to add a bit more depth works best for me. So the way I set it up, it'll shift to Cat form of course, or cast Enrage if I'm a bear, or cast Prowl if I'm already a cat. Now, if this doesn't work for you, you can add similar conditionals to other forms. Take these alternate Bear and Cat form macros as examples:
Sticky Bear Form:
/cancelform [nostance:1]
/cast [nostance] Dire Bear Form
This one is "sticky," which is to say, pressing this will cancel any form as long as your form is not Bear form. This one you can mash repeatedly without fear of shifting back to Caster form accidentally, if that's your style.
Dire Bear Form > Feral Charge (Sticky too!):
/cancelform [nostance:1]
/cast [nostance] Dire Bear Form; [stance:1] Feral Charge
This one lets you shift to Bear form and Feral Charge something with the next press of the button
Cat Form > Prowl > Pounce > Cower (Sticky three!):
#show Prowl
/cancelform [nostance:3]
/cast [nostance] Cat Form; [stance:3, nocombat, nostealth] Prowl; [stance:3, stealth] Pounce; [stance:3, combat, nostealth] Cower
This one lets you cast different things while in cat form. Adding the [nocombat] and [nostealth] conditionals means that it only does anything if you are out of combat, and pressing the button again won't bring you out of stealth. Also it lets you cast Pounce if you're already prowling and Cower if you're already in combat.
So finally, we'll come to my last shapeshifting macro, which is for traveling, and which builds on the principles in this last Cat Form example:
All Travel Forms
/cancelform [stance:1/2/3/4/5]
/cast [nostance, flyable, nocombat, noswimming] Flight Form; [nostance, swimming] Aquatic Form; [nostance, outdoors] Travel Form
You can probably see clearly what this does based on the examples above. It'll bring you out of any form and into Travel form (good for running away in a panic), or else Flight or Aquatic forms. There are quite a number of conditionals such as [flyable] and [outdoors] that you can play with, as well as many more functions and tricks that I haven't covered here, including some ways you can cast certain spells together at the same time. To learn more about macros for druids and to see tons and tons of excellent examples, have a look at this post in the druid forums by Beirras. He goes into much greater depth than I can in this column and he explains everything in his own systematic way. To just give you just a taste of more, I'll leave you with this super-mega-ultra combination Travel/Flight/Aquatic/Mount macro for you to have a look at! Happy macroing!
Flight Form / Travel Form / Aquatic Form / Mount Macro
(remember to change stance:5 to stance:6 for Moonkins and Trees-of-Life!)
/canceform [stance:1/3] [stance:4, nocombat] [stance:5, noflying, nocombat]
/use [nostance, outdoors, noflyable, nocombat] <Insert Your Ground Mount Name Here>; [nostance, flyable, nocombat] <Insert Your Flying Mount Name Here>
/cast [nostance, swimming] Aquatic Form; [nostance, flyable, nocombat] Flight Form; [nostance, outdoors] Travel Form
[Awesome doing-everything-with-just-one-HUGE-macro Druid art by Jonathan Sullivan at cleverninja.com]
Macros used to be a very mysterious thing, involving lots of "if" clauses, "/script" commands, and parenthetical programming language that lots of people don't understand. For some, of course, it's exciting to try and figure it all out, but many people play for a long time before realizing that macros even exist, and then get intimidated by them once they do.
When WoW 2.0 was released, however, so much of that changed. Many of the most complicated scripting functions were disabled, but many simpler functions were put in to help common people get a better sense of how to use them. There are still strange elements in it sometimes, but overall it's much easier for an amateur to understand. I managed to learn the basics and design some of my own shapeshifting macros to replace both my old copy/pasted macros, as well as an addon I had used originally to help make shapeshifting more manageable. I love being able to tailor my macros to my own play style.
So today I'm going to share with you some examples of handy shapeshifting macros to illustrate how to work with your own, and give you some resources to continue using macros if you are interested. For those of you who are expert macro users and just want a list of macros you can copy/paste into your game, have a look at this excellent list. Some of you may already be very familiar with macro construction, but to many of us it is enlightening to discover how to use macros to do several things in one step, activate different abilities in different situations with a single button, or even make existing functions more efficient and useful. You'll get a good sense of how macros can work from these few examples and be ready to go out and find some more that you might like to use, or even design your own. (Non-druids interested in getting started with macros might like this too.)
So now lets look at my shapeshifting macro set up. I'm a feral druid, so I have four basic shifting needs: I need to get from whatever form I'm in to Caster form, Bear form, Cat form, or one of my fast-moving forms: Flight for Outland, Aquatic for water, and Travel for gaining distance on an enemy. Caster form is of course the intermediate form for shifting between feral forms, so I decided that I didn't need a special button for that. Instead, I wanted to make three buttons: Bear, Cat, and Travel, and let all of them shift me into caster form again too. So for example, here is my Bear macro:
/cancelform
/cast [nostance] Dire Bear Form
The first line, "/cancelform," will bring me back to the default Caster form, or do nothing if I'm a there already. If I'm already in Caster form, the next line will put me into Dire Bear Form. Putting "nostance" in brackets is like telling the computer to do this only if I'm not in a form already. (They use the word "stance" based on the Warrior's Battle, Defensive, and Berserker stances, but the equivalent of stances for other classes works too, such as stealth for rogues or forms for druids.) This macro is the simplest of my shapeshifting macros, and it just lets me press once to shift out of anything and then again to swifly shift into Bear form, or even out of Bear form again so that I can heal. This is sort of a panic button I can press, depending only on one condition: whether I need survivability or healing. (Note, I am careful not to panic too much and press repeatedly, or else who knows what form I'll end up in.)
So next is my Cat Form macro:
/cancelform [stance:2/4/5]
/cast [nostance] Cat Form; [stance:1] Enrage; [stance:3] Prowl
This is a bit more complicated. Stances for any class are numbered. For warriors, their three stances are just 1, 2 and 3, and for a rogue, stealth is just [stance:1]. But for a druid, these stance numbers are in the order you get them as you level up, so it goes as follows: Bear is [stance:1], Aquatic [stance:2], Cat [stance:3], Travel [stance:4], and Flight [stance:5]. (Moonkin and Tree-of-Life druids -- Beware! for *you*, [stance:5] is your Moonkin or Tree of Life form, and [stance:6] is your Flight form.) Now personally I would argue that since druids have more "stances" than warriors do, these should be called [form:1], [form:2] and so on. But anyway...
So in this macro, "/cancelform" has a conditional too, to only work in stances 2, 4 or 5: Aquatic, Travel, or Flight. Also, the ";" semicolon lets me assign multiple spells to be cast in different situations. It basically means "or" and makes it so that you don't have to type "/cast" on separate lines for each stance, although that would work too. I assigned this one to depend on more conditions because I can use it in more calm and strategic situations. I already have my Bear macro for simple panic shifting, and I found that using the Cat macro to add a bit more depth works best for me. So the way I set it up, it'll shift to Cat form of course, or cast Enrage if I'm a bear, or cast Prowl if I'm already a cat. Now, if this doesn't work for you, you can add similar conditionals to other forms. Take these alternate Bear and Cat form macros as examples:
Sticky Bear Form:
/cancelform [nostance:1]
/cast [nostance] Dire Bear Form
This one is "sticky," which is to say, pressing this will cancel any form as long as your form is not Bear form. This one you can mash repeatedly without fear of shifting back to Caster form accidentally, if that's your style.
Dire Bear Form > Feral Charge (Sticky too!):
/cancelform [nostance:1]
/cast [nostance] Dire Bear Form; [stance:1] Feral Charge
This one lets you shift to Bear form and Feral Charge something with the next press of the button
Cat Form > Prowl > Pounce > Cower (Sticky three!):
#show Prowl
/cancelform [nostance:3]
/cast [nostance] Cat Form; [stance:3, nocombat, nostealth] Prowl; [stance:3, stealth] Pounce; [stance:3, combat, nostealth] Cower
This one lets you cast different things while in cat form. Adding the [nocombat] and [nostealth] conditionals means that it only does anything if you are out of combat, and pressing the button again won't bring you out of stealth. Also it lets you cast Pounce if you're already prowling and Cower if you're already in combat.
So finally, we'll come to my last shapeshifting macro, which is for traveling, and which builds on the principles in this last Cat Form example:
All Travel Forms
/cancelform [stance:1/2/3/4/5]
/cast [nostance, flyable, nocombat, noswimming] Flight Form; [nostance, swimming] Aquatic Form; [nostance, outdoors] Travel Form
You can probably see clearly what this does based on the examples above. It'll bring you out of any form and into Travel form (good for running away in a panic), or else Flight or Aquatic forms. There are quite a number of conditionals such as [flyable] and [outdoors] that you can play with, as well as many more functions and tricks that I haven't covered here, including some ways you can cast certain spells together at the same time. To learn more about macros for druids and to see tons and tons of excellent examples, have a look at this post in the druid forums by Beirras. He goes into much greater depth than I can in this column and he explains everything in his own systematic way. To just give you just a taste of more, I'll leave you with this super-mega-ultra combination Travel/Flight/Aquatic/Mount macro for you to have a look at! Happy macroing!
Flight Form / Travel Form / Aquatic Form / Mount Macro
(remember to change stance:5 to stance:6 for Moonkins and Trees-of-Life!)
/canceform [stance:1/3] [stance:4, nocombat] [stance:5, noflying, nocombat]
/use [nostance, outdoors, noflyable, nocombat] <Insert Your Ground Mount Name Here>; [nostance, flyable, nocombat] <Insert Your Flying Mount Name Here>
/cast [nostance, swimming] Aquatic Form; [nostance, flyable, nocombat] Flight Form; [nostance, outdoors] Travel Form
[Awesome doing-everything-with-just-one-HUGE-macro Druid art by Jonathan Sullivan at cleverninja.com]
Filed under: Druid, How-tos, (Druid) Shifting Perspectives







Reader Comments (Page 1 of 1)
Corrodias Jul 3rd 2007 10:54AM
I'd like to point out to the readers that, by default, macros will show on the action bars as whatever icon you choose with the name of the macro at the bottom.
Selecting the ? icon and putting #show [ability name] at the top makes it show the icon and cooldown for the ability you specify or for the ability that the came is going to use when you press the button if you don't specify one.
#showtooltip [ability name] does the same thing but also lets you see the tooltip for the action when you hover the mouse over it. Otherwise, the tooltip you get is the name of the macro. Once i've learned what my new macros do, i always put #showtooltip at the top.
One of my favorite things to do is to compress multiple abilities into one button using [modifier:alt] to specify that it should cast one thing while i hold alt and another while i don't. #showtooltip is smart enough to switch between them when you press alt.
Tufnel Jul 3rd 2007 10:55AM
Maybe a noob question, but I'm having trouble understanding how the first macro works.
/cancelform
/cast [nostance] Dire Bear Form
The first line will bring you back into Caster form. The second line checks to see whether you are in a stance, and if you are not, casts Dire Bear Form. Since the first line already brought you into Caster form, wouldn't nostance always equal true when the macro gets to the second line?
Also, how does this macro turn off Dire Bear Form and bring the druid back into caster form? Wouldn't the second line automatically bring the druid back into Dire Bear Form?
Grant Jul 3rd 2007 11:15AM
The macro is conditional:
If you are in an animal form it will return you to Caster form.
If you are in Caster form (nostance) it will put you in Bear form.
Once you are in Bear form, clicking it again will put you back into Caster form.
So your question is not stupid: If you start the macro in anything other than caster form (including bear form) it will do as you say.
If you are already in caster form it will put you into Bear form.
Don Jul 3rd 2007 11:17AM
Kind of a noobish followup question, but how do I bind my new macro to a keystroke? I'd like F1 to be Caster Form, F2 to be Bear Form, etc...
Warcraftonian Jul 3rd 2007 11:29AM
This is a bit off topic, but relevant for Druid WoW players. I thought it was funny, anyway.
http://www.makeyougoblind.com/issue%203.htm
Aikiwoce Jul 3rd 2007 11:30AM
@ #2
While #3 explained what would happen under certain circumstances, he neglected to explain why.
When you press the macro button, your game evaluates every conditional statement in the macro. Then it runs the macro line by line till it reaches the end.
So when you run it under the following conditions, you'll get the following results:
caster - no form to cancel - no form when pushed, so shift to bear
any form - cancel form - in a form when pushed, so don't shift to bear
Urthona Jul 3rd 2007 11:47AM
Mods I'd like built:
A mod that whispers to a target that I plan to battlerez them, fires the battlerez and tosses a rejuv on the same target as well.
A mod tosses a Crystal Force, a Mistletoe, or a Spirit scroll onto a target, then innervates, then whispers to the recipient of an innervate that I've just done so.
A mod that priests and pallies can use to whisper the druid in their group, requesting an innervate.
A mod that fires Barkskin as soon as I specify a location for Hurricane, and switches me to bearform when Hurricane's duration expires.
Pretty please?
PyroAmos Jul 3rd 2007 11:52AM
it wont 1 click you to bear from any stance... first click will do first line, second click will do second line since the first line is already true.
I didn't know about /cancelform, i always just used
/cancelaura Dire Bear Form
/cancelaura Cat Form
ect through all the forms.. also a much much much better panic button is
/cancelform
/use Major Health Potion
/cast Dire Bear Form
its a 2 click macro goto caster form first click, use potion and shift to bear form second click... since its a macro theres no global cooldown, so you can click it twice within about 1/2 a second to pop out, pot and pop back bear form, or if your DPSing in cat and get agro, you can pop it and you pot and go bear and your tanking. You can't do it with anything that swings very fast, because that 1/2 second in caster you'll prolly get 1 hit and die, but if your off tanking something (moroes, gruul, void reaver, ect) that switches agro, or just does a hurtful strike on you once every 3 or 4 seconds, you can use it to get your HP back up a bit. also alot of instances you can use it on trash. also notable HP in caster - HP in bear is percentage base, so if you have 5000/10000 hp in caster and pop bear you'll goto 7500/15000.. now if you pop a pot for 2000 (7000/10000 caster) then go bear with 15000 hp, you goto 10500/15000 so your 2000 pot actually restores 3000 hp since as soon as you use it you go bear form and it gets your HP multiplier.
same macro works for healthstones to BTW just change to
/cancel form
/use Major Health Stone
/cast Dire Bear Form
BTW in relation to healthstones, this is unrelated to druids but, its useful anyway, just make a macro
/use Major Health Stone
It will use whatever healthstone (0/2, 1/2, 2/2 imp healthstone talent) you have, instead of making a hotkey for 0/2, 1/2, 2/2 improved health stone talents.
PyroAmos Jul 3rd 2007 11:56AM
sorry i don't think theres a space between health and stone so it would actually be like
/use Major Healthstone
PyroAmos Jul 3rd 2007 11:59AM
I've heard you can do the same with lifebloom and rejuv to btw, but I've never tried it, in the kind of situation you need HP and pop bear, a non-instant hp wouldn't be of much help... although with T5 bonus of 0 cast time regrowth when you come out of form you could make one for that, which would be pretty nice.
David Bowers Jul 3rd 2007 12:12PM
Hey readers, thanks for adding in extra things and asking questions! That's exactly the sort of thing we need sometimes, to help us clarify or supplement these articles.
@2, I've edited the confusing language to be clearer that the macro does one thing if you're in caster form and another if you're in feral form. Hope this helps. :)
@4, What I do is: I put my macro on one of the buttons of one of my action bars I have displayed, and then I bind a key to that in the key bindings section. I like this because it lets me change that macro for another one on the fly, giving me a visual representation of the action I have assigned to that key binding. But some people like to bind keys directly to macros or abilities (or even items) without action bars getting in the way, and there's a mod that lets you do that if you like, called qUserKey, available from WoW Interface here:
http://www.wowinterface.com/downloads/info6335-qUserKey_-_Bind_Keys_to_all_Spells,_abilities,_items.html
Siedre Jul 3rd 2007 12:17PM
Great little macro starter. Thanks for writing this! One thing I'd like to point out with the Cat Form > Prowl > Pounce macro: There are times when you will be stealthed but be in combat (ie: you get stealth off right as you enter combat, or a raid mob puts the raid in combat while you're stealthed). I'd recommend removing the [nocombat] part of Pounce, so it doesn't hang up the macro in those circumstances.
SeanKReynolds Jul 3rd 2007 12:22PM
I don't bother with macros when it comes to druid shapeshifting, just grab EZDismount addon:
http://wow-en.curse-gaming.com/downloads/details/1672/
In addition to the default feature of dismounting when you cast, herb, mine, etc. (which is now redundant as of the latest patch), the addon automatically shifts you out of your current form if you cast a spell not available in that form or click/cast another form. So if I'm in bear form and I need to heal myself I just spam my heal spell, the addon shifts me out of bear (into caster form) and then my spamming starts the heal cast. I don't have to use any more spots on my UI, it recognizes the default UI's forms bar and the keybindings for those keys, so if I'm in cat form and I need to tank I can just hit CTRL-1 to "cast" bearform (which takes me into caster form) and then again (to actually enter bear form).
David Bowers Jul 3rd 2007 12:39PM
@8, some nice alternatives, thanks. :)
@12, you're right! I've edited it. :)
@13, I prefer to use macros over addons to help save framerates (since I have too many addons already), but it's just as reasonable to use an addon over macros to help save time and effort setting them all up.
Brisk Jul 3rd 2007 12:59PM
Just a reminder, certain macro commands are currently bugged if used in conjunction with the cast sequence command... including the druid cancelform command.
For instance, I like using the same button to cancel whatever form I am in and then if I press it again, to go into cat form. The macro for this should be:
/castsequence reset=1 cancelform, [nostance]Cat Form
Unfortunately, this is currently bugged and will not function. It is a known issue... apparently adding a ";" to the end of certain macros will make it function properly... but not this particular one.
Just FYI in case any of you are experiencing some flaky behavior with your new macros.
Tufnel Jul 3rd 2007 1:30PM
@6 Thanks for clarifying. The key to my misunderstanding was that the macro tests for conditionals [i]before[/i] running any of the processes.
It was pointed out that this particular macro is not a one-click macro that will bring you from any form to bear form. If one were to remove the [nostance] paramater, would a one-click process to shift from any form to bear form result?
/cancelform
/cast Dire Bear Form
John Vilsack Jul 3rd 2007 1:33PM
My Druid has every heal spell on my bars macroed as well:
/cancelform
/cast Regrowth
/cancelform
/cast Rejuvenation
This is better for me because when I need to drop forms and heal, its a single button spam.
Druids FTW.
Aikiwoce Jul 3rd 2007 1:59PM
@16 It should, I'm just not experience with druid macros. If you run into problems, try separating commands with /stopcasting. This sometimes allows you to chain commands that couldn't be chained without it. Also remember that you can't chain commands that trigger the global cooldown.