Hekili Priority Helper

Hekili Priority Helper

44M Downloads

[Ret Pally — Templar] [Priority Issue] [Hammer of Light being recommended before wake is cast but NOT after ]

Rauthuzad opened this issue · 47 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I am not playing on a private server.
  • I checked for an existing, open ticket for this issue and was not able to find one.
  • I edited the title of this issue (above) so that it describes the issue I am reporting.
  • I am reporting an issue with the default priority included with the specialization (imported or edited priorities are not supported).

Spec

Paladin - Retribution

Describe the Issue

For my ret pally. When I press execution sentence, then wake of ashes, I will be recommended to press hammer of light, but only before I have cast wake. Once I press wake, hammer of light disappears from the que until the buff expires completely. This is definitely a DPS loss to not use this ability at all. I hope I have uploaded the correct snapshot.

How to Reproduce

  1. enter the game as a retribution paladin
  2. select the templar talent build
  3. to be safe try importing the talents from the snapshot I linked
  4. use any relevant trinkets
  5. use execution sentence
  6. observe recommendations
  7. use wake of ashes
  8. observe recommendations
  9. continue rotation
  10. observe recommendations

Snapshot (Link)

https://pastebin.com/qtHnY5qE

Raidbots Sim Report (Link)

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

Additional Information

No response

Contact Information

Discord ID: rauthuzad

commented

2 snapshots below are it working properly.
https://pastebin.com/CBpvj3a3 Just used WoA and 2 HoL in queue.
https://pastebin.com/upmNEH9a Used first HoL. Free HoL up and working.

This snapshot is of it appearing and instantly disappearing.
https://pastebin.com/td8yrsGF

commented

The normal Hammer of Wrath works again, but the proc after 60 stacks still doesn't work.

Snapshot where it should have suggested Hammer of Wrath after consuming 60 stacks: https://pastebin.com/W527g2SJ
Snapshot where I have 60 stacks (the unusual situation): https://pastebin.com/hkDDgjpx

commented

I need a way to differentiate the same spell ID (433674) when it is stacking vs. when it is enabling the free cast...

