Diablo 2
подробнее об игре и системные требования
  
НАВИГАЦИЯ ИГРЫ

Анимации: FCR, FHR, FBR, D/E/A

Содержание

  1. Введение
  2. Faster Cast Rate
  3. Faster Hit Recovery
  4. Faster Block Rate
  5. Dodge/Evade/Avoid

Введение

Для тех кто не знал, в Diablo 2 секунда состоит из 25 фреймов (или кадров). Таким образом, изображение на экране меняется каждые 0.04 секунды. Поэтому любая анимация в игре происходит за целое количество фреймов, что делает невозможным непрерывное ускорение анимаций. В силу этого в игре существуют так называемые брейкпоинты (breakpoints), определяющие необходимое значение параметров, ускорящих анимацию, для уменьшения ее длительности на 1 фрейм. 

Используемые обозначения:

  • HS – Holy Shield (Paladin skill)
  • L, CL, Inf – Lightning, Chain Lightning, Inferno (Sorceress skills)
  • Vampire – форма вампира, бонус полного набора Trang-Oul
  • Fetish – форма stygian doll, результат использования заклинания Delirium с Runeword «Delirium»
  • xbw – Crossbow
  • 2hs – Two-handed swords
  • Stf – Two-handed staves, hammers, axes, polearms
  • 2ht – Tho-handed thrusting weapons (spears)
  • 1ht – One-handed thrusting weapons (knives, javelins)
  • 1hs – One-handed swinging weapons (все, кроме knives, javelins)
  • HtT – hand-to-hand, unarmed - без оружия
  • fpa – frames per animation (количество фреймов, затрачиваемое на анимацию)
  • AF – ActionFrame (или ActionFlag) – фрейм, в который происходит сама анимация
  • [] – округление вниз ([4.5] = 4)
  • {} – округление вверх ({4.5} = 5)

Также в таблицах красным цветом выделены значения, недостижимые в немодифицированной игре.

Faster Cast Rate

На самом деле, анимацию в Diablo II можно разделить на 2 отрезка – начальную и конечную. Начальная - та, что до события (в данном случае - момент каста). Конечная - та, что после.

Допустим, у нас есть Sorceress с параметром FCR равным 195%. Так как брейкпоинт 194%, то посмотрев в известные всем таблицы, узнаем, что скорость анимации для Lightning – 11 фреймов. Что мы не узнаем оттуда, дак это то, что в действительности AF будет равен 5 фреймам. Что означает, что каст молнии будет выглядеть так: 5 фреймов на начальную анимацию, на 5-ом фрейме появляется сама молния, и 6 фреймов на конечную анимацию. Однако, AF часто бывают не привязаны к брейкпоинтам для полной анимации. При FCR = 194% Lightning – 11-и фреймовая анимация с AF = 5, а при FCR = 200% – 11-фреймовая анимация, с AF = 4. Вся анимация занимает столько же времени, однако вы кастуете спелл на 1 фрейм быстрее.

Суть в том, что прервать спелл можно, если прерывание происходит до AF. Если пытаться прервать Lightning на 7-м фрейме, то Lightning все равно скастуется. Также, если вы телепортируетесь до прерывания, ничего не изменится, вы уже переместились.

Пара примеров.

Все знают, что у классов Barbarian и Sorceress одинаковые брейкпоинты. Но это не совсем так (см. таблицу ниже). Оказывается у Sorceress AF ниже, чем у Barbarian, поэтому при телепортировании она (при одинаковом количестве FCR) окажется в другой точке раньше, чем Barbarian.

Пусть у нас есть Barbarian с 63% fcr (9fpa, AF = 7) и Sorceress c 37% fcr (10fpa, AF = 6). Barbarian пытается телепортироваться, Sorceress хочет ему помешать с помощью telekinesis (в данном примере возьмем, что шанс knockback у telekinesis равен 100%). Если Barbarian и Sorceress начнут кастовать в одно и то же время, то Barbarian не сможет телепортироваться, так как прерывание произойдет до AF. Однако, если бы у него было 86% fcr (9fpa, AF = 6), то он бы успешно телепортировался.

Другой пример: есть сферический персонаж с mind blast (11fpa, AF=7), и такой же сферический персонаж с teleport (10 fpa, AF=6) и анимацией fhr, выполняющейся за 4 фрейма. Пусть первый из них спамит mind blast на второго. Mind blast будет вводить его в анимацию fhr на 4 фрейма. Таким образом, у второго будет 7 фреймов, чтобы телепортироваться, что достаточно, так как телепорт выполнится за 6 фреймов.

