В игре действует следующая система расчетов событий во время боя. Когда моб наносит удар вашему персонажу, сервер генерирует случайное число от 0,01 до 100,00. В игре существует фиксированная таблица боя, в которой по порядку выстроены следующие события: 1) моб промахивается
2) персонаж уворачивается
3) персонаж парирует удар
4) следует неточный удар*, который могут нанести только персонажи
5) персонаж блокирует удар
6) моб наносит критический удар
7) моб наносит сокрушительный удар
8) моб наносит обычный удар
* Неточный удар - это обычный удар (белая атака), который по ряду причин наносит меньше урона, чем должен. На вероятность нанесения неточного удара некоторое влияние оказывает разница между уровнем защиты моба и навыком владения оружием вашего персонажа. Есть целая статья на wowwiki.com, кому интересно, можете почитать про Glancing blow.
Если по каким-то причинам событие невозможно, (например, моб не может нанести неточный удар, а маг не может блокировать удар) это событие, как бы, выпадает из таблицы.
Теперь представьте себе шкалу
[1. промах][2. уворачивание][3. парирование][4. неточный удар][5. блокирование][6. критический удар][7. сокрушительный удар][8. обычный удар]
В зависимости от % различные события будут занимать меньшее или большее пространство на этой шкале. Например,
[1. --][2.-------][3.-----][4.][5.--------][6.--][7.][8.----------------------------]
или
[1. --][2.-------------][3.][4.][5.][6.--][7.][8.-----------------------------------]
Пример: вероятность того, что моб по вам промахнется составляет 5%. У вашего персонажа вероятность увернуться составляет 4,50%, а вероятность парирования – 6,20%. Неточный удар, естественно, - 0%. Вероятность блокирование – 5,10%. У моба 5% крита. Сокрушительный удар – 0% (моб того же уровня, что и персонаж). Последним в таблице идет обычный удар, вероятность которого составляет 100,00% минус проценты на другие события (уворачивание, парирование и т.д.). То есть вероятность обычного удара равна: 100,00 – (5 + 4,50 + 6,20 + 0 + 5,10 + 5 + 0) = 74,20%.
Получится что-то, вроде, этого:
[1. ++][2.++][3.+++][4.][5.++][6.++][7.][8.+++++++++++++++]
Итак, моб пытается попасть по персонажу, генерируется случайное число от 0,01 до 100,00. Допустим, это число 42,57. Посмотрев на индикатор, мы увидим, что это число попадает на событие «Обычный удар».
[0,01 – 5,00][5,01 – 9,50][9,51 – 15,70][15,71 – 20,80][20,81 – 25,80][25,81 – (42,57) – 100,00]
В результате чего, моб наносит персонажу обычный удар.
Во время каждой и любой атаки моба или персонажа сервер генерирует случайное число от 0,01 до 100,00, которое, попадая на определенный сектор шкалы, приводит в действие соответствующее событие.
Таким образом, первым из таблицы вытесняется обычный удар (это самое крайнее событие в шкале), затем сокрушительный удар, критический удар (если он не сведен к нулю минимумом защиты), после чего, в зависимости от значения «случайного числа» происходит одно из четырех событий: промах (моб), уворачивание, парирование или блокирование (ваш персонаж).
PS
Шкала поражает своей логичностью и продуманностью. Действительно, вероятность того, что моб промахнется, не может быть вытеснена из шкалы. Промах моба – это характеристика, которая не зависит от персонажа. Мы не можем повлиять на нее. Далее идет уворачивание – характеристика, которая есть у всех без исключения классов в игре. Далее парирование, которое есть у воинов, паладинов, разбойников, рыцарей смерти, шаманов. Далее блокирование – есть только у воинов, паладинов и шаманов. Критический удар (моб) – это неотъемлемая характеристика моба, на которую мы все же можем повлиять, набрав минимум защиты. Сокрушительный удар – уже не актуально. Завершает все обычный удар. При этом сама структура применяемой в игре системы подразумевает «разрастание» отдельных секторов за счет увеличения % той или иной характеристики персонажа, что должно приводить к вытеснению других секторов.[code][/code]