-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kitchen rework part 1: machines and recipes. #28277
base: master
Are you sure you want to change the base?
Kitchen rework part 1: machines and recipes. #28277
Conversation
Cakes don't seem to be able to be made. Might be something to do with reagents in cooking, or specifically milk? |
I think there might be an issue with some cutting board recipes? yesterday I tried making peanut butter banana sandwiches, and it will say "you are finished cooking with the cutting board" after only adding one bread slice and the peanut butter. won't take anything else to finish the recipe saying the cutting board is full. similar issue with the PB&J variant. |
It seems like it's recipes that partially or fully use reagents that don't properly work. Such as Wish Soup or the Superbite Burger. |
I love this PR and think all of these changes make playing around in the kitchen really, really fun, though putting reagents and items on/in cooking utensils seems a decent bit scuffed as you have to follow your recipe in the exact order specified in the recipe book in some cases. |
|
||
// Burn times for cooking things on a stove. | ||
// Anything put on a stove for this long becomes a burned mess. | ||
#define PCWJ_BURN_TIME_LOW 3 MINUTES |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that these times are overly forgiving.
Setting the cook time to exact is trivial, and there's no risk in setting something to cook for 59 seconds in this way.
I'd like to see the times adjusted so that there's some risk involved, otherwise no one is going to burn food ever again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I make them any lower they're going to start cutting into the actual times we have for recipes, which are anywhere from 10 to 40 seconds. Are you thinking starting at say the 45 second range?
|
||
return calculated_quality - (total_volume - calculated_volume) | ||
|
||
/proc/initialize_cooking_recipes() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice if this initialize_cooking_recipes
checked for duplicates. I recall seeing an exact duplicate of a recipe in the cookbook at least once.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be a good call for a unit test, but probably doesn't need to happen on live.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First real look
One more feedback thing that occured to me now: no way to get replacements for cookwear, either from cargo or the autolathe Edit: perma also lacks cookwear Extra edit: prob could use a way to heat up donks in the kitchen still, but that is me |
What Does This PR Do
This PR implements the first part of the kitchen rework, covering machines and recipes.
The new cooking system is based off of CWJ, a module which I believe was first implemented in Sojourn Station. This code has been extensively rewritten not only to improve the implementation and bring it in line with Para coding standards/idioms, but extended to include all of our existing machines and recipes.
More is coming but this is just getting the first phase in a TMable state to start getting player feedback, iron out bugs, and get eyes on the code.
The converted recipes are viewable here: https://gist.github.com/warriorstar-orion/a6a54bf10a046fc79ecea993bc670705 Note that this is only the initial, bulk conversion, and that the recipes may be tweaked in the future to make more sense or be more/less complex as is fitting.
Summary
Kitchens now have new and reworked machines: stovetops, grills, ovens, deep fryers, and ice cream mixers.
Recipes are made on/in a container, and optionally that container is placed on a cooking machine to finish/progress the recipe.
For example, to make a burger, a bun, lettuce, and patty must be put on a cutting board. To make a fried egg, an egg, salt, and pepper must be placed in a pan, and the pan must be placed on a stovetop and cooked for 10 seconds on medium.
Food now has a quality rating. The more closely a recipe is followed, the better the rating. The higher upgrade-tier the cooking machines, the better the rating. Quality rating currently has no mechanical benefits but will soon be expanded to include useful buffs.
This is just the foundation for the kitchen rework; all the stuff regarding food quality and mid-round mechanical improvements like autochefs are coming in later PRs; trying to do this all at once would be a nightmare and exhausting to test and review.
Why It's Good For The Game
See the project discussion thread for background and motivation.
Images of changes
Testing
So much.
Declaration
Changelog
🆑
add: Cooking machines and recipes have been reworked. Recipes now typically require a "container" for ingredients, such as a prep bowl for salads or a frying pan for using on the stove. Most recipe steps must be followed in order, and their cooking steps will specify a temperature and an amount of time.
add: Kitchens have new and reworked machines: stovetops, grills, ovens, deep fryers, and ice cream mixer.
add: Prepared food now has a quality rating. The more closely the recipe is followed, and the higher the cooking machine upgrades, the better the rating. This rating has no mechanical benefits currently.
add: The chef's PDA starts with a cartridge containing a searchable database of all food recipes.
add: Leaving food cooking on a machine for too long will cause it to become a burned mess. Leave it on longer than that and the machine will catch on fire!
wip: Currently the only purpose of microwaves is to reheat donk pockets. Microwaves have been added into some department break rooms.
wip: Expert chef knowledge temporarily disabled while it gets integrated into the new recipe system.
wip: Some cooking machine interactions such as special attacks and deep fryer ice explosions are temporarily disabled.
fix: Recipes meant to remove toxins on creation, such as boiled spider legs, work properly.
del: Mixing bowls have been removed as they are no longer necessary for available recipes.
/:cl: