[NO GBP] Fix to burned mess (#92684)

## About The Pull Request
#92394 did more harm than good.

First, only the microwavable element transferred reagents even if the
result was a burned mess (in general, a non-positive one), while
grillable and bakeable comps didn't... but that's because I've
overlooked a few checks that skipped the "transfer reagents to the
result" step, which the microwavable element also has, though it stopped
working as intended after I messed with it.
However, I think it's stupid for bad recipes to have a static amount of
"bad food" reagent in them, and overcooking a whole cake shouldn't yield
the same reagents as a bag of chips burned to a crisp, so I scrapped
those damn bad_result checks, and finally let the burned mess item
itself handle converting the consumable reagents into "bad food".

Second, examining most food items no longer tells you that you can make
a burned mess if you microwave it.

## Why It's Good For The Game
This fixes the above issues.

## Changelog

🆑
fix: Examining most food items no longer tells you that you can make
burned mess by microwaving them.
fix: Burned mess now has "bad food" in it more or less proportional to
the nutrients of the item you just overcooked. This also applies to
decomposition now.
/🆑
This commit is contained in:
Ghom
2025-09-03 04:39:43 -07:00
committed by GitHub
parent 50d609242d
commit 3ea1eb101e
8 changed files with 38 additions and 24 deletions
+1 -1
View File
@@ -152,7 +152,7 @@
/// This proc handles the microwave component. Overwrite if you want special microwave results.
/// By default, all food is microwavable. However, they will be microwaved into a bad recipe (burnt mess).
/obj/item/food/proc/make_microwaveable()
AddElement(/datum/element/microwavable, /obj/item/food/badrecipe, skip_matcheck = TRUE)
AddElement(/datum/element/microwavable, /obj/item/food/badrecipe, bad_recipe = TRUE)
///This proc handles trash components, overwrite this if you want the object to spawn trash
/obj/item/food/proc/make_leave_trash()
+1 -1
View File
@@ -29,7 +29,7 @@
AddComponent(/datum/component/bakeable, warm_type, rand(baking_time_short, baking_time_long), positive_result, TRUE, list(/datum/reagent/medicine/omnizine = omnizine_to_add))
/obj/item/food/donkpocket/make_microwaveable()
AddElement(/datum/element/microwavable, warm_type, string_assoc_list(list(/datum/reagent/medicine/omnizine = omnizine_to_add)), !positive_result)
AddElement(/datum/element/microwavable, warm_type, string_assoc_list(list(/datum/reagent/medicine/omnizine = omnizine_to_add)), bad_recipe = !positive_result)
/obj/item/food/donkpocket/warm
name = "warm Donk-pocket"
+1 -1
View File
@@ -194,7 +194,7 @@
/obj/item/food/badrecipe/Initialize(mapload)
. = ..()
RegisterSignal(src, COMSIG_ITEM_GRILL_PROCESS, PROC_REF(OnGrill))
RegisterSignals(src, list(COMSIG_ITEM_GRILLED_RESULT, COMSIG_ITEM_BAKED_RESULT, COMSIG_ITEM_MICROWAVE_COOKED_FROM), PROC_REF(convert_to_bad_food))
RegisterSignals(src, list(COMSIG_ITEM_GRILLED_RESULT, COMSIG_ITEM_BAKED_RESULT, COMSIG_ITEM_MICROWAVE_COOKED, COMSIG_OBJ_DECOMPOSITION_RESULT), PROC_REF(convert_to_bad_food))
if(stink_particles)
add_shared_particles(stink_particles)