-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[REC] Frost Mage Winter's Chill debuff tracking, IsInFlight, virtualQueue, realQueue #4267
Comments
Some changes have been made for projectiles. After the next addon update, if it's still not working right just comment and I can reopen the ticket. |
@syrifgit Thank you for responding. I did some more testing (version from this commit 5e1c050), this time also using /etrace and WA (combat log event unfiltered), and I think I found why I saw such weird behavior from state.realQueue. Spamming instant spell casts (Ice Lance, Flurry, Comet Storm) while GCD is up triggers SPELL_CAST_FAILED subEvent in CLEU.
this is /etrace when casting Ice Lance, last 3 lines are when I spammed Ice Lance when GCD was still up Three casts of Ice Lance while spamming Ice Lance button In a situation where we have 2 stacks of Winter's Chill
So in normal fight encounters where people tend to spam abilities to queue them right after spell casts (Frostbolt, Glacial Spike, etc.) will make Hekili suggest spells that would rely on the target having the Winter's Chill debuff. I've added Another thing with Winter's Chill debuff (state.debuff.winters_chill.stack) is that it is reduced on Ice Lance cast (SPELL_CAST_SUCCESS) but it should be on projectile impact like with Frostbolt |
Thanks for the extended analysis here.I think the SPELL_CAST_FAILED bit is the most significant piece; Ice Lance is instant so SPELL_CAST_FAILED will never fire for things like movement, just failure to start casting. I'm going to test functionality with that section removed. |
can this be something that can be applied to all of those specs with instant casts like IL that have a similar sequence as frost? Would be a huge improvement overall if it is |
Looking at the CLEU_HANDLER function, you have access to the abilities table. Maybe adding a check to see if a spell is an instant cast would solve this problem? something like
|
I unfortunately cannot help from a tech standpoint because I have 0 programming experience, I was just the one sending over the frost feedback. I would say that this could be huge especially for specs like fire mage, for example, where the addon might work way better if we can find an order for instant casts like IL, or even queuecasting situations like what happens with flurry |
One sidenote is that I dont know how this would work on proc-instant spells like pyroblast. I'm not an expert but this could also be affecting the phoenix flames/pyroblast and maybe even others that seem inconsistantly included/excluded from the "hot_streak_spells_in_flight". |
Before You Begin
Spec
Mage - Frost
Describe the Issue
Addon sometimes behaves like the target still has Winter's Chill stacks, thus displaying wrong spells to cast.
Because Winter's Chill stacks aren't removed when a spell is cast but on spell impact, Frost Mage module uses several ways to predict remaining Winter's Chill stacks.
Most spells have an on impact function with
removeDebuffStack( "target", "winters_chill" )
and also function to calculate remaining Winter's Chill stacks if spells are in flight
What I observed is that the above function return value changes rapidly, jumping back and forth between values until the spell actually hits the target.
So I've made weakaura that prints out on every frame:
What I observed is that when spamming instant cast like Ice Lance
Now because of problems in that 2nd point, if you're casting Frostbolt/Glacial Spike and start spamming Ice Lance to queue it right after Frostbolt/Glacial Spike, Hekili will report remaining_winters_chill = 2 or 1 (with both Frostbolt and Ice Lance in flight)
After testing with Bloodlust/Time Warp, it appears that if GCD is low enough, Ice Lance will appear in the virtualQueue, but spamming Ice Lance still removes it from both virtualQueue and realQueue before it lands on the target.
How to Reproduce
Snapshot (Link)
Snapshot was taken when 2nd Ice Lance was still in flight and didn't hit the target
https://pastebin.com/Pz5LUJhW
Raidbots Sim Report (Link)
No response
Additional Information
No response
Contact Information
No response
The text was updated successfully, but these errors were encountered: