[REC] Retribution Paladin: Templar priority not recommending Hammer of Light free cast with Light's Deliverance
mariogusman opened this issue ยท 4 comments
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 Retribution Paladin, I expect the addon to recommend Hammer of Light as top priority once I have enough stacks of Light's Deliverance.
I noticed a few times where I have enought stacks, HoLis usable but is not recommended for a few GCDs, sometimes it is not recommended at all, until Wake of Ashes comes off cooldown and we go through the whole cycle again of using Execution Sentence, Wake of Ashes, Hammer of Light.
How to Reproduce
- Enter game as Ret Paladin
- Use the templar build which gives you Hammer of Light
- Go to either AOE or Single Target dummy and start following the rotation.
- You will notice that after you get 60 stacks of Light's Deliverance, Hammer of Light becomes usable again
- The addon will sometimes not recommend it despite it being top priority
Snapshot (Link)
Raidbots Sim Report (Link)
https://www.raidbots.com/simbot/report/g5x8YbdSRXZZRg9FB1jEnJ
Additional Information
I was able to replicate this issue both on ST and AOE dummies.
ST Snapshot pastebin is in the issue, here is the AOE one: https://pastebin.com/DQuJyEVM
in the screenshot above you can see Divine Storm recommended (spender) when Hammer of Light is available. This cast of Hammer of Light is 100% and should be prioritised abova all other damagin abilities based on the current rotation
I did a few snapshots and every time I go read it, I see the following indicating that HOL is not ready when it absolutely is.
The action is not ready ( 3600.00 ) before our maximum delay window ( 0.25 ) for this query.
Time spent on this action: 0.03ms
TimeData:Retribution-finishers-2:hammer_of_light:0.03:Ability Known, Enabled(0.03)
and
- this entry's criteria FAILS: variable.ds_castable[false] & ! buff.hammer_of_light_ready.up[false] & ( ! talent.crusade.enabled[true] | cooldown.crusade.remains[0.00] > gcd.max[1.29] * 3 | buff.crusade.up[false] & buff.crusade.stack[0.00] < 10 | talent.radiant_glory.enabled[true] ) & ( ! buff.divine_hammer.up[false] | cooldown.divine_hammer.remains[0.00] > 110 & holy_power.current[3.00] >= 4 )
Is it possible the addon is checking the wrong Spell ID?
https://www.wowhead.com/spell=427453/hammer-of-light -- This is the regular spell you cast and costs Holy Power
https://www.wowhead.com/spell=429826/hammer-of-light -- This is the free one you get after the 60 stacks of Light's Deliverance
Contact Information
No response
Thanks for the detailed report. The challenge here (for me) is that the buff you have is this:
433674 - lights_deliverance - 5 - 3600.00
That is, 5 stacks of Light's Deliverance is detected. I think this may be fixed by editing line 1117 of Hekili/TheWarWithin/PaladinRetribution.lua, from:
if IsActiveSpell( 427453 ) then
to:
if IsActiveSpell( 429826 ) then
But there may be more nuance to it. I cannot test it yet myself, but you're welcome to try and report back with your results.
Thank you for looking into this. Testing this means only editing the code in vsc or similar, saving and reloading the game or is there another step? If so I think I've tested it properly and you can consider the below:
That is, 5 stacks of Light's Deliverance is detected
The thing with Light's Deliverance is that it never stops counting. You get to 60, HoL becomes available and it resets the counter and continues adding stacks. So there might be moments where HoL is ready but stacks is between 1-60 depending on how long we took to cast hammer so I don't think this should be the criteria for allowing us to use HoL.
I tested what you suggested and it did not work.
I noticed this line of code here and I assume it is checking the last time WoA was cast and giving us 12 seconds to use HoL after that, but that is not always the case in-game due to free casts.
applyBuff("hammer_of_light_ready", 12 - (query_time - action.wake_of_ashes.lastCast))
So I suggest changing this if-statement to something like this and removing that 12-second check.
if IsActiveSpell(427441) or IsActiveSpell(429826) or IsActiveSpell(427453) then
applyBuff("hammer_of_light_ready", 12)
end
That seems to have resolved the 'not suggesting' portion of the issue, thank you for pointing me to the right direction.
Another thing I noticed was this:
- After this change it DOES HoL once we have it available due to Lights Deliverance.
- However it now waits until you have 5 Holy Power to recommend it.
- This is not how its supposed to work as it is a completely free cast.
- If you missclick any spender, and is not at 5 HP, it then tells you to build HP before suggesting it again. This is not a MAJOR issue, but it can cause you to miss a few free casts here and there if you're not at 5 HP and Wake of Ashes comes off cooldown, for example, or the free cast internal buff expires.
I found this at line 1767, the spend
part for Hammer of Light:
spend = function()
if buff.divine_purpose.up then return 0 end
return state.spec.protection and 3 or 5
end,
spendType = 'holy_power',
startsCombat = true,
buff = "hammer_of_light_ready",
handler = function ()
removeBuff( "divine_purpose" )
removeBuff( "hammer_of_light_ready" )
end,
I tried to hack it but I'm not familiar enough with Hekili's code to make it work.
PaladinProtection's Hammer of Light seems to have issues as well.
But I'm not sure yet if it's a game issue or a recommendation issue
When Hekili recommends it, it's grayed out in the action bar and doesn't go on cooldown
I'll upload the relevant data later