Files
2eac95b7a1 [MIRROR] Adds a small cafeteria behind the right wing shutters of the museum. (#26766)
* Adds a small cafeteria behind the right wing shutters of the museum. (#81465)

## About The Pull Request
I was thinking to contribute something to the new away mission map to
make it better. Mapping and all takes too much time for me, so I could
do little. Though it comes with its own unique gimmicks.

To reach the cafeteria, one has to complete a couple puzzles.
The first set is opened by inputing the correct PIN on the password
panel beside it. There're several clues to help you guess this fairly
easy puzzle, in the form of several number graffitis, a scrapped piece
of paper full of numbers, and a board filled with colored dots also
found just beside the panel.
The second one is opened by a keycard, and is generally lazier. To find
it, you'll need to do a bit of (toilet) searching.

As for the unique things this PR adds:
- A fire extinguisher... that actually contains welding fuel
- A (dirt-cheap) hotdog vending machine*
- A completely ornamental maneki-neko (that's the name of the
luck-bringing, paw-waving cat figurine)
- A piggy bank that carries money between rounds. It has a cap of 10k
credits worth of holochips, cash and coins, which is pretty high, but
I'm confident people will just destroy it for its contents the moment
they find it. His name is Pigston Swinelord VI.
- More, totally legit and not actually fake bombable walls :^)

*By the by, you can also find it during the national hotdog day.

Screenshots of the new location:
![museum
cafe](https://github.com/tgstation/tgstation/assets/42542238/1c0d93b7-90d5-4459-a48d-81430f0d3613)
![museum
restrooms](https://github.com/tgstation/tgstation/assets/42542238/5a9e049d-6acc-464b-998d-901e43154bae)

## Why It's Good For The Game
You know how most away missions are not that special at all? Yeah,
@ mc-oofert set an example of a pretty decent one actually, if not a tad
small. I thought it could use a touch of another mind actually
contributing to it too, because it deserves it.

Also, this sets the basis for other persistent piggy banks. I don't
think they should all have that 10k cap like this one, perhaps 1k is
enough. Beside, the code that mothblocks did for json database datum is
pretty good, so there is not a whole lot of shitcode here.

## Changelog

🆑
add: Added a cafeteria to the museum away mission, with a few special
things to it. To reach it, you'll have to complete a couple puzzles
however.
map: The museum away mission now has a couple restrooms.
add: Hotdog vending machines may spawn during the National Hot Dog Day.
/🆑

* Adds a small cafeteria behind the right wing shutters of the museum.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-03-07 08:53:28 -06:00

586 lines
19 KiB
Plaintext

/// Abstract parent object for bread items. Should not be made obtainable in game.
/obj/item/food/bread
name = "bread?"
desc = "You shouldn't see this, call the coders."
icon = 'icons/obj/food/burgerbread.dmi'
max_volume = 80
tastes = list("bread" = 10)
foodtypes = GRAIN
eat_time = 3 SECONDS
crafting_complexity = FOOD_COMPLEXITY_2
/// type is spawned 5 at a time and replaces this bread loaf when processed by cutting tool
var/obj/item/food/breadslice/slice_type
/// so that the yield can change if it isnt 5
var/yield = 5
/obj/item/food/bread/Initialize(mapload)
. = ..()
AddElement(/datum/element/dunkable, 10)
AddComponent(/datum/component/food_storage)
/obj/item/food/bread/make_processable()
if (slice_type)
AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE, screentip_verb = "Slice")
AddElement(/datum/element/processable, TOOL_SAW, slice_type, yield, 4 SECONDS, table_required = TRUE, screentip_verb = "Slice")
// Abstract parent object for sliced bread items. Should not be made obtainable in game.
/obj/item/food/breadslice
name = "breadslice?"
desc = "You shouldn't see this, call the coders."
icon = 'icons/obj/food/burgerbread.dmi'
foodtypes = GRAIN
food_flags = FOOD_FINGER_FOOD
eat_time = 0.5 SECONDS
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/breadslice/Initialize(mapload)
. = ..()
AddElement(/datum/element/dunkable, 10)
/obj/item/food/bread/plain
name = "bread"
desc = "Some plain old earthen bread."
icon_state = "bread"
food_reagents = list(/datum/reagent/consumable/nutriment = 10)
tastes = list("bread" = 10)
foodtypes = GRAIN
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
slice_type = /obj/item/food/breadslice/plain
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/bread/plain/Initialize(mapload)
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, /obj/item/food/bread/empty, CUSTOM_INGREDIENT_ICON_FILL, max_ingredients = 8)
/obj/item/food/breadslice/plain
name = "bread slice"
desc = "A slice of home."
icon_state = "breadslice"
foodtypes = GRAIN
food_reagents = list(/datum/reagent/consumable/nutriment = 2)
venue_value = FOOD_PRICE_TRASH
decomp_type = /obj/item/food/breadslice/moldy
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/breadslice/plain/Initialize(mapload)
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, null, CUSTOM_INGREDIENT_ICON_STACK)
/obj/item/food/breadslice/plain/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/griddle_toast, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE)
/obj/item/food/breadslice/moldy
name = "moldy 'bread' slice"
desc = "Entire stations have been ripped apart arguing whether this is still good to eat."
icon_state = "moldybreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/mold = 10,
)
tastes = list("decaying fungus" = 1)
foodtypes = GROSS
preserved_food = TRUE
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/breadslice/moldy/bacteria
name = "bacteria-rich moldy 'bread' slice"
desc = "Something (possibly necroyeast) has caused this bread to rise in a macabre state of unlife. \
It lurchs about when unattended. You might want to locate a priest if you see this. Or maybe a flamethrower."
/obj/item/food/breadslice/moldy/bacteria/Initialize(mapload)
. = ..()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_MOLD, CELL_VIRUS_TABLE_GENERIC, rand(2, 4), 25)
/obj/item/food/bread/meat
name = "meatbread loaf"
desc = "The culinary base of every self-respecting eloquen/tg/entleman."
icon_state = "meatbread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 12,
)
tastes = list("bread" = 10, "meat" = 10)
foodtypes = GRAIN | MEAT
venue_value = FOOD_PRICE_CHEAP
slice_type = /obj/item/food/breadslice/meat
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/meat
name = "meatbread slice"
desc = "A slice of delicious meatbread."
icon_state = "meatbreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 2.4,
)
tastes = list("bread" = 1, "meat" = 1)
foodtypes = GRAIN | MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/sausage
name = "sausagebread loaf"
desc = "Dont think too much about it."
icon_state = "sausagebread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 12,
)
tastes = list("bread" = 10, "meat" = 10)
foodtypes = GRAIN | MEAT
slice_type = /obj/item/food/breadslice/sausage
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/sausage
name = "sausagebread slice"
desc = "A slice of delicious sausagebread."
icon_state = "sausagebreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 2.4,
)
tastes = list("bread" = 10, "meat" = 10)
foodtypes = GRAIN | MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/xenomeat
name = "xenomeatbread loaf"
desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical."
icon_state = "xenomeatbread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 15,
)
tastes = list("bread" = 10, "acid" = 10)
foodtypes = GRAIN | MEAT
slice_type = /obj/item/food/breadslice/xenomeat
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/xenomeat
name = "xenomeatbread slice"
desc = "A slice of delicious meatbread. Extra Heretical."
icon_state = "xenobreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
/datum/reagent/consumable/nutriment/protein = 3,
)
tastes = list("bread" = 10, "acid" = 10)
foodtypes = GRAIN | MEAT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/spidermeat
name = "spider meat loaf"
desc = "Reassuringly green meatloaf made from spider meat."
icon_state = "spidermeatbread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/toxin = 15,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 12,
)
tastes = list("bread" = 10, "cobwebs" = 5)
foodtypes = GRAIN | MEAT | TOXIC
slice_type = /obj/item/food/breadslice/spidermeat
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/spidermeat
name = "spider meat bread slice"
desc = "A slice of meatloaf made from an animal that most likely still wants you dead."
icon_state = "spidermeatslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/toxin = 3,
/datum/reagent/consumable/nutriment/protein = 4,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("bread" = 10, "cobwebs" = 5)
foodtypes = GRAIN | MEAT | TOXIC
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/banana
name = "banana-nut bread"
desc = "A heavenly and filling treat."
icon_state = "bananabread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/banana = 20,
)
tastes = list("bread" = 10) // bananjuice will also flavour
foodtypes = GRAIN | FRUIT
slice_type = /obj/item/food/breadslice/banana
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/banana
name = "banana-nut bread slice"
desc = "A slice of delicious banana bread."
icon_state = "bananabreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/banana = 4,
)
tastes = list("bread" = 10)
foodtypes = GRAIN | FRUIT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/tofu
name = "Tofubread"
desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers."
icon_state = "tofubread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/nutriment/vitamin = 10,
/datum/reagent/consumable/nutriment/protein = 10,
)
tastes = list("bread" = 10, "tofu" = 10)
foodtypes = GRAIN | VEGETABLES
venue_value = FOOD_PRICE_TRASH
slice_type = /obj/item/food/breadslice/tofu
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/tofu
name = "tofubread slice"
desc = "A slice of delicious tofubread."
icon_state = "tofubreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 10, "tofu" = 10)
foodtypes = GRAIN | VEGETABLES
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/creamcheese
name = "cream cheese bread"
desc = "Yum yum yum!"
icon_state = "creamcheesebread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/consumable/nutriment/protein = 10,
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("bread" = 10, "cheese" = 10)
foodtypes = GRAIN | DAIRY
slice_type = /obj/item/food/breadslice/creamcheese
/obj/item/food/breadslice/creamcheese
name = "cream cheese bread slice"
desc = "A slice of yum!"
icon_state = "creamcheesebreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/protein = 2,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 10, "cheese" = 10)
foodtypes = GRAIN | DAIRY
/obj/item/food/bread/mimana
name = "mimana bread"
desc = "Best eaten in silence."
icon_state = "mimanabread"
food_reagents = list(
/datum/reagent/consumable/nutriment = 20,
/datum/reagent/toxin/mutetoxin = 5,
/datum/reagent/consumable/nothing = 5,
/datum/reagent/consumable/nutriment/vitamin = 10,
)
tastes = list("bread" = 10, "silence" = 10)
foodtypes = GRAIN | FRUIT
slice_type = /obj/item/food/breadslice/mimana
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/breadslice/mimana
name = "mimana bread slice"
desc = "A slice of silence!"
icon_state = "mimanabreadslice"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/toxin/mutetoxin = 1,
/datum/reagent/consumable/nothing = 1,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("bread" = 10, "silence" = 10)
foodtypes = GRAIN | FRUIT
crafting_complexity = FOOD_COMPLEXITY_3
/obj/item/food/bread/empty
name = "bread"
icon_state = "tofubread"
desc = "It's bread, customized to your wildest dreams."
slice_type = /obj/item/food/breadslice/empty
// What you get from cutting a custom bread. Different from custom sliced bread.
/obj/item/food/breadslice/empty
name = "bread slice"
icon_state = "tofubreadslice"
foodtypes = GRAIN
desc = "It's a slice of bread, customized to your wildest dreams."
/obj/item/food/breadslice/empty/Initialize(mapload)
. = ..()
AddComponent(/datum/component/customizable_reagent_holder, null, CUSTOM_INGREDIENT_ICON_FILL, max_ingredients = 8)
/obj/item/food/baguette
name = "baguette"
desc = "Bon appetit!"
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "baguette"
inhand_icon_state = null
worn_icon_state = "baguette"
food_reagents = list(
/datum/reagent/consumable/nutriment = 8,
/datum/reagent/consumable/nutriment/vitamin = 3,
)
bite_consumption = 3
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT
attack_verb_continuous = list("touche's")
attack_verb_simple = list("touche")
tastes = list("bread" = 1)
foodtypes = GRAIN
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
/// whether this is in fake swordplay mode or not
var/fake_swordplay = FALSE
/obj/item/food/baguette/Initialize(mapload)
. = ..()
register_context()
/obj/item/food/baguette/add_context(atom/source, list/context, obj/item/held_item, mob/user)
. = ..()
if(HAS_MIND_TRAIT(user, TRAIT_MIMING) && held_item == src)
context[SCREENTIP_CONTEXT_LMB] = "Toggle Swordplay"
return CONTEXTUAL_SCREENTIP_SET
/obj/item/food/baguette/examine(mob/user)
. = ..()
if(HAS_MIND_TRAIT(user, TRAIT_MIMING))
. += span_notice("You can wield this like a sword by using it in your hand.")
/obj/item/food/baguette/attack_self(mob/user, modifiers)
. = ..()
if(!HAS_MIND_TRAIT(user, TRAIT_MIMING))
return
if(fake_swordplay)
end_swordplay(user)
else
begin_swordplay(user)
/obj/item/food/baguette/proc/begin_swordplay(mob/user)
visible_message(
span_notice("[user] begins wielding [src] like a sword!"),
span_notice("You begin wielding [src] like a sword, with a firm grip on the bottom as an imaginary handle.")
)
ADD_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND, SWORDPLAY_TRAIT)
attack_verb_continuous = list("slashes", "cuts")
attack_verb_simple = list("slash", "cut")
hitsound = 'sound/weapons/rapierhit.ogg'
fake_swordplay = TRUE
RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(on_sword_equipped))
RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(on_sword_dropped))
/obj/item/food/baguette/proc/end_swordplay(mob/user)
UnregisterSignal(src, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
REMOVE_TRAIT(src, TRAIT_CUSTOM_TAP_SOUND, SWORDPLAY_TRAIT)
attack_verb_continuous = initial(attack_verb_continuous)
attack_verb_simple = initial(attack_verb_simple)
hitsound = initial(hitsound)
fake_swordplay = FALSE
if(user)
visible_message(
span_notice("[user] no longer holds [src] like a sword!"),
span_notice("You go back to holding [src] normally.")
)
/obj/item/food/baguette/proc/on_sword_dropped(datum/source, mob/user)
SIGNAL_HANDLER
end_swordplay()
/obj/item/food/baguette/proc/on_sword_equipped(datum/source, mob/equipper, slot)
SIGNAL_HANDLER
if(!(slot & ITEM_SLOT_HANDS))
end_swordplay()
/// Deadly bread used by a mime
/obj/item/food/baguette/combat
block_sound = 'sound/weapons/parry.ogg'
sharpness = SHARP_EDGED
/// Force when wielded as a sword by a mime
var/active_force = 20
/// Block chance when wielded as a sword by a mime
var/active_block = 50
/obj/item/food/baguette/combat/begin_swordplay(mob/user)
. = ..()
force = active_force
block_chance = active_block
/obj/item/food/baguette/combat/end_swordplay(mob/user)
. = ..()
force = initial(force)
block_chance = initial(block_chance)
/obj/item/food/garlicbread
name = "garlic bread"
desc = "Alas, it is limited."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "garlicbread"
inhand_icon_state = null
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 6,
/datum/reagent/consumable/garlic = 2,
)
bite_consumption = 3
tastes = list("bread" = 1, "garlic" = 1, "butter" = 1)
foodtypes = GRAIN
venue_value = FOOD_PRICE_NORMAL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/butterbiscuit
name = "butter biscuit"
desc = "Well butter my biscuit!"
icon = 'icons/obj/food/food.dmi'
icon_state = "butterbiscuit"
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("butter" = 1, "biscuit" = 1)
foodtypes = GRAIN | BREAKFAST
w_class = WEIGHT_CLASS_SMALL
venue_value = FOOD_PRICE_CHEAP
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/butterdog
name = "butterdog"
desc = "Made from exotic butters."
icon = 'icons/obj/food/food.dmi'
icon_state = "butterdog"
bite_consumption = 1
food_reagents = list(
/datum/reagent/consumable/nutriment = 6,
/datum/reagent/consumable/nutriment/vitamin = 1,
)
tastes = list("butter" = 1, "exotic butter" = 1)
foodtypes = GRAIN | DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
custom_price = PAYCHECK_CREW
/obj/item/food/butterdog/Initialize(mapload)
. = ..()
AddComponent(/datum/component/slippery, 8 SECONDS)
/obj/item/food/raw_frenchtoast
name = "raw french toast"
desc = "A slice of bread soaked in a beaten egg mixture. Put it on a griddle to start cooking!"
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "raw_frenchtoast"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("raw egg" = 2, "soaked bread" = 1)
foodtypes = GRAIN | RAW | BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/raw_frenchtoast/make_grillable()
AddComponent(/datum/component/grillable, /obj/item/food/frenchtoast, rand(20 SECONDS, 30 SECONDS), TRUE)
/obj/item/food/frenchtoast
name = "french toast"
desc = "A slice of bread soaked in an egg mixture and grilled until golden-brown. Drizzle with syrup!"
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "frenchtoast"
food_reagents = list(
/datum/reagent/consumable/nutriment = 10,
/datum/reagent/consumable/nutriment/vitamin = 6,
)
tastes = list("french toast" = 1, "syrup" = 1, "golden deliciousness" = 1)
foodtypes = GRAIN | BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/raw_breadstick
name = "raw breadstick"
desc = "An uncooked strip of dough in the shape of a breadstick."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "raw_breadstick"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("raw dough" = 1)
foodtypes = GRAIN | DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/raw_breadstick/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/breadstick, rand(15 SECONDS, 20 SECONDS), TRUE, TRUE)
/obj/item/food/breadstick
name = "breadstick"
desc = "A delicious, buttery breadstick. Highly addictive, but oh-so worth it."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "breadstick"
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/nutriment/vitamin = 2,
)
tastes = list("fluffy bread" = 1, "butter" = 2)
foodtypes = GRAIN | DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
/obj/item/food/raw_croissant
name = "raw croissant"
desc = "Folded dough ready to bake into a croissant."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "raw_croissant"
food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("raw dough" = 1)
foodtypes = GRAIN | DAIRY
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_1
/obj/item/food/raw_croissant/make_bakeable()
AddComponent(/datum/component/bakeable, /obj/item/food/croissant, rand(15 SECONDS, 20 SECONDS), TRUE, TRUE)
/obj/item/food/croissant
name = "croissant"
desc = "A delicious, buttery croissant. The perfect start to the day."
icon = 'icons/obj/food/burgerbread.dmi'
icon_state = "croissant"
food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2)
tastes = list("fluffy bread" = 1, "butter" = 2)
foodtypes = GRAIN | DAIRY | BREAKFAST
w_class = WEIGHT_CLASS_SMALL
crafting_complexity = FOOD_COMPLEXITY_2
// Enhanced weaponised bread
/obj/item/food/croissant/throwing
throwforce = 20
tastes = list("fluffy bread" = 1, "butter" = 2, "metal" = 1)
food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/iron = 1)
/obj/item/food/croissant/throwing/Initialize(mapload)
. = ..()
AddComponent(/datum/component/boomerang, throw_range, TRUE)