From bda68348a87b06348b047c111d91380f93b95fac Mon Sep 17 00:00:00 2001 From: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com> Date: Sun, 24 Aug 2025 14:59:10 -0400 Subject: [PATCH] lets you put pills in slices of cheese and meats (#92630) ## About The Pull Request Adds the food storage component to cutlets, cooked and raw, as well as slices of cheese. This means you can put pills in them. Also changes pills on accidental consumption, if you like the food they are stuck into, then you don't even notice that you just ate a pill. Mmm cheese... ## Why It's Good For The Game Food storage is a really funny component but only works on very few foods, like whole wheels of cheese or loaves of bread. Everyone knows the best way to sneak a pill is to put it in a slice of cheese. ## Changelog :cl: add: Lets small items be stuck into slices of cheese or lunch meat balance: Pills in food no longer alert you that you've just swallowed one if you like the food they were stuck in (yum... cheese...) /:cl: --------- Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> --- code/game/objects/items/food/cheese.dm | 8 ++++++++ code/game/objects/items/food/meatslab.dm | 8 ++++++++ code/modules/reagents/reagent_containers/pill.dm | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/food/cheese.dm b/code/game/objects/items/food/cheese.dm index 07443fff98b..6604040af22 100644 --- a/code/game/objects/items/food/cheese.dm +++ b/code/game/objects/items/food/cheese.dm @@ -36,6 +36,10 @@ rat_heal = 10 crafting_complexity = FOOD_COMPLEXITY_1 +/obj/item/food/cheese/wedge/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + /obj/item/food/cheese/wheel name = "cheese wheel" desc = "A big wheel of delicious Cheddar." @@ -137,6 +141,10 @@ rat_heal = 10 crafting_complexity = FOOD_COMPLEXITY_3 +/obj/item/food/cheese/firm_cheese_slice/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + /obj/item/food/cheese/firm_cheese_slice/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/grilled_cheese, rand(25 SECONDS, 35 SECONDS), TRUE, TRUE) diff --git a/code/game/objects/items/food/meatslab.dm b/code/game/objects/items/food/meatslab.dm index 49637d98984..e178ee46779 100644 --- a/code/game/objects/items/food/meatslab.dm +++ b/code/game/objects/items/food/meatslab.dm @@ -615,6 +615,10 @@ foodtypes = MEAT | RAW var/meat_type = "meat" +/obj/item/food/meat/rawcutlet/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + /obj/item/food/meat/rawcutlet/make_grillable() AddComponent(/datum/component/grillable, /obj/item/food/meat/cutlet/plain, rand(35 SECONDS, 50 SECONDS), TRUE, TRUE) @@ -731,6 +735,10 @@ . = ..() RegisterSignal(src, COMSIG_ITEM_MICROWAVE_COOKED, PROC_REF(on_microwave_cooked)) +/obj/item/food/meat/cutlet/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + ///This proc handles setting up the correct meat name for the cutlet, this should definitely be changed with the food rework. /obj/item/food/meat/cutlet/proc/on_microwave_cooked(datum/source, atom/source_item, cooking_efficiency) SIGNAL_HANDLER diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 63c0314560a..85a390bacca 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -153,7 +153,8 @@ * On accidental consumption, consume the pill */ /obj/item/reagent_containers/applicator/pill/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = FALSE) - to_chat(victim, span_warning("You swallow something small. [source_item ? "Was that in [source_item]?" : ""]")) + if(victim.get_food_taste_reaction(source_item) != FOOD_LIKED) // If you don't like the food then you notice the pill you just swallowed + to_chat(victim, span_warning("You swallow something small. [source_item ? "Was that in [source_item]?" : ""]")) on_consumption(victim, user) return FALSE