Files
Bubberstation/code/game/objects/items/food/meatdish.dm
Ghom 1f3894e793 Crafting refactor, implementing materials (#89465)
My original plan was to just implement materials into crafting so that
items would inherit the materials of their components, allowing for some
interesting stuff if the material flags of the item allow it. However to
my dismay crafting is a pile of old tech debt, starting from the old
`del_reqs` and `CheckParts` which still contain lines about old janky
bandaids that are no longer in use nor reachable, up to the
`customizable_reagent_holder` component which has some harddel issues
when your custom food is sliced, and items used in food recipes not
being deleted and instead stored inside the result with no purpose as
well as other inconsistencies like stack recipes that transfer materials
having counterparts in the UI that don't do that.

EDIT: Several things have come up while working on this, so I apologise
that it ended up changing over 100+ files. I managed to atomize some of
the changes, but it's a bit tedious.

EDIT: TLDR because I was told this section is too vague and there's too
much going on. This PR:
- Improves the dated crafting code (not the UI).
- replaced `atom/CheckParts` and `crafting_recipe/on_craft_completion`
with `atom/on_craft_completion`.
- Reqs used in food recipes are now deleted by default and not stored
inside the result (they did nothing).
- Renames the customizable_reagent_holder comp and improves it (No
harddels/ref issues).
- Adds a unit test that tries to craft all recipes to see what's wrong
(it skips some of the much more specific reqs for now).
- In the unit test is also the code to make sure materials of the
crafted item and a non-crafted item of the same type are roughly the
same, so far only applied to food.
- Some mild material/food refactoring around the fact that food item
code has been changed to support materials.

Improving the backbone of the crafting system. Also materials and food
code.

🆑
refactor: Refactored crafting backend. Report possible pesky bugs.
balance: the MEAT backpack (from the MEAT cargo pack) may be a smidge
different because of code standardization.
/🆑
2025-06-05 20:05:13 -04:00

1334 lines
48 KiB
Plaintext

//Not only meat, actually, but also snacks that are almost meat, such as fish meat or tofu
////////////////////////////////////////////FISH////////////////////////////////////////////
/obj/item/food/cubancarp
name = "\improper Cuban carp"
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "cubancarp"
bite_consumption = 3
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/protein = 6,
/datum/reagent/consumable/capsaicin = 1,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("fish" = 4, "batter" = 1, "hot peppers" = 1)
foodtypes = VEGETABLES|GRAIN|SEAFOOD|FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/fishmeat
name = "fish fillet"
desc = "A fillet of some fish meat."
icon = 'icons/obj/food/meat.dmi'
icon_state = "fishfillet"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
bite_consumption = 6
tastes = list("fish" = 1)
foodtypes = SEAFOOD
eatverbs = list("bite", "chew", "gnaw", "swallow", "chomp")
w_class = WEIGHT_CLASS_SMALL
starting_reagent_purity = 1.0
/obj/item/food/fishmeat/quality
name = "quality fish fillet"
desc = "A fillet of some precious fish meat."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
bite_consumption = 7
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/fishmeat/quality/Initialize(mapload)
. = ..()
AddElement(/datum/element/quality_food_ingredient, FOOD_COMPLEXITY_1)
/obj/item/food/fishmeat/salmon
name = "salmon fillet"
desc = "A chunky, fatty fillet of salmon meat."
icon_state = "salmon"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/nutriment/vitamin = 3,
/datum/reagent/consumable/nutriment/fat = 2,
)
bite_consumption = 4.5
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/fishmeat/salmon/Initialize(mapload)
. = ..()
AddElement(/datum/element/quality_food_ingredient, FOOD_COMPLEXITY_1)
/obj/item/food/fishmeat/carp
name = "carp fillet"
desc = "A fillet of spess carp meat."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/toxin/carpotoxin = 2,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
/// Cytology category you can swab the meat for.
var/cell_line = CELL_LINE_TABLE_CARP
/obj/item/food/fishmeat/carp/Initialize(mapload)
. = ..()
if(cell_line)
AddElement(/datum/element/swabable, cell_line, CELL_VIRUS_TABLE_GENERIC_MOB)
/obj/item/food/fishmeat/carp/imitation
name = "imitation carp fillet"
desc = "Almost just like the real thing, kinda."
cell_line = null
starting_reagent_purity = 0.3
///carp fillet, but without the toxin. Used by baby carps (fish item), which have a trait that handles the toxin already.
/obj/item/food/fishmeat/carp/no_tox
/obj/item/food/fishmeat/carp/no_tox/Initialize(mapload)
food_reagents -= /datum/reagent/toxin/carpotoxin
return ..()
/obj/item/food/fishmeat/moonfish
name = "moonfish fillet"
desc = "A fillet of moonfish."
icon = 'icons/obj/food/lizard.dmi'
icon_state = "moonfish_fillet"
/obj/item/food/fishmeat/moonfish/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/grilled_moonfish, rand(40 SECONDS, 50 SECONDS), TRUE, TRUE)
/obj/item/food/fishmeat/gunner_jellyfish
name = "filleted gunner jellyfish"
desc = "A gunner jellyfish with the stingers removed. Mildly hallucinogenic when raw."
icon = 'icons/obj/food/lizard.dmi'
icon_state = "jellyfish_fillet"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4, //The halluginogen comes from the fish trait.
)
///Premade gunner jellyfish fillets from supply orders. Contains the halluginogen that'd be normally from the fish trait.
/obj/item/food/fishmeat/gunner_jellyfish/supply
/obj/item/food/fishmeat/gunner_jellyfish/supply/Initialize(mapload)
food_reagents[/datum/reagent/toxin/mindbreaker/fish] = 2
return ..()
/obj/item/food/fishmeat/armorfish
name = "cleaned armorfish"
desc = "An armorfish with its guts and shell removed, ready for use in cooking."
icon = 'icons/obj/food/lizard.dmi'
icon_state = "armorfish_fillet"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 3)
///donkfish fillets. The yuck reagent is now added by the fish trait of the same name.
/obj/item/food/fishmeat/donkfish
name = "donkfillet"
desc = "The dreaded donkfish fillet. No sane spaceman would eat this, and it does not get better when cooked."
icon_state = "donkfillet"
starting_reagent_purity = 0.3
/obj/item/food/fishmeat/octopus
name = "octopus tentacle"
desc = "A large tentacle from an octopus."
icon = 'icons/obj/food/martian.dmi'
icon_state = "octopus_fillet"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 3)
/obj/item/food/fishmeat/octopus/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/grilled_octopus, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
/obj/item/food/fishmeat/fish_tail
name = "fish tail fillet"
desc = "A precious fatty filet cut straight from the tail of a very large ...fish? Its rarity has it seen as a delicacy in certain spaces."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
/datum/reagent/consumable/nutriment/fat = 2,
)
bite_consumption = 5
tastes = list("fatty fish" = 1)
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/fishmeat/fish_tail/Initialize(mapload)
. = ..()
AddElement(/datum/element/quality_food_ingredient, FOOD_COMPLEXITY_1)
/obj/item/food/fishfingers
name = "fish fingers"
desc = "A finger of fish."
icon = 'icons/obj/food/meat.dmi'
icon_state = "fishfingers"
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
bite_consumption = 1
tastes = list("fish" = 1, "breadcrumbs" = 1)
foodtypes = GRAIN|SEAFOOD|FRIED
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/fishandchips
name = "fish and chips"
desc = "I do say so myself chap."
icon = 'icons/obj/food/meat.dmi'
icon_state = "fishandchips"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("fish" = 1, "chips" = 1)
foodtypes = SEAFOOD | VEGETABLES | FRIED
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/fishfry
name = "fish fry"
desc = "All that and no bag of chips..."
icon = 'icons/obj/food/meat.dmi'
icon_state = "fishfry"
food_reagents = list (
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
tastes = list("fish" = 1, "pan-seared vegetables" = 1)
foodtypes = SEAFOOD | VEGETABLES | FRIED
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/vegetariansushiroll
name = "vegetarian sushi roll"
desc = "A roll of simple vegetarian sushi with rice, carrots, and potatoes. Sliceable into pieces!"
icon_state = "vegetariansushiroll"
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "carrots" = 2, "potato" = 2)
foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/vegetariansushiroll/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/vegetariansushislice, 4, screentip_verb = "Chop")
/obj/item/food/vegetariansushislice
name = "vegetarian sushi slice"
desc = "A slice of simple vegetarian sushi with rice, carrots, and potatoes."
icon_state = "vegetariansushislice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "carrots" = 2, "potato" = 2)
foodtypes = VEGETABLES|GRAIN
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/spicyfiletsushiroll
name = "spicy filet sushi roll"
desc = "A roll of tasty, spicy sushi made with fish and vegetables. Sliceable into pieces!"
icon_state = "spicyfiletroll"
food_reagents = list(
/datum/reagent/consumable/nutriment = 12,
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/capsaicin = 4,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("boiled rice" = 4, "fish" = 2, "spicyness" = 2)
foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/spicyfiletsushiroll/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/spicyfiletsushislice, 4, screentip_verb = "Chop")
/obj/item/food/spicyfiletsushislice
name = "spicy filet sushi slice"
desc = "A slice of tasty, spicy sushi made with fish and vegetables. Don't eat it too fast!."
icon_state = "spicyfiletslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 1,
/datum/reagent/consumable/capsaicin = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("boiled rice" = 4, "fish" = 2, "spicyness" = 2)
foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
// empty sushi for custom sushi
/obj/item/food/sushi/empty
name = "sushi"
foodtypes = VEGETABLES
tastes = list()
icon_state = "vegetariansushiroll"
desc = "A roll of customized sushi."
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/sushi/empty/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sushislice/empty, 4, screentip_verb = "Chop")
/obj/item/food/sushislice/empty
name = "sushi slice"
foodtypes = VEGETABLES
tastes = list()
icon_state = "vegetariansushislice"
desc = "A slice of customized sushi."
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/nigiri_sushi
name = "nigiri sushi"
desc = "A simple nigiri of fish atop a packed rice ball with a seaweed wrapping and a side of soy sauce."
icon = 'icons/obj/food/food.dmi'
icon_state = "nigiri_sushi"
food_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/consumable/nutriment/protein = 2)
tastes = list("boiled rice" = 4, "fish filet" = 2, "soy sauce" = 2)
foodtypes = VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/meat_poke
name = "meat poke"
desc = "Simple poke, rice on the bottom, vegetables and meat on top. Should be mixed before eating."
icon = 'icons/obj/food/soupsalad.dmi'
icon_state = "pokemeat"
food_reagents = list(
/datum/reagent/consumable/nutriment = 11,
/datum/reagent/consumable/nutriment/vitamin = 5,
/datum/reagent/consumable/nutriment/protein = 2,
)
foodtypes = MEAT|VEGETABLES|GRAIN
tastes = list("rice and meat" = 4, "lettuce" = 2, "soy sauce" = 2)
trash_type = /obj/item/reagent_containers/cup/bowl
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/fish_poke
name = "fish poke"
desc = "Simple poke, rice on the bottom, vegetables and fish on top. Should be mixed before eating."
icon = 'icons/obj/food/soupsalad.dmi'
icon_state = "pokefish"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/vitamin = 4,
/datum/reagent/consumable/nutriment/protein = 2,
)
foodtypes = VEGETABLES|GRAIN|SEAFOOD
tastes = list("rice and fish" = 4, "lettuce" = 2, "soy sauce" = 2)
trash_type = /obj/item/reagent_containers/cup/bowl
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
////////////////////////////////////////////MEATS AND ALIKE////////////////////////////////////////////
/obj/item/food/tempeh
name = "raw tempeh block"
desc = "Fungus fermented soybean cake, warm to the touch."
icon = 'icons/obj/food/food.dmi'
icon_state = "tempeh"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 8)
tastes = list("earthy" = 3, "nutty" = 2, "bland" = 1 )
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
// sliceable into 4xtempehslices
/obj/item/food/tempeh/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/tempehslice, 4, 5 SECONDS, table_required = TRUE, screentip_verb = "Slice")
//add an icon for slices
/obj/item/food/tempehslice
name = "tempeh slice"
desc = "A slice of tempeh, a slice of wkwkwk."
icon = 'icons/obj/food/food.dmi'
icon_state = "tempehslice"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("earthy" = 3, "nutty" = 2, "bland" = 1)
foodtypes = VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_2
//add an icon for blends
/obj/item/food/tempehstarter
name = "tempeh starter"
desc = "A mix of soy and joy. It's warm... and moving?"
icon = 'icons/obj/food/food.dmi'
icon_state = "tempehstarter"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("nutty" = 2, "bland" = 2)
foodtypes = VEGETABLES | GROSS
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/tofu
name = "tofu"
desc = "We all love tofu."
icon_state = "tofu"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("tofu" = 1)
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/tofu/prison
name = "soggy tofu"
desc = "You refuse to eat this strange bean curd."
tastes = list("sour, rotten water" = 1)
foodtypes = GROSS
/obj/item/food/spiderleg
name = "spider leg"
desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?"
icon = 'icons/obj/food/meat.dmi'
icon_state = "spiderleg"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 3,
/datum/reagent/toxin = 2,
)
tastes = list("cobwebs" = 1)
foodtypes = MEAT | TOXIC
w_class = WEIGHT_CLASS_SMALL
/obj/item/food/spiderleg/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/boiledspiderleg, rand(50 SECONDS, 60 SECONDS), TRUE, TRUE)
/obj/item/food/cornedbeef
name = "corned beef and cabbage"
desc = "Now you can feel like a real tourist vacationing in Ireland."
icon = 'icons/obj/food/meat.dmi'
icon_state = "cornedbeef"
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/protein = 6,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("meat" = 1, "cabbage" = 1)
foodtypes = MEAT | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/bearsteak
name = "Filet migrawr"
desc = "Because eating bear wasn't manly enough."
icon = 'icons/obj/food/meat.dmi'
icon_state = "bearsteak"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 9,
/datum/reagent/consumable/ethanol/manly_dorf = 5,
)
tastes = list("meat" = 1, "salmon" = 1)
foodtypes = MEAT | ALCOHOL
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/raw_meatball
name = "raw meatball"
desc = "A great meal all round. Not a cord of wood. Kinda raw"
icon = 'icons/obj/food/meat.dmi'
icon_state = "raw_meatball"
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("meat" = 1)
foodtypes = MEAT | RAW
w_class = WEIGHT_CLASS_SMALL
var/meatball_type = /obj/item/food/meatball
var/patty_type = /obj/item/food/raw_patty
/obj/item/food/raw_meatball/make_grillable()
AddComponent(/datum/component/grillable, meatball_type, rand(30 SECONDS, 40 SECONDS), TRUE)
/obj/item/food/raw_meatball/make_processable()
AddElement(/datum/element/processable, TOOL_ROLLINGPIN, patty_type, 1, table_required = TRUE, screentip_verb = "Flatten")
/obj/item/food/raw_meatball/human
name = "strange raw meatball"
meatball_type = /obj/item/food/meatball/human
patty_type = /obj/item/food/raw_patty/human
/obj/item/food/raw_meatball/corgi
name = "raw corgi meatball"
meatball_type = /obj/item/food/meatball/corgi
patty_type = /obj/item/food/raw_patty/corgi
/obj/item/food/raw_meatball/xeno
name = "raw xeno meatball"
meatball_type = /obj/item/food/meatball/xeno
patty_type = /obj/item/food/raw_patty/xeno
/obj/item/food/raw_meatball/bear
name = "raw bear meatball"
meatball_type = /obj/item/food/meatball/bear
patty_type = /obj/item/food/raw_patty/bear
/obj/item/food/raw_meatball/chicken
name = "raw chicken meatball"
meatball_type = /obj/item/food/meatball/chicken
patty_type = /obj/item/food/raw_patty/chicken
/obj/item/food/meatball
name = "meatball"
desc = "A great meal all round. Not a cord of wood."
icon = 'icons/obj/food/meat.dmi'
icon_state = "meatball"
inhand_icon_state = "meatball"
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("meat" = 1)
foodtypes = MEAT
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/meatball/human
name = "strange meatball"
/obj/item/food/meatball/corgi
name = "corgi meatball"
/obj/item/food/meatball/bear
name = "bear meatball"
tastes = list("meat" = 1, "salmon" = 1)
/obj/item/food/meatball/xeno
name = "xenomorph meatball"
tastes = list("meat" = 1, "acid" = 1)
/obj/item/food/meatball/chicken
name = "chicken meatball"
tastes = list("chicken" = 1)
icon_state = "chicken_meatball"
/obj/item/food/raw_patty
name = "raw patty"
desc = "I'm.....NOT REAAADDYY."
icon = 'icons/obj/food/meat.dmi'
icon_state = "raw_patty"
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("meat" = 1)
foodtypes = MEAT | RAW
w_class = WEIGHT_CLASS_SMALL
var/patty_type = /obj/item/food/patty/plain
/obj/item/food/raw_patty/make_grillable()
AddComponent(/datum/component/grillable, patty_type, rand(30 SECONDS, 40 SECONDS), TRUE)
/obj/item/food/raw_patty/human
name = "strange raw patty"
patty_type = /obj/item/food/patty/human
/obj/item/food/raw_patty/corgi
name = "raw corgi patty"
patty_type = /obj/item/food/patty/corgi
/obj/item/food/raw_patty/bear
name = "raw bear patty"
tastes = list("meat" = 1, "salmon" = 1)
patty_type = /obj/item/food/patty/bear
/obj/item/food/raw_patty/xeno
name = "raw xenomorph patty"
tastes = list("meat" = 1, "acid" = 1)
patty_type = /obj/item/food/patty/xeno
/obj/item/food/raw_patty/chicken
name = "raw chicken patty"
tastes = list("chicken" = 1)
patty_type = /obj/item/food/patty/chicken
/obj/item/food/patty
name = "patty"
desc = "The Nanotrasen patty is the patty for you and me!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "patty"
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 2)
tastes = list("meat" = 1)
foodtypes = MEAT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
///Exists purely for the crafting recipe (because it'll take subtypes)
/obj/item/food/patty/plain
/obj/item/food/patty/human
name = "strange patty"
/obj/item/food/patty/corgi
name = "corgi patty"
/obj/item/food/patty/bear
name = "bear patty"
tastes = list("meat" = 1, "salmon" = 1)
/obj/item/food/patty/xeno
name = "xenomorph patty"
tastes = list("meat" = 1, "acid" = 1)
/obj/item/food/patty/chicken
name = "chicken patty"
tastes = list("chicken" = 1)
icon_state = "chicken_patty"
/obj/item/food/raw_sausage
name = "raw sausage"
desc = "A piece of mixed, long meat, but then raw."
icon = 'icons/obj/food/meat.dmi'
icon_state = "raw_sausage"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("meat" = 1)
foodtypes = MEAT | RAW
eatverbs = list("bite", "chew", "nibble", "deep throat", "gobble", "chomp")
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/raw_sausage/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/sausage, rand(60 SECONDS, 75 SECONDS), TRUE)
/obj/item/food/sausage
name = "sausage"
desc = "A piece of mixed, long meat."
icon = 'icons/obj/food/meat.dmi'
icon_state = "sausage"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("meat" = 1)
foodtypes = MEAT | BREAKFAST
food_flags = FOOD_FINGER_FOOD
eatverbs = list("bite", "chew", "nibble", "deep throat", "gobble", "chomp")
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
custom_price = PAYCHECK_CREW * 0.6
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/sausage/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/salami, 6, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/sausage/american, 1, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
/obj/item/food/sausage/american
name = "american sausage"
desc = "Snip."
icon_state = "american_sausage"
/obj/item/food/sausage/american/make_processable()
return
/obj/item/food/salami
name = "salami"
desc = "A slice of cured salami."
icon = 'icons/obj/food/meat.dmi'
icon_state = "salami"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 1)
tastes = list("meat" = 1, "smoke" = 1)
foodtypes = MEAT
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/rawkhinkali
name = "raw khinkali"
desc = "One hundred khinkalis? Do I look like a pig?"
icon = 'icons/obj/food/meat.dmi'
icon_state = "khinkali"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/protein = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
/datum/reagent/consumable/garlic = 1,
)
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
foodtypes = MEAT|GRAIN|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
/obj/item/food/rawkhinkali/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/khinkali, rand(50 SECONDS, 60 SECONDS), TRUE)
/obj/item/food/khinkali
name = "khinkali"
desc = "One hundred khinkalis? Do I look like a pig?"
icon = 'icons/obj/food/meat.dmi'
icon_state = "khinkali"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/garlic = 2,
)
bite_consumption = 3
tastes = list("meat" = 1, "onions" = 1, "garlic" = 1)
foodtypes = MEAT|GRAIN|VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/meatbun
name = "meat bun"
desc = "Has the potential to not be human."
icon = 'icons/obj/food/meat.dmi'
icon_state = "meatbun"
food_reagents = list(
/datum/reagent/consumable/nutriment = 7,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("bun" = 3, "meat" = 2)
foodtypes = GRAIN | MEAT | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
/obj/item/food/stewedsoymeat
name = "stewed soy meat"
desc = "Even non-vegetarians will LOVE this!"
icon_state = "stewedsoymeat"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/protein = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("soy" = 1, "vegetables" = 1)
eatverbs = list("slurp", "sip", "inhale", "drink")
foodtypes = VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/boiledspiderleg
name = "boiled spider leg"
desc = "A giant spider's leg that's still twitching after being cooked. Gross!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "spiderlegcooked"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/capsaicin = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("hot peppers" = 1, "cobwebs" = 1)
foodtypes = MEAT
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/spidereggsham
name = "green eggs and ham"
desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?"
icon = 'icons/obj/food/meat.dmi'
icon_state = "spidereggsham"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 8,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
bite_consumption = 4
tastes = list("meat" = 1, "the colour green" = 1)
foodtypes = MEAT|BUGS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2)
/obj/item/food/sashimi
name = "spider sashimi"
desc = "Celebrate surviving an attack from hostile alien lifeforms by hospitalising yourself. You sure hope whoever made this is skilled."
icon = 'icons/obj/food/meat.dmi'
icon_state = "sashimi"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/capsaicin = 9,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("fish" = 1, "hot peppers" = 1)
foodtypes = MEAT|SEAFOOD|BUGS
w_class = WEIGHT_CLASS_TINY
//total price of this dish is 20 and a small amount more for soy sauce, all of which are available at the orders console
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/sashimi/Initialize(mapload)
. = ..()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_CARP, CELL_VIRUS_TABLE_GENERIC_MOB)
/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,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
icon = 'icons/obj/food/meat.dmi'
/// Default nugget icon for recipes that need any nugget
icon_state = "nugget_lump"
tastes = list("\"chicken\"" = 1)
foodtypes = MEAT
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_1
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
var/meat_source = "\"chicken\""
/obj/item/food/nugget/Initialize(mapload)
. = ..()
var/shape = pick("lump", "star", "lizard", "corgi")
desc = "A [meat_source] nugget vaguely shaped like a [shape]."
icon_state = "nugget_[shape]"
///subtype harvested from fish caught from, you guess it, the deepfryer
/obj/item/food/nugget/fish
name = "fish nugget"
tastes = list("fried fish" = 1)
foodtypes = MEAT|SEAFOOD|FRIED
venue_value = FOOD_PRICE_NORMAL
meat_source = "fish"
/obj/item/food/pigblanket
name = "pig in a blanket"
desc = "A tiny sausage wrapped in a flakey, buttery roll. Free this pig from its blanket prison by eating it."
icon = 'icons/obj/food/meat.dmi'
icon_state = "pigblanket"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/protein = 5,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("meat" = 1, "butter" = 1)
foodtypes = MEAT | DAIRY | GRAIN
w_class = WEIGHT_CLASS_TINY
crafting_complexity = FOOD_COMPLEXITY_3
custom_price = PAYCHECK_CREW
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
/obj/item/food/bbqribs
name = "bbq ribs"
desc = "BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist."
icon = 'icons/obj/food/meat.dmi'
icon_state = "ribs"
w_class = WEIGHT_CLASS_NORMAL
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 3,
/datum/reagent/consumable/bbqsauce = 10,
)
tastes = list("meat" = 3, "smokey sauce" = 1)
foodtypes = MEAT | SUGAR
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/meatclown
name = "meat clown"
desc = "A delicious, round piece of meat clown. How horrifying."
icon = 'icons/obj/food/meat.dmi'
icon_state = "meatclown"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/nutriment/vitamin = 1,
/datum/reagent/consumable/banana = 2,
)
tastes = list("meat" = 5, "clowns" = 3, "sixteen teslas" = 1)
w_class = WEIGHT_CLASS_SMALL
foodtypes = MEAT | FRUIT
crafting_complexity = FOOD_COMPLEXITY_2
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/meatclown/Initialize(mapload)
. = ..()
AddComponent(/datum/component/slippery, 3 SECONDS)
/obj/item/food/lasagna
name = "Lasagna"
desc = "A slice of lasagna. Perfect for a Monday afternoon."
icon_state = "lasagna"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
/datum/reagent/consumable/tomatojuice = 10,
)
tastes = list("meat" = 3, "pasta" = 3, "tomato" = 2, "cheese" = 2)
foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2)
//////////////////////////////////////////// KEBABS AND OTHER SKEWERS ////////////////////////////////////////////
/obj/item/food/kebab
trash_type = /obj/item/stack/rods
icon = 'icons/obj/food/meat.dmi'
icon_state = "kebab"
w_class = WEIGHT_CLASS_NORMAL
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 14)
tastes = list("meat" = 3, "metal" = 1)
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/kebab/human
name = "human-kebab"
desc = "A human meat, on a stick."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 16,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("tender meat" = 3, "metal" = 1)
foodtypes = MEAT | GORE
venue_value = FOOD_PRICE_CHEAP
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/kebab/monkey
name = "meat-kebab"
desc = "Delicious meat, on a stick."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 16,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("meat" = 3, "metal" = 1)
foodtypes = MEAT
venue_value = FOOD_PRICE_CHEAP
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/kebab/tofu
name = "tofu-kebab"
desc = "Vegan meat, on a stick."
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 15)
tastes = list("tofu" = 3, "metal" = 1)
foodtypes = VEGETABLES
venue_value = FOOD_PRICE_CHEAP
/obj/item/food/kebab/tail
name = "lizard-tail kebab"
desc = "Severed lizard tail on a stick."
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 30,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("meat" = 8, "metal" = 4, "scales" = 1)
foodtypes = MEAT | GORE
/obj/item/food/kebab/rat
name = "rat-kebab"
desc = "Not so delicious rat meat, on a stick."
icon_state = "ratkebab"
w_class = WEIGHT_CLASS_NORMAL
trash_type = null
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("rat meat" = 1, "metal" = 1)
foodtypes = MEAT|RAW|GORE
venue_value = FOOD_PRICE_CHEAP
/obj/item/food/kebab/rat/double
name = "double rat-kebab"
icon_state = "doubleratkebab"
tastes = list("rat meat" = 2, "metal" = 1)
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 20,
/datum/reagent/consumable/nutriment/vitamin = 4,
/datum/reagent/iron = 2,
)
/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,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/capsaicin = 3,
)
tastes = list("tex-mex" = 3, "cumin" = 2)
foodtypes = MEAT | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
/obj/item/food/fried_chicken
name = "fried chicken"
desc = "A juicy hunk of chicken meat, fried to perfection."
icon = 'icons/obj/food/meat.dmi'
icon_state = "fried_chicken1"
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("chicken" = 3, "fried batter" = 1)
foodtypes = MEAT | FRIED
junkiness = 25
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/fried_chicken/Initialize(mapload)
. = ..()
if(prob(50))
icon_state = "fried_chicken2"
/obj/item/food/beef_stroganoff
name = "beef stroganoff"
desc = "A Russian dish that consists of beef and sauce. Really popular in Japan, or at least that's what my animes would allude to."
icon = 'icons/obj/food/meat.dmi'
icon_state = "beefstroganoff"
trash_type = /obj/item/reagent_containers/cup/bowl
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 16,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("beef" = 3, "sour cream" = 1, "salt" = 1, "pepper" = 1)
foodtypes = MEAT | VEGETABLES | DAIRY
w_class = WEIGHT_CLASS_SMALL
//basic ingredients, but a lot of them. just covering costs here
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_4
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/obj/item/food/beef_wellington
name = "beef wellington"
desc = "A luxurious log of beef, covered in a fine mushroom duxelle and pancetta ham, then bound in puff pastry."
icon = 'icons/obj/food/meat.dmi'
icon_state = "beef_wellington"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 21,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("beef" = 3, "mushrooms" = 1, "pancetta" = 1)
foodtypes = MEAT | VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_NORMAL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 4)
/obj/item/food/beef_wellington/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/beef_wellington_slice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/beef_wellington_slice
name = "beef wellington slice"
desc = "A slice of beef wellington, topped with a rich gravy. Simply delicious."
icon = 'icons/obj/food/meat.dmi'
icon_state = "beef_wellington_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 7,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("beef" = 3, "mushrooms" = 1, "pancetta" = 1)
foodtypes = MEAT | VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/korta_wellington
name = "Kotra wellington"
desc = "A luxurious log of beef, covered in a fine mushroom duxelle and pancetta ham, then bound in korta pastry."
icon = 'icons/obj/food/meat.dmi'
icon_state = "korta_wellington"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 21,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("beef" = 3, "mushrooms" = 1, "pancetta" = 1)
foodtypes = MEAT | VEGETABLES | NUTS
w_class = WEIGHT_CLASS_NORMAL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 4)
/obj/item/food/korta_wellington/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/korta_wellington_slice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/korta_wellington_slice
name = "korta wellington slice"
desc = "A slice of korta & beef wellington, topped with a rich gravy. Simply delicious."
icon = 'icons/obj/food/meat.dmi'
icon_state = "korta_wellington_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 7,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("beef" = 3, "mushrooms" = 1, "pancetta" = 1)
foodtypes = MEAT | VEGETABLES | NUTS
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/roast_dinner
name = "roast dinner"
desc = "A luxuriously roasted chicken, accompanied by cabbage, parsnip, potatoes, peas, stuffing and a small boat of gravy."
icon = 'icons/obj/food/meat.dmi'
icon_state = "full_roast"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 21,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("chicken" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = MEAT | VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_NORMAL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/roast_dinner/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/roast_slice, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/roast_slice
name = "plate of roast dinner"
desc = "A small plate of roast chicken, peas, cabbage, parsnips, potatoes, stuffing and... WAIT is this all the gravy I get?!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "roast_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 7,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("chicken" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = MEAT | VEGETABLES | GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/roast_dinner_lizzy
name = "grain-free roast dinner"
desc = "A luxuriously roasted chicken, accompanied by cabbage, parsnip, potatoes, peas, korta stuffing and a small boat of korta-blood gravy."
icon = 'icons/obj/food/meat.dmi'
icon_state = "full_roast_lizzy"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 21,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("chicken" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = MEAT | VEGETABLES | NUTS
w_class = WEIGHT_CLASS_NORMAL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/roast_dinner_lizzy/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/roast_slice_lizzy, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/roast_slice_lizzy
name = "plate of grain-free roast dinner"
desc = "A small plate of roast chicken, peas, cabbage, parsnips, potatoes, korta stuffing and... WAIT is this all the korta-blood gravy I get?!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "roast_slice_lizzy"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 7,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("chicken" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = MEAT | VEGETABLES | NUTS
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/roast_dinner_tofu
name = "tofu roast dinner"
desc = "A luxuriously roasted tofu-'chicken', accompanied by cabbage, parsnip, potatoes, peas, stuffing and a small boat of soy-based gravy."
icon = 'icons/obj/food/meat.dmi'
icon_state = "full_roast_tofu"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 21,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("tofu" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = GRAIN | VEGETABLES
w_class = WEIGHT_CLASS_NORMAL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/roast_dinner_tofu/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/roast_slice_tofu, 3, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/roast_slice_tofu
name = "plate of tofu roast dinner"
desc = "A small plate of roast tofu-'chicken', peas, cabbage, parsnips, potatoes, stuffing and... WAIT is this all the soy gravy I get?!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "roast_slice_tofu"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 7,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("tofu" = 3, "vegetables" = 1, "gravy" = 1)
foodtypes = GRAIN | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_5
/obj/item/food/full_english
name = "full English breakfast"
desc = "A hearty plate with all the trimmings, representing the pinnacle of the breakfast art."
icon = 'icons/obj/food/meat.dmi'
icon_state = "full_english"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 8,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("sausage" = 1, "bacon" = 1, "egg" = 1, "tomato" = 1, "mushrooms" = 1, "bread" = 1, "beans" = 1)
foodtypes = MEAT|VEGETABLES|GRAIN|DAIRY|FRIED|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_EXOTIC
crafting_complexity = FOOD_COMPLEXITY_5
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 4)
/obj/item/food/raw_meatloaf
name = "raw meatloaf"
desc = "A heavy 'loaf' of minced meat, onions, and garlic. Bake it in an oven!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "raw_meatloaf"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 40,
/datum/reagent/consumable/nutriment/vitamin = 32,
/datum/reagent/consumable/nutriment = 32,
)
tastes = list("raw meat" = 3, "onions" = 1)
foodtypes = MEAT | RAW | VEGETABLES
w_class = WEIGHT_CLASS_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/raw_meatloaf/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/meatloaf, rand(30 SECONDS, 40 SECONDS), TRUE, TRUE)
/obj/item/food/meatloaf
name = "meatloaf"
desc = "A mixture of meat, onions, and garlic formed into a loaf and baked in an oven. It's covered in a generous slathering of ketchup. Use a knife to cut it into slices!"
icon = 'icons/obj/food/meat.dmi'
icon_state = "meatloaf"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 40,
/datum/reagent/consumable/nutriment/vitamin = 32,
/datum/reagent/consumable/nutriment = 32,
)
tastes = list("juicy meat" = 3, "onions" = 1, "garlic" = 1, "ketchup" = 1)
foodtypes = MEAT | VEGETABLES
w_class = WEIGHT_CLASS_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/meatloaf/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meatloaf_slice, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Cut")
/obj/item/food/meatloaf_slice
name = "meatloaf slice"
desc = "A slice of delicious, juicy meatloaf with a ketchup topping."
icon = 'icons/obj/food/meat.dmi'
icon_state = "meatloaf_slice"
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 8,
/datum/reagent/consumable/nutriment = 8,
)
tastes = list("juicy meat" = 3, "onions" = 1, "garlic" = 1, "ketchup" = 1)
foodtypes = MEAT | VEGETABLES
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_4
/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
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT)
/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
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2)
/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 = MEAT|VEGETABLES|GRAIN|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/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|GRAIN|DAIRY|SEAFOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/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|GRAIN|SEAFOOD|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/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|GRAIN|SEAFOOD|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3