Open AllSystemsGo opened 5 years ago
I got the following results using the steps you described:
wished the hybernation mutations after I wished the prereqs for it
I activated hybernation
I got this message:
Drank milk untill engorged
I did get this message about 3x:
But then I got tired:
I did not vomit from my milk.
I slept:
untill:
Sorry I should have been clearer about the text; You do get told it activates, but it should be telling you a lot more. Back in 0.D, it would tell you how close you were to filling up enough for hibernation as you ate, and how tired you were getting from eating. You would then eat until it told you you were ready to hibernate (not necessarily until you're 'engorged'), but trying to eat to this point on current builds will give you the 'you are forcing to eat' prompt, and then if you continue to eat you will vomit.
Ah I see, I did get the 'force to eat' prompt but I chose no. Some time later I was not engorged anymore so I ate my milk again and the force to eat prompt showed again and I chose not to eat.
Maybe the messages were taken out by some PR?
I guess it is possible, but I would think that - even with the additional messages removed - it would still make you tired enough to sleep.
I opened my old 0.D install to show that it used to look like:
i think hibernation needs an entire rework. It doesn't seem to work right with the calories system. I'm having trouble even getting to trigger. and even then i only seem to sleep for a couple days. IRL bears store about 1 million calories in order to hibernate through the entire winter. Maybe we should base it around that?
This bug is still happening in 0.F-1687-gbadd5e3393
. Here is the probable culprit:
https://github.com/CleverRaven/Cataclysm-DDA/blob/37f60cd29312029d1bc9f5893fc41028d9446e65/src/player_hardcoded_effects.cpp#L943-L952
The player wakes up after their fatigue reaches 19
, and instead of sleeping for 10_days
, they wake up in less than a day. I suggest adding a trait check has_active_mutation( trait_HIBERNATE )
or Character::is_hibernating()
to prevent the duration from being reset while it's active.
There are other issues with hibernation that weren't present in 0.E but are not present in 0.F: #30370
Hunger and thrist no longer goes this low so these messages won't show up. https://github.com/CleverRaven/Cataclysm-DDA/blob/2e01ea8f9728fc563e0e47897a09dd227340f991/src/handle_action.cpp#L1093-L1094
const bool hibernate = you.has_active_mutation( trait_HIBERNATE );
Describe the bug
The hibernation mutation does not appear to be functioning
Steps To Reproduce
Steps to reproduce the behavior:
Expected behavior
Screenshots
Versions and configuration
Additional context
Add any other context about the problem here.