suchbalance wrote:The maths of this formula seem incorrect btw. If my spell deals X base damage and I have 100% increased spell damage, using your formula my spell will now deal (100X)/100 = X. I.e. the same as the base damage.
I'm pretty sure the correct formula should be Value * [1 + (percentage/100)].
No, the function is meant to return the percentage value, and not the value with the percentage added to it. The game often does something like this:
v = x
nBonus = MATHS_GetPercentage(d, v, m);
nValue += bonus
where d is divisor, 100 most of the time, v the value, and m the multiplier (as in, the percentage).
However in some cases, like in the case of resistances for example, it does this
v = x
nResist = y
m = 100 - nResist
v = MATHS_GetPercentage(d, v, m);
so in the case of a character with 100% pierce, it does 100 - -100, so in reality 200. There are just so many occurrences, and so many ways of how and why it rolls over, didn't want to go through explaining all of it, I just explained the basic concept of how the damage is handled and why it overflows at some points.
The safe line to not get any overflow is 83,886. Beyond that is bound to create rollovers, depending on a bunch of factors.