Hekili Priority Helper

Hekili Priority Helper

44M Downloads

Arcane Mage Kyrian opener with Arcane Harmony -> wasted Rune of Power and sometimes wasted 4 x Radiant Spark Stack

sanyex89 opened this issue ยท 36 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I checked for an existing, open ticket for this issue and was not able to find one.
  • I edited the title of this bug report (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).

Describe the Issue

Arcane Mage Kyrian with Arcane Harmony Legendary:

at the start of the fight after casting Rune of Power Hekili recommends casting Arcane Power -> that places a Rune of Power on top of a Rune of Power -> so the first Rune of Power cast is wasted

https://pastebin.com/CBnTBUPB

ALSO:

after Arcane Power: it sometimes recommends casting Arcane Missiles after Radiant Spark, that wastes the 4 stacks of Radiant Spark Vulnerability. With Arcane Harmony you want to cast Arcane Barrage with 4 Arcane Charges and 4 Stacks of Radiant Spark Vulnerability on the Mob while Touch of Magi is still active -> that does something like 60k+30k = 90k dmg with ilvl 205

https://pastebin.com/mR8jUBFJ (hope i got the snapshot at the right time as its not always the case)

so sometimes Rune of Power wasted + Radiant spark x4 + Arcane Barrage with 4 Arcane Charges + Touch of Magi wasted in the opener

https://www.raidbots.com/simbot/report/8kkjaTTPPKuJ7fcTuRmwQG my single target sim

How to Reproduce

Just start the fight with 0 Arcane Harmony

Snapshot (Link)

https://pastebin.com/CBnTBUPB

Raidbots Sim Report (Link)

https://www.raidbots.com/simbot/report/8kkjaTTPPKuJ7fcTuRmwQG

Additional Information

No response

Contact Information

No response

commented

mh i tried > 25 and < 25 but no difference

nvm i am stupid - will try it again with
cooldown.arcane_power.remains_guess and not cooldown.arcane_power.remains "my guess"

commented

looked alot better in the beginning, but later it went back into casting arcane missiles 13 times in a row with AP on CD

commented

I don't know what you're talking about regarding > 25 or < 25, so whatever you were doing there, don't do that.

Provide snapshots when you test new changes, though.

commented

yeah i read it wrong, my fault.

did the cooldown.arcane_power.remains_guess change

Arcane Missiles Spam with 50 sec left on AP cooldown till its off cooldown
https://pastebin.com/4suyi2Wv

commented

Reloaded and tried a different Training dummy in the elysian hold - 7 minutes and no arcane missiles spam

commented

Makes sense. I may not solve this exactly in this way when I post a release, but it'll be a closely related fix.

The Mage TCers that built the profile calculated the time until the next AP without using remains_guess or remains_expected, noting:

Arcane Prodigy gives a variable amount of cdr, but we'll use a flat estimation here. The simc provided remains_expected expression does not work well for prodigy due to the bursty nature of the cdr.

That makes sense to an extent -- it's likely that the CDR from Arcane Prodigy isn't going to shorten the last 5-10 seconds of Arcane Power's cooldown.

But elsewhere in the priority, their logic about using CDs outside of Arcane Power usually reference larger blocks of time -- i.e., whether there are 30+ seconds til the next Arcane Power. Since that's a larger chunk of time, using remains_guess is probably fine.

I may try to get their process working in the addon, but one major challenge is that the sim only deals with one instance of combat. I have to make sure their logic works with multiple small, distinct pulls (i.e., going pack to pack in M+). SimC kinda assumes that you didn't cast Arcane Power 14 seconds before you pulled the pack you're on.

Anyway, that's all my problem to sort out, but thanks for testing -- I wouldn't have been able to test directly to confirm the nature of the problem.

commented

https://youtu.be/QXKaC7uMPiU here is a video of the opener with the RoP issue and the radiant spark -> arcane missiles 4 stack waste. I have spellqueue 250ms active

commented

Give 1.0.19-beta1 a try to see if any of the behavior has changed.

commented

The RoP issue is gone!
But the Radiant Spark 4 Stack waste still remains

https://www.youtube.com/watch?v=kvDAxlTsBu8

at 0:10 you can see hekili recommending arcane barrage with only 1 stack Radiant Spark (and then after that arcane missiles wasting the 4 stack) -> if i dont press anything it will switch to arcane blast after the gcd reset - so arcane blast till 4 stacks of radiant spark on the enemy and then arcane barrage in the last second for a 60k crit hopefully and touch of the magi 25k

