This page is a work in progress and will be updated with additional macros as I develop and transfer them.
I’ve decided to up my game when it comes to Druid macros. Rather than having six dozen individual keybinds, I decided to start using stance-based macros. When you look at the code, it seems like a lot of stuff is going on, but really it’s very simple. These macros utilize the [stance:X] modifier to see which form I’m in and use a spell based on that form. For example, I want my 2 key to cast Wrath when I’m in a caster form, but I want that to be Maul when I’m in Bear form and Rake when I’m in Cat form. I could write three separate macros for that, or I can just combine it all into a single key.
Your stance numbers are ordered according to which forms you have available to you. The only form that is set in stone across the entire leveling process is your natural form, or “caster form”, which is [stance:0]. From there the order goes by which forms you have available. You can look at your forms toolbar once you get it at level 8, and each form is numbered in order. So at level 8 with only Cat Form opened up, [stance:0] = caster form, and [stance:1] is Cat form. At level 15 you add Bear Form, but Bear form shows up before Cat form on the forms toolbar, which means it bumps your macros out of order because [stance:1] is now Bear form, and Cat form is now [stance:2].
You don’t need to memorize which stances open and change at which level, you just need to understand how to figure out the numbers, which is simple. The first icon is 1, the second icon is 2, third is 3, and so on. Caster form, the lack of a shapeshift form, is always 0.
Here’s a list of the various stance numbers and their relative forms for reference:
– stance:0 = Caster form, the lack of an actual druid form
– stance:1 = Bear Form from level 15+ (stance:1 is Cat Form from levels 8-14)
– stance:2 = Aquatic Form from level 16+ (stance:2 is Cat Form at level 15)
– stance:3 = Cat Form from level 16+
– stance:4 = Travel Form from level 16+
– stance:5 = Moonkin Form from level 29+ (Balance Druids only)
– stance:5 = Flight/Swift Flight Form for level 60+ (Feral Druids only)
– stance:5 = Tree of Life Form from 69+ (Restoration Druids only)
– stance:6 = Flight/Swift Flight Form for level 60+ (Balance and Resto only)
And now, on to some actual macros.
/cast [nocombat] Winged Guardian
/cast [swimming] Aquatic Form; [indoors] Cat Form; [outdoors] Travel Form
This is my Forms macro, the one that’s bound by default to my 1 key when I’m in Caster form (no form active). When I’m not in combat and I’m not in combat, it summons my mount. If it can’t summon my mount, then it casts the next thing that’s available. If I’m in water, then it’s Aquatic Form, indoors is Cat Form, and outdoors is Travel Form. If I’m in combat, I can’t summon a mount so it does the next best thing.
The purpose of this macro in the first place is to utilize the best possible form of movement based on our location and situation. As other forms (like Flight and Swift Flight) open up, I modify this macro to add those in.
I bind it to the 1 key instead of just having it on a bar that I can click because in PvP this gives me a spammable option to access the best possible movement form for my situation, and I like being able to spam it because shifting forms breaks movement slowing effects. I actually have this bound to 3 different keys for the sake of PvP so that it’s easily accessible regardless of which form I’m in and where my current hand placement is on the keyboard.
/cast !Cat Form
This is a spamming macro used to GTFO. Sometimes you need to make a mad dash for one reason for another, and those times don’t always give you the luxury of being able to summon your mount or to use one of your other forms. In times like those, you use Dash. Dash can only be cast in Cat form, and it only increases your speed while the form is active.
The first line makes the macro icon show you the tooltip for Dash. The second line utilizes the exclamation mark (!) which will cause Cat Form to be cast, but only if Cat Form isn’t already active. Without the !, this macro would cancel Cat Form the second time you pushed it. You have to activate this macro twice to get Dash to cast (unless you’re already in Cat), but it’ll get you where you’re going.
>> Insert /cast lines here <<
Example /cast Lines
/cast [stance:0/2/4] Wrath; [stance:1] Maul; [stance:3] Rake
/cast [stance:0/2/4] Entangling Roots; [stance:1] Mangle(Bear); [stance:3] Mangle(Cat)
/cast [stance:0/2/4] Moonfire; [stance:1] Swipe(Bear); [stance:3] Ravage
/cast [stance:0/2/4] Insect Swarm; [stance:1] Demoralizing Roar; [stance:3] Ferocious Bite
/cast [stance:0/2/4] Faerie Fire; [stance:1/3] Faerie Fire(Feral)
This macro is actually an example of several macros that all utilize the [stance:X] modifier to set the spell it casts based on your active form. The numbers that I used for the stances here are the numbers you would use if you were at least level 16.
You can have a macro assign a spell to multiple stances by using a slash between each stance number: [stance:0/2/4]
When you’re using a single /cast line to cast various spells based on your stance, you have to separate each spell and stance listing with a semi-colon (;) or else the macro will try to cast everything at once or in succession and you’ll get all kinds of fun error messages (they’re not really fun, I lied).
Another thing you’ll see that I did up there is in the second /cast example with “[stance:1] Swipe(Bear)”. Druids are unique in this as far as I’m aware, because they have spells of the same name that behave differently based on your current form. Those spells have to specify which version of the spell is being used in parenthesis directly after the spell name, and without a space between. This means that Swipe(Bear) uses the Bear version of the Swipe spell which has a 3 second cooldown rather than the Swipe(Cat) spell which does the same thing but has no cooldown. And since you can’t use Swipe(Cat) if you’re not in Cat form and Swipe(Bear) can only be cast in Bear form, just having Swipe by itself will often result in no spell being cast at all.