Seeing as alternating spam keys seems to be the way to go for dealing with all our new spells in Cataclysm, I figured I'd post a quick guide on how to set this up in HotKeyNet. It's really rather simple using toggles.
Step 1
Create a Hotkey
This will be the key you normally spam.
Code:
<Hotkey 2>
<Cancel>
<SendLabel w1, w2, w3, w4>
<DoHotkey Hotkey F9>
All this does is tell HotKeyNet that when you press 2, you want to trigger your toggled hotkey, which in this case I have set up as F9. The <Cancel> command is in place to clear queued keypresses. You may find you don't need it, personally, I found it to help a lot.
Step 2
Create your alternating keys. This will be the keys that are actually sent to your WoWs on a rotating basis.
Code:
<Hotkey F9>
<Toggle>
<SendLabel w1, w2, w3, w4>
<Key 2>
<Cancel>
<Toggle>
<SendLabel w1, w2, w3, w4>
<Key Numpad1>
<Cancel>
<Toggle>
<SendLabel w1, w2, w3, w4>
<Key 2>
<Cancel>
<Toggle>
<SendLabel w1, w3>
<Key Numpad1>
<Cancel>
<SendLabel w2, w4>
<Key Numpad2>
<Cancel>
Mostly people seem to use only 2 alternating keys it seems. I use 3 on a few of my guys, specifically my healer as it allows her to spam a shock macro, Riptides on random party members and finally Riptide on herself since /targetparty excludes the player casting the spell.
You'll notice I put a <Cancel> command after all the sent keys. It's not because I'm totally infatuated with typing Cancel. The way Toggles are set up with HotKeyNet, calling them with another hotkey {in this case, 2} tells it to cycle through all the commands in the toggle from start to finish until the toggle is complete. We don't want to do that, obviously. Adding a <Cancel> tells HKN to execute 1 key in the toggle and cancel any remaining action. HKN will keep track of what toggle was last sent and proceed to the next one in line the next time you hit the button.
You can also write the hotkey directly as a toggle instead of calling it from another hotkey. In that case, you wouldn't need all the cancels.
Code:
<Hotkey 2>
<Toggle>
<SendLabel w1, w2, w3, w4>
<Key 2>
<Toggle>
<SendLabel w1, w2, w3, w4>
<Key Numpad1>
etc etc etc
But, this will only work if you don't use any If statements in your hotkey. My 2 and 3 hotkeys have If commands in place for mouseover actions, therefore I can't call toggles directly.
Step 3
Make your macros. I'm sure you don't need any help with that from me, but I'll post my current ingame macros.
Prot Paladin
Macro 1 - Single-target tanking {key 2}
Code:
/castsequence reset=combat Crusader Strike, Judgement, Crusader Strike, Crusader Strike, Shield of the Righteous
/startattack
Macro 2 - "Proc" key for both single and AOE tanking {numpad2}
Code:
/castsequence Holy Wrath, Avenger's Shield
Macro 3 - AoE Tanking {key 3}
Code:
/castsequence reset=combat Hammer of the Righteous, Judgement, Hammer of the Righteous, Crusader Strike, Shield of the Righteous
/startattack
Resto Shaman
Macro 1 - Shock Spam {key 2 and 3}
Code:
/castsequence [@focustarget] reset=3 Flame Shock, Earth Shock, Earth Shock
Macro 2 - Party Riptides {numpad2}
Code:
/targetparty
/cast Riptide
Macro 3 - Self Riptide {numpad3}
Code:
/cast [@player] Riptide
Enhancement Shammy
Macro 1 - Single-target DPS {key 2}
Code:
/assist focus
/castsequence [@focustarget] reset=combat Stormstrike, Lava Lash
/startattack
/petattack
Macro 2 - Shocks for Single and AoE {numpad1}
Code:
/castsequence [@focustarget] reset=combat Flame Shock, Earth Shock, Earth Shock
Macro 3 - AoE DPS {key 3}
Code:
/assist focus
/castsequence [@focustarget] reset=combat Magma Totem, Stormstrike, Lava Lash, Stormstrike, Lava Lash
/cast Fire Nova
/startattack
/petattack
Ret Pally*
Macro 1 - Single Target DPS {key 2}
Code:
/assist focus
/castsequence reset=5 Seal of Truth, null
/castsequence [@focustarget] reset=5 Judgement, Crusader Strike, Crusader Strike
/startattack
Macro 2 - Single Target and AoE "Procs" {numpad1}
Code:
/castsequence Templar's Verdict, Holy Wrath
Macro 3 - More ST and AoE "procs" {numpad2}
Code:
/cast Templar's Verdict
/cast Holy Wrath
Macro 4 - AoE DPS {key 3}
Code:
/assist focus
/castsequence reset=combat Seal Of Righteousness, null
/castsequence [@focustarget] reset=5 Judgement, Divine Storm, Crusader Strike
/startattack
Unholy DK **
Macro 1 - Single Target "Setup"
Code:
/castsequence reset=target/3 Icy Touch, Plague Strike, Festering Strike, Pestilence, Scourge Strike, null
/cast Dark Transformation
/petattack
Macro 2 - ST Spam
Code:
/castsequence Scourge Strike, Festering Strike, Death Coil
Macro 3 - AoE "Setup"
Code:
/castsequence reset=target/3 Plague Strike, Icy Touch, Blood Boil, Pestilence, Scourge Strike, null
/cast Dark Transformation
/petattack
Macro 4 - AoE Spam
Code:
/castsequence Blood Boil, Icy Touch, Scourge Strike
/cast Death Coil
* Yeah, I have essentially the same thing going on twice on my Ret. The reason for this was I was either casting TV all the time with 1 HP, or it was hanging all the time on Holy Wrath. Using the cast sequence + the additional button with 2 /casts gave me the best balance of 2+HP TVs without too much time sitting on 3HP.
** My husband liked my setup so much that he wanted to use the same thing for his DK, so I set him up with a solo HotKeyNet code that lets him go back to the days of 1-button spam.
Connect With Us