https://pastebin.com/VkcgdFkf

commented

Can you explain that more clearly for me, with periods or bullet points? I am not entirely sure where one thought ends and the next begins.

commented

Okay, so the snapshot is taken while Arcane Barrage is recommended. Great.

Now, you're saying if you wait for the GCD, it switches back to Arcane Blast. Can you snapshot that moment and link it here? Make sure it's exactly when the recommendation has switched back to Arcane Blast simply by waiting for the GCD.

Thanks!

commented

grafik
This with the Arcane Power CD is the optimal opener for me with the legendary (but with with 4 arcane blasts into barrage - not 5 - because i dont have 12% haste)

commented

https://pastebin.com/3yuUZ2GD

here is the other pastebin -> after the gcd arcane blast gets recommended like it should

commented

Thanks, the snapshot basically tells me that the delay for Radiant Spark Vulnerability is sort of misleading the addon at the moment. I just need to model the application of that debuff and it should be fine.

commented

Try 1.0.19-beta3 when it comes and up and see if that makes a difference.

commented

https://pastebin.com/vzAuB0HP
same behaviour.

i have a feeling, that hekili puts 4 Arcane Charges -> Arcane Barrage before: 4 Radiant Spark stacks + 4 Arcane Charges -> Arcane Barrage

Touch of the Magi generates 4 Arcane Charges instant.

commented

yeah the problem persists mid rotation without arcane power - always with 4 Arcane Charges because of touch of the magi

commented

no difference

Arcane Barrage gets recommended with 1 or 2 Radiant Spark stacks
https://pastebin.com/wpJs2HtY

if i wait for the GCD Arcane Blast gets recommended
https://pastebin.com/HqcE7CnW

commented

Found the issue in -beta3, -beta4 may resolve it.

commented

Nah, that's not how the priority works

I'll need you to snapshot both the Arcane Barrage rec and the Arcane Blast rec after the GCD to continue troubleshooting.

commented

In the snapshot you provided, you had pressed Radiant Spark three GCDs ago. What did you press after?

Radiant Spark Vulnerability isn't on your target yet, so I'm confused.

commented

https://pastebin.com/AkA7MDW7 Barrage Pastebin

in this pastebin i pressed Mirror Images -> Missiles till 18 stacks of harmony -> Radiant Spark -> Touch of the Magi -> Arcane Power -> Arcane Blast -> Barrage gets recommended while i cast (and Arcane Blast gets recommended if i dont prequeue barrage before)

While i cast Arcane Blast the enemy has only the Radiant Spark debuff - so no vulnerability yet - this is why barrage gets recommended and after the gcd (arcane blast cast) the enemy has 1 stack of vulnerability from the arcane blast so barrage isnt recommended anymore

so:

Mirror Images -> Missiles till 18 stacks of harmony -> Radiant Spark -> Touch of the Magi -> Arcane Power -> Arcane Blast -> Arcane Blast -> Arcane Blast -> Arcane Blast -> Arcane Barrage would be correct

commented

You already supplied the Arcane Barrage Pastebin. I needed you to provide the Arcane Blast.

commented

It would also help if your snapshots included 2 recommendations, just for checking the addon's emulation/modeling of those abilities.

commented

On your end, you may try opening /hekili > Priorities > Arcane, Action Lists > calculations > 12 (3rd from last, it should be the variable entry for just_used_spark) and changing from:

( prev_gcd.1.radiant_spark | prev_gcd.2.radiant_spark | prev_gcd.3.radiant_spark ) & action.radiant_spark.time_since < gcd.max * 2

to

( prev_gcd.1.radiant_spark | prev_gcd.2.radiant_spark | prev_gcd.3.radiant_spark ) & action.radiant_spark.time_since < gcd.max * 4

This will mean the addon will use just_used_spark to reference that Radiant Spark was one of your last 3 GCDs and that no more than 4 GCDs have passed since you did that.

If that does or doesn't make a difference, please let me know.

commented

( prev_gcd.1.radiant_spark | prev_gcd.2.radiant_spark | prev_gcd.3.radiant_spark ) & action.radiant_spark.time_since < gcd.max * 4

fixed basicly everything as far as i can tell

will report later if i see something weird again

commented

RoP
then Radiant Spark, Touch of the Magi.

just like here

grafik

commented

I indeed have found some weird i cant really explain mid rotation.
https://pastebin.com/fd72aevA arcane missiles spamming

with Arcane Power on cooldown with 40 sec left:
RoP, Radiant Spark, Touch of the Magi is ready but never used till Arcane Power is back up.

