Wow
Macros
(many of these are outdated)
Druid
innervate'
#showtooltip /cast Innervate /script s, d, e = GetSpellCooldown("Innervate"); /script if (s==0) then if (d==0) then SendChatMessage("Innervate on %t!", nil); end; else print('cooldown?'); end
Offensive
"castsequence" is a great new addition to the macro language that lets you assign a sequence of things to a single key. Each press (after the global cooldown) gets you the next item in the list. When you hit the end, it automatically wraps back around. I also add a reset timer so that it jumps back to the beginning, because mana spring doesn't last as long as the others, so I typically have to re-cast it more often. Also, the /shift means that reset is triggered after 25 seconds, or if I shift-click the macro button (allowing me to bypass the 25 second timer if I need to).
cast
/castsequence reset=25/shift Mana Spring Totem, Wrath of Air Totem, Totem of Wrath, Strength of Earth Totem
mele
/castsequence reset=25/shift Grace of Air Totem, Strength of Earth Totem, Healing Stream Totem, Totem of Wrath
Adding a [button:2] clause acts as a conditional that is only true if the macro was invoked with (in this case) a right-click. Depending on your mouse, you may also have additional buttons (3, 4, 5). I right-click for a rank 1 when I want to do is get the secondary effect of the spell (e.g. slow target, prevent stealth, interrupt spells, reveal stealthed players in mele range) without spending a lot of mana.
chain
/cast [help, combat, button:2] Chain Heal; [help, nocombat, button:2] Chain Heal; [target=targettarget, help, combat, button:2] Chain Heal; [target=player, button:2] Chain Heal; Chain Lightning
This is used for either a chain lightning or a chain heal. Normal click is chain lightning, but a right click gives it a hw like behavior (see below), but with chain heal instead of healing wave.
Defensive
hw
/cast [button:2] Nature's Swiftness; [help, combat] Healing Wave; [help, nocombat] Healing Wave; [target=targettarget, help, combat] Healing Wave; [target=player] Healing Wave
I like this one a lot, but can't take credit for writing it, though I did add the NS bit. Right click it to proc Nature's Swiftness; left-click does one of the following: If your target is friendly, heal it (whether in combat or not). If your target's target is friendly and you are in combat, heal your target's target. This is the key clause here; it allows you to dps a target and also heal the target's target (e.g. your tank or yourself) without changing your own target first. Finally, if none of the above is true, heal yourself. To get a fast heal, do a rapid right-click left-click... works great, and is so fast that nobody would have time to dispell the NS before the big heal pops.
lhw
/cast [help, combat] Lesser Healing Wave; [help, nocombat] Lesser Healing Wave; [target=targettarget, help, combat] Lesser Healing Wave; [target=player] Lesser Healing Wave
Same as above, but with lesser healing wave and without NS.
st-hl
/cast War Stomp /target Jindi /cast Healing Wave
Normally I just use this for war stomp, but if I want a big heal after that, just keep pressing...
t-heal This is a big insta-heal with both trinkets
/use 13 /use 14 /cast Nature's Swiftness /cast Healing Wave
Videography
Camera Control
Nice camera moves are best achieved by the game itself, as it's basically impossible to match the smooth motion curves with any sort of human input device. One way to do this is to use the camera presets. By default, the speed at which the camera moves between presets is pretty quick - good for in-game use, but not good for cinematic purposes. You can adjust the camera movement speed by altering the time duration of the transition, using a couple of cvars. They are:
cameraSmoothTimeMax cameraSmoothTimeMin
- in a slash command context:
/console SET cameraSmoothTimeMax 15.0 /console SET cameraSmoothTimeMin 15.0
- in a script context:
SetCVar("cameraSmoothTimeMax","15") SetCVar("cameraSmoothTimeMin","15")
- or you can set both at once using a function for ease-of-use. You'd need to slap this in a macro (or some existing mod) then execute it once to declare the function before you can use it. This function will let you more easily adjust the camera speed (less typing).
/script function cam(s) SetCVar("cameraSmoothTimeMax",s) SetCVar("cameraSmoothTimeMin",s) end
After running the above to declare the function, use the function as shown below. 10 is the duration of the camera preset transition in seconds, but it can be whatever you want. Awesome for videos :)
/script cam(10)