Автор Тема: Система HP(едениц здоровья)  (Прочитано 566 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krestraj2020

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Система HP(едениц здоровья)
« : 21 Ноября 2022, 21:36:19 »
В статье из wiki о боевой системе говорится, что в DF нет очков здоровья. Типа все здесь состоит из частей тела и их состояния (здоровые.. поврежденные..потерянные). На оригинальном форуме встречается выражение "HP system", когда речь заходит о undead.
Но я не смог найти ответы на следующие вопросы:

1) Есть ли у частей тела скрытые HP?
1а) Где посмотреть эти hp?
1b) От чего зависят эти hp?
1c) Сколько hp в среднем наносит стальное оружие по мягкому материалу?

2) До каких пор живой юнит считается живым?
2а) Отсутствие каких частей тела сделает дварфа мертвым?

3) До каких пор undead или колосс считаются живыми?
3a) Отсутствие каких частей тела сделает undead или колосса мертвыми?
3b) Какая основная часть тела у undead или колосса?
3c) сколько HP у поднятой(анимированной) части тела?


Оффлайн krestraj2020

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Система HP(едениц здоровья)
« Ответ #1 : 17 Марта 2023, 09:05:24 »
Итак , что  я пока понял из ответов с http://www.bay12forums.com/smf/index.php?topic=180594.msg8431073#msg8431073:
1) есть что то вроде  антиHP в виде таблицы повреждений
2) живой юнит считается живым пока не сработает триггер на смерть, к примеру естественный голод ,потеря крови ,отсутствие необходимой конкретному юниту конечности ,паранормальный "смертельный страх"
3) undead или колосс считаются живыми пока их верхние и нижнее туловища целы


Попробовал  плагин "gui/gm-editor" и выяснил:
что к примеру тело курицы состсоит из 52 частей тела,
каждая из 52 частей  тела имеет около 20 обобщенных статуса состояния
то что в игре и в тераписте показывается как раны соответствует этим статусам

Каждая часть тела состоит в среднем из 3-4 слоев(к примеру палец это = слой кожи +слой кости +слой жира +слой мускул)
итого 133 слоя у курицы

Каждый из слоев имеет 3 счетчика повреждений(layer_effect_fraction,  layer_dent_fraction, layer_cut_fraction)
тут (https://dfwk.ru/Material_science -> дробление) намекается на то как показания этих счетчиков могут приводить к изменению статуса частей тела

Получается HP в реверсивном виде все таки есть! НО:
зависимость между ударом  и изменением HP не очевидна(хотя во всю высчитывается энтузиастами)
зависимость между HP и статусом органов не очевидна
зависимость между статусом органов и статусом жизни разных типов юнитов не очевидна
вывод:все слишком сложно

Оффлайн krestraj2020

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Система HP(едениц здоровья)
« Ответ #2 : 17 Марта 2023, 18:39:20 »
Я попробовал "gui/gm-editor" на арене с двумя животными и вот что вышло:

gui/gm-editor->body->components->layer_cut_fraction  (layer_dent_fraction)
Эти числа  в начале равны 0, но в процессе драки  эти числа  растут.
После драки у выжившиго юнита layer_cut_fraction l ayer_dent_fraction   layer_effect_fraction  layer_wound_area постепенно уменьшаются до 0

Во время драки также пополняется список  gui/gm-editor->body->wounds и меняются статусы частей тела gui/gm-editor->body- components -> body_part_status

К примеру был укус в ногу  , был задет слой 37(кожа):
layer_cut_fraction стал равен=400 , layer_wound_area=3 , layer_dent_fraction=400
body->wounds->wounds[1]->layer[37]->strain=50000
body->wounds->wounds[1]->layer[37]->cur_penetration_perc=100

В течении минуты на арене "strain" падает до 47700 , cur_penetration_perc падает до 77  , body->components ->layer_cut_fraction->[37]  падает с 400 до 170
 
Когда strain=0 cur_penetration_perc=0 некоторые раны  исчезают.
К примеру в моем случае еще были wounds[1]->layer[38](жир) и wounds[1]->layer[38](мускулы) и они исчезли сами.
А вот wounds[1]->layer[37](кожа) дошел до конца но не исчез пока я не установил wounds[1]->layer[37]->flgs->scar_cut=false
 
Если у не долеченной раны обнулить strain=0 и  cur_penetration_perc=0 то она перестанет уменьшать счетчик layer_cut_fraction
 
Если прибавлять к счетчику layer_cut_fraction небольшие значения то рана в режиме заживания(cur_penetration_perc>0) будет и дальше отнимать счетчик

Если у здорового юнита  увеличить layer_cut_fraction  то это не как не проявится , список body->wounds не добавится , body->components->body_part_status не поменяются.
 
 
 вывод:
 Переменные layer_cut_fraction layer_dent_fraction  layer_effect_fraction layer_wound_area хранят суммарный урон но сами по себе  вторичны.
 Предполагаю что в момент удара начисляется урон в layer_****_fraction и одновременно создается объект body -> wounds который лечит свой подопечный слой и одновременно меняет body_part_status исходя из уровня урона слою.
 HP присутствует в виде "Damage Points"
« Последнее редактирование: 17 Марта 2023, 18:47:11 от krestraj2020 »

Оффлайн AnotherBoris

  • Ветеран
  • *****
  • Сообщений: 1218
    • Просмотр профиля
Re: Система HP(едениц здоровья)
« Ответ #3 : 18 Марта 2023, 04:25:37 »
вывод:все слишком сложно
Есть такое изречение: "талантливый человек - талантлив во всём". Иначе говоря, потенциал развития индивидуума в любой из областей считается более-менее одинаковым.

Рискуя навлечь на себя негодование, всё-таки отмечу, что человек, как минимум десять лет обучавшийся в школе и так и не научившийся писать, вряд ли достигнет больших успехов в других видах интеллектуальной деятельности. Так что тот вывод, к которому ты пришёл проведя долгое исследование и затратив кучу усилий, для многих был очевиден ещё когда ты писал заголовок этого поста.

Сочувствую, чел. Попробуй работать руками. Или ногами. Как правило природа всё-таки компенсирует недостатки достоинствами.

Тем не менее, интересует вопрос практического применения полученных знаний. Кроме самообразования и тренировки интеллекта, зачем нужны знания о так называемой "Системе HP"? К каким выводам на основании этих знаний можно прийти и какие решения принять?
« Последнее редактирование: 18 Марта 2023, 17:39:04 от AnotherBoris »

Оффлайн krestraj2020

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Система HP(едениц здоровья)
« Ответ #4 : 07 Октября 2023, 09:41:54 »
К каким выводам на основании этих знаний можно прийти и какие решения принять?
Практического применения я не обнаружил. Но думал что может что пойму каким оружием кого бить.


Цитировать
"талантливый человек - талантлив во всём"
Что же мне делать если интересующую меня информацию не получается найти, кроме как кошмарить своими вопросами форумчан?