Перейти к содержанию

Система урона

Материал из Wiki Legnes

Описание системы расчёта шансов попасть по врагу, уклониться от атаки, количество наносимого урона в бою для PvP, PvM, MvP.

Термины и определения

cap - кап, текущий лимит прокачки навыка (100 для навыков, 150 для силы, 100 для ловкости).

overcap - оверкап, превышение лимита прокачки навыка/стата (бонусы от плюсовых предметов и баффов, либо понижение от дебаффов).

cap_koeff - коэффициент капа, константа, на которую умножается значение навыка/стата до капа.

overcap_koeff - коэффициент оверкапа, константа, на которую умножается значение навыка/стата оверкапа.

war_skill - значение навыка, используемого оружием, либо Кулачный бой, если деремся кулаками.

tactics - значение навыка Тактика.

anatomy - значение навыка Анатомия.

craft_skill - значение крафтерского навыка, дающего бонус к оружию, которым ведется бой.

str - значение силы.

dex - значение ловкости.

stam% - значение стамины в процентах.

food - сытость персонажа.

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


Шанс попадания

cap = 1.0 ()

overcap = 1.3

Минимальное значение: 10, максимальное значение: 85.

Исключения из формул:

Если персонаж заморожен или парализован - по нему легче попасть, чем по активной мишени. Шанс попадания 95%, шанс увернуться от атаки - 5%.

От удара защитников городов (гварды) увернуться невозможно.

PvP, PvM

Формула: (war_skill + tactics) / 2 (cap и overcap по каждому навыку считается отдельно, до деления на 2).

Если stam% атакующего персонажа опустилась ниже 60% - на шанс попадания накладывается штраф, от 0 до 25 единиц (в зависимости от того, насколько низко упала стамина).

MvP

Формула: (war_skill + tactics) / 2 (cap и overcap по каждому навыку считается отдельно, до деления на 2).


Шанс уклониться от атаки

tactics_cap = 0.35

tactics_overcap = 0.45

Минимальное значение: 5, максимальное значение: 75.

PvP, MvP

dex_cap = 0.15

dex_overcap = 0.25

Формула: tactics + dex.

Если stam% защищающегося персонажа опустилась ниже 60% - на шанс уклониться от атаки накладывается штраф, от 0 до 25 единиц (в зависимости от того, насколько низко упала стамина).

PvM

Значение cap для dex = 250, вместо 100.

dex_cap = 0.04

dex_overcap = 0.25

Формула: tactics + dex.

Итоговый шанс попадания

Имея посчитанные значения шансов попадания и уклонения от атаки - вычисляем попали или промазали по формуле: success_hit = random(accyracy) > random(evasion)

Если рандомное число из максимального шанса атакующего попасть по врагу больше рандомного числа уклонения от атаки защищающегося персонажа - наносим урон, в ином случае - промах.

Чем выше значения - тем выше шанс что в random выпадет бОльшее число, тем самым выше шанс попасть или уклониться от атаки.


Бонусы урона

Под бонусами урона подразумевается увеличение базового урона (в % от суммарного значения всех доступных бонусов урона), наносимого оружием (или кулаками).

Бонусы урона рассчитываются только для атаки игроком.

Монстры имеют свой диапазон урона.

Бонус от силы

Если используется стрелковое оружие:

При значении силы до 150 дает по 1% к урону за каждые 15 единиц силы, свыше 150 - за каждые 5.

Пороговые значения бонуса силы (до 150) 0 - 10%.

str_cap = 0.07

str_overcap = 0.2

Если используется оружие ближнего боя:

При значении силы до 150 дает по 1% к урону за каждые 10 единиц, свыше 150 - за каждые 4.

Пороговые значения бонуса силы (до 150) 0 - 15%.

str_cap = 0.1

str_overcap = 0.25

Бонус атакующего навыка

Бонус от атакующего навыка не сильно большой, т.к. он участвует в расчете попадания.

При значении навыка до 100 дает по 1% к урону за каждые 25% навыка, свыше 100 - за каждые 10%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 4%.

