
Сообщение от
Dragon
По теме. Тестировал хасту. Баг действительно есть (о его наличии я догадывался еще до того, как наткнулся на эту тему).
Скажу сразу, дабы не провоцировать определенную дичность: я не вар с ШМ, и даже не пал, я афли лок (был им же и на оффе во времена лича, и здесь играю им же). И если мне кто-то напишет, что у ЛОКА "нельзя тестить хаст отдельно от крита, арп и остального", то я просто буду его игнорировать в дальнейшем.
Тестирование.
Т.к. у локов нет длительных кастов (петов не стал брать в рассмотрение, т.к. интересно было заодно проверить и талант Bane), наподобие воскрешения шаманов и т.п., то решил взять в качестве испытуемого Soul Fire. Его каст составляет 6 сек, а с талантом 4 сек (без хасты, разумеется).
По расчетам с элитистов и воввики (ими я пользовался и на оффе, и все формулы были на тот момент верны) получается одно значение, а на тюлтипе - другое. Что же не верно: формула расчета хасты на циркле, или просто напросто неправильно работают тюлтипы?
Что бы это выяснить, я воспользовался аддонами, которые пишут реальное время каста. Как оказалось в итоге: реальное время каста ближе к тюлтипам, нежели к официальным формулам. А это значит, что формула, высчитывающая итоговое время каста на циркле, неверна.
Сразу же стало интересно, а как высчитывается то это самое итоговое время каста того или иного заклинания?
Т.к. обе темы о баге хасты я читал внимательно, то решил сразу же попробовать проверить теорию о том, что хаста с каждой вещи (и/или камней, чарок и т.п.) обсчитывается отдельно.
Сам лок одет в свой гир и подведен к манекену (что бы замерять время каста, для полноты тестирования). После каждого тестирования, снимается 1 вещь и всё тестируется заново, до тех пор, пока лок "голым" не останется.
Вот сводная таблица получившихся значений:
Soul Fire
Description
Haste Rating
Circle x15
Blizzard
Δ
Variant #1
Δ
Gear + Buff
1 057
2,91
3,02490774907749
0,11490774907749
2,91003757103920
0,0000375710391979922
Gear
997
2,96
3,06735266604303
0,10735266604303
2,96328619996947
0,0032861999694668900
- Head
891
3,06
3,14532374100719
0,08532374100719
3,05908014238995
-0,0009198576100502010
- Neck
832
3,11
3,19046460715154
0,08046460715154
3,11412306047504
0,0041230604750390800
- Shoulders
750
3,19
3,25539836187640
0,06539836187640
3,19199987991967
0,0019998799196723200
- Back
694
3,25
3,30128366473697
0,05128366473697
3,24651405902169
-0,0034859409783143400
- Chest
578
3,36
3,40057039149598
0,04057039149598
3,36136481560800
0,0013648156079977300
- Wrists
578
3,36
3,40057039149598
0,04057039149598
3,36136481560800
0,0013648156079977300
- Hands
578
3,36
3,40057039149598
0,04057039149598
3,36136481560800
0,0013648156079977300
- Waist
522
3,42
3,45067087608524
0,03067087608524
3,41877147302613
-0,0012285269738727700
- Legs
406
3,54
3,55929443690638
0,01929443690638
3,53971611800052
-0,0002838819994805950
- Feet
396
3,55
3,56897959183673
0,01897959183674
3,55051122662510
0,0005112266251017240
- Ring1
318
3,63
3,64637197664721
0,01637197664721
3,63496986513585
0,0049698651358545100
- Ring2
244
3,72
3,72296338347999
0,00296338347999
3,71700334181169
-0,0029966581883140700
- Trinket1
244
3,72
3,72296338347999
0,00296338347999
3,71700334181169
-0,0029966581883140700
- Trinket2
160
3,81
3,81389938935737
0,00389938935737
3,81222392147383
0,0022239214738339900
- Weapon
42
3,95
3,94941282746161
-0,00058717253839
3,94941282746161
-0,0005871725383919110
- Off-hand
42
3,95
3,94941282746161
-0,00058717253839
3,94941282746161
-0,0005871725383919110
- Ranged
0
4,00
4,00000000000000
0,00000000000000
4,00000000000000
0,0000000000000000000
Примечания:
Gear - шмот лока с камнями и чарками, но без бафов;
Buff - это просто Spell Stone;
Haste Rating - рейтинг хасты;
Circle x15 - время каста спелла по тюлтипу (тысячных долей не видно, поэтому погрешность вычислений составляет до +-0,01сек;
Blizzard - значение по формулам с оффа;
Variant #1 - первый вариант предполагаемой формулы, используемой на циркле для подсчета времени каста (потому что, могут появиться и другие :) ).
Δ - разница между значением, полученным по формуле, и значением с тюлтипа.
Комментарий:
Первая строчка таблицы - одетый лок с бафом от камня чар;
вторая - без бафа;
третья - в добавок к предыдущему еще и без головы;
четвертая - еще и без шеи;
и т.д. и т.п.
Там, где рейтинг не меняется, значит, что вещь не давала хасты (или отсутствует совсем - например, офф-хенд).
Формулы:
- Blizzard: <Новое время каста> = (<Исходное время каста> - <Талант(если есть)>) / (1 + <Общий рейтинг хасты>/3279)
3279 - это некий коэффициент (32.79) принятый близами для перевода "рейтинга хасты" в "хасту в %", умноженный на 100 для перевода из % в абсолютное значение.
- Variant #1: <Новое время каста> = (<Исходное время каста> - <Талант(если есть)>) / ( (1 + <Рейтинг хасты баффа = 60>/3279) * (1 + <Рейтинг хасты шлема>/3279) * (1 + <Рейтинг хасты шеи>/3279) * (1 + <Рейтинг хасты плечей>/3279) * ... * (1 + <Рейтинг хасты триньки №2>/3279) * (1 + <Рейтинг хасты оружия>/3279) * (1 + <Рейтинг хасты офф-хенда>/3279) * (1 + <Рейтинг хасты ванда>/3279) )
Почему я не стал рассматривать вариант, когда отдельно пересчитывается не вся шмотка целиком, а каждый предмет (т.е. не голова целиком, а голова, её чарки, камни в ней)? Потому что, к примеру, погрешность вычислений превышает влияние одного камня с 10 хасты (что видно по первой строчке таблицы, когда от "2,91003757103920" отнимается "2,91", и в итоге получается "0,0000375710391979922" вместо "0,00003757103920". Все это следствие машинных вычислений (у меня MS Excel 2003 и MS Excel 2010), т.е. погрешность вычислений.
В заключении скажу: да это баг, да его надо чинить (по моему мнению), НО когда есть более серьезные баги (тот же удар щитом и т.п.), неправильное скаллирование статов петов и т.п., то баг с хастой как-то меркнет... Все же будет лок кастить стрелу тьмы 1.88сек или 1.84сек в рейде с пингом 500мс не так критично...
Скорее всего разработчик эту тему к сведению примет, но чинить вряд ли будет в ближайшем будущем (а из-за 36страничного флуда может вообще пропустить).
Так что, pavvvel, не парься, все будет хорошо :)