Помощь
Боевая система
В игре действует полупошаговая система боя. Полупошаговая - потому что часть действий рассчитывается сразу, а часть только в конце раунда. Действия, выполняемые сразу: перемещение, использование зелий, ядов, баффов и проклятий, смена оружия. Действия, выполняемые по итогам раунда: расчёт ударов и попыток сбежать.
Удары бывают двух основных видов: атака оружием и атака умением (к умениям относятся и заклинания). Соответственно, имеется две основные кнопки: "атаковать" - т.е. использовать оружие и "кастовать" - использовать умение из списка ниже. Перед кнопками атаковать и кастовать есть галочка - если её отметить, то будут выполнены удары сразу на все ОД. Перед списком умений тоже есть галочка - если её поставить, умение будет использовано на себя, иначе оно используется на выбранную цель.
Экран боя условно делится на 2 части: сверху идёт список целей, снизу - кнопки действий. Чтобы атаковать, необходимо выбрать нужную цель, а после выбрать нужное действие. Если цель не выбрана, действие не произойдёт, страница боя просто обновится, а новая цель будет выбрана автоматически первой из списка.
Так же в бою имеется лог боя. В настройках его можно поместить вверх страницы (по умолчанию), либо вниз. Так же его можно совсем отключить, но это делать не рекомендуется, т.к. все сообщения о действиях между игроками (баффы, торговля и т.д.) идут через него.
При занесении удара в очередь туда заносятся такие параметры, как точность и реакция. При этом, для каждого отдельного удара точность и реакция выбираются как случайное число в пределах (0.75, 1) от имеющегося значения.
Расчёт ударов в конце боя происходит так.
Сначала, все удары за раунд сортируются по реакции в обратном порядке. Поэтому, чем выше ваша реакция, тем выше вероятность, что сперва ударите вы, а потом ваш соперник. После этого отсортированная очередь ударов рассматривается от начала до конца.
Для каждого конкретного удара идёт расчёт в несколько этапов.
Первое - проверяется шанс попасть/промазать. Для этого берётся случайное число в пределах (1, точность атаки + силуэт защиты). Если это число оказывается выше силуэта защиты, то попадание.
Второе - расчёт блока. Берётся случайное число (1, 10000). Если это число меньше блок защиты (*100), то удар будет заблокирован.
Третье - расчёт крита. Сперва берётся случайное число (1, 10000). Если это число меньше шанса крита атаки (*100), то будет нанесён критический удар - с двойным уроном. Однако. После этого рассчитывается шанс антикрита защиты. Точно так же берётся случайное число (1, 10000), и если оно меньше чем уклон защиты (*100), то критического удара не будет.
Четвёртое - идёт расчёт нанесённого урона. Рассчитываются всевозможные бонусы от различных эффектов, после чего идёт вычет из полученного значения случайного числа (дефф защиты/3, дефф). Дефф здесь - соответственного физ.дефф для удара оружием и маг.дефф для магии. Если в результате этого оказывается, что урон меньше 1, то пишется сообщении о не пробитой броне.
Пятое - нанесение урона и связанных с ним дебаффов для некоторых видов атак (ожог для магии огня, заморозка для магии воды и т.д.). При этом важная особенность - если удар пришёлся в Щит Келиты, то никаких эффектов наложено не будет. Более того, Щит поглотит весь урон, даже если у него осталось меньше здоровья, чем размер урона.
Шестое - поломка экипировки защиты. При обычном ударе прочность всех вещей падает на 1. При критическом ударе - на случайное число (1, 10). Причём, для каждой вещи случайное число выбирается заново, поэтому вещи могут ломаться неравномерно.
Седьмое - атакующему начисляется опыт за удар (равный нанесённому урону, но не более остававшегося здоровья). Тут же идёт расчёт вампиризма и начисления гнева.
Восьмое - если здоровье защиты опустилось ниже 1, то идёт проверка на восстановление и другие способы мгновенного воскрешения. Если таковых нет, цель погибает. Из очереди ударов удаляются все её удары. Идёт проверка на оставшихся в бою участников. Если остаётся один герой, или герои из одной пати, или только мобы - бой заканчивается. Иначе, возвращаемся к пункту 1.
=© Created by Easy_Alek, 2017=
19:36:24 0.00079