diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index aef436e1e9b..ff55a183a4a 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -2,6 +2,14 @@
#define DEEPFRYER_COOKTIME 60
#define DEEPFRYER_BURNTIME 120
+GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list(
+ /obj/item/reagent_containers/glass,
+ /obj/item/reagent_containers/syringe,
+ /obj/item/reagent_containers/food/condiment,
+ /obj/item/storage,
+ /obj/item/small_delivery,
+ /obj/item/his_grace)))
+
/obj/machinery/deepfryer
name = "deep fryer"
desc = "Deep fried everything."
@@ -18,20 +26,14 @@
var/fry_speed = 1 //How quickly we fry food
var/frying_fried //If the object has been fried; used for messages
var/frying_burnt //If the object has been burnt
- var/static/list/deepfry_blacklisted_items = typecacheof(list(
- /obj/item/screwdriver,
- /obj/item/crowbar,
- /obj/item/wrench,
- /obj/item/wirecutters,
- /obj/item/multitool,
- /obj/item/weldingtool,
- /obj/item/reagent_containers/glass,
- /obj/item/reagent_containers/syringe,
- /obj/item/reagent_containers/food/condiment,
- /obj/item/storage,
- /obj/item/small_delivery,
- /obj/item/his_grace))
var/datum/looping_sound/deep_fryer/fry_loop
+ var/static/list/deepfry_blacklisted_items = typecacheof(list(
+ /obj/item/screwdriver,
+ /obj/item/crowbar,
+ /obj/item/wrench,
+ /obj/item/wirecutters,
+ /obj/item/multitool,
+ /obj/item/weldingtool))
/obj/machinery/deepfryer/Initialize()
. = ..()
@@ -76,7 +78,7 @@
else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?!
return
else
- if(is_type_in_typecache(I, deepfry_blacklisted_items) || HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
+ if(is_type_in_typecache(I, deepfry_blacklisted_items) || is_type_in_typecache(I, GLOB.oilfry_blacklisted_items) || HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
return ..()
else if(!frying && user.transferItemToLoc(I, src))
to_chat(user, "You put [I] into [src].")
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index f3a3a2b82be..737b8a4cd37 100755
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -134,6 +134,9 @@
return
if(!isitem(exposed_obj) || istype(exposed_obj, /obj/item/food/deepfryholder))
return
+ if(is_type_in_typecache(exposed_obj, GLOB.oilfry_blacklisted_items) || (exposed_obj.resistance_flags & INDESTRUCTIBLE))
+ exposed_obj.loc.visible_message("The hot oil has no effect on [exposed_obj]!")
+ return
exposed_obj.loc.visible_message("[exposed_obj] rapidly fries as it's splashed with hot oil! Somehow.")
var/obj/item/food/deepfryholder/fry_target = new(exposed_obj.drop_location(), exposed_obj)
fry_target.fry(volume)