Occulus-Server / Occulus-Eris

Occulus is a downstream from Eris, though we also have a fair bit of original content thanks to a decent sized development team.
Other
6 stars 48 forks source link

The BIG KITCHEN UPDATE: Part One, the machines and food #1008

Closed SigDoesCode closed 1 year ago

SigDoesCode commented 1 year ago

About The Pull Request

This is part one of two of the big kitchen and cooking update. Currently, this adds the machines, the tools for the machines, and the recipes made in the machines. It also adds the food associcated with the recipes. The microwaves are still usable, but not for the new food, and there will be no microwaves on the new kitchen map that I intend to implement after this addition. The new machines:

The way that cooking works now is as follows:

  1. Pick a recipe. Once you've decided what you want to cook, you need to...

  2. Pick the appropriate machine. Various recipes have different machine requirements. If you want to make a specific recipe, you need to pick the machine appropriate to the recipe. Alternately, you can decide to use a machine for specific kind of combination cooking where you select a recipe and add ingredients to make, for example, an egg and cheese loaf. image

  3. Once you've picked your machine, you need to turn it on. gif

  4. Put your ingredients into the machine. This will apply the machine's effect to it, grilling on the grill, baking in the oven, etc. IT comes with a name change and a sprite overlay. 4.5. If instead you want to make a recipe, you need to remove a cooking container from the machine through a handy radial menu. Insert the ingredients into the tray and put it back in. image Above: the grill with meat image Above: the grill with a finished grilled raw meat steak. To properly cook it, you need to add more ingredients.

  5. Now, wait! Once you've put your ingredients in, the machine will start cooking. The more ingredients you have the longer it takes to cook, so for batch baking or large recipes, go do something else while it cooks. You can examine the machines while they cook to check the status of each ingredient.

  6. Listen for the ding. Once a machine is done, it will ding. If you leave the food in for too long, though, the food will burn! image Above: The grill warning the player that it is done. Note: There is a ping sound associated, but I can't put it in here. image Above: I looked away from the oven for a moment while I was doing the PR and something burned. Also, this shows off the examine menu. image Above: The examine menu while making food. Notice the blue text showing you how the food inside is doing. Also, the whole thing is modular so it should be totally okay to do even after the massive rebase PR thing is okay to go. I'm mostly asking for this to be merged so that I can work on the implementation of the new map stuff to help test things.

Features of cooking machines:

Features of cooking containers:

Kinds of machines added: Grill: This is the grill. It grills food. Things made on this machine are grilled. Typically, this includes meats. It can hold one cooking container at a time, the grill grate, but this container can hold three things at once. image

Oven: This is an oven, you make cookies and things in it. It adds the baked modifier to food. It's used to make things like bread, pies, and pizzas. The oven has a massive FIVE cooking containers at once, meaning you can make multiple things with it at the same time. image However... image Once you turn it on, you have to turn it off to open it again, so be careful.

Plancha: This is a plancha, a large flattop cooking surface for making things. It contains three plancha dividers to make three things at once. You can use this for things like rice, eggs, and omelettes. The plancha sears things. image

Fryer: This is a deep fat fryer. It contains two baskets that you can use to make things like fries, fish sticks, and other fried foods. image The overlay also changes when you remove the baskets. Technically, it runs on corn oil, but this is a bit sticky at the moment and requires more testing. The kitchen is going to start with a large amount of oil and be able to make more. The fryer currently fries things.

Stove: This is the stove, where you can put things in skillets, pots, and saucepants. Things put on the stove are pan fried. image It has four slots for cooking containers and the overlay updates depending on what's on it! It's the most

Mixer: This is a massive stand mixer. It's for making doughs and breads and things, but currently it has no associated recipes as far as I can tell. The intent is to use it to make large amounts of dough at once for cooking. Later we can add more things to it. image

Also, it spin. gif

Combination Cooking: This is a system from Aurora where you can pick a base food and add things to it in a cooking process. For example, picking the base of waffle and adding and meat and a chocolate bar will create this monstrosity: image As of this update I'm still trying to get it to mix the taste tags of the ingredients.

Technically, it combines the reagents and filling colors of the ingredients and applies them to a base sprite in food_custom.dmi and then spits it out. It also combines the names. image

Why It's Good For The Game

Kitchen gameplay should now be way more interesting and customizeable.

Changelog

add: Added nearly 200 recipes to the kitchen
add: Added more ways of making food
del: Removed microwaves from the kitchen
SigDoesCode commented 1 year ago

I'm not 100% sure what to do with these merge conflicts

SigDoesCode commented 1 year ago

Will review and test locally when it compiles without error

Compiles without error? What errors are you getting? Also, I'm unsure why the linters are failing.

SigDoesCode commented 1 year ago

I'll look at this cooked thing, I don't know if I have it somewhere else or not but I know I have the var in. I don't know why there's a change in that file.

SigDoesCode commented 1 year ago

There, I fixed the issues and added a thing to the descriptions.

WeNeedMorePhoron commented 1 year ago

Looks like there's compilation errors with ethanol instead of alcohol typepath. This is due to alcohol rework that went in a while back.