From 6eaec2c8c4d39483266c529915dd0eccd6496744 Mon Sep 17 00:00:00 2001 From: Charlie Nolan Date: Mon, 6 Jan 2025 08:41:19 -0800 Subject: [PATCH] Let chefs dump entire bags into kitchen appliances (#27818) --- .../kitchen_machinery/kitchen_machine.dm | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm index 8ac8d7562f9..eb860683b17 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/kitchen_machine.dm @@ -119,8 +119,30 @@ for(var/datum/reagent/R in O.reagents.reagent_list) if(!(R.id in GLOB.cooking_reagents[recipe_type])) - to_chat(user, "Your [O] contains components unsuitable for cookery.") + to_chat(user, "Your [O.name] contains components unsuitable for cookery.") return TRUE + else if(istype(O, /obj/item/storage)) + var/obj/item/storage/S = O + if(!S.allow_quick_empty) + to_chat(user, "[O] is too awkward a shape to dump into [src].") + return TRUE + if(length(S.contents) + length(contents) >= max_n_of_items) + to_chat(user, "You can't fit everything from [O] into [src].") + return TRUE + if(length(S.contents) == 0) + to_chat(user, "[O] is empty!") + return TRUE + for(var/obj/item/ingredient in O.contents) + if(!is_type_in_list(ingredient, GLOB.cooking_ingredients[recipe_type]) && !istype(ingredient, /obj/item/mixing_bowl)) + to_chat(user, "Your [O.name] contains contents unsuitable for cookery.") + return TRUE + S.hide_from(user) + user.visible_message("[user] dumps [O] into [src].", "You dump [O] into [src].") + for(var/obj/item/ingredient in O.contents) + S.remove_from_storage(ingredient, src) + CHECK_TICK + SStgui.update_uis(src) + else if(istype(O, /obj/item/grab)) var/obj/item/grab/G = O