Some things not mentioned on Wowpedia (https://wowpedia.fandom.com/wiki/MACRO_castsequence
).
Timer reset conditions start over when an ability in the castsequence is triggered.
Let’s say you want a macro to cast Piercing Howl
by default, or Hamstring
if it’s on cooldown. So you write:
#showtooltip
/castsequence reset=30 Piercing Howl, Hamstring
If you cast Piercing Howl
, then cast Hamstring
within the 30 second reset window, the sequence will reset back to Piercing Howl
(and it’ll still be on cooldown). It doesn’t just “default to Hamstring
until the reset condition is met.”
Attempting to get around this, you might try the following:
#showtooltip
/castsequence reset=30 Piercing Howl, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring, Hamstring
This appears to fix the issue, at first. But what you’ll quickly notice is that the reset=30
starts over every time you cast Hamstring
, at any phase of the castsequence. This means that you’ll need to wait 30 seconds after casting your latest Hamstring
before the reset condition will trigger and return the sequence back to Piercing Howl
. OR, you’d have to finish casting Hamstring
as many times as you wrote it into the sequence before the sequence naturally loops back to the beginning without having to rely on the reset=30
condition at all.
The “reset=[number]” condition won’t perfectly align with your actual ability cooldowns.
Whether it’s due to server latency or haste modifiers, the reset=[number]
timer conditional rarely matches up with the cooldown you’re attempting to use it with.
There is no skipping in castsequence
Let’s imagine 3 abilities. Ability A has a cooldown of 30 seconds, ability B has a cooldown of 8 seconds, and ability C is a filler with no cooldown. Some folks might want to have a single button macro which rotates through the 3 different abilities, using whichever one is available (then mashing the button over and over again):
#showtooltip
/castsequence A, B, C
The first run through is fine. It casts A, then B, then C. Upon returning, A is still on cooldown. Activating the macro again simply provides an error stating that A is on cooldown. The castsequence does not move forward. You are stuck until A is off cooldown.
Your Performance and Flexibility Dimishes
Let’s look at a more feasible castsequence macro example:
#showtooltip
/castsequence reset=target Moonfire, Sunfire
Moonfire hits a single target, so tab target + Moonfire is still permitted without having to cast Sunfire every time. Sunfire can simply be cast by triggering the macro twice on the same target. Fortunately, Sunfire hits multiple targets so we won’t have to trigger the macro on the same target very often. And neither ability has a cooldown, so we avoid a lot of the castsequence hassle associated with them.
However, the issues we start to see after some use are:
- Moonfire and Sunfire have different durations. Sunfire often needs to be refreshed before Moonfire, but it’ll require you to refresh Moonfire prematurely before Sunfire is available to cast through the macro.
- When running legacy content, it’s easier to cast a single Sunfire than multiple Moonfires, but most targets will die by the first Moonfire (meaning you’ll never get to cast Sunfire because of the reset condition).
You might think you’re clever and come up with the following:
#showtooltip
/castsequence [mod] Sunfire; reset=target Moonfire, Sunfire
The mod
option would allow you to press Ctrl
, Alt
, or Shift
to manually trigger Sunfire regardless of the current phase of the normal castsequence. However, you could still wind up with scenarios where what you REALLY want to cast is Moonfire, but Sunfire is the only option regardless of whether or not you’re pressing a mod
key. So the simplest (and likely best) iteration of this would be to ditch the castsequence altogether:
#showtooltip
/use [mod] Sunfire; Moonfire
If you’re really strapped for action button slots, castsequence macros can still be used. You just have to realize some of the quirks and nuances that come with them. Here’s one I’ve used in the past for a Resto Druid with the Germination talent selected:
#showtooltip
/castsequence [@mouseover,help,nodead][help,nodead][dead][noexists]reset=target Rejuvenation, Rejuvenation, Lifebloom; reset=target Moonfire, Sunfire