Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(SoD Rogue) Crit chance of Mutilate and Envenom is incorrect #1056

Closed
thomgoertz opened this issue Sep 12, 2024 · 3 comments · Fixed by #1065
Closed

(SoD Rogue) Crit chance of Mutilate and Envenom is incorrect #1056

thomgoertz opened this issue Sep 12, 2024 · 3 comments · Fixed by #1065
Labels

Comments

@thomgoertz
Copy link

thomgoertz commented Sep 12, 2024

When I looked at the damage table in the results of my sims, I noticed that it displayed incorrect crit rates for both Mutilate and Envenom. Envenom's crit rate especially dropped very low in crit-capped setups.

Reproduction Steps
To reproduce the faulty behaviour of Mutilate:

  1. Load the preset P4 Muti gear, talents and rotation.
  2. Make one adjustment to the gear: make sure Felstriker is replaced by any other dagger, e.g. Perdition's Blade. This is to prevent any bias to sim results due to the guaranteed crits from Felstriker's effect.
  3. Set the encounter time to 60 +/- 5 seconds. Other encounter settings probably don't matter much.
  4. Run a large number of sims (>10k), so that results are as accurate as possible.
  5. Take note of the Physical Crit stat. Subtract 4.8% from it and add 30% to obtain the expected Mutilate crit. We will call this E.
  6. After the sims are done, go to the Results tab. Take note of the following:
  • P = the crit chance of Mutilate, as displayed on the Damage tab in the "Crit %" column;
  • C = the number of Mutilate crits, as displayed on the Damage tab when hovering over the number in the "Hits" column;
  • H = the number of Mutilate hits, as displayed on the Damage tab in the "Hits" column;
  • N = the number of Mutilate casts, as displayed on the Casts tab in the "Casts" column. (Curiously, the number of Mutilate casts isn't recorded on the Damage tab...)
  1. Calculate and compare P, C/H and C/N to E (from step 5). You will find that:
  • E = P = C/H;
  • E is not equal to C/N.

In other words: the sim incorrectly assumes that Mutilate's crit chance is a percentage of the attacks that were hits, instead of a percentage of all swings.

To reproduce the faulty behaviour of Envenom:

  1. Load a crit capped setup that uses Envenom. See sim link below for an example setup, which attacks from the front.
  2. Run a large number of sims (>10k), so that results are as accurate as possible.
  3. Take note of the Physical Crit stat. Subtract 4.8% to obtain the expected Envenom crit. We will call this E (E = 52.05% in the example).
  4. After the sim is done, go to the Results tab. Take note of the following:
  • P = the crit chance of Envenom, as displayed on the Damage tab in the "Crit %" column (P = ~42.62% in the example);
  • C = the number of Envenom crits, as displayed on the Damage tab when hovering over the number in the "Hits" column (C = ~9.36 in the example);
  • H = the number of Envenom hits, as displayed on the Damage tab in the "Hits" column (H = ~17.72 in the example);
  • N = the number of Envenom casts, as displayed on the Damage tab in the "Casts" column (N = ~21.39 in the example).
  1. Calculate and compare P, C/H (= ~52.82%) and C/N (= ~43.75%) to E (from step 3). You will find that:
  • P is significantly lower than E;
  • P is neither equal to C/H nor to C/N, by significant margins; --> How is P calculated then?
  • E is neither equal to C/H nor to C/N, by significant margins.

In other words: the expected crit chance of Envenom as per the character's stats is not reproduced by the sims. The program also seems to miscalculate Envenom crit chance from its own incorrect results.

  1. Repeat steps 2-5 with the preset P4 Muti gear, talents and rotation, with 60 +/- 5 second encounters. And make sure Felstriker is swapped for a Perdition's Blade. This time, you will not see large differences. But again, P is neither equal to C/H nor to C/N. --> How is P calculated?

Expected behavior
For both Mutilate and Envenom, we expect E is approximately the same as P, and P is calculated as C/N. In other words: the sim should agree with predicted crit chance, and the crit chance of abilities should be calculated as a percentage of the total number of swings, and not the number of hits.

I also expected the number of Mutilate casts to be displayed on the Damage tab in the results.

Note: I am aware that there is some bias affecting Envenom: Cold Blood is used to guarantee a crit on one Envenom in each run. But this should increase the observed crit chance of Envenom, not reduce it. And certainly not by a margin as large as is observed in a crit-capped setup.

Sim Links and Screenshots
Example sim for Envenom testing

Desktop

  • OS: Windows 11
  • Browser: Firefox
  • Version: 24

Context
It is important to get these numbers exactly right, especially for tank rogues. Tank rogues struggle a lot more with crit cap than DPS rogues. It's devastating for tank sims, if unexpected behaviour arises in crit capped situations.

I am aware this is a large bug report, and it may feel a bit confusing. Feel free to contact me for clarification.

@sanguinerarogue
Copy link
Contributor

Thorm, thanks for the bug report, when you find time do you mind DMing me on discord and walking me through this and we can try and narrow this down.

discord: raaaaaaaaaaaaaaa

@1337LutZ
Copy link
Contributor

@thomgoertz This should now be fixed on live. Could you validate?

@thomgoertz
Copy link
Author

Yes, looks like the things we discussed on discord are fixed now.

For future reference: the issue with mutilate that I described was actually correct - I incorrectly assumed abilities worked on a 1 roll system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants