Files
Bubberstation/code/game/objects/items/food/pastries.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

602 lines
21 KiB
Plaintext

//Pastry is a food that is made from dough which is made from wheat or rye flour.
//This file contains pastries that don't fit any existing categories.
////////////////////////////////////////////MUFFINS////////////////////////////////////////////
/obj/item/food/muffin
name = "muffin"
desc = "A delicious and spongy little cake."
icon_state = "muffin"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("muffin" = 1)
foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/muffin/berry
name = "berry muffin"
icon_state = "berrymuffin"
desc = "A delicious and spongy little cake, with berries."
tastes = list("muffin" = 3, "berry" = 1)
foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST|FRUIT
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/muffin/booberry
name = "booberry muffin"
icon_state = "berrymuffin"
alpha = 125
desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
tastes = list("muffin" = 3, "spookiness" = 1)
foodtypes = GRAIN|DAIRY|SUGAR|BREAKFAST|FRUIT
crafting_complexity = FOOD_COMPLEXITY_4
/obj/item/food/muffin/booberry/Initialize(mapload, starting_reagent_purity, no_base_reagents)
. = ..()
AddComponent(/datum/component/ghost_edible, bite_consumption = bite_consumption)
/obj/item/food/muffin/moffin
name = "moffin"
icon_state = "moffin_1"
base_icon_state = "moffin"
desc = "A delicious and spongy little cake."
tastes = list("muffin" = 3, "dust" = 1, "lint" = 1)
foodtypes = CLOTH|DAIRY|GRAIN|SUGAR|BREAKFAST
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/muffin/moffin/Initialize(mapload)
. = ..()
icon_state = "[base_icon_state]_[rand(1, 3)]"
/obj/item/food/muffin/moffin/examine(mob/user)
. = ..()
if(!isliving(user))
return
var/mob/living/moffin_observer = user
if(moffin_observer.get_liked_foodtypes() & CLOTH)
. += span_nicegreen("Ooh! It's even got bits of clothes on it! Yummy!")
else
. += span_warning("You're not too sure what's on top though...")
////////////////////////////////////////////WAFFLES////////////////////////////////////////////
/obj/item/food/waffles
name = "waffles"
desc = "Mmm, waffles."
icon_state = "waffles"
food_reagents = list(
/datum/reagent/consumable/nutriment = 8,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("waffles" = 1)
foodtypes = GRAIN|DAIRY|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/waffles/make_edible()
. = ..()
AddComponent(/datum/component/ice_cream_holder, max_scoops = 1, x_offset = -2)
/obj/item/food/soylentgreen
name = "\improper Soylent Green"
desc = "Not made of people. Honest." //Totally people.
icon_state = "soylent_green"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 4,
)
tastes = list("waffles" = 7, "people" = 1)
foodtypes = MEAT|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
custom_materials = list(/datum/material/meat = MEATSLAB_MATERIAL_AMOUNT * 2)
/obj/item/food/soylenviridians
name = "\improper Soylent Virdians"
desc = "Not made of people. Honest." //Actually honest for once.
icon_state = "soylent_yellow"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 2,
)
tastes = list("waffles" = 7, "the colour green" = 1)
foodtypes = VEGETABLES|GRAIN|DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/rofflewaffles
name = "roffle waffles"
desc = "Waffles from Roffle. Co."
icon_state = "rofflewaffles"
bite_consumption = 4
food_reagents = list(
/datum/reagent/consumable/nutriment = 8,
/datum/reagent/drug/mushroomhallucinogen = 2,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("waffles" = 1, "mushrooms" = 1)
foodtypes = GRAIN|DAIRY|VEGETABLES|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/rofflewaffles/make_edible()
. = ..()
AddComponent(/datum/component/ice_cream_holder, max_scoops = 1, x_offset = -2)
////////////////////////////////////////////OTHER////////////////////////////////////////////
/obj/item/food/cookie
name = "cookie"
desc = "COOKIE!!!"
icon_state = "COOKIE!!!"
bite_consumption = 1
food_reagents = list(/datum/reagent/consumable/nutriment = 2)
tastes = list("cookie" = 1)
foodtypes = GRAIN | SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/cookie/Initialize(mapload)
. = ..()
AddElement(/datum/element/dunkable, 10)
/obj/item/food/cookie/sleepy
food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/toxin/chloralhydrate = 10)
/obj/item/food/fortunecookie
name = "fortune cookie"
desc = "A true prophecy in each cookie!"
icon_state = "fortune_cookie"
trash_type = /obj/item/paper/paperslip/fortune
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("cookie" = 1)
foodtypes = GRAIN|SUGAR|DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/fortunecookie/proc/get_fortune()
var/atom/drop_location = drop_location()
var/obj/item/paper/fortune = locate(/obj/item/paper) in src
// If a fortune exists, use that.
if (fortune)
fortune.forceMove(drop_location)
return fortune
// Otherwise, use a generic one
var/obj/item/paper/paperslip/fortune/fortune_slip = new trash_type(drop_location)
// if someone adds lottery tickets in the future, be sure to add random numbers to this
return fortune_slip
/obj/item/food/fortunecookie/make_leave_trash()
if(trash_type)
AddElement(/datum/element/food_trash, trash_type, food_flags, TYPE_PROC_REF(/obj/item/food/fortunecookie, get_fortune))
/obj/item/food/cookie/sugar
name = "sugar cookie"
desc = "Just like your little sister used to make."
icon_state = "sugarcookie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/sugar = 6,
)
tastes = list("sweetness" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/cookie/sugar/Initialize(mapload, seasonal_changes = TRUE)
. = ..()
if(seasonal_changes && check_holidays(FESTIVE_SEASON))
var/shape = pick("tree", "bear", "santa", "stocking", "present", "cane")
desc = "A sugar cookie in the shape of a [shape]. I hope Santa likes it!"
icon_state = "sugarcookie_[shape]"
/obj/item/food/chococornet
name = "chocolate cornet"
desc = "Which side's the head, the fat end or the thin end?"
icon_state = "chococornet"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("biscuit" = 3, "chocolate" = 1)
foodtypes = JUNKFOOD|GRAIN|DAIRY|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/oatmeal
name = "oatmeal cookie"
desc = "The best of both cookie and oat."
icon_state = "oatmealcookie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cookie" = 2, "oat" = 1)
foodtypes = GRAIN|DAIRY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/raisin
name = "raisin cookie"
desc = "Why would you put raisins on a cookie?"
icon_state = "raisincookie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cookie" = 1, "raisins" = 1)
foodtypes = GRAIN|FRUIT|DAIRY|SUGAR
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/poppypretzel
name = "poppy pretzel"
desc = "It's all twisted up!"
icon_state = "poppypretzel"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("pretzel" = 1)
foodtypes = GRAIN|DAIRY|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/plumphelmetbiscuit
name = "plump helmet biscuit"
desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour."
icon_state = "phelmbiscuit"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("mushroom" = 1, "biscuit" = 1)
foodtypes = VEGETABLES|GRAIN|DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/plumphelmetbiscuit/Initialize(mapload)
var/fey = prob(10)
if(fey)
name = "exceptional plump helmet biscuit"
desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!"
food_reagents = list(
/datum/reagent/medicine/omnizine = 5,
/datum/reagent/consumable/nutriment = 1,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
. = ..()
if(fey)
reagents.add_reagent(/datum/reagent/medicine/omnizine, 5)
/obj/item/food/cracker
name = "cracker"
desc = "It's a salted cracker."
icon_state = "cracker"
bite_consumption = 1
food_reagents = list(/datum/reagent/consumable/nutriment = 2)
tastes = list("cracker" = 1)
foodtypes = GRAIN
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/khachapuri
name = "khachapuri"
desc = "Bread with egg and cheese?"
icon_state = "khachapuri"
food_reagents = list(
/datum/reagent/consumable/nutriment = 11,
/datum/reagent/consumable/nutriment/protein = 3,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 1, "egg" = 1, "cheese" = 1)
foodtypes = GRAIN | MEAT | DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cherrycupcake
name = "cherry cupcake"
desc = "A sweet cupcake with cherry bits."
icon_state = "cherrycupcake"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("cake" = 3, "cherry" = 1)
foodtypes = GRAIN|DAIRY|FRUIT|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cherrycupcake/blue
name = "blue cherry cupcake"
desc = "Blue cherries inside a delicious cupcake."
icon_state = "bluecherrycupcake"
tastes = list("cake" = 3, "blue cherry" = 1)
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/jupitercupcake
name = "jupiter-cup-cake"
desc = "A static dessert."
icon_state = "jupitercupcake"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/caramel = 3,
/datum/reagent/consumable/liquidelectricity/enriched = 3,
)
tastes = list("cake" = 3, "caramel" = 2, "zap" = 1)
foodtypes = GRAIN|DAIRY|VEGETABLES|SUGAR
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
crafted_food_buff = /datum/status_effect/food/trait/shockimmune
/obj/item/food/honeybun
name = "honey bun"
desc = "A sticky pastry bun glazed with honey."
icon_state = "honeybun"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/honey = 6,
)
tastes = list("pastry" = 1, "sweetness" = 1)
foodtypes = GRAIN|DAIRY|SUGAR
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cannoli
name = "cannoli"
desc = "A Sicilian treat that makes you into a wise guy."
icon_state = "cannoli"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("pastry" = 1)
foodtypes = GRAIN | DAIRY | SUGAR
w_class = WEIGHT_CLASS_TINY
venue_value = FOOD_PRICE_CHEAP // Pastry base, 3u of sugar and a single. fucking. unit. of. milk. really?
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/icecream
name = "waffle cone"
desc = "Delicious waffle cone, but no ice cream."
icon = 'icons/obj/service/kitchen.dmi'
icon_state = "icecream_cone_waffle"
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("cream" = 2, "waffle" = 1)
bite_consumption = 4
foodtypes = DAIRY | SUGAR | GRAIN
food_flags = FOOD_FINGER_FOOD
crafting_complexity = FOOD_COMPLEXITY_2
max_volume = 10 //The max volumes scales up with the number of scoops of ice cream served.
/// These two variables are used by the ice cream vat. Latter is the one that shows on the UI.
var/list/ingredients = list(
/datum/reagent/consumable/flour,
/datum/reagent/consumable/sugar,
)
var/ingredients_text
/*
* Assoc list var used to prefill the cone with ice cream.
* Key is the flavour's name (use text defines; see __DEFINES/food.dm or ice_cream_holder.dm),
* assoc is the list of args that is going to be used in [flavour/add_flavour()]. Can as well be null for simple flavours.
*/
var/list/prefill_flavours
/obj/item/food/icecream/Initialize(mapload, list/prefill_flavours)
if(ingredients)
ingredients_text = "Requires: [reagent_paths_list_to_text(ingredients)]"
src.prefill_flavours = prefill_flavours
return ..()
/obj/item/food/icecream/make_edible()
. = ..()
var/max_scoops = check_holidays(ICE_CREAM_DAY) ? DEFAULT_MAX_ICE_CREAM_SCOOPS * 4 : DEFAULT_MAX_ICE_CREAM_SCOOPS
AddComponent(/datum/component/ice_cream_holder, max_scoops, filled_name = "ice cream", change_desc = TRUE, prefill_flavours = prefill_flavours)
/obj/item/food/icecream/chocolate
name = "chocolate cone"
desc = "Delicious chocolate cone, but no ice cream."
icon_state = "icecream_cone_chocolate"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/coco = 1,
)
ingredients = list(
/datum/reagent/consumable/flour,
/datum/reagent/consumable/sugar,
/datum/reagent/consumable/coco,
)
/obj/item/food/icecream/korta
name = "korta cone"
desc = "Delicious lizard-friendly cone, but no ice cream."
foodtypes = NUTS | SUGAR
ingredients = list(
/datum/reagent/consumable/korta_flour,
/datum/reagent/consumable/sugar,
)
/obj/item/food/cookie/peanut_butter
name = "peanut butter cookie"
desc = "A tasty, chewy peanut butter cookie."
icon_state = "peanut_butter_cookie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("peanut butter" = 2, "cookie" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|NUTS
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/raw_brownie_batter
name = "raw brownie batter"
desc = "A sticky mixture of raw brownie batter, cook it in the oven!"
icon = 'icons/obj/food/food.dmi'
icon_state = "raw_brownie_batter"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 4,
)
tastes = list("raw brownie batter" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/raw_brownie_batter/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/brownie_sheet, rand(20 SECONDS, 30 SECONDS), TRUE, TRUE)
/obj/item/food/brownie_sheet
name = "brownie sheet"
desc = "An uncut sheet of cooked brownie, use a knife to cut it!."
icon = 'icons/obj/food/food.dmi'
icon_state = "brownie_sheet"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/sugar = 12,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/brownie_sheet/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
/obj/item/food/brownie
name = "brownie"
desc = "A square slice of delicious, chewy brownie. Often the target of potheads."
icon = 'icons/obj/food/food.dmi'
icon_state = "brownie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 5,
/datum/reagent/consumable/sugar = 3,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/peanut_butter_brownie_batter
name = "raw peanut butter brownie batter"
desc = "A sticky mixture of raw peanut butter brownie batter, cook it in the oven!"
icon = 'icons/obj/food/food.dmi'
icon_state = "peanut_butter_brownie_batter"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 4,
/datum/reagent/consumable/peanut_butter = 4,
)
tastes = list("raw brownie batter" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/peanut_butter_brownie_batter/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/peanut_butter_brownie_sheet, rand(20 SECONDS, 30 SECONDS), TRUE, TRUE)
/obj/item/food/peanut_butter_brownie_sheet
name = "peanut butter brownie sheet"
desc = "An uncut sheet of cooked peanut butter brownie, use a knife to cut it!"
icon = 'icons/obj/food/food.dmi'
icon_state = "peanut_butter_brownie_sheet"
food_reagents = list(
/datum/reagent/consumable/nutriment = 24,
/datum/reagent/consumable/sugar = 16,
/datum/reagent/consumable/peanut_butter = 20,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1, "peanut butter" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/peanut_butter_brownie_sheet/make_processable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/peanut_butter_brownie, 4, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
/obj/item/food/peanut_butter_brownie
name = "peanut butter brownie"
desc = "A square slice of delicious, chewy peanut butter brownie. Often the target of potheads."
icon = 'icons/obj/food/food.dmi'
icon_state = "peanut_butter_brownie"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/sugar = 4,
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("brownie" = 1, "chocolatey goodness" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|BREAKFAST|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/crunchy_peanut_butter_tart
name = "crunchy peanut butter tart"
desc = "A miniature pie with a peanut butter filling, creamy icing, and topping of chopped nuts."
icon = 'icons/obj/food/food.dmi'
icon_state = "crunchy_peanut_butter_tart"
food_reagents = list(
/datum/reagent/consumable/nutriment = 8,
/datum/reagent/consumable/sugar = 6,
/datum/reagent/consumable/peanut_butter = 5,
)
tastes = list("peanut butter" = 1, "peanuts" = 1, "cream" = 1)
foodtypes = GRAIN|DAIRY|JUNKFOOD|SUGAR|NUTS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/chocolate_chip_cookie
name = "chocolate chip cookie"
desc = "A delightful-smelling chocolate chip cookie. Where's the milk?"
icon_state = "COOKIE!!!"
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("soft cookie" = 2, "chocolate" = 3)
foodtypes = GRAIN | SUGAR | DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/snickerdoodle
name = "snickerdoodle"
desc = "A soft cookie made from vanilla and cinnamon."
icon_state = "snickerdoodle"
food_reagents = list(/datum/reagent/consumable/nutriment = 5)
tastes = list("soft cookie" = 2, "vanilla" = 3)
foodtypes = GRAIN | SUGAR | DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/macaron
name = "macaron"
desc = "A sandwich-like confectionary with a soft cookie shell and a creamy meringue center."
food_reagents = list(/datum/reagent/consumable/nutriment = 6)
icon_state = "macaron_1"
base_icon_state = "macaron"
tastes = list("wafer" = 2, "creamy meringue" = 3)
foodtypes = GRAIN | SUGAR | DAIRY
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_TINY
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/cookie/macaron/Initialize(mapload)
. = ..()
icon_state = "[base_icon_state]_[rand(1, 4)]"
/obj/item/food/cookie/thumbprint_cookie
name = "thumbprint cookie"
desc = "A cookie with a thumb-sized indent in the middle made for fillings. This one is filled with cherry jelly"
icon_state = "thumbprint_cookie"
food_reagents = list(/datum/reagent/consumable/nutriment = 6)
tastes = list("cookie" = 2, "cherry jelly" = 3)
foodtypes = GRAIN|DAIRY|SUGAR|FRUIT
food_flags = FOOD_FINGER_FOOD
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_3