Sticky Spells
Opened this issue · 9 comments
I know i have mentioned this before but i seem to have an issue where spells are getting stuck all the time. I thought maybe an issue with spellqueue and while i put this down to 0 to fix most of it, it's still happening so i grabbed a GCD dump.
Not sure if you would be able to see what might be happening here to cause it. I have changed random speed for the keypresses, i have tried random sequences (not too bad) but sequential seems to cause this all the time for me.
In here is the macro i am trying to use. Happens on all. From line 77 to 248 i am stuck casting Shadow Bolt while GCD is free too.
Just to add context to it, i have uploaded a video...
While this might not help for the time being, just a small update
I had a look into more sticky spell stuff and where i am getting stuck does seem to be around the instants like @EnixLHQ mentioned previously. I was building a Fury sequence and i get stuck a lot on Furious Slash which was at the bottom of my priority sequence. I noticed if then instant isat the bottom of a macro or around 2nd last then it just loops on that spell. Might also be why i get stuck between Shadow Bolt and Demonic Empowerment since DE can cause a free SB
I can mostly alleviate it by moving the instant a little more up the list
I will check your other loop stuff that was mentioned
I'll add what I know about this to try to narrow it down. This might get long.
First, with my DH Havok macro. I have two versions. The first one is the older version, where the body of the macro is 23 lines. All of the spells repeat multiple times, one each line. In the KeyPress section is a GCD ability with a CD modded behind the ALT key. In the KeyRelease sections is a NON-GCD ability with a CD not locked behind a mod key at all.
The second version is the newer version where I refined the macro. The body is only 7 lines, though 5 of them are castsequences consisting of two spells each. In KeyPress there are 3 spells all on the GCD, all behind some sort of lockout. One is a castsequence that ends in null, the second is an ALT mod, and the last is a SHIFT mod. KeyRelease is a NON-GCD ability with a CD that is not locked out at all.
Most users are reporting that the second macro produces considerable gains and not a lot of issues. However, myself and at least two others do mention that it will sometimes hang during combat, acting as if it has totally forgotten most of the spells. These aren't the spells that change during Metamorphosis, in fact those appear to remain working. But ones that are skipped are ones on the GCD and have CDs.
Even though the same skills appear in the first macro, it does not have this problem. It is as though the sheer number of times an ability appears (8 times for one, 5 for another, both of which are ones that drop in the second macro) make up for one or two of them no longer registering. No one has ever reported the first macro hanging or getting stuck on a spell or set of spells.
Is it possible that something is causing a spell or set of spells to become temporarily blacklisted or otherwise blocked? Where if you had multiple lines of that spell the others could still get through?
The other issue is with my Shadow Priest macro. This one is likely a different occurrence. The macro has Vampiric Touch, a spell on the GCD that has a cast time, in two places in the KeyPress section. The first mention it is locked behind an ALT mod. The second a reset=target and null at the end of the cast sequence. These are the only places it exists, the rest of the macro doesn't mention Vampiric Touch at all. However, when used in real combat, not a test dummy, Vampiric Touch can lock itself to being the only ability spammed. Unlike the DH macro this can be fixed just by waiting for one GCD and then starting again, even though combat never ended. But, recently there seems to be a higher occurrence of getting stuck.
KeyPress
/castsequence [mod:alt] Vampiric Touch
/castsequence reset=target Vampiric Touch, null
Since with this macro this is the only area it hangs, and the only instance of this spell in the macro, it's easy to narrow it down to these lines. Both lines have something that should prevent it from casting. The second line has two. But it'll act like VT is the only spell that exists.
I am seeing problems where people put this in KeyPress - /castsequence reset=target Vampiric Touch, null
The null starts locking up the rest of the macro at random times.
null was never a proper termination. It was just something used to stop the advancement of the sequence because wow couldn't recognise and parse it.
Anything that wow cannot use could be swapped out with the same effect as null such as /castsequence reset=target Vampiric Touch, nil or /castsequence reset=target Vampiric Touch, SweatyHobbitFeet would all have the same effect as null... just null makes more sense and easier to use.
but since it's LUA "technically" it should be /castsequence reset=target Vampiric Touch, nil
It's been in use since ~2011 maybe earlier as a way to stop a castsequence from proceeding but "shouldn't" stop lockup a whole macro after that, it's been used for affliction for a long time
Not sure if this should remain open. There are other users/cases of where this happens. I know it can and does happen in the wows own macro system where certain lines are not progressed at all as in
/cast Shadow Bolt
/cast Demonbolt
as it always resets back to Shadow Bolt after the GCD is over
Don't think this can be fully investigated even with all the debugging switched on as other spells are free to cast and not in GCD but sticks on 1 skill only for around 7 casts before resuming... There is nothing repeatable to cause it to happen 100% of the time