Amazon Assassin Barbarian Druid Necromancer Paladin Sorceress Iron Wolf
Bow HtH xbw / 2hs stf / ht Werebear Werewolf Human Human Vampire FoH Other L+CL+Inf Other
fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf fcr fpaaf
0 1910 0 1911 0 1912 0 1913 0 169 0 139 0 169 0 168 0 1810 0 158 0 235 0 349 0 159 0 197 0 137 0 177
7 1810 7 1811 7 1812 7 1813 8 159 9 129 7 158 6 158 4 1710 9 148 6 225  15  338 9 149 7 187 9 127 8 167
14 179 13 1810 11 1811 10 1812 15 158 15 128 15 148 10 157 10 1610 18 137 11 215 39 327 15 148 15 177 20 116 15 157
22 169 14 1710 14 1711 14 1712 16 148 20 118 26 137 14 147 11 169 30 127 18 205 86 316 18 138 20 176 37 106 20 156
32 158 22 1610 22 1611 22 1612 27 138 37 108 40 127 26 137 19 159 48 116 24 194     30 128 23 166 63 95 26 146
48 148 29 169 26 1610 23 1611 39 137 39 107 63 116 37 136 30 148 75 106 35 184     39 127 35 156 105 85 39 136
68 137 32 159 32 1510 32 1511 42 127 63 97 99 106 40 126 46 138 125 95 48 174     48 117 52 146 200 74 58 126
99 127 48 149 48 149 42 1510 65 117 86 96 163 95 60 116 63 137     65 164     75 107 63 145     63 125
152 116 56 148 68 139 48 1410 86 116 105 86     95 106 68 127     86 154     86 106 78 135     86 115
    68 138 86 138 68 1310 102 106 200 76     157 95 99 117     120 143     125 96 117 125     138 105
    99 128 99 128 72 139 174 96             142 116     180 133         194 115     200 104
    113 127 152 118 99 129                 163 106                 200 114        
    152 117 180 117 133 128                                                
            152 118                                                

 

 

Faster Hit Recovery

fpa 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
Amazon   0 6 13 20 32 52 86 174 600  
Assassin   0 7 15 27 48 86 200 4680
Barbarian   0 7 15 27 48 86 200 4680
Druid (Human, 1hs)   0 3 7 13 19 29 42 63 99 174 456  
Druid (Human, other weapons)   0 5 10 16 26 39 56 86 152 377  
Necromancer   0 5 10 16 26 39 56 86 152 377  
Necromancer (Vampire)   0 2 6 10 16 24 34 48 72 117 208 638  
Paladin (2ht, stf)   0 3 7 13 20 32 48 75 120 480  
Paladin (other weapons)   0 7 15 27 48 86 200 4680
Sorceress   0 5 9 14 20 30 42 60 86 142 280 1480  
 
Fetish 0 4 7 10 15 20 27 35 48 65 86 129 200 414 4680  
Werewolf   0 9 20 42 86 280
Werebear   0 5 10 16 24 37 54 86 152 360  
 
Rogue (Act 1)   0 6 13 20 32 52 86 174 600  
Town Guard (Act 2)   0 5 9 14 20 30 42 60 86 142 280 1480  
Iron Wolf (Act 3)   0 5 8 13 18 24 32 46 63 86 133 232 600  
Barbarian (Act 5)   0 7 15 27 48 86 200 4680

Потеря некоторого количества жизней или стан вводят в анимацию восстановления от удара. Вопрос в том, сколько это – "некоторое количество" (часто можно услышать, что это 1/12 от жизни, что не верно)? Для определния этого, нужно знать, при каких обстоятельствах срабатывается анимация восстановления от удара. Рассмотрим последовательность определения, будет ли выполнена эта анимация:

  1. Сначала наносится урон.
  2. Если цель умирает от полученного урона, то анимации не будет.
  3. Если цель заморожена, то анимации не будет.
  4. Если наносимый урон - только яд, то анимации не будет.
  5. Если наносимый урон меньше 1 (1 = 256 бит, все вычисления жизни и урона для повышения точности производятся в битах), то анимации не будет.
  6. Получаем MaxLife – максимальное количество жизней цели.
  7. Получаем divisor – коэффициент (обычно он равен 16, но для некоторых missile attack – 8, см ниже)
  8. Получаем GetHitTriggerNumber = MaxLife / divisor.
  9. Теперь с полученным уроном производятся некоторые вычисления:
    1. Если урон меньше, чем GetHitTriggerNumber, то анимации не будет.
    2. Если урон меньше, чем GetHitTriggerNumber * 2, то анимации не будет с шансом 50%, с шансом 50% будет произведен переход к следующему пункту.
    3. Если урон меньше, чем GetHitTriggerNumber * 4, то анимация будет с шансом 75%.
    4. Если урон больше, чем GetHitTriggerNumber * 4, то анимация будет с шансом 100%.
  10. Если цель не может быть введена в состояние анимации, то анимации не будет (очень вовремя такая проверка :).

