[REC] Shadowpriest recommends Mindbender while it's on cooldown when talented
Closed this issue · 11 comments
Before You Begin
- I confirm I am using the latest version of the addon (outdated versions may have problems that were fixed on the newest release).
- I confirm I am playing on official Blizzard servers (not private servers).
- I checked for an existing, open ticket for this issue and was not able to find one.
- I have updated the issue title to clearly describe the problem.
- I am reporting an issue with the default specialization priority (not a custom or imported priority).
Specialization
Priest - Shadow
Describe the Issue
When talented into Mindbender, the rotation suggests casting it while it's on cooldown.
How to Reproduce
Fight anything with Mindbender and cast Mindbender, it will continue suggesting casting it while it's on cooldown.
What is your information source?
APL Conditions - I found a possible typo or mistake
Snapshot (Link)
Raidbots Sim Report (Link)
https://www.raidbots.com/simbot/report/wZkdyR8HC4W2AeiSJLXciS
Additional Information
No response
Contact Information
No response
Nevermind, this looks fixed with 11.2.0-1.0.0d. Sorry this came out while I was writing ticket.
Going to leave this open, because I think it's the /reload ui that fixed it.
Can you recreate it by swapping hero tress from voidweaver to archon without reloading?
I logged in fresh as Voidweaver (no /reload) and could not reproduce it. I switched to Archon (w/ Mindbender still and no /reload) and still was unable to reproduce it.
This might've already happened last patch, it might be something similar to #4854 as i've had a similar issue that it just didn't detect Mindbender being skilled as Discipline (and many other spells not being recommended, like SW: Pain).
I didn't update the existing ticket because i was hoping that this new patch fixes it automatically. Sadly I also haven't been able to reproduce it but it happened while swapping Specs / Talent Trees. But will keep a lookout again this time.
Alright the way i've triggered the bug now: Went into a delve with this Talent Build:
CIQAAAAAAAAAAAAAAAAAAAAAAMDmZAAAAAAAAAAAAYM2YMzMLbbMzYmZmZZwsxMzMjZjBGjhZxsN1MDWgZmBACwsNbLBzGLA2mB
Did everything until last boss, then swapped to
CIQAAAAAAAAAAAAAAAAAAAAAAMMMGAAAAAAAAAAAAjxygZmZbZjZmZmZmZZwsxMzMjZjBGjhZxsN1MDWwMAzsZZ0sZAIjxCAsNA
(just as Shadowfiend recover CD ran out) which triggered the bug.
So maybe combat / buff related?
Hrmm, if you can trigger it again can you get a snapshot and add to the ticket? I haven't been able to reproduce it again.
Yeah alright i'm able to trigger it somewhat reliably with the above method. Use Shadowfiend so it goes on CD, then swap to the Mindbender spec just as it gets off cooldown. If it doesnt immediately appear bugged, try the rotation steps and cast Mindbender manually.
Some debug info:
changing the code to add debug info
spec:RegisterHook( "TALENTS_UPDATED", function()
Hekili:Print( "TALENTS_UPDATED: Resetting spec abilities and cooldowns." )
talent.shadow_crash = talent.shadow_crash_targeted.enabled and talent.shadow_crash_targeted or talent.shadow_crash_ground
-- For ability/cooldown, Mindbender takes precedent.
local sf = talent.mindbender.enabled and "mindbender_actual" or talent.voidwraith.enabled and "voidwraith" or "shadowfiend"
local oldShadowfiend = class.abilities.shadowfiend.id
local oldMindbender = class.abilities.mindbender.id
local oldCdShadowfiend = cooldown.shadowfiend.id
local oldCdMindbender = cooldown.mindbender.id
local oldCdFiend = cooldown.fiend.id
class.abilities.shadowfiend = class.abilities.shadowfiend_actual
class.abilities.mindbender = class.abilities[ sf ]
rawset( cooldown, "shadowfiend", cooldown.shadowfiend_actual )
rawset( cooldown, "mindbender", cooldown[ sf ] )
rawset( cooldown, "fiend", cooldown.mindbender )
Hekili:Print( format("TALENTS_UPDATED: Old data: Shadowfiend is %s, Mindbender is %s", oldShadowfiend, oldMindbender ) )
Hekili:Print( format("TALENTS_UPDATED: New data: Shadowfiend is %s, Mindbender is %s.", class.abilities.shadowfiend.id, class.abilities.mindbender.id ) )
Hekili:Print( format("TALENTS_UPDATED: Old data: Shadowfiend cd is %s, fiend cd is %s, mindbender cd is %s", oldCdShadowfiend, oldCdFiend, oldCdMindbender ) )
Hekili:Print( format("TALENTS_UPDATED: New data: Shadowfiend cd is %s, fiend cd is %s, mindbender cd is %s", cooldown.shadowfiend.id, cooldown.fiend.id, cooldown.mindbender.id ) )
Hekili:Print( format("TALENTS_UPDATED: sf is %s", sf ) )
-- For totem/pet/buff, Voidwraith takes precedent.
sf = talent.voidwraith.enabled and "voidwraith" or talent.mindbender.enabled and "mindbender" or "shadowfiend"
class.totems.fiend = spec.totems[ sf ]
totem.fiend = totem[ sf ]
pet.fiend = pet[ sf ]
buff.fiend = buff[ sf ]
end )Switching to voidweaver:
Casting SF and then Switching to Archon:
Sadly i wasn't able to trigger it again with the "trick". maybe this might give some insights. I'll keep trying.
Okay it looks like the cooldown ids are not properly updated:
above is without mindbender, below is with specced mindbender, bug is appearing.
So it still refers to the old shadowfiend id instead of the mindbender id on the cooldown table (unless i misread it).
edit: this is after a reload with the spec:
looks like cooldown.mindbender_actual.id gets tainted somewhere?
This issue is really, really hard to recreate and test. I'm adding coverage for 1 more usecase, and going to add some snapshot debug prints for future reports/testing.
