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

Kitava's thirst trigger rate #2444

Open
kearoth opened this issue Apr 7, 2021 · 1 comment · Fixed by #4599
Open

Kitava's thirst trigger rate #2444

kearoth opened this issue Apr 7, 2021 · 1 comment · Fixed by #4599
Labels
bug Something isn't working

Comments

@kearoth
Copy link

kearoth commented Apr 7, 2021

Kitava's thirst trigger of socketed spells do not take the cast speed of trigger spell into consideration.

The dps calculation from Kitava's thirst triggered spell should calculate triggerrate depending on spell to trigger kitava's thirst.

For example, if your triggering spell has a cast speed of 2 cast per second then kitava's thirst cannot trigger more often than 2*50%

It also needs to take spell echo into consideration. The second recast from spell echo spends no mana and can therefore not trigger Kitava's thirst, if spell echo is used then the cast speed used in trigger rate calculation needs to be once again multiplied with 50%.

So the formula for Kitava's thirst should be something like

"if trigger_spell_manacost > 100 then; trigger_rate = trigger_spell_cast_speed * 50%; if (1 / trigger_rate) < kitavas_thirst_cooldown then; trigger_rate = kitavas_thirst_cooldown"

or something like that, however if the (1 / trigger rate) is less than kitava's thirst cooldown it will miss that trigger and trigger on the next trigger instead. maybe a note needs to be added on that.

@biyte-w
Copy link

biyte-w commented May 2, 2021

I have simulated data for effective kitava's thirst proc rates. Break points are estimated as in brackets of 10 uses per second (since 0.099 (99ms) cool down with 1 piece of cool down recovery is the maximum we can achieve right now, next breakpoint is at ~52% increased recovery for 66milliseconds)

Bracket 1 corresponds to having 0 - 10 skill uses per second
Bracket 2 corresponds to having 10 - 20 skill uses per second
and so on ...

Theory: Assuming max proc rate is ~10/s
When you have skill use rate of 0-10, every skill use has chance to trigger since you won't ever be using a skill while cooldown is up.

When you exceed 10 uses per second, the skill use immediately following a successful proc will be during cooldown, thus having a skill use rate of slightly greater than 10 is not optimal for maximizing proc rates. The same idea occurs at the next breakpoint of 20 skill uses per second, when a proc occurs, the next TWO skill uses will be in cooldown.

Of course since kitava's proc rate is not 100%, if it allows you to attempt the next proc faster, so going past 10 use per second still has value. The question is what are the optimal theoretical breakpoints. Since I don't know the math required to figure it out, simply running simulations following this model

Simulation is done by having bracket - 1 ticks of cooldown in between skill uses. Each skill use does a 50% chance to proc, if the proc occurs cooldown is set and future skill uses will not proc until bracket - 1 number of attempts occur. For each bracket, attempting 10 million times, and returning the total number of successful procs, i get the following results:

Brackets:

  1. 50.06%
  2. 33.35%
  3. 25.01%
  4. 20.01%
  5. 16.67%

Extrapolating from this, it looks like the real proc rate can be approximated as (1/(bracket+1)) * 100% for a 0.099s cooldown (1 piece of cooldown recovery gear)
Where bracket can be the integer ceiling of division of **use_rate / (1/cooldown) ** where cooldown time is typically 0.132 or 0.099
(need to account for repeats since repeats do not increase use rate/ mana expenditure rate)

Alternatively check this google sheets to get an idea of what what I mean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
3 participants