Hunger bar is now animated and updates as you eat (#90446)

## About The Pull Request

Hunger bar is now dynamic rather than 4 static sprites

Hunger bar now accounts for food you have yet to metabolize, meaning it
updates as you eat


https://github.com/user-attachments/assets/06269da7-f07d-4738-98b2-ca6bde8ba0fe

Other changes:

- Adds a hunger tier between hungry and starving

## Why It's Good For The Game

Overeating happens so often simply because this bar is trash, so let's
give it some love

## Changelog

🆑 Melbert
fix: All humans no longer have a baseline "75" ghost nutrition (which
means you can eat more)
qol: Hunger bar update! It's now dynamic and updates as you eat.
qol: Adds a hunger tier between hungry and starving (for mood)
/🆑
This commit is contained in:
MrMelbert
2025-04-06 15:20:13 -05:00
committed by Shadow-Quill
parent 4ab507f1a0
commit 326012c4ff
14 changed files with 182 additions and 71 deletions

View File

@@ -385,7 +385,7 @@
/obj/item/organ/stomach/on_mob_insert(mob/living/carbon/receiver, special, movement_flags)
. = ..()
receiver.hud_used?.hunger?.update_appearance()
receiver.hud_used?.hunger?.update_hunger_bar()
RegisterSignal(receiver, COMSIG_CARBON_VOMITED, PROC_REF(on_vomit))
RegisterSignal(receiver, COMSIG_HUMAN_GOT_PUNCHED, PROC_REF(on_punched))
@@ -394,7 +394,7 @@
var/mob/living/carbon/human/human_owner = stomach_owner
human_owner.clear_alert(ALERT_DISGUST)
human_owner.clear_mood_event("disgust")
stomach_owner.hud_used?.hunger?.update_appearance()
stomach_owner.hud_used?.hunger?.update_hunger_bar()
UnregisterSignal(stomach_owner, list(COMSIG_CARBON_VOMITED, COMSIG_HUMAN_GOT_PUNCHED))
return ..()