war_skill_cap = 0.04

war_skill_overcap = 0.1

Бонус от еды

Сытость персонажа влияет на урон как положительно, так и отрицательно. Голодный персонаж имеет штраф по сравнению с сытым.

Пороговые значения бонуса еды -2 - 4%.

Бонус анатомии

При значении навыка до 100 дает по 1% к урону за каждые 25% навыка, свыше 100 - за каждые 10%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 4%.

anatomy_cap = 0.04

anatomy_overcap = 0.1

Бонус крафтерского навыка

В зависимости от типа используемого оружия применяется бонус от крафтерского навыка, привязанного к этому типу оружия.

Для Fencing крафтерский навык - Tailoring

При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 10%.

craft_cap = 0.1

craft_overcap = 0.15

Для Swordsmanship крафтерский навык - ArmsLore

При значении скилла до 100 дает по 1% к урону за каждые 20% навыка, свыше 100 - за каждые 11.1%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 5%.

craft_cap = 0.05

craft_overcap = 0.09

Для MaceFighting крафтерский навык - Blacksmith

При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 10%.

craft_cap = 0.1

craft_overcap = 0.15

Для оружия Staff крафтерский навык - AnimalTaming

При значении скилла до 100 дает по 1% к урону за каждые 7.2% навыка, свыше 100 - за каждые 5.0%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 14%.

craft_cap = 0.14

craft_overcap = 0.2

Для оружия Axes крафтерский навык - Lumberjacking

При значении скилла до 100 дает по 1% к урону за каждые 8.3% навыка, свыше 100 - за каждые 5.5%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 12%.

craft_cap = 0.12

craft_overcap = 0.18

Для Archery крафтерский навык - Bowcraft

При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.

Пороговые значения бонуса атакующего навыка (до 100.0 навыка) 0 - 10%.

craft_cap = 0.1

craft_overcap = 0.15

Бонус к защите щитом от парринга

Кроме шанса парировать атаку, защита щита напрямую зависит от значения навыка парринга.

До 100% уровня парринга - базовая защита щита режется кратно значению навыка.

Например, если базовая защита щита 35 - то при 10% парринга щит будет давать 3,5 (3, округление в меньшею сторону) защиты, при 50% парринга - 17,5 (17) защиты.

При значении парринга свыше 100 - расчет производится по коэффициенту оверкапа, например, при базовой защите щита 35 и значении парринга 110% - значение защиты от оверкапа будет (35 * 10 * 0.025) = 8,75 (8), итоговая защита 35 + 8 = 43.

anatomy_cap = 0.01

anatomy_overcap = 0.025

Итоговый расчет урона

После того как посчитаны все бонусы к урону, защита щита от парринга, общее значение брони (от всех надетых на персонаже вещей, умноженное на внутренние коэффициенты) - считаем фактически наносимый урон.

base_damage - базовый урон, случайное число в диапазоне min-max урона оружия, умноженное на коэффициент прочности оружия.

prepared_damage - урон с учетом бонусов от навыков, статов, еды, плюсового оружия и дополнительных свойств оружия (сильвер против нежити, голден против драконов, эльдар против гвардов руды и леса и т.п.): calc_damage = base_damage + (base_damage * bonus_sum%) + magic_weapon_bonus + extra_property_bonus

result_damage - конечный урон, наносимый существу. Считается как result_damage = prepared_damage * (K1 / (armor + K2))

Где:

prepared_damage - урон с учётом бонусов, с небольшим разбросом, в зависимости от используемой системы (PvP, PvM, MvP).

armor - броня на персонаже + броня щита с учетом парринга (всё с учётом коэффициента прочности каждой части брони), с небольшим разбросом, в зависимости от используемой системы (PvP, PvM, MvP).

K1 - коэффициент нормализации урона, значение в зависимости от используемой системы (PvP, PvM, MvP).

K1 - коэффициент выравнивания итогового урона, значение в зависимости от используемой системы (PvP, PvM, MvP).