Frontier Cooking Port (Part 1)
About the PR
Ports from Frontier the splitting of microwave recipes (https://github.com/new-frontiers-14/frontier-station-14/pull/1935). Also ports the splitting into the guidebook. Also ports making ice-cream cones, yay.
Currently, as a stopgap, the microwave (including the advanced microwave and donk co microwave) operates in "debug mode" - it will cook all recipes, regardless of type. This is pending updated maps and shuttles. There is also a "cheap microwave", which does not have debug mode. Machines can already be made at the circuit imprinter.
Why / Balance
Makes cooking more interesting by requiring multiple machines. It also makes cooking make a little bit more sense (not much more mind). Gives a dedicated medical assembler, for use by the medical department if they want to make medicated sutures and the like. Also being able to make frozen deserts is nice and cool (hah get it) interaction.
Technical details
Microwave code is frankly horrific, so this is what the port does:
- Creates a new, intiger based flag for food recipes
- Creates a flag for different "microwaves" (microwave, electric range, food-o-mat, medical assembler)
- In the MicrowaveSystem's CanSatisfyRecipe method checks if the food recipe flag type and "microwave" device flags match. If not, exists the method.
- Also adds CanIrradiate and CatHeat variables for "microwaves" that are checked for ID frying and similar.
- "microwave" UI can now change some text based on "microwave" type.
- The assemblers have their own UI
- Assemblers have slightly different code - they check if there is a valid recipe pre-assembly, and you can't set time, they just take as long as required. So they sort of their own system, except it exists in the same namespace as MicrowaveSystem.
- Yeah, this is, bad, but so is the microwave code to begin with. And it seems to work, so yay?
Media
Requirements
- [X] I have tested all added content and changes.
- [X] I have added media to this PR or it does not require an ingame showcase.
Breaking changes
- KNOWN ISSUE: if there were any ingredients in the "microwave" that were not consumed during a cooking cycle, microwave UI gets stuck in "cooking mode". This UI bug can be exited by simply inserting any item into the microwave. From what I've heard, this is an upstream issue - none of the code should cause this.
- Food recipes that do not have a "microwave" type specified will default to being a microwave recipe, logic be damned.
Changelog
:cl:
- add: Added the electric range, food-o-mat and medical assembler. (Frontier cooking port)
- add: Added recipes for various frozen deserts, such as snowcones and waffle ice-cream! Yum! (Frontier cooking port)
- tweak: You may find that due to budget cuts, some of your microwaves may be replaced with cheaper versions manufactured in the Frontier sector. If this occurs, please use the electric range for baking and the food-o-mat for salads and similar. (Frontier cooking port)
- tweak: Guidebook recipe section now specifies what machine you should use to cook that recipe. (Frontier cooking port)
RSI Diff Bot; head commit 3c72b4942e9e5420eb068fc8ea3357937bb65cd2 merging into 73184fb581c67f7ade71f5097f5482c6fd42e869 This PR makes changes to 1 or more RSIs. Here is a summary of all changes:
Resources/Textures/_NF/Objects/Consumable/Food/frozen.rsi
| State | Old | New | Status |
|---|---|---|---|
| sheleg | ![]() |
Added | |
| wafflecone | ![]() |
Added |
Resources/Textures/_NF/Structures/Machines/assembler.rsi
| State | Old | New | Status |
|---|---|---|---|
| assembler-blinky-unlit | ![]() |
Added | |
| assembler-broken-unlit | ![]() |
Added | |
| assembler-invisible | ![]() |
Added | |
| assembler-on-unlit | ![]() |
Added | |
| assembler-running-unlit | ![]() |
Added | |
| assembler-scan-unlit | ![]() |
Added | |
| assembler | ![]() |
Added |
Resources/Textures/_NF/Structures/Machines/medical_assembler.rsi
| State | Old | New | Status |
|---|---|---|---|
| icon | Added | ||
| mediwave-base | ![]() |
Added | |
| mediwave-off-unlit | ![]() |
Added | |
| mediwave-on-unlit | ![]() |
Added |
Resources/Textures/_NF/Structures/Machines/oven.rsi
| State | Old | New | Status |
|---|---|---|---|
| composite_off | ![]() |
Added | |
| composite_on | ![]() |
Added | |
| cooking_unlit | ![]() |
Added | |
| off_no_door | ![]() |
Added | |
| oven_door | ![]() |
Added | |
| range_high | ![]() |
Added | |
| range_low | ![]() |
Added | |
| range_medium | ![]() |
Added | |
| unlit | ![]() |
Added |
Resources/Textures/_NF/Structures/Machines/oven_syndie.rsi
| State | Old | New | Status |
|---|---|---|---|
| composite_off | ![]() |
Added | |
| composite_on | ![]() |
Added | |
| cooking_unlit | ![]() |
Added | |
| off_no_door | ![]() |
Added | |
| oven_door | ![]() |
Added | |
| range_high | ![]() |
Added | |
| range_low | ![]() |
Added | |
| range_medium | ![]() |
Added | |
| unlit | ![]() |
Added |
theres already an upstream pr for this
theres already an upstream pr for this
Link it, cause if it's the PR I've seen, it has been languishing unseen for months now (and also doesn't have the assemblers)
https://github.com/space-wizards/space-station-14/pull/39866
ngl seeing the conversation in that PR, I have a feeling it'll be a million years until/if it gets implemented (not to mention we are behind upstream anyhow).
Waiting for upstream is a fool's errand and you know it.
Direction 24h
We really like this addition and trust our contributors and maintainters to make sure all recipies are allocated in a way that is reasonable. Direction approved.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
@TehFlaminTaco please review this when you are able. Thank you
@Vapetastic-Gaming @AlgisAlphonse Unfortunately this requires merge conflicts to be resolved before we can continue.
@Vapetastic-Gaming @AlgisAlphonse Unfortunately this requires merge conflicts to be resolved before we can continue.
@TehFlaminTaco
Hi,
So this PR did not have merge conflicts when originally submitted. Unfortunately it has been sitting around for review so long, conflicts have appeared now.
I am sadly currently pretty busy with studies, so I can give no estimate when I can even look at this - I don't even know yet what the conflicts are, but given the two files, they are probably pretty minor. It would be fastest if a maintainer could take a look and ask me if any advice is needed.
Again, apologies, but I am pretty busy atm.
No worries, I can go through it this week when Im off and fix it up a bit. Thank you for your hard work, We'll get it in shortly
I can uh... clean this up since its all ready go to. Process-wise.
Any progress on cleanup?





























