[x] Overhaul FreshkillPile code for simplicity & robustness
[x] Move Nutrition to a new file
[x] Convert all properties of Nutrition to @property properties, max and current being managed, percentage and nutrition_text just being calculated
[x] Refactor freshkill_test.py to never fail when things should be working
[x] GH does seem to throw errors on it now and then which I can't reproduce locally. I don't know why but I suspect it's to do with the order the cats enter the freshkill system in. Needs further investigation.
Why This Is Good For ClanGen
Happy devs, happy life. This is an especially crunchy part of the code that likes to break when unrelated features are modified, so it's good to try and stabilise it a bit more.
Note: I would like, in the not-too-distant future, to rework both Herbs and Freshkill to draw from a base Resources class.
About The Pull Request
Why This Is Good For ClanGen
Happy devs, happy life. This is an especially crunchy part of the code that likes to break when unrelated features are modified, so it's good to try and stabilise it a bit more.
Note: I would like, in the not-too-distant future, to rework both Herbs and Freshkill to draw from a base Resources class.
Linked Issues
Part of #2436
Proof of Testing
Testing thread on Discord
Changelog/Credits
Freshkill refactored