About this mod
Fixes a long-standing issue with the Player being a cannibal in Survival mode and tweaks the Perk as a result to restore balance.
- Permissions and credits
This mod fixes/works around an issue in the Survival mode scripts that has been present since day one. For those unaware, Cannibalism in Survival mode grants you an "addiction" where normal food has no effect and the player can only feed on corpses.
Good mechanic but it's ruined due to the tick/timer being broken, so the player character can go from fully fed to ravenous even if they had just fed on a corpse.
The fix involves resetting the Cannibal tick/timer to 0 for every corpse fed, this way the player character wont become ravenous regardless of when they last ate a corpse. This obviously comes with balance issues so I've changed the hours required to become ravenous to 6 (default 12). This only effects cannibals and has no effect on player characters who are not afflicted with the "Dark Craving" addiction.
As an added bonus, have changed the Cannibal perk to no longer allow feasting on Ghoul or Super Mutant corpses. Instead, Rank 1 heals you 50, Rank 2 heals 75 and Rank 3 heals 100 for every human corpse fed upon (healing time is also extended to be more in line with other Survival consumables.
Main file includes all of the above changes.
"Script Only" Optional file only includes the script changes (bugfix and Cannibal tick/timer change) and does not include perk changes.
"Bugfix Only" Optional file only includes the bugfix script changes, Cannibal tick/timer and the perk remain untouched.
Further detail on investigation in case anyone ever wants to expand on this functionality in Survival:
I believe this to be a bug because the source code states this (under Function PlayerEatsCorpse() in HC_ManagerScript.psc):
;subtract 1 from our ticks to remove an hour per body once we've started Craving.
CannibalTicks -= 1
if CannibalTicks < 0
CannibalTicks = 0
endif
Removed some fluff but the idea here is that eating one corpse should have removed 1 hour from the timer to going ravenous (which takes 12 "ticks" which is 12 in-game hours, so if 5 hours had passed since last consuming a corpse, then consuming one would mean you have 8 hours to go until becoming ravenous instead of 7).
I'm not sure why the above code doesn't work and the rest of the Survival mode code is a mess so I don't want to untangle it any further.