Blackmorgrim wrote:it always makes me laugh when I see numbers like (16.65%)4717 and (16.66%)4721... since it pretty much means someone tried to copy the general formula but probably coded a > instead of >/=. Either that, or they're rounding in a slightly different way.
HW:Sanct: 3rd tick at 16.65% haste, requires a tick speed of 1621.50 ms
Renew (Glyphed): 1st tick at 16.66% haste, requires a tick speed of 2571.50 ms
So you can see from the start there are different values in the equation, which just happen to arrive at similar points.
It takes 425 rating at level 90 to produce 1% haste. That's 0.00235% haste per rating point, so 4 points difference is 0.009411%, which gets rounded up to 0.01% for display purposes.
If you want to look at the specific example, we take the rounding off haste values and get HWS at 16.6520919589877 while R(G) is at 16.634305527292. Next we take the ceiling function out, which gives 4716.32293614071 & 4720.91236658086 rating. Obviously you can't have fractional rating points, which is why they are rounded up.
There is consistency in the way all dot/hot calculations occur with regard to haste, but it is complicated. Each break point requires a haste figure to be calculated in milliseconds to 2 dp, rounded using banker's rounding (depending on the tick count) to the nearest half millisecond, generating a haste value on that & converting it into a rating number while taking into account any other haste buffs.
Blackmorgrim wrote:Talking about the programming end on blizzard's side. Reminiscent of the inconsistencies with DP in cata.
Basically just something that's bound to happen whenever you have more than one person doing code for things that have the same functionality.
As both renew, lightwell, and sanc all have base ticks that are a multiple of 3, that 16.6X% breakpoint should be the same value. However, somewhere along the way in the coding process (again on Blizzard's end, not the calculations) the one who coded renew is rounding differently for the haste scaling than for lightwell or sanc.
The base tick speed is only part of the calculation. Haste actually affects the entire duration of the dot. It works like this:
- Divide hot duration by 1 + haste % to get the new hot duration
- Divide the new hot duration by the base number of ticks to get the new tick time
- Divide the base hot duration by the new tick time, using banker's rounding to round the tick count to the nearest whole number
This is why the first tick for Lightwell (6 second duration) is higher than Divine Hymn (8 second duration) and both are higher than HW:Sanct (30 second duration) even though all have the same base tick speed of 2 seconds. (Renew, glyphed or not, has a base tick speed of 3 seconds)