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:
/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:
/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:
/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!):
/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!):
/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
/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]