From 3974d7e87fd62beba0ab4aa84279aee4e365fba8 Mon Sep 17 00:00:00 2001 From: Rykka Date: Thu, 16 Jul 2020 19:52:20 -0400 Subject: [PATCH] Last Push - Everything is working, just needs testing! --- code/__defines/chemistry_vr.dm | 3 +- code/modules/food/food/condiment.dm | 6 +- code/modules/food/food/snacks.dm | 128 +++++++++--------- code/modules/food/food/snacks/meat.dm | 4 +- .../kitchen/cooking_machines/_appliance.dm | 80 +++++------ .../food/kitchen/cooking_machines/_cooker.dm | 10 +- .../cooking_machines/_cooker_output.dm | 6 +- .../food/kitchen/cooking_machines/_mixer.dm | 13 +- .../food/kitchen/cooking_machines/cereal.dm | 2 +- .../kitchen/cooking_machines/container.dm | 22 +-- .../food/kitchen/cooking_machines/fryer.dm | 36 +++-- .../food/kitchen/cooking_machines/grill.dm | 10 +- .../food/kitchen/cooking_machines/oven.dm | 4 +- code/modules/food/kitchen/microwave.dm | 21 ++- code/modules/food/recipe.dm | 8 +- code/modules/food/recipes_microwave.dm | 2 +- .../carbon/human/species/station/alraune.dm | 2 + .../modules/mob/living/silicon/robot/emote.dm | 2 +- .../Chemistry-Reagents-Food-Drinks.dm | 5 +- icons/obj/cooking_machines.dmi | Bin 12112 -> 12711 bytes icons/obj/food.dmi | Bin 132833 -> 133133 bytes maps/northern_star/polaris-1.dmm | 4 +- maps/southern_cross/southern_cross-1.dmm | 4 +- maps/southern_cross/southern_cross-6.dmm | 4 +- maps/submaps/surface_submaps/plains/Diner.dmm | 2 +- .../surface_submaps/plains/Diner_vr.dmm | 2 +- .../submaps/admin_use/dhael_centcom.dmm | 4 +- maps/tether/submaps/om_ships/cruiser.dmm | 4 +- maps/tether/tether-03-surface3.dmm | 4 +- maps/virgo/virgo-1.dmm | 4 +- nano/README.md | 6 +- vorestation.dme | 2 + 32 files changed, 221 insertions(+), 183 deletions(-) diff --git a/code/__defines/chemistry_vr.dm b/code/__defines/chemistry_vr.dm index f15ebd4a56..0058985adc 100644 --- a/code/__defines/chemistry_vr.dm +++ b/code/__defines/chemistry_vr.dm @@ -1,3 +1,4 @@ // More for our custom races #define IS_CHIMERA 12 -#define IS_SHADEKIN 13 \ No newline at end of file +#define IS_SHADEKIN 13 +#define IS_ALRAUNE 14 \ No newline at end of file diff --git a/code/modules/food/food/condiment.dm b/code/modules/food/food/condiment.dm index 618fed0895..fa9815ffbe 100644 --- a/code/modules/food/food/condiment.dm +++ b/code/modules/food/food/condiment.dm @@ -118,7 +118,7 @@ if("spacespice") name = "bottle of space spice" desc = "An exotic blend of spices for cooking. Definitely not worms." - icon = 'modular_citadel/icons/obj/food_syn.dmi' + icon = 'icons/obj/food_syn.dmi' icon_state = "spacespicebottle" center_of_mass = list("x"=16, "y"=6) if("barbecue") @@ -441,6 +441,6 @@ /obj/item/weapon/reagent_containers/food/condiment/spacespice/on_reagent_change() return -/obj/item/weapon/reagent_containers/food/condiment/spacespice/initialize() - ..() +/obj/item/weapon/reagent_containers/food/condiment/spacespice/Initialize() + . = ..() reagents.add_reagent("spacespice", 40) \ No newline at end of file diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index e420dc4c0c..77c4411ce2 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -157,7 +157,7 @@ . = ..() if(Adjacent(user)) if(coating) - to_chat(user, "It's coated in [coating.name]!") + to_chat(user, "It's coated in [coating.name]!") if(bitecount==0) return . else if (bitecount==1) @@ -282,7 +282,7 @@ // desc = "Smells caustic. Tastes like heresy." //Duh // icon_state = "xburger" //Refers to an icon in food.dmi // Initialize() //Don't mess with this. (We use Initialize now instead of New()) -// ..() //Same here. +// . = ..() //Same here. // reagents.add_reagent("xenomicrobes", 10) //This is what is in the food item. you may copy/paste // reagents.add_reagent("nutriment", 2) // this line of code for all the contents. // bitesize = 3 //This is the amount each bite consumes. @@ -3445,7 +3445,7 @@ update_icon() return - ..() + . = ..() /obj/item/pizzabox/margherita/Initialize() pizza = new /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita(src) @@ -3584,7 +3584,7 @@ qdel(src) return else - ..() + . = ..() // Human Burger + cheese wedge = cheeseburger /obj/item/weapon/reagent_containers/food/snacks/human/burger/attackby(obj/item/weapon/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob) @@ -3595,7 +3595,7 @@ qdel(src) return else - ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/bunbun name = "\improper Bun Bun" @@ -3701,7 +3701,7 @@ to_chat(user, "You remove the seeds from the flower, slightly damaging them.") qdel(src) else - ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/rawsticks name = "raw potato sticks" @@ -3775,7 +3775,7 @@ center_of_mass = list("x"=16, "y"=15) /obj/item/weapon/reagent_containers/food/snacks/liquidprotein/Initialize() - ..() + . = ..() reagents.add_reagent("protein", 30) reagents.add_reagent("iron", 3) bitesize = 4 @@ -3790,7 +3790,7 @@ center_of_mass = list("x"=16, "y"=15) /obj/item/weapon/reagent_containers/food/snacks/liquidvitamin/Initialize() - ..() + . = ..() reagents.add_reagent("flour", 20) reagents.add_reagent("tricordrazine", 5) reagents.add_reagent("paracetamol", 5) @@ -3846,10 +3846,10 @@ center_of_mass = list("x"=15, "y"=9) /obj/item/weapon/reagent_containers/food/snacks/unajerky/Initialize() - ..() - reagents.add_reagent("protein", 8) - reagents.add_reagent("capsaicin", 2) - bitesize = 2 + . =..() + reagents.add_reagent("protein", 8) + reagents.add_reagent("capsaicin", 2) + bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/croissant name = "croissant" @@ -4353,7 +4353,7 @@ /obj/item/weapon/reagent_containers/food/snacks/macncheese name = "macaroni and cheese" desc = "The perfect combination of noodles and dairy." - icon = 'modular_citadel/icons/obj/food_cit.dmi' + icon = 'icons/obj/food.dmi' icon_state = "macncheese" trash = /obj/item/trash/snack_bowl center_of_mass = list("x"=16, "y"=16) @@ -4379,7 +4379,7 @@ //This proc handles drawing coatings out of a container when this food is dipped into it /obj/item/weapon/reagent_containers/food/snacks/proc/apply_coating(var/datum/reagent/nutriment/coating/C, var/mob/user) if (coating) - user << "The [src] is already coated in [coating.name]!" + to_chat(user, "The [src] is already coated in [coating.name]!") return 0 //Calculate the reagents of the coating needed @@ -4398,7 +4398,7 @@ return 0 if (C.volume < req) - user << span("warning", "There's not enough [C.name] to coat the [src]!") + to_chat("There's not enough [C.name] to coat the [src]!") return 0 var/id = C.id @@ -4499,7 +4499,7 @@ var/composition_reagent var/composition_reagent_quantity -/mob/living/simple_animal/adultslime +/mob/living/simple_mob/adultslime composition_reagent = "slimejelly" /mob/living/carbon/slime @@ -4508,13 +4508,13 @@ /mob/living/carbon/alien/diona composition_reagent = "nutriment"//Dionae are plants, so eating them doesn't give animal protein -/mob/living/simple_animal/slime +/mob/living/simple_mob/slime composition_reagent = "slimejelly" -/mob/living/simple_animal +/mob/living/simple_mob var/kitchen_tag = "animal" //Used for cooking with animals -/mob/living/simple_animal/mouse +/mob/living/simple_mob/mouse kitchen_tag = "rodent" /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel @@ -4548,7 +4548,7 @@ bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/jalapeno_poppers/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("batter", 2) reagents.add_reagent("oil", 2) @@ -4690,7 +4690,7 @@ nutriment_amt = 0 /obj/item/weapon/reagent_containers/food/snacks/spreads/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("triglyceride", 20) reagents.add_reagent("sodiumchloride",1) @@ -4712,7 +4712,7 @@ center_of_mass = list("x"=16, "y"=16) /obj/item/weapon/reagent_containers/food/snacks/rawbacon/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 0.33) /obj/item/weapon/reagent_containers/food/snacks/bacon @@ -4740,7 +4740,7 @@ center_of_mass = list("x"=16, "y"=16) /obj/item/weapon/reagent_containers/food/snacks/bacon/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 0.33) reagents.add_reagent("triglyceride", 1) @@ -4751,7 +4751,7 @@ icon_state = "bacon_stick" /obj/item/weapon/reagent_containers/food/snacks/bacon_stick/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 3) reagents.add_reagent("egg", 1) @@ -4762,7 +4762,7 @@ trash = /obj/item/trash/snack_bowl /obj/item/weapon/reagent_containers/food/snacks/chilied_eggs/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("egg", 6) reagents.add_reagent("protein", 2) @@ -4783,7 +4783,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/bacon_and_eggs/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 3) reagents.add_reagent("egg", 1) @@ -4797,7 +4797,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/sweet_and_sour/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 3) /obj/item/weapon/reagent_containers/food/snacks/corn_dog @@ -4809,7 +4809,7 @@ nutriment_amt = 4 /obj/item/weapon/reagent_containers/food/snacks/corn_dog/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 3) /obj/item/weapon/reagent_containers/food/snacks/truffle @@ -4821,7 +4821,7 @@ bitesize = 4 /obj/item/weapon/reagent_containers/food/snacks/truffle/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("coco", 6) /obj/item/weapon/reagent_containers/food/snacks/truffle/random @@ -4829,7 +4829,7 @@ desc = "Rich bite-sized chocolate with a mystery filling!" /obj/item/weapon/reagent_containers/food/snacks/truffle/random/Initialize() - . = . = ..() + . = ..() var/reagent_string = pick(list("cream","cherryjelly","mint","frostoil","capsaicin","cream","coffee","milkshake")) reagents.add_reagent(reagent_string, 4) @@ -4842,7 +4842,7 @@ nutriment_amt = 5 /obj/item/weapon/reagent_containers/food/snacks/bacon_flatbread/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 5) /obj/item/weapon/reagent_containers/food/snacks/meat_pocket @@ -4854,7 +4854,7 @@ nutriment_amt = 3 /obj/item/weapon/reagent_containers/food/snacks/meat_pocket/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 3) /obj/item/weapon/reagent_containers/food/snacks/fish_taco @@ -4866,7 +4866,7 @@ nutriment_amt = 3 /obj/item/weapon/reagent_containers/food/snacks/fish_taco/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("seafood",3) /obj/item/weapon/reagent_containers/food/snacks/nt_muffin @@ -4878,7 +4878,7 @@ nutriment_amt = 3 /obj/item/weapon/reagent_containers/food/snacks/nt_muffin/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein",5) /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring @@ -4890,7 +4890,7 @@ nutriment_amt = 2 /obj/item/weapon/reagent_containers/food/snacks/pineapple_ring/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("pineapplejuice",3) /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple @@ -4906,7 +4906,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/pineapple/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 4) reagents.add_reagent("cheese", 5) reagents.add_reagent("tomatojuice", 6) @@ -4936,7 +4936,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/burger/bacon/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 4) /obj/item/weapon/reagent_containers/food/snacks/blt @@ -4951,7 +4951,7 @@ bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/blt/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 4) /obj/item/weapon/reagent_containers/food/snacks/onionrings @@ -5033,7 +5033,7 @@ bitesize = 1 /obj/item/weapon/reagent_containers/food/snacks/crabmeat/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("seafood", 2) /obj/item/weapon/reagent_containers/food/snacks/crab_legs @@ -5047,7 +5047,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/crab_legs/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("seafood", 6) reagents.add_reagent("sodiumchloride", 1) @@ -5069,7 +5069,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/nugget/Initialize() - . = . = ..() + . = ..() var/shape = pick("lump", "star", "lizard", "corgi") desc = "A chicken nugget vaguely shaped like a [shape]." icon_state = "nugget_[shape]" @@ -5095,7 +5095,7 @@ bitesize = 3 /obj/item/weapon/reagent_containers/food/snacks/honeybun/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("honey", 3) // Moved /bun/attackby() from /code/modules/food/food/snacks.dm @@ -5170,7 +5170,7 @@ /obj/item/weapon/reagent_containers/food/snacks/chip/on_consume(mob/M as mob) if(reagents && reagents.total_volume) icon_state = bitten_state - . = . = ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/chip/salsa name = "salsa chip" @@ -5246,7 +5246,7 @@ user.put_in_active_hand(src) src.pickup(user) return - . = . = ..() + . = ..() /obj/item/weapon/reagent_containers/food/snacks/chipplate/nachos name = "plate of nachos" @@ -5273,7 +5273,7 @@ nutriment_amt = 20 /obj/item/weapon/reagent_containers/food/snacks/dip/attackby(obj/item/weapon/reagent_containers/food/snacks/item as obj, mob/user as mob) - . = . = ..() + . = ..() var/obj/item/weapon/reagent_containers/food/snacks/returningitem if(istype(item,/obj/item/weapon/reagent_containers/food/snacks/chip/nacho) && item.icon_state == "chip_nacho") returningitem = new nachotrans(src) @@ -5285,24 +5285,24 @@ item.reagents.trans_to(returningitem, item.reagents.total_volume) //Old chip to new chip if(item.icon_state == "chip_half") returningitem.icon_state = "[returningitem.icon_state]_half" - returningitem.bitesize = Clamp(returningitem.reagents.total_volume,1,10) + returningitem.bitesize = clamp(returningitem.reagents.total_volume,1,10) else if(prob(1)) memed = 1 - user << "You scoop up some dip with the chip, but mid-scop, the chip breaks off into the dreadful abyss of dip, never to be seen again..." + to_chat(user, "You scoop up some dip with the chip, but mid-scop, the chip breaks off into the dreadful abyss of dip, never to be seen again...") returningitem.icon_state = "[returningitem.icon_state]_half" - returningitem.bitesize = Clamp(returningitem.reagents.total_volume,1,10) + returningitem.bitesize = clamp(returningitem.reagents.total_volume,1,10) else - returningitem.bitesize = Clamp(returningitem.reagents.total_volume*0.5,1,10) + returningitem.bitesize = clamp(returningitem.reagents.total_volume*0.5,1,10) qdel(item) reagents.trans_to(returningitem, bitesize) //Dip to new chip user.put_in_hands(returningitem) if (reagents && reagents.total_volume) if(!memed) - user << "You scoop up some dip with the chip." + to_chat(user, "You scoop up some dip with the chip.") else if(!memed) - user << "You scoop up the remaining dip with the chip." + to_chat(user, "You scoop up the remaining dip with the chip.") var/obj/waste = new trash(loc) if (loc == user) user.put_in_hands(waste) @@ -5338,7 +5338,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 4) @@ -5353,7 +5353,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito_vegan/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("tofu", 6) /obj/item/weapon/reagent_containers/food/snacks/burrito_spicy @@ -5367,7 +5367,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito_spicy/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 6) /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese @@ -5381,7 +5381,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 6) /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy @@ -5394,7 +5394,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito_cheese_spicy/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 6) /obj/item/weapon/reagent_containers/food/snacks/burrito_hell @@ -5418,7 +5418,7 @@ nutriment_amt = 6 /obj/item/weapon/reagent_containers/food/snacks/burrito_hell/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 9) reagents.add_reagent("condensedcapsaicin", 20) //what could possibly go wrong @@ -5440,7 +5440,7 @@ trash = /obj/item/trash/snack_bowl /obj/item/weapon/reagent_containers/food/snacks/hatchling_suprise/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("egg", 2) reagents.add_reagent("protein", 4) @@ -5452,7 +5452,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/red_sun_special/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 2) /obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea @@ -5463,7 +5463,7 @@ trash = /obj/item/trash/snack_bowl /obj/item/weapon/reagent_containers/food/snacks/riztizkzi_sea/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("egg", 4) /obj/item/weapon/reagent_containers/food/snacks/father_breakfast @@ -5474,7 +5474,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/father_breakfast/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("egg", 4) reagents.add_reagent("protein", 6) @@ -5485,7 +5485,7 @@ icon_state = "stuffed_meatball" /obj/item/weapon/reagent_containers/food/snacks/stuffed_meatball/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 4) /obj/item/weapon/reagent_containers/food/snacks/egg_pancake @@ -5496,7 +5496,7 @@ trash = /obj/item/trash/plate /obj/item/weapon/reagent_containers/food/snacks/egg_pancake/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("protein", 6) reagents.add_reagent("egg", 2) @@ -5510,7 +5510,7 @@ trash = /obj/item/trash/snacktray /obj/item/weapon/reagent_containers/food/snacks/sliceable/grilled_carp/Initialize() - . = . = ..() + . = ..() reagents.add_reagent("seafood", 12) /obj/item/weapon/reagent_containers/food/snacks/grilled_carp_slice diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm index 8911477b1f..394a8b9fc6 100644 --- a/code/modules/food/food/snacks/meat.dm +++ b/code/modules/food/food/snacks/meat.dm @@ -54,7 +54,7 @@ cooked_icon = "chickenbreast_cooked" filling_color = "#BBBBAA" -/obj/item/weapon/reagent_containers/food/snacks/meat/chicken/initialize() - ..() +/obj/item/weapon/reagent_containers/food/snacks/meat/chicken/Initialize() + . = ..() reagents.remove_reagent("triglyceride", INFINITY) //Chicken is low fat. Less total calories than other meats \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/_appliance.dm b/code/modules/food/kitchen/cooking_machines/_appliance.dm index fd4f757ce4..08445ec7d1 100644 --- a/code/modules/food/kitchen/cooking_machines/_appliance.dm +++ b/code/modules/food/kitchen/cooking_machines/_appliance.dm @@ -23,7 +23,7 @@ var/max_contents = 1 // Maximum number of things this appliance can simultaneously cook var/on_icon // Icon state used when cooking. var/off_icon // Icon state used when not cooking. - var/cooking // Whether or not the machine is currently operating. + var/cooking = FALSE // Whether or not the machine is currently operating. var/cook_type // A string value used to track what kind of food this machine makes. var/can_cook_mobs // Whether or not this machine accepts grabbed mobs. var/mobdamagetype = BRUTE // Burn damage for cooking appliances, brute for cereal/candy @@ -74,10 +74,9 @@ return ..() /obj/machinery/appliance/examine(var/mob/user) - ..() - if(Adjacent(usr)) - list_contents(user) - return 1 + . = ..() + if(Adjacent(user)) + . += list_contents(user) /obj/machinery/appliance/proc/list_contents(var/mob/user) if (cooking_objs.len) @@ -85,9 +84,9 @@ for (var/a in cooking_objs) var/datum/cooking_item/CI = a string += "-\a [CI.container.label(null, CI.combine_target)], [report_progress(CI)]
" - usr << string + to_chat(user, string) else - usr << span("notice","It is empty.") + to_chat(user, "") /obj/machinery/appliance/proc/report_progress(var/datum/cooking_item/CI) if (!CI || !CI.max_cookwork) @@ -100,17 +99,17 @@ if (progress < 0.25) return "It's barely started cooking." if (progress < 0.75) - return span("notice","It's cooking away nicely.") + return "It's cooking away nicely." if (progress < 1) - return span("notice", "It's almost ready!") + return "It's almost ready!" var/half_overcook = (CI.overcook_mult - 1)*0.5 if (progress < 1+half_overcook) - return span("soghun","It is done !") + return "It is done !" if (progress < CI.overcook_mult) - return span("warning","It looks overcooked, get it out!") + return "It looks overcooked, get it out!" else - return span("danger","It is burning!!") + return "It is burning!" /obj/machinery/appliance/update_icon() if (!stat && cooking_objs.len) @@ -131,14 +130,14 @@ return if (!user.IsAdvancedToolUser()) - user << "You lack the dexterity to do that!" + to_chat(user, "You lack the dexterity to do that!") return if (user.stat || user.restrained() || user.incapacitated()) return if (!Adjacent(user) && !issilicon(user)) - user << "You can't reach [src] from here." + to_chat(user, "You can't reach [src] from here.") return if (stat & POWEROFF)//Its turned off @@ -150,6 +149,7 @@ stat |= POWEROFF use_power = 0 user.visible_message("[user] turns [src] off.", "You turn off [src].") + cooking = FALSE // Stop cooking here, too, just in case. playsound(src, 'sound/machines/click.ogg', 40, 1) update_icon() @@ -166,14 +166,14 @@ return if (!usr.IsAdvancedToolUser()) - usr << "You lack the dexterity to do that!" + to_chat(usr, "You lack the dexterity to do that!") return if (usr.stat || usr.restrained() || usr.incapacitated()) return if (!Adjacent(usr) && !issilicon(usr)) - usr << "You can't adjust the [src] from this distance, get closer!" + to_chat(usr, "You can't adjust the [src] from this distance, get closer!") return if(output_options.len) @@ -182,10 +182,10 @@ return if(choice == "Default") selected_option = null - usr << "You decide not to make anything specific with \the [src]." + to_chat(usr, "You decide not to make anything specific with \the [src].") else selected_option = choice - usr << "You prepare \the [src] to make \a [selected_option] with the next thing you put in. Try putting several ingredients in a container!" + to_chat(usr, "You prepare \the [src] to make \a [selected_option] with the next thing you put in. Try putting several ingredients in a container!") //Handles all validity checking and error messages for inserting things /obj/machinery/appliance/proc/can_insert(var/obj/item/I, var/mob/user) @@ -199,18 +199,18 @@ if(istype(G)) if(!can_cook_mobs) - user << "That's not going to fit." + to_chat(user, "That's not going to fit.") return 0 if(!isliving(G.affecting)) - user << "You can't cook that." + to_chat(user, "You can't cook that.") return 0 return 2 if (!has_space(I)) - user << "There's no room in [src] for that!" + to_chat(user, "There's no room in [src] for that!") return 0 @@ -220,16 +220,18 @@ // We're trying to cook something else. Check if it's valid. var/obj/item/weapon/reagent_containers/food/snacks/check = I if(istype(check) && islist(check.cooked) && (cook_type in check.cooked)) - user << "\The [check] has already been [cook_type]." + to_chat(user, "\The [check] has already been [cook_type].") return 0 else if(istype(check, /obj/item/weapon/reagent_containers/glass)) - user << "That would probably break [src]." + to_chat(user, "That would probably break [src].") return 0 else if(istype(check, /obj/item/weapon/disk/nuclear)) - user << "You can't cook that." + to_chat(user, "You can't cook that.") + return 0 + else if(I.is_crowbar() || I.is_screwdriver()) // You can't cook tools, dummy. return 0 else if(!istype(check) && !istype(check, /obj/item/weapon/holder)) - user << "That's not edible." + to_chat(user, "That's not edible.") return 0 return 1 @@ -238,13 +240,13 @@ //This function is overridden by cookers that do stuff with containers /obj/machinery/appliance/proc/has_space(var/obj/item/I) if (cooking_objs.len >= max_contents) - return 0 + return FALSE - else return 1 + else return TRUE /obj/machinery/appliance/attackby(var/obj/item/I, var/mob/user) if(!cook_type || (stat & (BROKEN))) - user << "\The [src] is not working." + to_chat(user, "\The [src] is not working.") return var/result = can_insert(I, user) @@ -294,7 +296,7 @@ user.visible_message("\The [user] puts \the [I] into \the [src].") get_cooking_work(CI) - cooking = 1 + cooking = TRUE return CI /obj/machinery/appliance/proc/get_cooking_work(var/datum/cooking_item/CI) @@ -354,11 +356,11 @@ //Called every tick while we're cooking something /obj/machinery/appliance/proc/do_cooking_tick(var/datum/cooking_item/CI) if (!istype(CI) || !CI.max_cookwork) - return 0 + return FALSE - var/was_done = 0 + var/was_done = FALSE if (CI.cookwork >= CI.max_cookwork) - was_done = 1 + was_done = TRUE CI.cookwork += cooking_power @@ -375,7 +377,7 @@ if (M) M.apply_damage(rand(1,3), mobdamagetype, "chest") - return 1 + return TRUE /obj/machinery/appliance/process() if (cooking_power > 0 && cooking) @@ -436,7 +438,7 @@ //Final step. Cook function just cooks batter for now. for (var/obj/item/weapon/reagent_containers/food/snacks/S in CI.container) S.cook() - + //Combination cooking involves combining the names and reagents of ingredients into a predefined output object //The ingredients represent flavours or fillings. EG: donut pizza, cheese bread @@ -620,10 +622,10 @@ if(istype(H.species, /datum/species/diona)) src.composition_reagent = "nutriment" - //if the mob is a simple animal with a defined meat quantity - if (istype(src, /mob/living/simple_animal)) - var/mob/living/simple_animal/SA = src - if (SA.meat_amount) + //if the mob is a simple animal - MOB NOT ANIMAL - with a defined meat quantity + if (istype(src, /mob/living/simple_mob)) + var/mob/living/simple_mob/SA = src + if(SA.meat_amount) src.composition_reagent_quantity = SA.meat_amount*2*9 //The quantity of protein is based on the meat_amount, but multiplied by 2 @@ -651,7 +653,7 @@ victim.reagents.trans_to_holder(result.reagents, victim.reagents.total_volume) if (isanimal(victim)) - var/mob/living/simple_animal/SA = victim + var/mob/living/simple_mob/SA = victim result.kitchen_tag = SA.kitchen_tag result.appearance = victim diff --git a/code/modules/food/kitchen/cooking_machines/_cooker.dm b/code/modules/food/kitchen/cooking_machines/_cooker.dm index f18b073ba9..e67d359c7b 100644 --- a/code/modules/food/kitchen/cooking_machines/_cooker.dm +++ b/code/modules/food/kitchen/cooking_machines/_cooker.dm @@ -40,21 +40,23 @@ //RefreshParts() return (cooking_power / optimal_power) * 100 -/obj/machinery/appliance/cooker/New() +/obj/machinery/appliance/cooker/Initialize() . = ..() loss = (active_power_usage / resistance)*0.5 cooking_objs = list() for (var/i = 0, i < max_contents, i++) cooking_objs.Add(new /datum/cooking_item/(new container_type(src))) - cooking = 0 + cooking = FALSE update_icon() // this probably won't cause issues, but Aurora used SSIcons and queue_icon_update() instead /obj/machinery/appliance/cooker/update_icon() cut_overlays() var/image/light - if (use_power == 2 && !stat) - light = image(icon, "light_on") + if(use_power == 1 && !stat) + light = image(icon, "light_idle") + else if(use_power == 2 && !stat) + light = image(icon, "light_preheating") else light = image(icon, "light_off") light.pixel_x = light_x diff --git a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm index 4fc2ab75b2..07f7870bc6 100644 --- a/code/modules/food/kitchen/cooking_machines/_cooker_output.dm +++ b/code/modules/food/kitchen/cooking_machines/_cooker_output.dm @@ -14,7 +14,7 @@ w_class = 2 var/prefix -/obj/item/weapon/reagent_containers/food/snacks/variable/initialize() +/obj/item/weapon/reagent_containers/food/snacks/variable/Initialize() . = ..() if (reagents) reagents.maximum_volume = size*8 + 10 @@ -26,7 +26,7 @@ var/ratio = reagents.total_volume / size scale = ratio**(1/3) //Scaling factor is square root of desired area - scale = Clamp(scale, min_scale, max_scale) + scale = clamp(scale, min_scale, max_scale) else scale = min_scale @@ -149,7 +149,7 @@ size = 30 w_class = 3 -/obj/item/weapon/reagent_containers/food/snacks/variable/cereal/initialize() +/obj/item/weapon/reagent_containers/food/snacks/variable/cereal/Initialize() . =..() name = pick(list("flakes", "krispies", "crunch", "pops", "O's", "crisp", "loops", "jacks", "clusters")) diff --git a/code/modules/food/kitchen/cooking_machines/_mixer.dm b/code/modules/food/kitchen/cooking_machines/_mixer.dm index 8ef0d5a8ec..aee823befd 100644 --- a/code/modules/food/kitchen/cooking_machines/_mixer.dm +++ b/code/modules/food/kitchen/cooking_machines/_mixer.dm @@ -15,13 +15,14 @@ fundamental differences idle_power_usage = 50 /obj/machinery/appliance/mixer/examine(var/mob/user) - ..() - to_chat(user, "It is currently set to make a [selected_option]") + . = ..() + if(Adjacent(user)) + to_chat(user, "It is currently set to make a [selected_option]") -/obj/machinery/appliance/mixer/New() +/obj/machinery/appliance/mixer/Initialize() . = ..() cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src)) - cooking = 0 + cooking = FALSE selected_option = pick(output_options) //Mixers cannot-not do combining mode. So the default option is removed from this. A combine target must be chosen @@ -34,7 +35,7 @@ fundamental differences return if (!usr.IsAdvancedToolUser()) - to_chat(user, "You can't operate [src].") + to_chat(usr, "You can't operate [src].") return if(output_options.len) @@ -43,7 +44,7 @@ fundamental differences return else selected_option = choice - to_chat(user, "You prepare \the [src] to make \a [selected_option].") + to_chat(usr, "You prepare \the [src] to make \a [selected_option].") var/datum/cooking_item/CI = cooking_objs[1] CI.combine_target = selected_option diff --git a/code/modules/food/kitchen/cooking_machines/cereal.dm b/code/modules/food/kitchen/cooking_machines/cereal.dm index 613ae2c9f0..112f988de2 100644 --- a/code/modules/food/kitchen/cooking_machines/cereal.dm +++ b/code/modules/food/kitchen/cooking_machines/cereal.dm @@ -34,7 +34,7 @@ var/list/images = list() var/num = 0 - for (var/obj/item/I in CI.container). + for(var/obj/item/I in CI.container) if (istype(I, /obj/item/weapon/reagent_containers/food/snacks/variable/cereal)) //Images of cereal boxes on cereal boxes is dumb continue diff --git a/code/modules/food/kitchen/cooking_machines/container.dm b/code/modules/food/kitchen/cooking_machines/container.dm index 389c8752c2..9368e1634e 100644 --- a/code/modules/food/kitchen/cooking_machines/container.dm +++ b/code/modules/food/kitchen/cooking_machines/container.dm @@ -3,7 +3,7 @@ //which can be checked against recipe requirements in order to cook recipes that require several things /obj/item/weapon/reagent_containers/cooking_container - icon = 'modular_citadel/icons/obj/cooking_machines.dmi' + icon = 'icons/obj/cooking_machines.dmi' var/shortname var/max_space = 20//Maximum sum of w-classes of foods in this container at once var/max_reagents = 80//Maximum units of reagents @@ -14,21 +14,21 @@ /obj/item/weapon/paper ) -/obj/item/weapon/reagent_containers/cooking_container/initialize() +/obj/item/weapon/reagent_containers/cooking_container/Initialize() . = ..() create_reagents(max_reagents) flags |= OPENCONTAINER | NOREACT /obj/item/weapon/reagent_containers/cooking_container/examine(var/mob/user) - ..() + . = ..() if (contents.len) var/string = "It contains....
" for (var/atom/movable/A in contents) string += "[A.name]
" - user << span("notice", string) + . += "string" if (reagents.total_volume) - user << span("notice", "It contains [reagents.total_volume]u of reagents.") + . += "It contains [reagents.total_volume]u of reagents." /obj/item/weapon/reagent_containers/cooking_container/attackby(var/obj/item/I as obj, var/mob/user as mob) @@ -145,7 +145,7 @@ /obj/item/weapon/reagent_containers/cooking_container/oven name = "oven dish" shortname = "shelf" - desc = "Put ingredients in this; designed for use with an oven. Warranty void if used." + desc = "Put ingredients in this; designed for use with an oven. Warranty void if used incorrectly." icon_state = "ovendish" max_space = 30 max_reagents = 120 @@ -153,5 +153,11 @@ /obj/item/weapon/reagent_containers/cooking_container/fryer name = "fryer basket" shortname = "basket" - desc = "Put ingredients in this; designed for use with a deep fryer. Warranty void if used." - icon_state = "basket" \ No newline at end of file + desc = "Put ingredients in this; designed for use with a deep fryer. Warranty void if used incorrectly." + icon_state = "basket" + +/obj/item/weapon/reagent_containers/cooking_container/grill + name = "grill rack" + shortname = "rack" + desc = "Put ingredients 'in'/on this; designed for use with a grill. Warranty void if used incorrectly." + icon_state = "grillrack" \ No newline at end of file diff --git a/code/modules/food/kitchen/cooking_machines/fryer.dm b/code/modules/food/kitchen/cooking_machines/fryer.dm index 1cdda7f8bc..72e8b600b3 100644 --- a/code/modules/food/kitchen/cooking_machines/fryer.dm +++ b/code/modules/food/kitchen/cooking_machines/fryer.dm @@ -12,6 +12,8 @@ appliancetype = FRYER active_power_usage = 12 KILOWATTS + min_temp = 140 + T0C // Same as above, increasing this to just under 2x to make the % increase on efficiency not quite so painful as it would be at 80. + optimal_temp = 400 + T0C // Increasing this to be 2x Oven to allow for a much higher/realistic frying temperatures. Doesn't really do anything but make heating the fryer take a bit longer. optimal_power = 0.35 idle_power_usage = 3.6 KILOWATTS @@ -43,10 +45,12 @@ /obj/machinery/appliance/cooker/fryer/Destroy() QDEL_NULL(fry_loop) + QDEL_NULL(oil) return ..() /obj/machinery/appliance/cooker/fryer/examine(var/mob/user) - if (..())//no need to duplicate adjacency check + . = ..() + if(Adjacent(user)) to_chat(user, "Oil Level: [oil.total_volume]/[optimal_oil]") /obj/machinery/appliance/cooker/fryer/heat_up() @@ -83,12 +87,20 @@ cooking_power *= oil_efficiency /obj/machinery/appliance/cooker/fryer/update_icon() - if(cooking) - icon_state = on_icon - fry_loop.start() + if(!stat) + ..() + if(cooking == TRUE) + icon_state = on_icon + if(fry_loop) + fry_loop.start(src) + else + icon_state = off_icon + if(fry_loop) + fry_loop.stop(src) else icon_state = off_icon - fry_loop.stop(src) + if(fry_loop) + fry_loop.stop(src) ..() //Fryer gradually infuses any cooked food with oil. Moar calories @@ -155,19 +167,19 @@ //Cooldown ensures it can't be spammed to instakill someone user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN*3) - fry_loop.start() + fry_loop.start(src) if(!do_mob(user, victim, 20)) - cooking = 0 + cooking = FALSE icon_state = off_icon - fry_loop.stop() + fry_loop.stop(src) return if(!victim || !victim.Adjacent(user)) to_chat(user, "Your victim slipped free!") - cooking = 0 + cooking = FALSE icon_state = off_icon - fry_loop.stop() + fry_loop.stop(src) return var/damage = rand(7,13) // Though this damage seems reduced, some hot oil is transferred to the victim and will burn them for a while after @@ -199,10 +211,10 @@ victim.apply_damage(damage, BURN, user.zone_sel.selecting) if(!nopain) - victim << "Agony consumes you as searing hot oil scorches your [E ? E.name : "flesh"] horribly!" + to_chat(victim, "Agony consumes you as searing hot oil scorches your [E ? E.name : "flesh"] horribly!") victim.emote("scream") else - victim << "Searing hot oil scorches your [E ? E.name : "flesh"]!" + to_chat(victim, "Searing hot oil scorches your [E ? E.name : "flesh"]!") user.attack_log += text("\[[time_stamp()]\] Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]") victim.attack_log += text("\[[time_stamp()]\] Has been [cook_type] in \a [src] by [user.name] ([user.ckey])") diff --git a/code/modules/food/kitchen/cooking_machines/grill.dm b/code/modules/food/kitchen/cooking_machines/grill.dm index 484d428bb7..e0ae43f3fe 100644 --- a/code/modules/food/kitchen/cooking_machines/grill.dm +++ b/code/modules/food/kitchen/cooking_machines/grill.dm @@ -8,6 +8,8 @@ off_icon = "grill_off" can_burn_food = 1 stat = POWEROFF + + container_type = /obj/item/weapon/reagent_containers/cooking_container/grill /obj/machinery/appliance/grill/toggle_power() set src in view() @@ -30,10 +32,10 @@ playsound(src, 'sound/machines/click.ogg', 40, 1) update_icon() -/obj/machinery/appliance/grill/initialize() +/obj/machinery/appliance/grill/Initialize() . = ..() - cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src)) - cooking = 0 + // cooking_objs += new /datum/cooking_item(new /obj/item/weapon/reagent_containers/cooking_container(src)) + cooking = FALSE /obj/machinery/appliance/grill/has_space(var/obj/item/I) var/datum/cooking_item/CI = cooking_objs[1] @@ -69,7 +71,7 @@ return 0 /obj/machinery/appliance/grill/update_icon() - if (!stat) + if(!stat) icon_state = on_icon else icon_state = off_icon diff --git a/code/modules/food/kitchen/cooking_machines/oven.dm b/code/modules/food/kitchen/cooking_machines/oven.dm index 7fb5a2af02..bbd86b3c62 100644 --- a/code/modules/food/kitchen/cooking_machines/oven.dm +++ b/code/modules/food/kitchen/cooking_machines/oven.dm @@ -71,10 +71,12 @@ if(open) open = FALSE loss = (active_power_usage / resistance)*0.5 + cooking = TRUE else open = TRUE loss = (active_power_usage / resistance)*4 - //When the oven door is opened, heat is lost MUCH faster + //When the oven door is opened, heat is lost MUCH faster and you stop cooking (because the door is open) + cooking = FALSE playsound(src, 'sound/machines/hatch_open.ogg', 20, 1) update_icon() diff --git a/code/modules/food/kitchen/microwave.dm b/code/modules/food/kitchen/microwave.dm index 828847fca1..7e046f82af 100644 --- a/code/modules/food/kitchen/microwave.dm +++ b/code/modules/food/kitchen/microwave.dm @@ -260,7 +260,7 @@ return start() if(reagents.total_volume==0 && !(locate(/obj) in ((contents - component_parts) - circuit))) //dry run - if(!wzhzhzh(5)) //VOREStation Edit - Quicker Microwaves + if(!wzhzhzh(16)) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was 5) abort() return abort() @@ -271,17 +271,17 @@ if(!recipe) dirty += 1 if(prob(max(10,dirty*5))) - if(!wzhzhzh(2)) //VOREStation Edit - Quicker Microwaves + if(!wzhzhzh(16)) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was 2) abort() return muck_start() - wzhzhzh(2) //VOREStation Edit - Quicker Microwaves + wzhzhzh(2) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was 2) muck_finish() cooked = fail() cooked.forceMove(src.loc) return else if(has_extra_item()) - if(!wzhzhzh(2)) //VOREStation Edit - Quicker Microwaves + if(!wzhzhzh(16)) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was 2) abort() return broke() @@ -289,15 +289,15 @@ cooked.forceMove(src.loc) return else - if(!wzhzhzh(5)) //VOREStation Edit - Quicker Microwaves + if(!wzhzhzh(40)) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was 5) abort() return - abort() + stop() cooked = fail() cooked.forceMove(src.loc) return else - var/halftime = round(recipe.time/20/2) //VOREStation Edit - Quicker Microwaves + var/halftime = round(recipe.time*4/10/2) //VOREStation Edit - Quicker Microwaves (Undone during Auroraport, left note in case of reversion, was round(recipe.time/20/2)) if(!wzhzhzh(halftime)) abort() return @@ -391,6 +391,13 @@ icon_state = "mw" updateUsrDialog() soundloop.stop() + +/obj/machinery/microwave/proc/stop() + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + operating = FALSE // Turn it off again aferwards + icon_state = "mw" + updateUsrDialog() + soundloop.stop() /obj/machinery/microwave/proc/dispose(var/message = 1) for (var/atom/movable/A in ((contents-component_parts)-circuit)) diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm index 77e8d04c77..3e5cc9d699 100644 --- a/code/modules/food/recipe.dm +++ b/code/modules/food/recipe.dm @@ -199,7 +199,7 @@ // to decide what to do. They may be used again to make another recipe or discarded, or merged into the results, // thats no longer the concern of this proc var/obj/temp = new /obj(src) - temp.create_reagents(9999999999) + temp.create_reagents(999999999) // Find items we need if(items && items.len) @@ -244,7 +244,7 @@ the single-result's reagents */ var/obj/tempholder = new(src) - tempholder.create_reagents(9999999999) + tempholder.create_reagents(999999999) var/list/results = list() while (tally < result_quantity) var/obj/result_obj = new result(container) @@ -252,14 +252,14 @@ if(!result_obj.reagents)//This shouldn't happen //If the result somehow has no reagents defined, then create a new holder - world << "[result_obj] had no reagents!" + to_chat(world, "[result_obj] had no reagents!") result_obj.create_reagents(temp.reagents.total_volume*1.5) if(result_quantity == 1) qdel(tempholder.reagents) tempholder.reagents = result_obj.reagents else - world << result_obj + to_chat(world, result_obj) result_obj.reagents.trans_to(tempholder.reagents, result_obj.reagents.total_volume) tally++ diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index ecdd1a1a0e..312691e284 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -898,7 +898,7 @@ I said no! /obj/item/weapon/reagent_containers/food/snacks/cutlet, ) result = /obj/item/weapon/reagent_containers/food/snacks/sausage - resut_quantity = 2 + result_quantity = 2 /datum/recipe/fishfingers reagents = list("flour" = 10, "egg" = 3) diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm index 8a0d93243a..b8dc646517 100644 --- a/code/modules/mob/living/carbon/human/species/station/alraune.dm +++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm @@ -58,6 +58,8 @@ flesh_color = "#9ee02c" blood_color = "#edf4d0" //sap! base_color = "#1a5600" + + reagent_tag = IS_ALRAUNE blurb = "Alraunes are a rare sight in space. Their bodies are reminiscent of that of plants, and yet they share many\ traits with other humanoid beings.\ diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 795929992b..9560c6b528 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -144,7 +144,7 @@ playsound(src, 'sound/voice/bark2.ogg', 50, 1, -1, preference = /datum/client_preference/emote_noises) m_type = 2 else - src << "You're not a dog!" + to_chat(src, "You're not a dog!") //Vorestation addition end diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index ead914c3f0..ea024fd74f 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -71,7 +71,7 @@ //We'll assume that the batter isnt going to be regurgitated and eaten by someone else. Only show this once if (data["cooked"] != 1) if (!messaged) - M << "Ugh, this raw [name] tastes disgusting." + to_chat(M, "Ugh, this raw [name] tastes disgusting.") nutriment_factor *= 0.5 messaged = 1 @@ -677,8 +677,7 @@ return if(alien == IS_ALRAUNE) // VOREStation Edit: It wouldn't affect plants that much. if(prob(5)) - M << "You feel a pleasant sensation in your mouth." - to_chat(M, span("rose","You feel a pleasant sensation in your mouth.")) + to_chat(M, "You feel a pleasant sensation in your mouth.") M.bodytemperature += rand(10, 25) return if(ishuman(M)) diff --git a/icons/obj/cooking_machines.dmi b/icons/obj/cooking_machines.dmi index 119d42de116afa719319ce595312737cb9c3b2cd..6ba9b016ee48e6992b980d690e540ddcff162ca4 100644 GIT binary patch literal 12711 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 diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index def42f2def..8c75ee31ed 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -4716,7 +4716,7 @@ "bMJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMK" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bML" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bMM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/candy,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bMM" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/mixer/candy,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bMN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bMO" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) "bMP" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) @@ -4817,7 +4817,7 @@ "bOG" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOH" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOI" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/material/knife/butch,/obj/item/weapon/material/kitchen/rollingpin,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bOJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bOJ" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/mixer/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bOK" = (/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/item/stack/material/phoron,/obj/structure/table/reinforced,/obj/machinery/button/remote/blast_door{id = "chemcounter"; name = "Pharmacy Counter Lockdown Control"; pixel_y = 14},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/beige{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bOL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/chemistry) "bOM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/chemistry) diff --git a/maps/southern_cross/southern_cross-1.dmm b/maps/southern_cross/southern_cross-1.dmm index f0895b3e56..b4434c8969 100644 --- a/maps/southern_cross/southern_cross-1.dmm +++ b/maps/southern_cross/southern_cross-1.dmm @@ -8130,7 +8130,7 @@ "dar" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = null; req_one_access = list(5,12,25,27,28,35)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/locker) "das" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/locker) "dat" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/locker) -"dau" = (/obj/machinery/appliance/cooker/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dau" = (/obj/machinery/appliance/mixer/candy,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dav" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "daw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance/clean,/obj/random/maintenance/clean,/turf/simulated/floor/plating,/area/maintenance/bar) "dax" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/crew_quarters/kitchen) @@ -8186,7 +8186,7 @@ "dbv" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/green/bordercorner2{dir = 9},/turf/simulated/floor/tiled,/area/crew_quarters/locker) "dbw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/bar) "dbx" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/bar) -"dby" = (/obj/machinery/appliance/cooker/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"dby" = (/obj/machinery/appliance/mixer/cereal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dbz" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 10; icon_state = "intact"},/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/bar) "dbA" = (/obj/item/weapon/stool/padded,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/landmark/start{name = "Chef"},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "dbB" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) diff --git a/maps/southern_cross/southern_cross-6.dmm b/maps/southern_cross/southern_cross-6.dmm index 205bef24b5..7ace6bbf06 100644 --- a/maps/southern_cross/southern_cross-6.dmm +++ b/maps/southern_cross/southern_cross-6.dmm @@ -704,7 +704,7 @@ "nB" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "nC" = (/obj/machinery/seed_extractor,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nD" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"nE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/candy,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"nE" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/mixer/candy,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "nF" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "nG" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall) "nH" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/command) @@ -730,7 +730,7 @@ "ob" = (/obj/structure/table/marble,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/material/kitchen/rollingpin,/obj/effect/floor_decal/corner/white/diagonal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "oc" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "od" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) -"oe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/cooker/cereal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) +"oe" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/machinery/appliance/mixer/cereal,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar) "of" = (/obj/structure/table/reinforced,/obj/item/weapon/card/id/gold/captain/spare,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "og" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/command) "oh" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/centcom/command) diff --git a/maps/submaps/surface_submaps/plains/Diner.dmm b/maps/submaps/surface_submaps/plains/Diner.dmm index 6fec261e57..69f2b63996 100644 --- a/maps/submaps/surface_submaps/plains/Diner.dmm +++ b/maps/submaps/surface_submaps/plains/Diner.dmm @@ -111,7 +111,7 @@ /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /obj/machinery/light{ icon_state = "tube1"; dir = 4 diff --git a/maps/submaps/surface_submaps/plains/Diner_vr.dmm b/maps/submaps/surface_submaps/plains/Diner_vr.dmm index 3f0d6b0314..7264e054dd 100644 --- a/maps/submaps/surface_submaps/plains/Diner_vr.dmm +++ b/maps/submaps/surface_submaps/plains/Diner_vr.dmm @@ -109,7 +109,7 @@ /turf/simulated/floor/tiled/white, /area/submap/Diner) "aw" = ( -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /obj/machinery/light{ icon_state = "tube1"; dir = 4 diff --git a/maps/tether/submaps/admin_use/dhael_centcom.dmm b/maps/tether/submaps/admin_use/dhael_centcom.dmm index 23c2c03e81..44cfa83aa7 100644 --- a/maps/tether/submaps/admin_use/dhael_centcom.dmm +++ b/maps/tether/submaps/admin_use/dhael_centcom.dmm @@ -3607,7 +3607,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /turf/unsimulated/floor/steel{ icon_state = "white" }, @@ -14562,7 +14562,7 @@ /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /turf/unsimulated/floor/steel{ icon_state = "white" }, diff --git a/maps/tether/submaps/om_ships/cruiser.dmm b/maps/tether/submaps/om_ships/cruiser.dmm index 443a78927f..842da3a6d3 100644 --- a/maps/tether/submaps/om_ships/cruiser.dmm +++ b/maps/tether/submaps/om_ships/cruiser.dmm @@ -1017,7 +1017,7 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cl" = ( -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /obj/effect/floor_decal/industrial/warning/dust{ dir = 9 }, @@ -1049,7 +1049,7 @@ /turf/simulated/floor/tiled/white, /area/mothership/kitchen) "cp" = ( -/obj/machinery/appliance/cooker/candy, +/obj/machinery/appliance/mixer/candy, /obj/effect/floor_decal/industrial/warning/dust{ dir = 1 }, diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index 8cb61dad37..b49d783718 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -10236,7 +10236,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "atc" = ( -/obj/machinery/appliance/cooker/candy, +/obj/machinery/appliance/mixer/candy, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, @@ -10328,7 +10328,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/kitchen) "ato" = ( -/obj/machinery/appliance/cooker/cereal, +/obj/machinery/appliance/mixer/cereal, /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 }, diff --git a/maps/virgo/virgo-1.dmm b/maps/virgo/virgo-1.dmm index 0d43dd2549..070412998b 100644 --- a/maps/virgo/virgo-1.dmm +++ b/maps/virgo/virgo-1.dmm @@ -4886,9 +4886,9 @@ "bPX" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bPY" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bPZ" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bQa" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/appliance/cooker/candy,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bQa" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/appliance/mixer/candy,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bQb" = (/obj/structure/table/marble,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) -"bQc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/cooker/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) +"bQc" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/appliance/mixer/cereal,/obj/machinery/camera/network/civilian{c_tag = "CIV - Kitchen Starboard"; dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen) "bQd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) "bQe" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/crew_quarters/kitchen) "bQf" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two) diff --git a/nano/README.md b/nano/README.md index 9858dcdff7..5a3f55425b 100644 --- a/nano/README.md +++ b/nano/README.md @@ -137,17 +137,17 @@ stringbuilder-based UIs, and this needs little explanation. if(location.internal == src) location.internal = null location.internals.icon_state = "internal0" - usr << "You close the tank release valve." + to_chat(usr, "You close the tank release valve.") if(location.internals) location.internals.icon_state = "internal0" else if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS)) location.internal = src - usr << "You open \the [src] valve." + to_chat(usr, "You open \the [src] valve.") if(location.internals) location.internals.icon_state = "internal1" else - usr << "You need something to connect to \the [src]!" + to_chat(usr, "You need something to connect to \the [src]!") ``` ### Template (doT) diff --git a/vorestation.dme b/vorestation.dme index 3cfe5edcdc..39f4f76f42 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2103,8 +2103,10 @@ #include "code\modules\food\kitchen\cooking_machines\_appliance.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker.dm" #include "code\modules\food\kitchen\cooking_machines\_cooker_output.dm" +#include "code\modules\food\kitchen\cooking_machines\_mixer.dm" #include "code\modules\food\kitchen\cooking_machines\candy.dm" #include "code\modules\food\kitchen\cooking_machines\cereal.dm" +#include "code\modules\food\kitchen\cooking_machines\container.dm" #include "code\modules\food\kitchen\cooking_machines\fryer.dm" #include "code\modules\food\kitchen\cooking_machines\grill.dm" #include "code\modules\food\kitchen\cooking_machines\oven.dm"