it just recommends spamming arcane missiles 9-11 times in a row till i have no mana left and then Frostbolt and Fire Blast till RoP is ready.

here is the same after 14 arcane missile spam without any barage or anything else
https://pastebin.com/PJvvD4Pa
https://youtu.be/Q0Six5x8CsQ

commented

That's really an entirely different issue, and it'd be helpful to keep separate issues in their own tickets. I'll look into this, but keep that in mind for future issues.

commented

So, in the same vein as before, you've told me what you're seeing -- which button do you think you should've been pushing instead? Not the whole rotation, but with Arcane Power on CD, but RoP, Radiant Spark, and Touch of the Magi ready, which did you think should've been recommended?

commented

I would've trusted you to just say RoP here.

Looking at the priority, the way the APL tracks when Arcane Power was last used (and estimates when it can be used again) isn't really compatible with the addon in the live game. It's something I can translate, but it makes sense that it's a bit off.

You may want to experiement with changing the value for the first time_until_ap variable (there are several, you want the first one with the condition conduit.arcane_prodigy.enabled) in the calculations list, so that the Value field is as follows:

cooldown.arcane_power.remains_guess

This should effectively replace the last_ap_use, estimated_ap_cooldown, and cause time_until_ap to start from the right value for the later calculations.

Not 100% sure that this will resolve it all at once, but it's a good starting point. Let me know if that makes a difference for you.

commented

For the latter part, it appears that it's behavior that's set for the first 10 seconds of a fight. I'd recommend taking a snapshot with more icons in your Primary display, just for the sake of showing what the addon would do for several steps.

The Arcane Missiles entry that was recommended:

( variable.stack_harmony[false] | time[9.57] < 10 ) & buff.arcane_harmony.stack[5.00] < 16

This is the same entry that fires multiple times in your sim, stacking Arcane Harmony before you're supposed to press Radiant Spark.

image

Above, you can see that the sim actually sits and waits after stacking Arcane Harmony, which is kinda weird.

commented

For the first part, I think you need to back up a step or two. You can see that the opener would just use Arcane Power rather than RoP. Why is Rune of Power being recommended? I'll need you to provide a snapshot of the RoP recommendation.

commented

RoP pastebin: https://pastebin.com/CvEbvhFY
I spellqueue RoP because it gets suggested - I waited this time till Radiant Spark was fully casted and Hekili correctly suggested Touch of the Magi instead. But this is a Problem for me as i spellqueue and this can happen midfight.

Missiles pastebin: https://pastebin.com/RfRMRham
I guess this happens because of the RoP overlap?

commented

So, here is where we are at the point of your RoP snapshot:

image

You're casting Radiant Spark, which your sim would follow with Touch of the Magi. The conditions that are failing for Touch of the Magi (in-game) are:

variable.just_used_spark[false] & cooldown.arcane_power.remains[0.00] <= execute_time[1.32] & ( ! equipped.soulletting_ruby[false] | conduit.arcane_prodigy.rank[0.00] >= 5 | cooldown.soulletting_ruby.remains[0.00] <= execute_time[1.32] )

The notable issue I see is that just_used_spark shows false when you literally would've just cast Radiant Spark. That variable evaluates as follows:

( prev_gcd.1.radiant_spark[true] | prev_gcd.2.radiant_spark[false] | prev_gcd.3.radiant_spark[false] ) & debuff.radiant_spark_vulnerability.down[false]

If any of the past 3 GCDs were a Radiant Spark cast, and the Radiant Spark Vulnerability debuff is not yet applied. This looks to me like the sim has a delay for Radiant Spark's vulnerability effect modeled (so that the vulnerability effect isn't applied immediately on cast).

Reviewing SimC's code, there is a comment for the just_used_spark variable that confirms this:

Radiant Spark does not immediately put up the vulnerability debuff so it can be difficult to discern that we're at the zeroth vulnerability stack

Looking at a log, that appears to be a very small 0.03 second window:

image

I'll be doing some thinking about whether I want to (a) model that time gap or (b) adjust the priority to be more forgiving. Probably (b) because (a) would cost CPU time. It looks like after casting Radiant Spark, if Touch of the Magi were your next cast, you'd likely see Arcane Power as the next recommendation.

commented

This is also a rare case where a screen recording showing you casting (with your cast bar visible) Radiant Spark, the Radiant Spark debuff applying to your target (unitframe/nameplate visible), and the Radiant Spark Vulnerability debuff applying to your target (presumably soon after the RS debuff hits). That'll help me time it effectively.