Сделал тест, который 100% показывает ситуацию. А именно в участок кода где расчитывается шанс диспела сделал вывод в лог. После этого расчета происходит обычный ролл - сервер выбирает рандомное число от 0 до 99, если шанс диспела больше чем это число - то диспел удачный, в противном случае - сопротивление.
Отчет из лога сервера (spell1 - спелл которым диспелим, spell2 - спелл который пытаемся сдиспелить, chance - шанс диспела):
без таланта:
Код:
2013-07-06 01:33:24 ERROR: Dispel: spell1 = 27609, spell2 = 48073, chance = 100
2013-07-06 01:33:24 ERROR: Dispel: spell1 = 27609, spell2 = 48161, chance = 100
2013-07-06 01:33:39 ERROR: Dispel: spell1 = 27609, spell2 = 48161, chance = 100
2013-07-06 01:33:39 ERROR: Dispel: spell1 = 27609, spell2 = 48169, chance = 100
с талантом:
Код:
2013-07-06 01:34:16 ERROR: Dispel: spell1 = 27609, spell2 = 48073, chance = 70
2013-07-06 01:34:16 ERROR: Dispel: spell1 = 27609, spell2 = 48169, chance = 70
2013-07-06 01:34:28 ERROR: Dispel: spell1 = 27609, spell2 = 48169, chance = 70
2013-07-06 01:34:28 ERROR: Dispel: spell1 = 27609, spell2 = 48073, chance = 70
Шанс диспела расчитывается корректно. Поэтому отклонено