Skip to content
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

[Port] More TG food #2264

Merged
merged 10 commits into from
Aug 25, 2024
3 changes: 3 additions & 0 deletions code/__DEFINES/food.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,6 @@ DEFINE_BITFIELD(food_flags, list(
// Venues for the barbots.
#define VENUE_RESTAURANT "Restaurant Venue"
#define VENUE_BAR "Bar Venue"

/// How much milk is needed to make butter on a reagent grinder
#define MILK_TO_BUTTER_COEFF 25
4 changes: 4 additions & 0 deletions code/datums/components/crafting/_recipes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
var/delete_contents = TRUE

/datum/crafting_recipe/New()
if(!name && result)
var/atom/atom_result = result
name = initial(atom_result.name)

if(!(result in reqs))
blacklist += result
if(tool_behaviors)
Expand Down
6 changes: 3 additions & 3 deletions code/datums/components/crafting/crafting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -461,9 +461,9 @@
if(!istext(result)) //We made an item and didn't get a fail message
if(ismob(user) && isitem(result)) //In case the user is actually possessing a non mob like a machine
user.put_in_hands(result)
else
else if(!istype(result, /obj/effect/spawner))
result.forceMove(user.drop_location())
to_chat(user, span_notice("[crafting_recipe.name] constructed."))
to_chat(user, span_notice("Constructed [crafting_recipe.name]."))
user.investigate_log("crafted [crafting_recipe]", INVESTIGATE_CRAFTING)
crafting_recipe.on_craft_completion(user, result)
else
Expand Down Expand Up @@ -503,7 +503,7 @@
data["category"] = recipe.category

// Name, Description
data["name"] = recipe.name || initial(atom.name)
data["name"] = recipe.name

if(ispath(recipe.result, /datum/reagent))
var/datum/reagent/reagent = recipe.result
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
name = "Cabbage"
item_path = /obj/item/food/grown/cabbage

/datum/orderable_item/veggies/beets
/datum/orderable_item/veggies/onion
name = "Onion"
item_path = /obj/item/food/grown/onion

Expand Down
13 changes: 13 additions & 0 deletions code/game/objects/items/food/burgers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -648,3 +648,16 @@
icon_state = "custburg"
tastes = list("bun")
foodtypes = GRAIN

/obj/item/food/burger/sloppy_moe
name = "sloppy moe"
desc = "Ground meat mixed with onions and barbeque sauce, sloppily plopped onto a burger bun. Delicious, but guaranteed to get your hands dirty."
icon_state = "sloppy_moe"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/protein = 8,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("juicy meat" = 4, "BBQ sauce" = 3, "onions" = 2, "bun" = 2)
foodtypes = GRAIN | MEAT | VEGETABLES
venue_value = FOOD_PRICE_NORMAL
25 changes: 25 additions & 0 deletions code/game/objects/items/food/cake.dm
Original file line number Diff line number Diff line change
Expand Up @@ -640,3 +640,28 @@
icon_state = "weddingcake_slice"
tastes = list("cake" = 3, "frosting" = 1)
foodtypes = GRAIN | DAIRY | SUGAR

/obj/item/food/cake/pineapple_cream_cake
name = "pineapple cream cake"
desc = "A vibrant cake with a layer of thick cream and pineapple on top."
icon_state = "pineapple_cream_cake"
food_reagents = list(
/datum/reagent/consumable/nutriment = 30,
/datum/reagent/consumable/sugar = 15,
/datum/reagent/consumable/nutriment/vitamin = 15,
)
tastes = list("cake" = 2, "cream" = 3, "pineapple" = 4)
foodtypes = GRAIN | DAIRY | SUGAR | FRUIT | PINEAPPLE
slice_type = /obj/item/food/cakeslice/pineapple_cream_cake

/obj/item/food/cakeslice/pineapple_cream_cake
name = "pineapple cream cake slice"
desc = "A vibrant cake with a layer of thick cream and pineapple on top."
icon_state = "pineapple_cream_cake_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/sugar = 3,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("cake" = 2, "cream" = 3, "pineapple" = 4)
foodtypes = GRAIN | DAIRY | SUGAR | FRUIT | PINEAPPLE
85 changes: 85 additions & 0 deletions code/game/objects/items/food/meatdish.dm
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,7 @@

/obj/item/food/nugget
name = "chicken nugget"
desc = "A \"chicken\" nugget vaguely shaped like something."
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/protein = 2,
Expand Down Expand Up @@ -828,6 +829,7 @@

/obj/item/food/kebab/fiesta
name = "fiesta skewer"
desc = "Variety of meats and vegetables on a stick."
icon_state = "fiestaskewer"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 12,
Expand Down Expand Up @@ -963,3 +965,86 @@
tastes = list("juicy meat" = 3, "onions" = 1, "garlic" = 1, "ketchup" = 1)
foodtypes = MEAT | VEGETABLES
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/sweet_and_sour_meatballs
name = "sweet and sour meatballs"
desc = "Golden meatballs glazed in a sticky savory sauce, served with pineapple and pepper chunks."
icon = 'icons/obj/food/meat.dmi'
icon_state = "sweet_and_sour_meatballs"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 8,
/datum/reagent/consumable/nutriment = 8,
)
tastes = list("meat" = 5, "savory sauce" = 4, "tangy pineapple" = 3, "pepper" = 2)
foodtypes = MEAT | VEGETABLES | FRUIT | PINEAPPLE

/obj/item/food/kebab/pineapple_skewer
name = "pineapple skewer"
desc = "Chunks of glazed meat skewered on a rod with pineapple slices. Surprisingly not bad!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "pineapple_skewer"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("juicy meat" = 4, "pineapple" = 3)
foodtypes = MEAT | FRUIT | PINEAPPLE

/obj/item/food/futomaki_sushi_roll
name = "futomaki sushi roll"
desc = "A roll of futomaki sushi, made of boiled egg, fish, and cucumber. Sliceable"
icon_state = "futomaki_sushi_roll"
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/protein = 8,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "fish" = 5, "egg" = 3, "dried seaweed" = 2, "cucumber" = 2)
foodtypes = VEGETABLES | SEAFOOD
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/futomaki_sushi_roll/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/futomaki_sushi_slice, 4, screentip_verb = "Chop")

