Files
Bubberstation/code/game/objects/items/food/spaghetti.dm
Andrew 6fbc9a2297 More food effects (#84889)
## About The Pull Request

In #77887 I have introduced a food buff system with placeholder buffs to
not bloat that PR with balance-related things to allow people to add
their own effects and discuss the particular effects in separate PRs.

The goal is to have:

- Some default buffs for all food. Currently there's only Haste that
scales with food complexity.
- Some interesting buffs tied to food categories or specific dishes

This PR is a first part of this change.

- Adding an indicator to Cooking UI that food does something special
- Added **Spaghetti Carbonara** dish that gives Italian speech.

![image](https://github.com/user-attachments/assets/2035a97a-6048-4636-bd49-d1ea3390a50e)

- Added **Jupiter Cup Cake** that gives shock immunity instead of it
being randomly given by high-complexity dishes.

![image](https://github.com/user-attachments/assets/3260339d-0167-4840-9b76-10371959e16c)

- Made **Omelette Du Fromage** give French speech.
- Made **Mime Tart** give Mute trait
- Made **Clown Cake** give Waddle Walk trait
- Made **Stuffed Legion** give Ashstorm Immune trait

## Why It's Good For The Game

Foodening PR was incomplete, this PR is a step towards the completion.

## TODO

- [X] Pick a certain dish to give the French speech
- [X] Pick a certain pasta to give the Italian speech
- [X] Pick a certain dish for the shock immunity buff
- [x] Add an indicator to the cooking UI that a dish has a special
effect
- [x] Add more food effects per suggestions

## Changelog

🆑
qol: Dishes with a special food effect are marked in the Cooking UI
add: New Spaghetti Carbonara dish that makes people Italian temporarily
add: Omelette Du Fromage makes people French temporarily
add: Shock Immunity is no longer a random level 4-5 food buff, but a
buff given by a new Jupiter-Cup-Cake
add: Mime Tart gives Mute trait
add: Clown Cake gives Waddle Walk trait
add: Stuffed Legion gives Ashstorm Immune trait
/🆑
2024-08-14 13:10:21 +02:00

266 lines
9.7 KiB
Plaintext

///spaghetti prototype used by all subtypes
/obj/item/food/spaghetti
icon = 'icons/obj/food/spaghetti.dmi'
food_reagents = list(
/datum/reagent/consumable/nutriment = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
foodtypes = GRAIN
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
// Why are you putting cooked spaghetti in your pockets?
/obj/item/food/spaghetti/make_microwaveable()
var/list/display_message = list(
span_notice("Something wet falls out of their pocket and hits the ground. Is that... [name]?"),
span_warning("Oh shit! All your pocket [name] fell out!"))
AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg', /datum/memory/lost_spaghetti)
return ..()
/obj/item/food/spaghetti/raw
name = "spaghetti"
desc = "Now that's a nic'e pasta!"
icon_state = "spaghetti"
tastes = list("pasta" = 1)
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/spaghetti/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/spaghetti/boiledspaghetti, rand(15 SECONDS, 20 SECONDS), TRUE, TRUE)
/obj/item/food/spaghetti/raw/make_microwaveable()
AddElement(/datum/element/microwavable, /obj/item/food/spaghetti/boiledspaghetti)
/obj/item/food/spaghetti/boiledspaghetti
name = "boiled spaghetti"
desc = "A plain dish of noodles, this needs more ingredients."
icon_state = "spaghettiboiled"
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/spaghetti/boiledspaghetti/Initialize(mapload)
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, null, CUSTOM_INGREDIENT_ICON_SCATTER, max_ingredients = 6)
/obj/item/food/spaghetti/pastatomato
name = "spaghetti"
desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!"
icon_state = "pastatomato"
bite_consumption = 4
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/tomatojuice = 10,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("pasta" = 1, "tomato" = 1)
foodtypes = GRAIN | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/spaghetti/pastatomato/soulful
name = "soul food"
desc = "Just how mom used to make it."
food_reagents = list(
// same as normal pasghetti
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/tomatojuice = 10,
/datum/reagent/consumable/nutriment/vitamin = 4,
// where the soul comes from
/datum/reagent/pax = 5,
/datum/reagent/medicine/psicodine = 10,
/datum/reagent/medicine/morphine = 5,
)
tastes = list("nostalgia" = 1, "happiness" = 1)
/obj/item/food/spaghetti/copypasta
name = "copypasta"
desc = "You probably shouldn't try this, you always hear people talking about how bad it is..."
icon_state = "copypasta"
bite_consumption = 4
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/tomatojuice = 20,
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("pasta" = 1, "tomato" = 1)
foodtypes = GRAIN | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/spaghetti/meatballspaghetti
name = "spaghetti and meatballs"
desc = "Now that's a nic'e meatball!"
icon_state = "meatballspaghetti"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("pasta" = 1, "meat" = 1)
foodtypes = GRAIN | MEAT
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/spaghetti/spesslaw
name = "spesslaw"
desc = "A lawyers favourite."
icon_state = "spesslaw"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/protein = 20,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("pasta" = 1, "meat" = 1)
foodtypes = GRAIN | MEAT
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/spaghetti/chowmein
name = "chow mein"
desc = "A nice mix of noodles and fried vegetables."
icon_state = "chowmein"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("noodle" = 1, "meat" = 1, "fried vegetables" = 1)
foodtypes = GRAIN | MEAT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/spaghetti/beefnoodle
name = "beef noodle"
desc = "Nutritious, beefy and noodly."
icon_state = "beefnoodle"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/liquidgibs = 3,
)
tastes = list("noodles" = 1, "meat" = 1)
foodtypes = GRAIN | MEAT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/spaghetti/butternoodles
name = "butter noodles"
desc = "Noodles covered in savory butter. Simple and slippery, but delicious."
icon_state = "butternoodles"
food_reagents = list(
/datum/reagent/consumable/nutriment = 9,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("noodles" = 1, "butter" = 1)
foodtypes = GRAIN | DAIRY
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/spaghetti/mac_n_cheese
name = "mac n' cheese"
desc = "Made the proper way with only the finest cheese and breadcrumbs. And yet, it can't scratch the same itch as Ready-Donk."
icon_state = "mac_n_cheese"
food_reagents = list(
/datum/reagent/consumable/nutriment = 9,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cheese" = 1, "breadcrumbs" = 1, "pasta" = 1)
foodtypes = GRAIN | DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/shoyu_tonkotsu_ramen
name = "shoyu tonkotsu ramen"
desc = "A simple ramen made of meat, egg, onion, and a sheet of seaweed."
icon_state = "shoyu_tonkotsu_ramen"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("noodles" = 5, "meat" = 3, "egg" = 4, "dried seaweed" = 2)
foodtypes = GRAIN | MEAT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/kitakata_ramen
name = "kitakata ramen"
desc = "A hearty ramen composed of meat, mushrooms, onion, and garlic. Often given to the sick to comfort them"
icon_state = "kitakata_ramen"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 15,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/nutriment/protein = 8,
)
tastes = list("noodles" = 5, "meat" = 4, "mushrooms" = 3, "onion" = 2)
foodtypes = GRAIN | MEAT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/kitsune_udon
name = "kitsune udon"
desc = "A vegetarian udon made of fried tofu and onions, made sweet and savory with sugar and soy sauce. The name comes from an old folktale about a fox enjoying fried tofu."
icon_state = "kitsune_udon"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("noodles" = 5, "tofu" = 4, "sugar" = 3, "soy sauce" = 2)
foodtypes = GRAIN | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/nikujaga
name = "nikujaga"
desc = "A delightful Japanese stew of noodles, onions, potatoes, and meat with mixed vegetables."
icon_state = "nikujaga"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 16,
/datum/reagent/consumable/nutriment/vitamin = 12,
/datum/reagent/consumable/nutriment/protein = 8,
)
tastes = list("noodles" = 5, "meat" = 4, "potato" = 3, "onion" = 2, "mixed veggies" = 2)
foodtypes = GRAIN | VEGETABLES | MEAT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/pho
name = "pho"
desc = "A Vietnamese dish made of noodles, vegetables, herbs, and meat. Makes for a very popular street food."
icon_state = "pho"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/vitamin = 8,
/datum/reagent/consumable/nutriment/protein = 8,
)
tastes = list("noodles" = 5, "meat" = 4, "cabbage" = 3, "onion" = 2, "herbs" = 2)
foodtypes = GRAIN | VEGETABLES | MEAT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/pad_thai
name = "pad thai"
desc = "A stir-fried noodle dish popular in Thailand made of peanuts, tofu, lime, and onions."
icon_state = "pad_thai"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment = 15,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("noodles" = 5, "fried tofu" = 4, "lime" = 2, "peanut" = 3, "onion" = 2)
foodtypes = GRAIN | VEGETABLES | NUTS | FRUIT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/spaghetti/carbonara
name = "spaghetti carbonara"
desc = "Silky eggs, crispy pork, cheesy bliss. Mamma mia!"
icon_state = "carbonara"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/protein = 6,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("spaghetti" = 1, "parmigiano reggiano" = 1, "guanciale" = 1)
foodtypes = GRAIN | MEAT | DAIRY
crafting_complexity = FOOD_COMPLEXITY_4
crafted_food_buff = /datum/status_effect/food/speech/italian