Hekili Priority Helper

Hekili Priority Helper

44M Downloads

[REC] Incorrect Handling of Sub Rogue Shadow Technique Buff

saucyflaussy opened this issue ยท 7 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).

Describe the Issue

Sub Rogue's Shadow Technique (description here) isn't being handled correctly.

STech grants a stacking buff while auto attacking. This buff can be used in two ways:

  1. When using a builder, stacks of STech will be consumed to increase the combo points granted by the builder up to your cap.

Example: I have 0 combo points out of a max of 7. I have 8 stacks of STech. I use a backstab, which usually grants 1 CP. 6 stacks of STech are consumed, leaving me with 7CP and 2 remaining stacks of STech.

  1. When using a spender while talented into Shadowcraft and Symbols of Death is active, using a spender will consume stacks of STech if those consumed stacks will get you back up to your max CP.

Example: I have 7 CP out of a max of 7. I have Shadowcraft talented and Symbols of Death is active. I have 10 stacks of STech. I use Eviscerate. 7 CP's are spent, but 7 stacks of STech are consumed to take me back to 7. I am left with 7 CP and 3 remaining stacks of Stech.

Here's a link to a short video that demonstrates both of these concepts: https://www.youtube.com/watch?v=rM47I2wIfdw

Current Behavior:
At present, Hekili appears to forecast stacks of STech, but incorrectly treats a stack of STech as being equal to 1 CP. Link to relevant code here. This means that neither #1 or #2 mentioned above are being handled correctly.

Proposed Solution

  1. Builders' cp_gain functions (like this one) should be updated to grant combo points and remove stacks of the STech buff. This is how simc does it.
  2. Spenders' configs (like this one should be updated with a cp_gain function to grant combo points and remove stacks of the STech buff if Symbols of Death is active and Shadowcraft is talented. This is how simc does it

How to Reproduce

  1. Enter game as a Sub Rogue
  2. Load the following profile:
actions+=eviscerate,if=combo_points>=cp_max_spend|effective_combo_points>=cp_max_spend
actions+=/backstab
  1. Talent into Shadowcraft and Symbols of Death
  2. Auto attack a dummy until you get 14 stacks of Shadow Technique
  3. Recommendation should show (1) Backstab then (2) Eviscerate. It doesn't. Bad!
  4. Cast Backstab. This will grant max combo points.
  5. Activate Symbols of Death. Your next Eviscerate will consume 7 stacks of Shadow Technique and grant 7 combo points.
  6. Recommendation should show (1) Evisceratethen (2) Eviscerate. It doesn't. Bad!

Snapshot (Link)

https://pastebin.com/Ap3jwuDh

Raidbots Sim Report (Link)

Link

Additional Information

I know no support is granted for custom profiles. Regardless, I took the snapshot with a 2-line custom profile to make the issue super clear and easy to reproduce.

Contact Information

Discord: stntz

commented

It does look like Shadow Techniques has evolved since I built its implementation -- there used to be no buff associated whatsoever. I'll take a look.

commented

Testfix available in 10.2.5-1.0.3-beta3.

commented

I'm seeing this error in a snapshot I took today (v10.2.5-1.0.3-beta4)

warnings: [#1] Unknown buff in [Subtlety:build:3]: secret_techniques
[string "@Interface/AddOns/Hekili/State.lua"]:4017: in function <Interface/AddOns/Hekili/State.lua:4008>
[string "@Interface/AddOns/Hekili/Dragonflight/RogueSubtlety.lua"]:770: in function <...terface/AddOns/Hekili/Dragonflight/RogueSubtlety.lua:768>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Hekili/State.lua"]:5307: in function <Interface/AddOns/Hekili/State.lua:5142>
[string "@Interface/AddOns/Hekili/Dragonflight/RogueSubtlety.lua"]:555: in function <...terface/AddOns/Hekili/Dragonflight/RogueSubtlety.lua:554>
[string "@Interface/AddOns/Hekili/Dragonflight/RogueSubtlety.lua"]:783: in function `handler'
[string "@Interface/AddOns/Hekili/State.lua"]:6359: in function `RunHandler'
[string "@Interface/AddOns/Hekili/Core.lua"]:1935: in function <Interface/AddOns/Hekili/Core.lua:1463>
commented

That's not in my Subtlety priority, so that's probably your own typo. I don't have a secret_techniques buff in my APL.

commented

I see a reference to it in the lua code, around line 770 of RogueSubtlety.lua.

-- Abilities
spec:RegisterAbilities( {
    -- Stab the target, causing 632 Physical damage. Damage increased by 20% when you are behind your target, and critical strikes apply Find Weakness for 10 sec. Awards 1 combo point.
    backstab = {

...
        cp_gain = function ()
            if buff.shadow_blades.up then return 7 end
            return 1 + ( buff.broadside.up and 1 or 0 ) + buff.**secret_techniques**.stack
        end,
commented

Thanks, I've removed that in the next beta build.

commented

This should be fully resolved as of 10.2.5-1.0.5.