/obj/item/food/futomaki_sushi_slice
name = "futomaki sushi slice"
desc = "A slice of futomaki sushi, made of boiled egg, fish, and cucumber."
icon_state = "futomaki_sushi_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "fish" = 5, "egg" = 3, "dried seaweed" = 2, "cucumber" = 2)
foodtypes = VEGETABLES | SEAFOOD
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/philadelphia_sushi_roll
name = "Philadelphia sushi roll"
desc = "A roll of Philadelphia sushi, made of cheese, fish, and cucumber. Sliceable"
icon_state = "philadelphia_sushi_roll"
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/protein = 8,
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("boiled rice" = 4, "fish" = 5, "creamy cheese" = 3, "dried seaweed" = 2, "cucumber" = 2)
foodtypes = VEGETABLES | SEAFOOD | DAIRY
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/philadelphia_sushi_roll/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/philadelphia_sushi_slice, 4, screentip_verb = "Chop")

/obj/item/food/philadelphia_sushi_slice
name = "Philadelphia sushi slice"
desc = "A roll of Philadelphia sushi, made of cheese, fish, and cucumber."
icon_state = "philadelphia_sushi_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("boiled rice" = 4, "fish" = 5, "creamy cheese" = 3, "dried seaweed" = 2, "cucumber" = 2)
foodtypes = VEGETABLES | SEAFOOD | DAIRY
w_class = WEIGHT_CLASS_SMALL
13 changes: 13 additions & 0 deletions code/game/objects/items/food/mexican.dm
Original file line number Diff line number Diff line change
Expand Up @@ -304,3 +304,16 @@
tastes = list("zesty rice" = 1, "tomato sauce" = 3,)
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/pineapple_salsa
name = "pineapple salsa"
desc = "A not-so liquid salsa made of pineapples, tomatoes, onions, and chilis. Makes for delightfully contrasting flavors."
icon = 'icons/obj/food/mexican.dmi'
icon_state = "pineapple_salsa"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("pineapple" = 4, "tomato" = 3, "onion" = 2, "chili" = 2)
foodtypes = VEGETABLES | FRUIT | PINEAPPLE
w_class = WEIGHT_CLASS_SMALL
155 changes: 154 additions & 1 deletion code/game/objects/items/food/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@
name = "stick of butter"
desc = "A stick of delicious, golden, fatty goodness."
icon_state = "butter"
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
food_reagents = list(/datum/reagent/consumable/nutriment = 15)
tastes = list("butter" = 1)
foodtypes = DAIRY
w_class = WEIGHT_CLASS_SMALL
Expand Down Expand Up @@ -262,6 +262,18 @@
trash_type = /obj/item/stack/rods
food_flags = FOOD_FINGER_FOOD

/obj/item/food/butter/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/butterslice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")

/obj/item/food/butterslice
name = "butter slice"
desc = "A slice of butter, for your buttering needs."
icon_state = "butterslice"
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("butter" = 1)
foodtypes = DAIRY
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/onionrings
name = "onion rings"
desc = "Onion slices coated in batter."
Expand Down Expand Up @@ -481,3 +493,144 @@
tastes = list("potato" = 1, "cheese" = 1)
foodtypes = GRAIN | VEGETABLES | MEAT
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/stuffed_eggplant
name = "stuffed eggplant"
desc = "A cooked half of an eggplant, with the insides scooped out and mixed with meat, cheese, and veggies."
icon_state = "stuffed_eggplant"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("cooked eggplant" = 5, "cheese" = 4, "ground meat" = 3, "veggies" = 2)
foodtypes = VEGETABLES | MEAT | DAIRY
w_class = WEIGHT_CLASS_SMALL

