PDA

Просмотр полной версии : [Руководство] Скорость атаки


maxxx
11.11.2008, 20:02
Многие хотели узнать реальную скорость атаки героя и на сколько точно она увеличивается с каждым уровнем или за счет арефактов. Вот я и решил провести некоторые исследования в этой области, и вот, что у меня получилось:

Из данных героя нам известен интервал между атаками (cooldown), т.е. мы знаем интервал времени между двумя выстрелами (ударами). Но этот интервал измеряется в секундах, а все "прибавки" к скорости атаки либо в единицах, либо в %. Следовательно, мы должны вычислить скорость атаки. Для этого нам надо количество выстрелов поделить на время, за которое они произведены, т.е. скорость атаки (attack speed) находится следующим образом:

Скорость атаки (AS) = 1 выстрел (удар) / интервал между атаками (cooldown)

Теперь зная, скорость атаки, мы можем прибавлять к ней все единицы надбавки к скорости и %, а затем, при необходимости или для удобства, преобразовывать ее обратно в интервал между атаками (cooldown):

Интервал между атаками (cooldown) = 1 выстрел (удар) / Скорость атаки (AS).

Правда будет небольшая погрешность при переводе, но это несущественно.

Но здесь есть одно НО… Нам известен интервал с учетом % IAS (IAS = ловкость * 1%), т.е. начальный, а все % ускорения должны рассчитываться от базового интервала (BAS) , т.е. мы должны откинуть этот % IAS (BAS = 1.7 секунды для подавляющего большинства героев, кроме Антимага (BAS=1.4), Террорблейда (BAS=1.5) и Ликантропа в метаформе (BAS=1.2)).

Но в процессе расчетов итоговой скорости атаки нам нужно будет учесть этот % IAS.
Формула для расчета полной скорости атаки (AS) выглядит следующим образом:

AS = AS нач. + (AS баз. * % прибавки) , где

AS – итоговая скорость атаки
AS нач. – начальная скорость атаки с учетом % IAS
AS баз. – базовая скорость атаки

Пример:
Интервал между атаками (cooldown) Сайленсера 1 леаела равен 1.47 (+ 16%IAS), но нам для расчетов нужен именно базовый интервал между атаками, т.е. мы должны откинуть IAS, в итоге получится = 1.7 сек.

AS баз. = 1/1.7 ~ 0.59 выстрелов в секунду
AS нач. = 1/1.47 ~ 0.68 выстрелов в секунду

Теперь зная начальную и базовую скорость атаки можно высчитать какую прибавку к скорости дадут некоторые артефакты герою.

Gloves of Haste . . . AS = 0.68 + (0.59 * 15%) ~ 0.68 + 0.09 = 0.77 (cooldown 1.30 сек.)
Hand of Midas . . . . AS = 0.68 + (0.59 * 25%) ~ 0.68 + 0.15 = 0.83 (cooldown 1.20 сек.)
Power Threads . . .. AS = 0.68 + (0.59 * 30%) ~ 0.68 + 0.18 = 0.86 (cooldown 1.16 сек.)
Hyperstone . . . . . .. AS = 0.68 + (0.59 * 55%) ~ 0.68 + 0.33 = 1.01 (cooldown 0.99 сек.)

Power Threads + Hyperstone . . . AS = 0.68 + (0.59 * 85%) ~ 0.68 + 0.5 = 1.18 (cooldown 0.85 сек.)

И так с любыми др. артефактами.

Что касается увеличения скорости атаки за счет увеличения ловкости, то за 1 единицу ловкости скорость атаки (AS) увеличивается на 0.01.

Пример:
AS = 0.68 + 0.01 = 0.69 выстрелов в секунду

Исходя из вышеперечисленного можно просчитать примерную скорость атаки любого героя на разных уровнях с учетом артефактов.

Пример:
Возьмем того-же Сайленсера на 9 левеле с 2-мя Нулями и Power Threads.

1. Ловкость Сайленсера с каждым уровнем повышается на 2.1, т.е. к 9 левелу у Сайленсера будет 8 * 2.1 * 0.01 = 0.168 прибавки к скорости атаки.
2. Два Нуля дадут нам 6 едениц ловкости, т.е. 6 * 0.01 = 0.06
3. Power Threads прибавят нам 30% к скорости
Отсюда:

AS = 0.68 + 0.168 + 0.06 + (0.59 * 30%) ~ 0.68 + 0.168 + 0.06 + 0.18 ~ 1.088
интервал между атаками (cooldown) = 1/1.088 ~ 0.92,
т.е. атаковать мы будем со скоростью примерно 1.088 выстрелов в сек.

Теперь если умножить скорость атаки на время, мы узнаем сколько выстрелов (ударов) герой сделает за это время
1.088 * 10 сек. ~ 11 выстрелов

Вот собственно и все.