Цитата:
"Если хочешь, чтобы что-то было сделано правильно - сделай это сам"
народная мудрость
|
Пару раз попытавшись в своё время выяснить на нашем сервере механику автоатаки, и когда и почему именно лучше выбирать оружие с большей задержкой, когда лучше выбирать оружие с большим разбросом дамага и причём тут криты я натолкнулся на каналах на несколько различных мнений (в порядке убывания популярности):
Цитата:
это так, потому что всем известно
|
Цитата:
это так, потому что у меня (у нашего уберскаута) длиннее
|
Цитата:
это так, потому что бьёшь реже(/выше/сильнее), а значит мощнее
|
После вопроса "а почему?" как правило выдавался случайно выбранный из списка выше ответ.
Все эти ответы, однако, хоть и открывали широкое поле для рекурсивных дискуссий, но не давали понять механику и не позволяли определиться с выбором в случае наличия и маленьких раков по три, и больших, но по пять.
Иначе говоря, к примеру, какое оружие нужно выбирать, если у одного рейт поменьше, но разброс дамага (разница между максимальным и минимальным значениями) повыше? Или рейт одинаков, но у одного разброс побольше, а у другого задержка повыше? И самое главное -
почему?
Некоторое курение eq2flames позволило найти несколько вменяемых и, самое главное, обоснованных мнений.
Часть первая. Механика критов.
Перевод поста от Pinski.
Цитата:
Когда срабатывает крит на умение, оно просто бьёт на 30% сильнее, чем ударило бы без крита. Однако, когда критует автоатака, к её стандартному урону (случайное число между минимальным и максимальным значением) прибавляется бонус 30% и если это значение меньше максимального+1, то оно "округляется" вверх до максимального+1, если же оно больше максимального, то так и считается.
Например, мы используем оружие с дамагом 700-1600.
Если мы ударяем им на 800, и срабатывает крит, то урон становится равным 1601, потому что 800*1.3=1040, что меньше 1600.
Если же мы ударим на 1500, и сработает проверка на крит, то итоговый урон будет 1500*1.3=1950.
Однако с боевыми умениями всё иначе:
Например, у нас есть умение, бьющее на 700-1600.
Мы бьём им на 800 и критуем, получается 800*1.3=1040.
Если мы бьём на 1500 и критуем, то выходит 1500*1.3=1950.
То есть
правило Max+1 к умениям не применяется.
|
Как видим, ничего сверхестественного, всё легко проверяется (или опровергается) парсером.
Часть вторая. С чем едят разброс.
Идея была взята из поста Souldreamer, однако в оригинальном посте он довольно серьёзно ошибся в формулах, поэтому, в виду позднего времени и обладания достаточно быстрым компьютером, я решил не пытаться вывести красивую формулу dmg( min, max, crit ), а тупо смоделировал ситуацию через достаточное количество вызовов rand() и применения формул из части первой.
Моделируем ситуацию на трёх пушках с одинаковой задержкой и следующим разбросом дамага:
l33t: 1-149
kewl: 50-100
mean: 75-75
Рейт их, (min+max)/delay, как видим, будет одинаковым.
Получаем следующую таблицу усреднённого дамага с одного удара.
Код:
Crit: l33t kewl mean
1-149 50-100 75-75
0% 74.7 75.0 75.0
10% 83.0 78.3 77.3
20% 91.1 81.5 79.6
30% 99.2 84.8 81.7
40% 106.9 88.1 84.0
50% 114.9 91.4 86.2
60% 123.1 94.4 88.6
70% 130.8 97.7 90.7
80% 139.0 101.1 93.0
90% 147.2 104.4 95.2
100% 155.0 107.6 97.5
Действительно,
из нескольких пушек с одинаковым рейтом большее преимущество имеет та, у которой разброс дамага больше
. Однако, это преимущество заметно проявляется только при достаточно высоком проценте критов. При небольшом крите имеет смысл смотреть на другие параметры: статы, проки, резисты, задержку.
При крите, близком к 0% никакого бонуса от пушки с большим разбросом вы не получите.
Часть третья. Задержка: когда ей рады.
Наиболее очевидный, и не подвергаемый сомнению случай, когда нужно выбирать оружие с большей задержкой (при прочих равных) - это достижение капа по задержке (0.8 сек.)
(читателям просьба подтвердить или опровергнуть данное значение капа, пишу по памяти)
Возьмём оружие с задержкой 1.6. При бонусе к скорости 200, мы получаем ускорение автоатаки на 125%, или, в теории 0.71 сек. Данное значение находится за пределами капа, поэтому часть бонуса мы просто теряем, не в силах преодолеть клинком звуковой барьер и взлететь.
Однако, сократить задержку более чем в 2.25 раза мы всё равно не можем, поэтому большая часть оружия всё равно выпадает из такого ограничения.
Встречалось на просторах сети мнение, что большая задержка уменьшает вероятность "пропадания" удара автоатаки из-за того, что пока мы читаем заклинание, автоатака не работает.
Также есть мнение, что автоатака не пропадает, а откладывается до окончания каста.
Однако, идеальная синхронизация автоатаки, отрабатываемой на стороне сервера, и скиллов, запускаемых с клиента, по очевидным причинам невозможна, поэтому наложения кастов и автоатаки неизбежны, и в случае "медленного" оружия за один такой пропуск/откладывание, который хоть и происходит реже, мы теряем больше дамага, поэтому в среднем результат должен быть достаточно близким.
Если кто опишет реально работающие методы синхронизации - буду очень признателен. Если предположение о синхронизации неверно, то приведите своё объяснение преимуществ медленного оружия.
Одна из видимых и объяснимых проблем наложения - это случай, когда скорость автоатаки выше, чем скорость каста некоторых часто используемых умений. В этом случае, очевидно, при таких кастах мы будем гарантированно пропускать автоатаку.
И наконец, парирование (ответный удар): у пушки с большей задержкой будет больший средний урон с одного удара. Однако, так же не раз встречалось мнение, что ответный удар имеет общий таймер задержки с автоатакой, поэтому его из рассмотрения можно и исключать. Насколько справедливо это мнение - нужно выяснять.