Таким образом, для divisor = 16, анимация восстановления от удара 100% сработает при уроне больше, чем 1/4 MaxLife, 75% при уроне от 1/8 MaxLife до 1/4 MaxLife, и 37.5% при уроне 1/16 MaxLife до 1/8 MaxLife.

Missile attacks, для которых divisor = 8:

  • Amazon: Magical Arrow, Multiple Shot, Strafe, Guided Arrow, Immolation Arrow (не огонь на земле), Poison Javelin (только javelin), Plague Javelin (только javelin)
  • Necromance: Bone Spear
  • Assassin: Blade Fury
  • Other: thrown knives, thrown axes, thrown javelins, обычная атака стрелами или болтами
  • Monster Missiles: Rogues' standard arrows, Quillrats' spikes, Corrupted rogues' default arrows (Blood Raven), Skeletal archers' arrows, toxic and spikey trapped wall missiles in Act2&3 dungeons, Pantherwomen's javelins, Fetishs' blowgun darts, Vipers' bonespears

 

 

Faster Block Rate

fpa 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Amazon (1hs) 0 4 6 11 15 23 29 40 56 80 120 200 480  
Amazon (1ht)   0 13 32 86 600
Assassin   0 13 32 86 600
Barbarian   0 9 20 42 86 200  
Druid (Human)   0 6 13 20 32 52 86 174 600  
Necromancer   0 6 13 20 32 52 86 174 600  
Paladin   0 13 32 86 600
Paladin (с HS)   0 86
Sorceress   0 7 15 27 48 86 200 4680  
 
Werewolf   0 7 15 27 48 86 200 4680  
Werebear   0 5 10 16 27 40 65 109 223
 
Werebear + HS   0 8 37 120  

В версии 1.09 был возможен blocklock – несколько блокирований подряд, которые полностью лишали персонажа возможности выполнять какие-либо действия. Начиная с версии 1.10 был введен block timer, в течение которого персонаж может выполнять блокирование без анимации. Его длительность составляет 15+[FBR/8] фреймов, отсчитываемых с момента начала последней анимации блокирования.

Формы Vampire и Fetish не имеют анимации блокирования, поэтому вместо нее используется анимация восстановления от удара (Faster Hit Recovery).

Также, некоторые монстры могут блокировать без щита и без анимации блокирования (все Great Mummies, все Oblivion Knigts и все актовые боссы, включая всевозможных клонов). Для этого у них должен быть задан параметр NoShldBlock=1.

Iron Wolves хоть и имеют щит, но не имеют анимации блокирования, и не могут блокировать.

 

Dodge, Evade, Avoid

Dodge, Evade, Avoid – пассивные навыки класса Amazon. Скорость их анимации может меняться под действием Fanaticism, Holy Freeze, Chill effectivness и Slow Target.

Формула для вычисления скорости анимации:

fpa = {256 * FramesPerDirection / [AnimationSpeed * (100 + Acceleration) / 100] } - 1,

Здесь FramesPerDirection = 9, Animati 256, Acceleration – сумма положительных и отрицательных бонусов.

Посчитаем стандартную скорость анимации:

fpa = {256 * 9 / [256 * (100 + 0) / 100] } - 1 = 8.

Пусть теперь Amazon использует лук с Runeword Faith, который дает ауру Fanaticism 15 уровня. От этой ауры будет бонус к Acceleration +33. Таким образом:

fpa = {256 * 9 / [256 * (100 + 33) / 100] } - 1 = 6.

Как видим, Fanaticism 15 уровня уменьшил длительность анимации на 2 фрейма.

Нравится 7
Комментарии (2)
B
i
u
Спойлер

Вы уверены что хотите удалить этот комментарий?