diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm
index cf993f01441..4b913507c92 100644
--- a/code/__DEFINES/food.dm
+++ b/code/__DEFINES/food.dm
@@ -13,7 +13,6 @@
#define PINEAPPLE (1<<12)
#define BREAKFAST (1<<13)
#define CLOTH (1<<14)
-#define GRILLED (1<<15)
#define DRINK_NICE 1
#define DRINK_GOOD 2
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index b10b4a6b819..8eab148b203 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -233,6 +233,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_NO_STORAGE_INSERT "no_storage_insert" //cannot be inserted in a storage.
#define TRAIT_T_RAY_VISIBLE "t-ray-visible" // Visible on t-ray scanners if the atom/var/level == 1
#define TRAIT_NO_TELEPORT "no-teleport" //you just can't
+#define TRAIT_FOOD_GRILLED "food_grilled"
//quirk traits
#define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance"
diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
index 1b99c4e2045..8dc1678843f 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm
@@ -43,31 +43,30 @@
if(I.resistance_flags & INDESTRUCTIBLE)
to_chat(user, "You don't feel it would be wise to grill [I]...")
return ..()
- if(istype(I, /obj/item/reagent_containers))
- if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks))
- var/obj/item/reagent_containers/food/food_item = I
- if(HAS_TRAIT(food_item, TRAIT_NODROP) || (food_item.item_flags & (ABSTRACT | DROPDEL)))
- return ..()
- else if(food_item.foodtype & GRILLED)
- to_chat(user, "[food_item] has already been grilled!")
- return
- else if(grill_fuel <= 0)
- to_chat(user, "There is not enough fuel!")
- return
- else if(!grilled_item && user.transferItemToLoc(food_item, src))
- grilled_item = food_item
- grilled_item.foodtype |= GRILLED
- to_chat(user, "You put the [grilled_item] on [src].")
- update_icon()
- grill_loop.start()
- return
- else
- if(I.reagents.has_reagent(/datum/reagent/consumable/monkey_energy))
- grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy)))
- to_chat(user, "You pour the Monkey Energy in [src].")
- I.reagents.remove_reagent(/datum/reagent/consumable/monkey_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))
- update_icon()
- return
+ if(istype(I, /obj/item/reagent_containers/food/drinks))
+ if(I.reagents.has_reagent(/datum/reagent/consumable/monkey_energy))
+ grill_fuel += (20 * (I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy)))
+ to_chat(user, "You pour the Monkey Energy in [src].")
+ I.reagents.remove_reagent(/datum/reagent/consumable/monkey_energy, I.reagents.get_reagent_amount(/datum/reagent/consumable/monkey_energy))
+ update_icon()
+ return
+ else if(IS_EDIBLE(I))
+ if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL)))
+ return ..()
+ else if(HAS_TRAIT(I, TRAIT_FOOD_GRILLED))
+ to_chat(user, "[I] has already been grilled!")
+ return
+ else if(grill_fuel <= 0)
+ to_chat(user, "There is not enough fuel!")
+ return
+ else if(!grilled_item && user.transferItemToLoc(I, src))
+ grilled_item = I
+ ADD_TRAIT(grilled_item, TRAIT_FOOD_GRILLED, "boomers")
+ to_chat(user, "You put the [grilled_item] on [src].")
+ update_icon()
+ grill_loop.start()
+ return
+
..()
/obj/machinery/grill/process(delta_time)