Все, что описано в 1 посте, якобы у нас "не реализовано" - все реализовано.
В частности по урону формула:
damage = damage - (min(%res*2,100%) * damage / 100%)
На цифрах:
предположим имеем 7000 чистого урона, 30% снижения урона, тогда получим:
НовыйУрон = 7000 - (30% * 2 * 7000) / 100% = 2800;
Это в случае, если удар был не критический.
Для крита такая формула:
damage = damage - (min(%resCrit*2.2,33%) * damage / 100%)
damage = damage - (min(%res*2,100%) * damage / 100%)
предположим имеем 18000 чистого урона, 31% снижения критического урона, 30% снижения урона, тогда получим:
НовыйУрон = 18000 - (33% * 18000 ) / 100% = 12060;
НовыйУрон = 12060 - (30% * 2 * 12060) / 100% = 4824;
Так реализовано и работает у нас на сервере