A few tests:

  • When the free Hammer of Light is available (Light's Deliverance was consumed):
    /dump IsPlayerSpell(433732)
  • When Hammer of Light is available just after casting Wake of Ashes:
    /dump IsPlayerSpell(427453)
  • When Light's Deliverance is stacking but sub-60 stacks:
    /dump C_UnitAuras.GetPlayerAuraBySpellID(433674)
  • When Light's Deliverance reached max stacks and tooltip says "Ready to deliver Light's justice":
    /dump C_UnitAuras.GetPlayerAuraBySpellID(433674)
commented

I'm not 100% sure what I did, but I had it working locally. It would pop up both during the regular window and outside the window (hitting 60 while both buttons are on CD).

For during the window, I made casting hammer with 60 stacks apply the "free" buff. Outside of that, it just kinda figured it out on its own

commented
  • When the free Hammer of Light is available (Light's Deliverance was consumed): /dump IsPlayerSpell(433732)

Same as below, seems to never evaluate to true no matter what
image

  • When Hammer of Light is available just after casting Wake of Ashes: /dump IsPlayerSpell(427453)

Doesn't seem to ever be true. But I know the API can do that with this function, even if it is literally true, it still returns false.
image

  • When Light's Deliverance is stacking but sub-60 stacks: /dump C_UnitAuras.GetPlayerAuraBySpellID(433674)

image
image

  • When Light's Deliverance reached max stacks and tooltip says "Ready to deliver Light's justice": /dump C_UnitAuras.GetPlayerAuraBySpellID(433674)

image
image
image

commented

Yes it correctly functioned until a UI reload.

commented

Not sure if this is new but https://pastebin.com/h7Tq1T9a. Hammer of Light recommended while on cool down. Was about 20 stacks at the time.

commented

@Bingo176 Please try this macro in-game and see if it behaves properly until UI reload.

/run Hekili.Class.auras.lights_deliverance.max_stack = 60

commented

Alright, v11.0.2-1.0.18 might fix this by relying on the stack value, but I can't test it myself.

commented

For me it still doesn't work with v11.0.2-1.0.18b.
Here is a snapshot: https://pastebin.com/YJjrcz8A

It looks like your new APL entry "generators 1" checks for hammer_of_light_ready even though it should only check hammer_of_light_free:

        22.  hammer_of_light ( generators - 1 )
        The action (hammer_of_light) is unusable at (0.00 + 0.00) because required buff (hammer_of_light_ready) not active.

edit: On further testing, I saw the free Hammer of Light show up for a short moment, before it was gone again.
edit 3: I can now confirm this. By carefully looking at the Hekili display, I will see the free Hammer of Light for about 0.5 seconds each time before it is replaced by another ability.

edit 2: If I wait for the 60 stacks (without consuming them), I even see a correct display of 2 Hammer of Lights back to back. But as soon as I use the first one, the second is not recommended any more. I assume this is because the handler function removes the hammer_of_light_free buff even if Hammer of Light was used "normally" (from hammer_of_light_ready). The order of the if statements in the handler needs to be switched.
But since this isn't happening during normal gameplay I can't explain if/why this would also fix the problem if the stacks are consumed immediately.

commented

https://pastebin.com/9LtYgDtx

Here is the free HoL recommended in the snapshot. But it disappears instantly.

commented

In these last two snapshots, I can't tell if Light's Deliverance is ticking over to 1 stack when it is triggering the free Hammer of Light (one of you shows 1 stack of LD, one shows 60). If it does tick over to 1 stack, I need some other way to differentiate it.

I assume this is because the handler function removes the hammer_of_light_free buff even if Hammer of Light was used "normally" (from hammer_of_light_ready). The order of the if statements in the handler needs to be switched.

No, hammer_of_light_ready is a fake buff and it's only applied when hammer_of_light_ready is not active.

@Bingo176 @cremor (Updated)
Please install 1.0.18c and grab the following snapshots:

  • Take a snapshot with Wake of Ashes available and 60 stacks of Light's Deliverance (ALT-SHIFT-[ by default)
  • Use Wake of Ashes
  • Take a snapshot with Hammer of Light available and 60 stacks of Light's Deliverance
  • Use Hammer of Light
  • Take a snapshot of Hammer of Light when it is free because of Light's Deliverance
commented

https://pastebin.com/p0xScsYT 60 stacks of Light's Deliverance
https://pastebin.com/y7Mb023a HoL Available and 60 stacks
https://pastebin.com/sYDvN5sc Free HoL available (meaning the 60 stacks were consumed but never got the actual recommendation)

Note at some points during getting the snapshots HoL kept breaking until a UI reload. Meaning it would show Wake then HoL in the queue but when you hit Wake the HoL would never prompt.

commented

https://pastebin.com/VjuUPfQC 60 stacks
https://pastebin.com/HGxsSfqx HoL Available and 60 stacks
https://pastebin.com/S6BRJvae Free HoL available

This was one continuous chain with 3 quick pauses compared to above I missed the window. Not sure if it helps or not.

commented

I'm very confused -- none of my debugging information came through in the snapshots.

commented

Uggh, I fixed the debugging information. Please get 1.0.18d and try again. Sorry for the confusion on my part.

commented

https://pastebin.com/iLbdXeEC 60 stacks
https://pastebin.com/dMssuqDE HoL Available and 60 stacks
https://pastebin.com/eAtwNsTW Free HoL available

commented

Great. This helped to simplify a solution. Try 1.0.18e and let me know if it works as expected.

commented

https://pastebin.com/uQba30qd HoL available and not in recommendation queue. 18e

commented

I also noticed this behavior after updating the add-on yesterday morning.

commented

Looks like wrong spellID? I think it was working before. @Hekili

Castable spell: https://www.wowhead.com/spell=427453/hammer-of-light#comments
Spell that is triggered by casting that: https://www.wowhead.com/spell=429826/hammer-of-light

image

commented

I can confirm that this was broken 2 days ago with 5c61d30

If I change line 1117 of PaladinRetribution.lua to if IsActiveSpell( 427453 ) or IsActiveSpell( 429826 ) then (like it is now done in PaladinProtection.lua) then it works again.

commented

I need to support both the free cast and the standard ready cast.

    if IsActiveSpell( 429826 ) then applyBuff( "hammer_of_light_free" ) end
    if IsActiveSpell( 427453 ) then applyBuff( "hammer_of_light_ready", 12 - ( query_time - action.wake_of_ashes.lastCast ) ) end

If someone can test that, this may cover both cases.

commented

Thanks so much y'all. Posting hopefully a little cleaner snapshot, this time with the 4 piece equipped, in case that helps.

https://pastebin.com/ufutfD9E

commented

If someone can test that, this may cover both cases.

@Hekili I saw that you've implemented this in v11.0.2-1.0.17. The normal Hammer of Light works, but the free one from getting to 60 stacks of Light's Deliverance isn't shown as a suggestion.
Snapshot: https://pastebin.com/DyYugXiU
In this snapshot I just went over 60 stacks of Light's Deliverance and Hammer of Light was usable.

For Prot the same seems to be true. Snapshot: https://pastebin.com/i4f4JBag

commented

I can test it in about 20 hours.
But a comment from reading the code: Will this work if Wake of Ashes is on cooldown when 60 stacks are reached? Will Hekili always "see" the 60 stacks? Won't they be consumed too fast?

commented

Okay, I think I see.

The interaction is that if you cast hammer of light while the 60 stacks are up, you can cast hammer of light again.

I think the order of operations here is

Wake of ashes handler gives hammer_of_light_ready

hammer of light handler removes hammer_of_light_ready, and if lights_deliverance (433674) stacks = 60, then it applies the hammer_of_light_free buff

I have a test fix here if you want to try it: https://github.com/syrifgit/syrif-hekili/blob/thewarwithin/TheWarWithin/PaladinRetribution.lua

Just copy paste the text from that file and save it in your file in your addon

commented

Can you get a snapshot of these scenarios easily?

1 - after getting 60 stacks for the free cast, wake of ashes still available / not cast yet
2 - immediately after wake of ashes
3 - immediately after the first cast of hammer of light (the standard one, not the "free" one)

I think I know what it is but I don't have a max level ret pal to test

commented

Do you mean "Hammer of Light" instead of "Wake of Ashes" in your points 1 and 2?

commented

Nope, I mean exactly what I wrote. I want to see before wake, after wake, and after the 1st hammer.

commented

Ok, but for point 1, when you get to 60 stacks, they will be consumed immediately most of the time, because Wake of Ashes is on cooldown nearly all the time. It would be a very unusual situation to get to 60 stacks while Wake of Ashes is also available.

The following is in the order that I used the abilities:
After first use of Wake of Ashes (start of the fight): https://pastebin.com/ENJgVu03
After first "normal" use of Hammer of Light: https://pastebin.com/J9YxWndc
After getting 60 stacks but not consuming it because Wake of Ashes is usable (as said, this is very unusual): https://pastebin.com/EAWyn8Ys
After using Wake of Ashes with 60 stacks: https://pastebin.com/dWKDQyGT
After using Hammer of Light: https://pastebin.com/CC500TsY

I think in the last snapshot the bug was visible again - but I'm not sure. Maybe this was because I had two Hammer of Lights available, one normal and one from the 60 stacks? I'm not sure. As said, this shouldn't happen normally.

Btw, why does Hekili only take a screenshot for the first snapshot? Would have been helpful to have screenshots for all those snapshots 😅

commented

@syrifgit Your test version doesn't even show the normal Hammer of Light (after using Wake of Ashes).

Ok thanks, I will try to revisit today.

commented

@syrifgit Your test version doesn't even show the normal Hammer of Light (after using Wake of Ashes).

commented

@syrifgit Your test version doesn't even show the normal Hammer of Light (after using Wake of Ashes).

I have updated my testfix, get my file again and reload ui.

Once you do, ensure that the finishers list says the following

image

commented

@Hekili The line

applyBuff( "hammer_of_light_free", 12 - ( query_time - action.hammer_of_light.lastCast ) )
looks wrong. The free Hammer of Light uptime is not dependend on the last cast time of Hammer of Light, or is it? Shouldn't this be the time when the 60 stacks were consumed?

commented

@cremor Sort of; it should technically be the expiry of the previous lights_deliverance, but I don't necessarily have to be that specific. I also don't know if the free aura actually lasts 12 seconds. Or if it falls off when Wake of Ashes comes off CD if left unused.

commented

I just tested it, it looks like the free Hammer of Light is available for 12 seconds after the 60 stacks are consumed.
This is even true if Wake of Ashes comes off cooldown during this time. So the free Hammer of Light will also always be used before Wake of Ashes (if used in those 12 seconds).

commented

Instead of a full release, I have an alpha version for testing this issue. Please try https://github.com/Hekili/hekili/releases/download/v11.0.2-1.0.19-alpha1/Hekili-v11.0.2-1.0.19-alpha1.zip and see if it works more consistently. If not, more snapshots because why not?

commented

@Bingo176 If you're comfortable making edits, can you change PaladinRetribution.lua line 1164 to:

            if query_time - free_hol_triggered < 12 and action.hammer_of_light.lastCast > action.wake_of_ashes.lastCast then

...and retest? If that doesn't fix it, I'll have to post another build with more debugging info.

commented

I've hit my pastebin limit :) This is with edited line.

https://pastebin.com/VsTdcdsJ WoA then no HoL in basic rotation
https://hastebin.com/share/pecudamevu.ruby Free HoL after 60 stacks

commented

nvm i had a lua error with the editied line.

https://hastebin.com/share/uzutuhucim.vbnet

commented

This was on alpha2 but it looks like it has the relevant changes.

https://pastebin.com/V32vfr9p Regular HoL after Wake not being recommended.
https://pastebin.com/7NRxTZx6 Free HoL after 60 stacks not being recommended.

commented

We are making progress 😄

Alpha3 does show the free Hammer of Light. But it shows it from a "wrong" APL entry. It doesn't recommend the Hammer of Light from "generators 1", but instead the one from "finishers 2". And it also seems to think that the free Hammer still costs 5 holy power, which is why it isn't recommended immediately when the 60 stacks are consumed.

Example snapshots:
https://pastebin.com/dgjaixfS
https://pastebin.com/4HyHgt9G

commented

@cremor In both of those snapshots, Light's Deliverance fell off when it ticked over vs. going to 1 stack, so my stack checking didn't fire. I'm making an adjustment now that will update stack value even if LD is not active.

commented

Fix posted in 1.0.19; reopen ticket if the issue recurs.