[REC] Incorrect Handling of Sub Rogue Shadow Technique Buff
saucyflaussy opened this issue ยท 7 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).
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:
- 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.
- When using a spender while talented into
Shadowcraft
andSymbols 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
- 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. - 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
- Enter game as a Sub Rogue
- Load the following profile:
actions+=eviscerate,if=combo_points>=cp_max_spend|effective_combo_points>=cp_max_spend
actions+=/backstab
- Talent into Shadowcraft and Symbols of Death
- Auto attack a dummy until you get 14 stacks of Shadow Technique
- Recommendation should show (1) Backstab then (2) Eviscerate. It doesn't. Bad!
- Cast Backstab. This will grant max combo points.
- Activate Symbols of Death. Your next Eviscerate will consume 7 stacks of Shadow Technique and grant 7 combo points.
- Recommendation should show (1) Evisceratethen (2) Eviscerate. It doesn't. Bad!
Snapshot (Link)
Raidbots Sim Report (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
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.
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>
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.
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,