Hekili Priority Helper

Hekili Priority Helper

53M Downloads

[REC] Shadowpriest recommends Mindbender while it's on cooldown when talented

Closed this issue · 11 comments

commented

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)

https://pastebin.com/fLBhghCL

Raidbots Sim Report (Link)

https://www.raidbots.com/simbot/report/wZkdyR8HC4W2AeiSJLXciS

Additional Information

No response

Contact Information

No response

commented

Nevermind, this looks fixed with 11.2.0-1.0.0d. Sorry this came out while I was writing ticket.

commented

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?

commented

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.

commented

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.

commented

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?

commented

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.

commented

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.

https://pastebin.com/4nGGYWCm

Image

commented

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:

Image

Casting SF and then Switching to Archon:

Image

Sadly i wasn't able to trigger it again with the "trick". maybe this might give some insights. I'll keep trying.

commented

Okay it looks like the cooldown ids are not properly updated:

Image

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:

Image

looks like cooldown.mindbender_actual.id gets tainted somewhere?

commented

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.

commented

Should be fixed in next release.