Kitchen Rework (Floyd)

Summary

This document will be about both the changes to food code (composition based) and the new design I want to put in place to replace the old.

Code changes

The new food re-work will move all food to a new type called /obj/item/food. This type exists almost purely for categorization, and in most cases should NOT be type-checked for, and should not contain behavior besides callbacks / signal registering. It should all be composition based.

The actual design of this on its own allows us to easily add new behavior to new food without having to worry about the common inheritance issues.

Core design

For my new kitchen re-work, all food will be created in more life-like steps. Instead of throwing a cut up monkey and some buns in a microwave to get a burger, you will need to make minced meat, turn it into patties, throw it on the grill, let it cook until ready and put it together with the buns (Through a machine that finishes up the complete item).

The point of this is to move away from the current, arbitrary recipes, and move towards cooking in a way that can be understood by people who have made similar food in real life. Focusing on using machinery that is used in real life too.

New Machines

Oven

The machine used to turn raw dough based products into actual meals.

Griddle

A panless stove use to grill products like meat into better products. This griddle sends a signal that components like a grillable component can react to: Allowing them to turn into new food.

Soup Pot

A pot that can be filled with reagents and ingredients to make soup. It will be able to create existing soups like wish soup from recognizing ingredients inside of it and turning it into the proper soup, but it will also allow you to make custom soup.

Pasta pot

A pot that can be filled with water and spaghetti to make cooked spaghetti, which can be used in crafting recipes to make spaghetti dishes

New processes

Tools

Kitchen will make more extreme use of tools, and the UI for this will be using radials to make it an easier experience. If you for example want to use lettuce, you need to cut it up first, same with tomato. Things like potatoes can be cut into wedges or fries.

This adds a more dynamic cooking process where you dont just shove entire plants into food.

Eating

To make chef more fun I will also change how eating works to a degree. Some foods such as steak, spaghetti and soup can no longer be eaten properly without being near a table and without utensils. Doing so anyways results in extremely slow eating and a bad moodlet. Instead, the chef has access to utensils like spoons, knives and forks that they can hand out.

Not all food is affected by this. Although eating a steak requires a fork and knife, eating pizza (slices) will not be an issue. Instead these will have their own problems.

Junkfood

Like mentioned above, you can eat finger food almost everywhere still. To counteract this, some food such as pizza will be classified as junkfood, and large amounts of it will harm you in some shape or form, to prevent this from becoming the best way of avoiding the chef.

This is comparisable to the current junkfood system, but less cheeseable.

Restaurant

Summary

The restaurant feature will allow the chef and bartender bounties to be replaced with AI robot customers who request meals. From simple american burger and BBQ lovers to Italian spaghetti bots. They all have their tastes and will request you to make something for them.

Robots

Robot customers are datum AI mobs that will move to either the cafe or bar, and order something that fits their character. Generally, a customer will order a specific type of food, but if that food can't be made due to lack of ingredients, another food can be made for a decreased payment.

Robot Types

American Robot

Fat, loud and obnoxious. These robots love BBQ, burgers and . Atleast they tip well.

Requested food: Meat dishes, Burgers.
Requested drinks: Beer, B-52, Manhattan project, atomic bomb

Italian Robot

Well-spoken, fancy, and an utter spaghetti lover.

Requested food: Spaghetti, Pizza
Requested drinks: Wine, tequila sunrise, martini, Godfather, Godmother

French bot

Snobbish, likes weird food, enjoys baguettes
Requested food: Bread, Soup, Salad
Requested drinks: Wine, tequila sunrise, martini, Godfather, Godmother