Please explain: Cast vs Castsequence and Reset Time GS

Let’s start with my question about Castsequence and Reset Time: I assume that reset time is used when a spell has a duration of significant length (e.g., 15sec, 20sec, etc.) and you don’t want to recast it before that time is almost up. Theoretically, the spells that follow the initial spell in the castsequence are those that make up your typical rotation AND it seems, are those that you’d cast before your initial spell is recast AND the sum of whose CDs and GCDs is about the duration of the initial spell. Is all this correct so far?

Does that mean that if I don’t fill the cast sequence with enough spells to equal the reset time, that no spells in that sequence will proc until the reset? I assume the reset timer starts when the initial spell is activated. How’m I doing?

OK: Then how do the spells you place within the castsequence vary from those you place on separate lines within the macro either before of after the castsequence? How do macros that contain more than one castsequences work? I’ve seen macros where spells are contained inside the castsequence and then again outside on separate cast lines.

Sorry, that is a common misconception. Reset time is based on the last time the macro tried to activate that line. Further the way GS works reset target doesn’t work correctly so we drop in reset time but you must stop pressing the macro button for the duration of the time for it to have any effect. So, if reset time actually worked, correctly inside of GS what would happen is that the first time that cast sequence was activated it would start a time and when it reached that time limit it would reset the pointer back to the first position, this is not the behaviour in GS. Instead it resets after you stop pressing the macro for that length of time

[quote]Does that mean that if I don’t fill the cast sequence with enough spells to equal the reset time, that no spells in that sequence will proc until the reset? I assume the reset timer starts when the initial spell is activated. How’m I doing?[/quote] See above

[quote]OK: Then how do the spells you place within the castsequence vary from those you place on separate lines within the macro either before of after the castsequence? How do macros that contain more than one castsequences work? I’ve seen macros where spells are contained inside the castsequence and then again outside on separate cast lines.
[/quote]

Cast sequences move forward one unit each activation attempt then move mack to the beginning or reset based on timeout or a conditional such as target switch (not functioning presently under GS)

so castsequence=a,b,c,d
castsequence=x,y,z
cast sequence=p,d,q

Would result in attempts to cast a,x,p,b,y,d,c,z,q,d,x,p,a,y,d,b,z,q,c,x,p and so on

It would be nice if blizzard allowed us to cast a every 15s, but it does not. instead if you want to do that you create a cast sequence as long as your longest duration spell and create a timeline and generate a rotation accordingly.

The beauty of GS is that it allows a fall through of casts/castsequence but the pain of that same system is that it allows a fall through of cast/castsequence so where before a macro without a reset conditional might hang on a spell with a long CD because the spell was not ready, now the macro continues.

Thanks, Robert, that was an excellent tutorial and response to my question. I appreciate the time it took to clearly explain. So, if I parse each line in the following GS which I’m trying to use, I see that the macro will run through all of the spells in single item castsequences (i.e., Ice Barrier, Ice Ward, Comet Storm) and then it will ignore the reset=combat/target item, but proc the spells that follow it (i.e., Frostbolt, Frostbolt, etc.). Continuing beyond that huge castsequence, it will proc Frozen Orb, Ice Nova and then into the last castsequence before the Post-macro casting Deep Freeze, Ice Lance, etc. It will go into the Post Macro and attempt the 4 casts there. Right so far? Now here’s where it’s tricky. It now attempts to go back to the beginning, but since I’ve been continually mashing the key, it’ll skip all the lines with “reset=[time]” in them … right? Will it skip the line with reset=combat/target or not? If it skips it, it will next cast Frozen Orb and Ice Nova and move into the Post macro. So if a fight lasts more than 30 seconds, then all of the casts following reset= will never proc? And further, if the next target is less than 20 seconds after the last one dies, then again most of this GS will not proc? If most of what I’ve said is true, how would you re-write this GS to work?

Sequences[‘Frosty’] = {
PreMacro = [[
/targetenemy [noharm][dead]
]],
[[/castsequence reset=25, Ice Barrier]],d
[[/castsequence reset=20, Ice Ward]],
[[/castsequence reset=30, Comet Storm]],
[[/castsequence reset=combat/target Frostbolt,Frostbolt,Frostbolt,Ice Lance,Ice Lance,Frostbolt,Frostbolt,Frostbolt,Frostbolt,Ice Lance,Ice Lance,Frostbolt,Frostbolt,Frostbolt,Frostbolt,Ice Lance,Ice Lance,Frostbolt,Frostbolt,Frostbolt,Ice Lance,Ice Lance]],
[[/cast Frozen Orb]],
[[/cast Ice Nova]],
[[/castsequence reset=30 Deep Freeze,Ice Lance,Ice Lance]],
PostMacro = [[
/startattack
/use [combat]Ice Floes
/use [combat]Icy Veins
/use [combat]Mirror Image
/use [combat]Frozen Orb
]],
}

GS does not honor the reset conditional, so if the command is ‘/castsequence reset=not a better love story than twilight, Frostbolt, Frostbolt Frostbolt, Ice lance, Ice lance’, then you might as well have written ‘/castsequence Frostbolt, Frostbolt Frostbolt, Ice lance, Ice lance’,

Well, I would lose the ‘d’ on the end of line #5 and use " instead of [[ ]] but the 2nd part is stylistic.

In all honesty I do not play my mage enough to know. If the CD on the first 3 is close to the reset time, there is no reason to change them as they would only cast when they are off CD. OK so I looked on wowhead and it says: Comet Storm is Instant with a 30sec cooldown so you just want it to fire every time it is off CD same with the other 2. I would simply put them in the premacro area or as priorities 1,2 & 3 as “/cast Ice Barrier” etc. Are they on the GCD? if not definitely put them in premacro so the script tries to pop them at every iteration.

It appears as though you want to cast frostbolt 3x -> then ice lance 2x, then frost bolt 4x -> ice lance, frost bolt 4x -> ice lance 2x, frostbolt 3x -> then ice lance 2x

So you are building up charges then releasing them so that is a great use for the cast sequence part

Let me know if I am making sense, I had a doc appt today and got some weird news so I have been processing that rather than WoW today. Sorry.

Thanks, again! Hope all is well for you!

I don’t know if im writing this in the right place but i hope some one can help, been trying to find a good Affliction macro but the isnt any great ones so i decided to do my own, i kinda know what im doing but not a 100% sure. This is what I got

Sequences[‘AfflictionTest’] = {
StepFunction = [[
limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
/petattack [@target,harm]
]],
“/castsequence reset=target Unstable Affliction,Corruption,Agony”,
“/cast [combat,nochanneling]Seed of Corruption”,
‘/cast Drain Soul’,
‘/cast [combat,nochanneling] Dark Soul: Misery’,
‘/cast [combat,nochanneling] Command Demon’,
‘/cast [mod:shift] Life Tap’,
‘/cast [mod:ctrl] Haunt’,
PostMacro = [[
/startattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

It fires off random Drain Souls and doesn’t do my Agony,Corruption or Unstable in the right order. Also is the any way to make it so my dots will only fire off a few secs before their duration is up?