Перейти к контенту

[SoC] Расчет повреждений при стрельбе по неписям


frags

Рекомендуемые сообщения

Я провел исследование влияние параметров пули и броников при стрельбе по неписям.

 

Участвуют след. параметры:

 

1. hit_power - мощность ствола из файлов параметров стволов

2. k_hit - мощность пули из weapons.ltx для каждого типа патронов

3. Секции [body_*] и [head_*] из damages.ltx с набором

параметров bip01_* - определяет прочность защиты на каждой части тела (второй параметр).

Далее эти параметры я обозначу как Bd и Hd.

4. hit_fraction из damages.ltx для каждого типа защиты определяет прочность защиты.

5. Секция [stalker_damage] из m_stalker.ltx с набором параметров bip01_* - определяет фактор

уменьшения здоровья при попадании в соответсвующую часть тела (первый параметр).

Далее этот параметр я обозначу как Sd.

 

Далее я опишу алгоритм по которому происходит вычисление повреждений.

Алгоритм был получен опытным путем при стрельбе по неписи в упор и не претендует на истину в последней инстанции.

Контроль количества повреждений производился через hit_callback функцию скрипта.

 

1. Здоровье неписи лежит в диапазоне от 0 до 100%.

2. Вычисляется 2 числа и берется большее:

hit_fraction * Sd * 100%

и

hit_power * k_hit * F * Sd * 100% где F = (1-Bd) или F = (1-Hd)

3. Полученное в п.2 число вычитается из уровня здоровья неписи и при достижении нуля - непись убита.

 

Тоже самое и при стрельбе неписей по ГГ.

Параметры зашиты броников определяются указателем bones_koeff_protection из outfit.ltx для каждого броника.

Параметр fire_wound_protection определяет только текстовый процент защиты в описании надетого костюма и на реальные повреждения не влияет.

  • Спасибо 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
А теперь если это перефразировать утилитарно применительно к геймплеею, можно ли сделать чтобы при выстреле из любого оружия с глушителем в ногу Непись гарантировано была ранена а не убита?!!?

Нет, сделать это нельзя, потому как даже если поставить такие параметры поражения чтобы урон был гарантировано меньше 100%, у неписи

изначально здоровье может быть меньше 100%.

Поделиться этим сообщением


Ссылка на сообщение
а если такая проверка:

if "выстрел в ногу" then "здоровье непись"="здоровье непись"*0,9 ???

Не получится. Боевая составляющая зашита в движек и в скрипты передается только последствия попадания.

 

почему тогда если поставить все параметры броньки на 100 то ты пуленепробиваемый?

Нет, потому как есть еще hit_fraction. Надо и его ставить очень маленьким, тогда ты почти пулено

Поделиться этим сообщением


Ссылка на сообщение
Возможно берется не большое, а меньшее или вообще проверяется что второе число больше первого и вычитается. Первое число же ведь фактически параметр защиты - как-то не логично вычитать его из здоровья.

Берется именно большее. hit_fraction как бы определяет урон от самого факта попадания (например если пуля не пробила броню).

Поэтому лучше hit_fraction сделать маленьким для экз и тяжелых броников.

В ЧН уже лучше - есть параметр бронебойности пули. Там уже можно сделать что разница между бронебойной и обычной пулей

будет очень существенна при стерльбе по защите (вплоть до того что обычная пуля в броник как слону дробина, а бронебойная

хорошо бьет):

http://amk-team.ru/forum/index.php?showtopic=3487

http://amk-team.ru/forum/index.php?showtopic=3749

Поделиться этим сообщением


Ссылка на сообщение
Получается в ЧН есть еще "k_ap", но он есть и в ТЧ - но вроде как только для сетевой - или я ошибаюсь?

Вот здесь у меня для ЧН все четко расписано:

http://amk-team.ru/forum/index.php?showtopic=3487

 

тогда странно - почему же пули не просчитываются? в принципе то - коэфф то один и тот же?

Впринципе в этом есть своя логика - поврежденный от пули костюм, от другой пули защитит так же хорошо если

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

дырку костюмчик уже хуже защищает.

Поделиться этим сообщением


Ссылка на сообщение
Это я читал... Я говорю про ТЧ - а там на что этот "к_ап"? Для сетевой или нет?

А разве в ТЧ есть k_ap? У меня в 1.0004 нет. Может он появился в 1.0005/1.0006.

Поделиться этим сообщением


Ссылка на сообщение

Я тут внимательно пересмотрел расчет повреждений для ТЧ и вот что получилось.

Берется большее из:

урон% = (hit_power*k_hit - bip01_бронезащиты)*bip01_части_тела*fire_wound_immunity*health_hit_part*100%

или

урон% = hit_power*k_hit*hit_fraction*bip01_части_тела*fire_wound_immunity*health_hit_par

t*100%

 

bip01_бронезащиты - второй параметр из damages.ltx

hit_fraction - из damages.ltx

fire_wound_immunity из immunities.ltx или m_stalker.ltx

bip01_части_тела - первый параметр из m_stalker.ltx (секция [stalker_damage])

health_hit_part - из m_stalker.ltx (секция [stalker_condition])

Также влияет параметр air_resistance_k из weapons.ltx - ослабевание урона от расстояния вследствии уменьшения скорости пули в полете.

Для НПС параметры защиты (bones_protection_sect и immunities_sect) определены через #include ссылку на models\capture\*.ltx в ogf файле.

 

И еще в НЛС6 обнаружил странную особенность - любой выстрел из любого ствола ослабевается на 20%, т.е. hit_power*k_hit*0.8

Откуда это 0.8 берется я така и не нашел. В чистом ЧН, АМК или НЛС5 этого нет.

Изменено пользователем frags

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...