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

Система урона: различия между версиями

Материал из Wiki Legnes
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Описание системы расчёта шансов попасть по врагу, уклониться от атаки, количество наносимого урона в бою для PvP, PvM, MvP.
Описание системы расчёта шансов попасть по врагу, уклониться от атаки, количество наносимого урона в бою для PvP, PvM, MvP.


==Термины и определения==
PvP (Игрок против Игрока), PvM (Игрок против Монстра(Моба)), MvP (Монстр(Моб) против Игрока)
== Термины и определения ==
<b>cap</b> - кап, текущий лимит прокачки навыка (100 для навыков, 150 для силы, 100 для ловкости).
<b>cap</b> - кап, текущий лимит прокачки навыка (100 для навыков, 150 для силы, 100 для ловкости).


Строка 32: Строка 33:




==Шанс попадания==
== Шанс попадания ==
<b>cap = 1.0</b> ()
<b>cap = 1.0</b> ()


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


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


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


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






==Шанс уклониться от атаки==
== Шанс уклониться от атаки ==
<b>tactics_cap = 0.35</b>
<b>tactics_cap = 0.35</b>


Строка 62: Строка 63:
Минимальное значение: <b>5</b>, максимальное значение: <b>75</b>.
Минимальное значение: <b>5</b>, максимальное значение: <b>75</b>.


==PvP, MvP==
== PvP, MvP ==
<b>dex_cap = 0.15</b>
<b>dex_cap = 0.15</b>


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


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


Строка 80: Строка 81:
Формула: <b>tactics + dex</b>.
Формула: <b>tactics + dex</b>.


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


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




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


Строка 96: Строка 97:
Монстры имеют свой диапазон урона.
Монстры имеют свой диапазон урона.


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


Строка 117: Строка 118:
<b>str_overcap = 0.25</b>
<b>str_overcap = 0.25</b>


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


Строка 128: Строка 129:
<b>war_skill_overcap = 0.1</b>
<b>war_skill_overcap = 0.1</b>


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


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


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


Строка 142: Строка 143:
<b>anatomy_overcap = 0.1</b>
<b>anatomy_overcap = 0.1</b>


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


Для <b>Fencing</b> крафтерский навык - <b>Tailoring</b>
Для <b>Fencing</b> крафтерский навык - <b>Tailoring (Портняжное дело)</b>


При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
Строка 155: Строка 156:
<b>craft_overcap = 0.15</b>
<b>craft_overcap = 0.15</b>


Для <b>Swordsmanship</b> крафтерский навык - <b>ArmsLore</b>
Для <b>Swordsmanship</b> крафтерский навык - <b>ArmsLore (Знания о доспехах)</b>


При значении скилла до 100 дает по 1% к урону за каждые 20% навыка, свыше 100 - за каждые 11.1%.
При значении скилла до 100 дает по 1% к урону за каждые 20% навыка, свыше 100 - за каждые 11.1%.
Строка 165: Строка 166:
<b>craft_overcap = 0.09</b>
<b>craft_overcap = 0.09</b>


Для <b>MaceFighting</b> крафтерский навык - <b>Blacksmith</b>
Для <b>MaceFighting</b> крафтерский навык - <b>Blacksmith (Кузнечное дело)</b>


При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
Строка 175: Строка 176:
<b>craft_overcap = 0.15</b>
<b>craft_overcap = 0.15</b>


Для оружия <b>Staff</b> крафтерский навык - <b>AnimalTaming</b>
Для оружия <b>Staff</b> крафтерский навык - <b>AnimalTaming (Дрессировка)</b>


При значении скилла до 100 дает по 1% к урону за каждые 7.2% навыка, свыше 100 - за каждые 5.0%.
При значении скилла до 100 дает по 1% к урону за каждые 7.2% навыка, свыше 100 - за каждые 5.0%.
Строка 185: Строка 186:
<b>craft_overcap = 0.2</b>
<b>craft_overcap = 0.2</b>


Для оружия <b>Axes</b> крафтерский навык - <b>Lumberjacking</b>
Для оружия <b>Axes</b> крафтерский навык - <b>Lumberjacking (Лесозаготовка)</b>


При значении скилла до 100 дает по 1% к урону за каждые 8.3% навыка, свыше 100 - за каждые 5.5%.
При значении скилла до 100 дает по 1% к урону за каждые 8.3% навыка, свыше 100 - за каждые 5.5%.
Строка 195: Строка 196:
<b>craft_overcap = 0.18</b>
<b>craft_overcap = 0.18</b>


Для <b>Archery</b> крафтерский навык - <b>Bowcraft</b>
Для <b>Archery</b> крафтерский навык - <b>Bowcraft (Лукоделие)</b>


При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
При значении скилла до 100 дает по 1% к урону за каждые 10% навыка, свыше 100 - за каждые 6.66%.
Строка 205: Строка 206:
<b>craft_overcap = 0.15</b>
<b>craft_overcap = 0.15</b>


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


Строка 218: Строка 219:
<b>parrying_overcap = 0.025</b>
<b>parrying_overcap = 0.025</b>


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



Версия от 16:43, 1 апреля 2025

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

PvP (Игрок против Игрока), PvM (Игрок против Монстра(Моба)), MvP (Монстр(Моб) против Игрока)

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

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

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

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

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

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

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

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

parrying - значение навыка Парирование.

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.

parrying_cap = 0.01

parrying_overcap = 0.025

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

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

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

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

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

Где:

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

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

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

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