Hekili / hekili

Hekili Priority Helper for DPS and Tanks (WoW Retail)
426 stars 220 forks source link

fix off-by-one error in imp remaining cast calculation #4162

Closed dubudevs closed 2 weeks ago

dubudevs commented 3 weeks ago

Fix off-by-one error in imp remaining cast calculation

Previously two_cast_imps was counting imps with 1 cast remaining. This fixes the logic and accurately represents game state.

New: https://streamable.com/chyw9l

Old: https://streamable.com/60hy0c

dubudevs commented 2 weeks ago

last_cast_imps is how many imps will die after they cast 1 more time. two_cast_imps is how many imps will die after they cast 2 more times.

The previous version was off-by-one, and two_cast_imps was showing how many imps will die after casting 1 more time, and last_cast_imps was never activating (it was technically counting for a few ms before the imps died, but useless as a metric). This fix puts it in line with simc behaviour.

Imps cast every "2" and their final cast is at "2" and they die at "0", thus they are on their last cast if they are <4 and they have 2 casts left if they are between 4 and 6. You can see in the clip (sorry, I am not a lua master so I cant make logs to show the actual events) that they live an extra GCD after their final cast before dying, but they do not cast a final time.

The use of the variable is for implosion logic primarily.