Баг от Ashi - 190410

Тип бага: 
способности/таланты

1. Пересчет Haste Rating. (Статья на вики.)
2. Формула вкратце:

For every 32.79 points of haste rating you will have 1% faster attack speed at level 80.
[...]
Shamans, paladins, druids, and death knights receive 30% more haste from haste rating as of patch 3.1.3. For these classes, the Haste Rating Per 1% at level 80 is 25.22.

Не проверял для шаманов, паладинов и дк, но у друида процент прироста скорости считается как (haste rating / 32.79), тогда как должен считаться через (haste rating / 25.22).
(Пример правильного пересчета с армори.)

Статус: 
исправлен
0
К новым
0
22 апреля 2010 - 19:38 #1 Ashi 280
Ashi

Проблема всё еще актуальна.

0
22 апреля 2010 - 23:57 #2 Vinolentus 1085 Мастер
Vinolentus

Считается некорректно только для заклинаний, хм...

0
24 апреля 2010 - 23:11 #3 Ashi 280
Ashi

А дальше всё чудесатее и чудесатее.
Уточнил на оффе. Та же проблема. Haste ближнего боя отображается корректно, а заклинаний — нет. То есть, в точности как у нас.
Вопрос к саппорту дал следующий результат: действительно отображение в клиенте неверное, но подсчет и влияние рейтинга скорости на заклинания верны.

0
25 апреля 2010 - 3:05 #4 Ashi 280
Ashi

В общем, потыркался я тут в циферки.
Попробую тезисно и емко.

Принимаем априори:
Информацию о длительности каста на кнопках в книге заклинаний как верную.
Форумлы пересчета haste rating в длительность каста с вики как верную.
Клиент округляет цифры до второго знака после запятой при выводе числа на экран. Все промежуточные вычисления проводятся с большей точностью.

В качестве контрольных замеров используем длительность заклинаний Healing Touch = 3 сек., Tranquility = 8 сек. и Hurricane = 10 сек.

Для тестов использовался этот билд друида. Отмечу отдельно, что 3 очка в таланте Celestial Focus дают +3% к скорости кастов.

1) Замеры при haste rating от предметов = 0 (условно "голышом"):
Healing Touch = 2.91 сек.
Tranquility = 7.77 сек.
Hurricane = 9.71 сек.
2) Замеры при haste rating от пердметов = 768:
Healing Touch = 2.31 сек.
Tranquility = 6.16 сек.
Hurricane = 7.70 сек.

Немного теории.
Haste rating предметов складывается.
Процентный прирост скорости от талантов, заклинаний и итоговый процент от пересчета haste rating перемножаются. (e.g.: Slice and Dice одновременно с Blade Flurry дадут: 1.40 * 1.20 = 1.68, т.е. 68% прирост скорости)
Формула для вычисления длительности каста заклинания: New Casting Time = Base Casting Time / (1 + (% Spell Haste / 100))
Haste rating для друида переводится в процентный прирост по формуле: % Spell Haste = Haste rating / 25.22

Немного математики. (Ожидаемые результаты.)
Первый замер. (Haste Rating = 0)
1) New (Healing Touch) Casting Time = 3 / (1 + (3 / 100)) = 2.91262... (~2.91 сек.)
2) New (Tranquility) Casting Time = 8 / (1 + (3 / 100)) = 7.76699... (~7.77 сек.)
3) New (Hurricane) Casting Time = 10 / (1 + (3 / 100)) = 9.70873... (~9.71 сек.)
(Ожидаемые результаты совпадают с наблюдаемыми.)
Второй замер. (Haste Rating = 768)
Посчитаем заранее % Spell Haste = (Haste Rating / 25.22)% * 3% = 30.45% * 3% = ((1.3045 * 1.03) -1) * 100 = (1.3437 - 1) * 100 = 34.37%
1) New (Healing Touch) Casting Time = 3 / (1 + (34.37 / 100)) = 2.23264... (~2.23 сек.)
2) New (Tranquility) Casting Time = 8 / (1 + (34.37 / 100)) = 5.95371... (~5.95 сек.)
3) New (Hurricane) Casting Time = 10 / (1 + (34.37 / 100)) = 7.44213... (~7.44 сек.)
Полученные ожидаемые данные отличаются от наблюдаемых.
Вероятные причины этого:
1) Неверный коэффициент пересчета haste rating (к примеру 32.79, а не 25.22)
2) Неверный пересчет haste в формулах эмулятора мангос.
3) Неверные принятые априори посылки, т.е. ошибка в формулах на wiki или, неверные данные о длительности заклинания на кнопках интерфейса близзард.

Попробуем проверить некоторые из этих предположений:
1) Пересчитаем длительность заклинаний при коэффициенте 32.79:
% Spell Haste = (Haste Rating / 32.79)% * 3% = 23.42% * 3% = ((1.2342 * 1.03) -1) * 100 = (1.3437 - 1) * 100 = 27.12%
New (Healing Touch) Casting Time = 3 / (1 + (27.12 / 100)) = 2.35997... (~2.36 сек.)
New (Tranquility) Casting Time = 8 / (1 + (27.12 / 100)) = 6.29326... (~6.29 сек.)
New (Hurricane) Casting Time = 10 / (1 + (27.12 / 100)) = 7.86658... (~7.87 сек.)
Результаты после пересчета также не совпадают с наблюдаемыми.
2) Вариант проверки формул ядра Мангоса для меня не доступен.
3) Уточнение длительности каста при помощи аддонов (Quartz) показали результаты близкие к тем, что были даны стандартным интерфейсом.

...
Так вот к чему я всё это... фигня-с какая-то получается.

0
25 апреля 2010 - 9:49 #5 Vinolentus 1085 Мастер
Vinolentus

Итак, теперь клиенту верить нельзя. x)
Будет так же, как у Близзардов - со стороны сервера подсчет пойдет корректно, с учетом классовой плюшки.

Онлайн

Сейчас на сайте 0 пользователей и 1 гость.