diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index b36d0c7a2a..0b376f7159 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -72,7 +72,7 @@ All foods are distributed among various categories. Use common sense.
var/eat_effect
var/rotprocess = FALSE
var/become_rot_type = null
-
+ var/plateable = FALSE //if it can be plated or not
var/mill_result = null
var/fertamount = 50
diff --git a/code/modules/mob/living/simple_animal/hostile/roguetown/smallrat.dm b/code/modules/mob/living/simple_animal/hostile/roguetown/smallrat.dm
index ae947bebab..b26ea9bb30 100644
--- a/code/modules/mob/living/simple_animal/hostile/roguetown/smallrat.dm
+++ b/code/modules/mob/living/simple_animal/hostile/roguetown/smallrat.dm
@@ -48,6 +48,7 @@
tastes = list("burnt flesh" = 1)
eat_effect = null
rotprocess = SHELFLIFE_SHORT
+ plateable = TRUE
sellprice = 0
/obj/item/reagent_containers/food/snacks/smallrat/burning(input as num)
diff --git a/code/modules/roguetown/roguejobs/fisher/fish.dm b/code/modules/roguetown/roguejobs/fisher/fish.dm
index ea83c92b2b..d25e8d01c0 100644
--- a/code/modules/roguetown/roguejobs/fisher/fish.dm
+++ b/code/modules/roguetown/roguejobs/fisher/fish.dm
@@ -121,12 +121,20 @@
/obj/item/reagent_containers/food/snacks/rogue/fryfish/carp
icon_state = "carpcooked"
+// faretype = FARE_IMPOVERISHED
+ plateable = TRUE
/obj/item/reagent_containers/food/snacks/rogue/fryfish/clownfish
icon_state = "clownfishcooked"
+// faretype = FARE_POOR
+ plateable = TRUE
/obj/item/reagent_containers/food/snacks/rogue/fryfish/angler
icon_state = "anglercooked"
+// faretype = FARE_NEUTRAL
+ plateable = TRUE
/obj/item/reagent_containers/food/snacks/rogue/fryfish/eel
icon_state = "eelcooked"
+// faretype = FARE_NEUTRAL
+ plateable = TRUE
diff --git a/modular/Neu_Food/code/NeuFood.dm b/modular/Neu_Food/code/NeuFood.dm
index 36b070ddda..0a25d137da 100644
--- a/modular/Neu_Food/code/NeuFood.dm
+++ b/modular/Neu_Food/code/NeuFood.dm
@@ -505,189 +505,26 @@
| Meals on platters |
\------------------*/
+/* .................. Food platter ................... */
/obj/item/cooking/platter/attackby(obj/item/I, mob/user, params)
var/found_table = locate(/obj/structure/table) in (loc)
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/meat/poultry/baked))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/meat/poultry/baked/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/meat/poultry/baked/spiced))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/meat/poultry/baked/plated/spiced(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/peppersteak))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/peppersteak/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/onionsteak))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/onionsteak/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/friedegg/tiberian))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/friedegg/tiberian/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/friedrat))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/friedrat/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/hcakeslice))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/hcakeslice/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/ccakeslice))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/ccakeslice/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/bun_grenz))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/bun_grenz/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/fryfish/carp))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/fryfish/carp/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/fryfish/clownfish))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/fryfish/clownfish/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/fryfish/angler))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/fryfish/angler/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/fryfish/eel))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/fryfish/eel/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/wienercabbage))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/wienercabbage/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/wienerpotato))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/wienerpotato/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/wieneronions))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/wieneronions/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/wienerpotatonions))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/wienerpotatonions/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/frybirdtato))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/frybirdtato/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/royaltruffles))
- if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/royaltruffles/plated(loc)
- qdel(I)
- qdel(src)
- else
- to_chat(user, "You need to put [src] on a table to work on it.")
- if(istype(I, /obj/item/reagent_containers/food/snacks/rogue/royaltruffles_poisoned))
+ if(findtext("[I.type]", "/plated")) //All plated food items have /plated at end of path
+ to_chat(user, span_warning("[I] in your hand appears to already be plated."))
+ return
+ if(istype(I, /obj/item/reagent_containers/food/snacks))
+ var/obj/item/reagent_containers/food/snacks/S = I
if(isturf(loc)&& (found_table))
- playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
- if(do_after(user,2 SECONDS, target = src))
- new /obj/item/reagent_containers/food/snacks/rogue/royaltruffles_poisoned/plated(loc)
- qdel(I)
- qdel(src)
+ if (S.plateable == TRUE)
+ playsound(get_turf(user), 'sound/foley/dropsound/food_drop.ogg', 40, TRUE, -1)
+ if(do_after(user,2 SECONDS, target = src))
+ var/path = text2path("[S.type]/plated")
+ new path(loc)
+ qdel(I)
+ qdel(src)
+ else
+ to_chat(user, span_warning("[S] cannot be plated."))
else
- to_chat(user, "You need to put [src] on a table to work on it.")
-
+ to_chat(user, span_warning("You need to put [src] on a table to work on it."))
else
return ..()
diff --git a/modular/Neu_Food/code/cooked/NeuFood_meals.dm b/modular/Neu_Food/code/cooked/NeuFood_meals.dm
index e84843dbd2..2f672d2db9 100644
--- a/modular/Neu_Food/code/cooked/NeuFood_meals.dm
+++ b/modular/Neu_Food/code/cooked/NeuFood_meals.dm
@@ -18,6 +18,7 @@
warming = 5 MINUTES
rotprocess = SHELFLIFE_DECENT
eat_effect = /datum/status_effect/buff/foodbuff
+ plateable = TRUE
drop_sound = 'sound/foley/dropsound/gen_drop.ogg'
/obj/item/reagent_containers/food/snacks/rogue/peppersteak/plated
icon_state = "peppersteak_plated"
@@ -42,6 +43,7 @@
warming = 5 MINUTES
rotprocess = SHELFLIFE_DECENT
eat_effect = /datum/status_effect/buff/foodbuff
+ plateable = TRUE
drop_sound = 'sound/foley/dropsound/gen_drop.ogg'
/obj/item/reagent_containers/food/snacks/rogue/onionsteak/plated
icon_state = "onionsteak_plated"
@@ -70,6 +72,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_LONG
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/wienercabbage/plated
icon_state = "wienercabbage_plated"
@@ -93,6 +96,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_LONG
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/wienerpotato/attackby(obj/item/I, mob/user, params)
var/found_table = locate(/obj/structure/table) in (loc)
@@ -143,6 +147,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_LONG
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/wieneronions/attackby(obj/item/I, mob/user, params)
var/found_table = locate(/obj/structure/table) in (loc)
@@ -192,6 +197,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_DECENT
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/wienerpotatonions/plated
icon_state = "wpotonion_plated"
@@ -218,6 +224,7 @@
desc = "Fried cackleberries on a bed of half-melted cheese, a dish from distant lands."
icon_state = "omelette"
eat_effect = /datum/status_effect/buff/foodbuff
+ plateable = TRUE
rotprocess = SHELFLIFE_DECENT
/obj/item/reagent_containers/food/snacks/rogue/friedegg/tiberian/plated
icon_state = "omelette_plated"
@@ -295,6 +302,7 @@
tastes = list("tasty birdmeat" = 1)
cooked_type = null
bonus_reagents = list(/datum/reagent/consumable/nutriment = MEAL_MEAGRE)
+ plateable = TRUE
rotprocess = SHELFLIFE_DECENT
/obj/item/reagent_containers/food/snacks/rogue/meat/poultry/baked/attackby(obj/item/I, mob/user, params)
var/obj/item/reagent_containers/peppermill/mill = I
@@ -351,6 +359,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_DECENT
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/frybirdtato/plated
icon_state = "frybirdtato_plated"
@@ -379,6 +388,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_LONG
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/royaltruffles/plated
icon_state = "royaltruffles_plated"
@@ -401,6 +411,7 @@
foodtype = VEGETABLES | MEAT
warming = 3 MINUTES
rotprocess = SHELFLIFE_LONG
+ plateable = TRUE
eat_effect = /datum/status_effect/buff/foodbuff
/obj/item/reagent_containers/food/snacks/rogue/royaltruffles_poisoned/plated
icon_state = "royaltruffles_plated"
diff --git a/modular/Neu_Food/code/raw/NeuFood_dough.dm b/modular/Neu_Food/code/raw/NeuFood_dough.dm
index 0eb4dce36b..a897c60422 100644
--- a/modular/Neu_Food/code/raw/NeuFood_dough.dm
+++ b/modular/Neu_Food/code/raw/NeuFood_dough.dm
@@ -879,7 +879,7 @@
icon_state = "honeycakeuncook"
slices_num = 0
cooked_type = /obj/item/reagent_containers/food/snacks/rogue/hcake
- cooked_smell = /datum/pollutant/food/cheese_cake
+ cooked_smell = /datum/pollutant/food/honey_cake
list_reagents = list(/datum/reagent/consumable/nutriment = 1)
w_class = WEIGHT_CLASS_NORMAL
foodtype = GRAIN | DAIRY | SUGAR
@@ -936,6 +936,7 @@
icon_state = "cheesecake"
slices_num = 8
slice_path = /obj/item/reagent_containers/food/snacks/rogue/ccakeslice
+ cooked_smell = /datum/pollutant/food/cheese_cake
list_reagents = list(/datum/reagent/consumable/nutriment = 48)
w_class = WEIGHT_CLASS_NORMAL
tastes = list("cake"=1, "creamy cheese"=1)
diff --git a/modular/Neu_Food/icons/food.dmi b/modular/Neu_Food/icons/food.dmi
index fd5b02f1b3..97d2c47a12 100644
Binary files a/modular/Neu_Food/icons/food.dmi and b/modular/Neu_Food/icons/food.dmi differ