PathOfBuildingCommunity / PathOfBuilding

Offline build planner for Path of Exile.
https://pathofbuilding.community
Other
4.01k stars 2.08k forks source link

Kitava's thirst trigger rate #2444

Open kearoth opened 3 years ago

kearoth commented 3 years ago

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 commented 3 years ago

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.