I think the formula for true fixed-percent procs is wrong.
Calculating the average time to proc ist like flipping a coin and compute how long the average sequence of portraits are.
I assume that the attack is as single attack, which occurres after equal time-periods 1/v.
To have a sequence S(n) with n non-procs and one proc, the probability of occuring this sequence is:
) = p(1 - p)^n)
The time needed for such a sequence is:
) = \frac{n}{v})
. (Hit 1 at t=0.)
So the mean of "time to next proc" is
The main difference is, that you have, if v=1 and p=1, 100% prolongation of the buff and not a gap from 1 sec after the internal cd.
The average uptime U, when c>=D, is
The difference is, that you can not calculate the average as the quotient of the averages.