I had figured the same thing, but tested on PTR with 1996 / 2004 / 2005 / 2006 haste and 2005 is indeed correct.
Here is the response I got from a simcraft dev about how exactly the math/rounding works:
"What you're missing is the rounding - read the issue I linked. Unhasted, the tick period is 1 second and the duration is 10 seconds, so at 1996 haste the period between ticks is:
1 / (1.05 * 1.03 * (1 + 1996 / 128.05716 / 100)) = 0.79995448
... which rounds to 800 milliseconds exactly. Divide 10 seconds by 800 milliseconds and you get 12.5 exactly, which rounds to the nearest even integer, which is 12. In other words, you need the period down to at least 799 milliseconds. (Because 10 / 0.799 = 12.5156446, which rounds up to 13.) At 2004 haste it's still not there:
1 / (1.05 * 1.03 * (1 + 2004 / 128.05716 / 100)) = 0.799522356 ~= 0.800
... but at 2005 haste it is:
1 / (1.05 * 1.03 * (1 + 2005 / 128.05716 / 100)) = 0.799468373 ~= 0.799" |