/obj/item/food/moussaka
name = "moussaka"
desc = "A layered Mediterranean dish made of eggplants, mixed veggies, and meat with a topping of bechamel sauce. Sliceable"
icon_state = "moussaka"
food_reagents = list(
/datum/reagent/consumable/nutriment = 30,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 20,
)
tastes = list("cooked eggplant" = 5, "potato" = 1, "baked veggies" = 2, "meat" = 4, "bechamel sauce" = 3)
foodtypes = MEAT | DAIRY | VEGETABLES

/obj/item/food/moussaka/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/moussaka_slice, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")

/obj/item/food/moussaka_slice
name = "moussaka slice"
desc = "A layered Mediterranean dish made of eggplants, mixed veggies, and meat with a topping of bechamel sauce. Delish!"
icon_state = "moussaka_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 5,
)
tastes = list("cooked eggplant" = 5, "potato" = 1, "baked veggies" = 2, "meat" = 4, "bechamel sauce" = 3)
foodtypes = MEAT | DAIRY | VEGETABLES

/obj/item/food/candied_pineapple
name = "candied pineapple"
desc = "A chunk of pineapple coated in sugar and dried into a chewy treat."
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
icon_state = "candied_pineapple_1"
base_icon_state = "candied_pineapple"
tastes = list("sugar" = 2, "chewy pineapple" = 4)
foodtypes = FRUIT | SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY

/obj/item/food/candied_pineapple/Initialize(mapload)
. = ..()
icon_state = "[base_icon_state]_[rand(1, 3)]"

/obj/item/food/raw_pita_bread
name = "raw pita bread"
desc = "a sticky disk of raw pita bread."
icon = 'icons/obj/food/food_ingredients.dmi'
icon_state = "raw_pita_bread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("dough" = 2)
foodtypes = GRAIN
w_class = WEIGHT_CLASS_TINY

/obj/item/food/raw_pita_bread/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/pita_bread, rand(15 SECONDS, 30 SECONDS), TRUE, TRUE)

/obj/item/food/raw_pita_bread/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/pita_bread, rand(15 SECONDS, 30 SECONDS), TRUE, TRUE)

/obj/item/food/pita_bread
name = "pita bread"
desc = "a multi-purposed sweet flatbread of Mediterranean origins."
icon = 'icons/obj/food/food_ingredients.dmi'
icon_state = "pita_bread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("pita bread" = 2)
foodtypes = GRAIN
w_class = WEIGHT_CLASS_TINY
burns_on_grill = TRUE
burns_in_oven = TRUE

/obj/item/food/tzatziki_sauce
name = "tzatziki sauce"
desc = "A garlic-based sauce or dip widely used in Mediterranean and Middle Eastern cuisine. Delicious on its own when dipped with pita bread or vegetables."
icon_state = "tzatziki_sauce"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/vitamin = 5,
)
tastes = list("garlic" = 4, "cucumber" = 2, "olive oil" = 2)
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_TINY

/obj/item/food/tzatziki_and_pita_bread
name = "tzatziki and pita bread"
desc = "Tzatziki sauce, now with pita bread for dipping. Very healthy and delicious all in one."
icon_state = "tzatziki_and_pita_bread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 8,
/datum/reagent/consumable/nutriment/vitamin = 8,
)
tastes = list("pita bread" = 4, "tzatziki sauce" = 2, "olive oil" = 2)
foodtypes = VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_TINY

/obj/item/food/grilled_beef_gyro
name = "grilled beef gyro"
desc = "A traditional Greek dish of meat wrapped in pita bread with tomato, cabbage, onion, and tzatziki sauce."
icon_state = "grilled_beef_gyro"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 8,
/datum/reagent/consumable/nutriment/protein = 6,
)
tastes = list("pita bread" = 4, "tender meat" = 2, "tzatziki sauce" = 2, "mixed veggies" = 2)
foodtypes = VEGETABLES | GRAIN | MEAT
w_class = WEIGHT_CLASS_TINY

/obj/item/food/vegetarian_gyro
name = "vegetarian gyro"
desc = "A traditional Greek gyro with cucumbers substituted for meat. Still full of intense flavor and very nourishing."
icon_state = "vegetarian_gyro"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 12,
)
tastes = list("pita bread" = 4, "cucumber" = 2, "tzatziki sauce" = 2, "mixed veggies" = 2)
foodtypes = VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_TINY
Loading
Loading