diff --git a/code/game/objects/items/granters/action_granters/summon_cheese.dm b/code/game/objects/items/granters/action_granters/summon_cheese.dm
index a80e7f0bf14..e79fbb403a1 100644
--- a/code/game/objects/items/granters/action_granters/summon_cheese.dm
+++ b/code/game/objects/items/granters/action_granters/summon_cheese.dm
@@ -22,7 +22,7 @@
/obj/item/book/granter/spell/summon_cheese/recoil(mob/living/user)
to_chat(user, "[src] turns into a wedge of cheese!")
- var/obj/item/food/sliced/cheesewedge/presliced/book_cheese = new
+ var/obj/item/food/sliced/cheesewedge/book_cheese = new
user.drop_item()
user.put_in_hands(book_cheese)
qdel(src)
@@ -35,7 +35,7 @@
overlay = null
action_icon_state = "cheese_wedge"
action_background_icon_state = "bg_spell"
- summon_type = list(/obj/item/food/sliced/cheesewedge/presliced)
+ summon_type = list(/obj/item/food/sliced/cheesewedge)
summon_amt = 9
aoe_range = 1
summon_ignore_prev_spawn_points = TRUE
diff --git a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
index 38e6eeab71e..139bd798c34 100644
--- a/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
+++ b/code/modules/antagonists/traitor/contractor/datums/syndicate_contract.dm
@@ -423,11 +423,10 @@
M.update_icons()
// Supply them with some chow. How generous is the Syndicate?
- var/obj/item/food/sliced/bread/food = new(get_turf(M)) // TODO 545
+ var/obj/item/food/sliced/bread/food = new(get_turf(M))
food.name = "stale bread"
food.desc = "Looks like your captors care for their prisoners as much as their bread."
food.trash = null
- food.reagents.add_reagent("nutriment", 5) // It may be stale, but it still has to be nutritive enough for the whole duration!
if(prob(10))
// Mold adds a bit of spice to it
food.name = "moldy bread"
diff --git a/code/modules/food_and_drinks/food/foods/frozen.dm b/code/modules/food_and_drinks/food/foods/frozen.dm
index 2e546c7aa52..f616b9c3dbc 100644
--- a/code/modules/food_and_drinks/food/foods/frozen.dm
+++ b/code/modules/food_and_drinks/food/foods/frozen.dm
@@ -16,16 +16,17 @@
desc = "A funny cake with a clown face on it."
icon = 'icons/obj/food/frozen_treats.dmi'
icon_state = "clowncake"
- slice_path = /obj/item/food/frozen/clowncakeslice
+ slice_path = /obj/item/food/sliced/clowncake
slices_num = 5
bitesize = 3
list_reagents = list("nutriment" = 20, "sugar" = 5, "vitamin" = 5, "banana" = 15)
tastes = list("cake" = 5, "sweetness" = 2, "banana" = 1, "sad clowns" = 1, "ice-cream" = 1)
goal_difficulty = FOOD_GOAL_EXCESSIVE
-/obj/item/food/frozen/clowncakeslice
+/obj/item/food/sliced/clowncake
name = "clown cake slice"
desc = "A slice of bad jokes, and silly props."
+ icon = 'icons/obj/food/frozen_treats.dmi'
icon_state = "clowncake_slice"
trash = /obj/item/trash/plate
filling_color = "#FFD675"
diff --git a/code/modules/food_and_drinks/food/foods/ingredients.dm b/code/modules/food_and_drinks/food/foods/ingredients.dm
index 3edb1bf9677..43548eacc26 100644
--- a/code/modules/food_and_drinks/food/foods/ingredients.dm
+++ b/code/modules/food_and_drinks/food/foods/ingredients.dm
@@ -126,9 +126,6 @@
return TRUE
return ..()
-/obj/item/food/sliced/cheesewedge/presliced
- list_reagents = list("nutriment" = 3, "vitamin" = 1, "cheese" = 4)
-
/obj/item/food/weirdcheesewedge
name = "weird cheese"
desc = "Some kind of... gooey, messy, gloopy thing. Similar to cheese, but only in the broad sense of the word."
diff --git a/code/modules/food_and_drinks/food/foods/pizza.dm b/code/modules/food_and_drinks/food/foods/pizza.dm
index f742ea21e08..3714831e641 100644
--- a/code/modules/food_and_drinks/food/foods/pizza.dm
+++ b/code/modules/food_and_drinks/food/foods/pizza.dm
@@ -254,12 +254,12 @@
name = "garlic pizza"
desc = "Ahh, garlic. A universally loved ingredient, except possibly by vampires."
icon_state = "garlicpizza"
- slice_path = /obj/item/food/garlic_pizza
+ slice_path = /obj/item/food/sliced/garlic_pizza
list_reagents = list("plantmatter" = 30, "vitamin" = 5, "garlic" = 12)
tastes = list("crust" = 1, "cheese" = 1, "garlic" = 1)
goal_difficulty = FOOD_GOAL_DUPLICATE
-/obj/item/food/garlic_pizza
+/obj/item/food/sliced/garlic_pizza
name = "garlic pizza slice"
desc = "What's not to love?"
icon = 'icons/obj/food/pizza.dmi'
diff --git a/code/modules/food_and_drinks/food/foods/seafood.dm b/code/modules/food_and_drinks/food/foods/seafood.dm
index e5e09a54ef3..ca690222f96 100644
--- a/code/modules/food_and_drinks/food/foods/seafood.dm
+++ b/code/modules/food_and_drinks/food/foods/seafood.dm
@@ -144,14 +144,14 @@
desc = "A large unsliced roll of Ebi Sushi."
icon = 'icons/obj/food/seafood.dmi'
icon_state = "Ebi_maki"
- slice_path = /obj/item/food/sushi_ebi
+ slice_path = /obj/item/food/sliced/sushi_ebi
slices_num = 4
bitesize = 3
list_reagents = list("nutriment" = 8)
tastes = list("shrimp" = 1, "rice" = 1, "seaweed" = 1)
goal_difficulty = FOOD_GOAL_DUPLICATE
-/obj/item/food/sushi_ebi
+/obj/item/food/sliced/sushi_ebi
name = "ebi sushi"
desc = "A simple sushi consisting of cooked shrimp and rice."
icon = 'icons/obj/food/seafood.dmi'
@@ -166,14 +166,14 @@
desc = "A large unsliced roll of Ikura Sushi."
icon = 'icons/obj/food/seafood.dmi'
icon_state = "Ikura_maki"
- slice_path = /obj/item/food/sushi_ikura
+ slice_path = /obj/item/food/sliced/sushi_ikura
slices_num = 4
bitesize = 3
list_reagents = list("nutriment" = 8, "protein" = 4)
tastes = list("salmon roe" = 1, "rice" = 1, "seaweed" = 1)
goal_difficulty = FOOD_GOAL_DUPLICATE
-/obj/item/food/sushi_ikura
+/obj/item/food/sliced/sushi_ikura
name = "ikura sushi"
desc = "A simple sushi consisting of salmon roe."
icon = 'icons/obj/food/seafood.dmi'
diff --git a/code/modules/food_and_drinks/food_base.dm b/code/modules/food_and_drinks/food_base.dm
index 27573226b1b..51c2f3587e2 100644
--- a/code/modules/food_and_drinks/food_base.dm
+++ b/code/modules/food_and_drinks/food_base.dm
@@ -279,11 +279,14 @@
/obj/item/food/sliced/Initialize(mapload, made_by_sliceable = FALSE)
if(made_by_sliceable)
+ // we null reagent from subclass, because it will get reagents from parent sliceable
+ list_reagents = list()
return ..()
if(length(list_reagents))
return ..()
- // We don't have any reagents, let's add someting
+ // We don't have any reagents, let's add something
+ log_debug("[src] was a sliced food, which was neither sliced and has no reagents.")
list_reagents = list("nutriment" = 5)
return ..()
@@ -292,11 +295,6 @@
/obj/item/food/sliceable
slices_num = 2
-/obj/item/food/sliceable/Initialize(mapload)
- if(!ispath(slice_path, /obj/item/food/sliced))
- CRASH("Invalid type assigned to slice_path: [slice_path]")
- return ..()
-
/obj/item/food/sliceable/examine(mob/user)
. = ..()
. += "Alt-click to put something small inside."
diff --git a/code/modules/food_and_drinks/recipes/recipes_grill.dm b/code/modules/food_and_drinks/recipes/recipes_grill.dm
index 2b432889fc7..5f4cf2919fd 100644
--- a/code/modules/food_and_drinks/recipes/recipes_grill.dm
+++ b/code/modules/food_and_drinks/recipes/recipes_grill.dm
@@ -196,7 +196,7 @@
/obj/item/food/boiled_shrimp,
/obj/item/stack/seaweed
)
- result = /obj/item/food/sushi_ebi
+ result = /obj/item/food/sliced/sushi_ebi
/datum/recipe/grill/sushi_ikura
items = list(
@@ -204,7 +204,7 @@
/obj/item/fish_eggs/salmon,
/obj/item/stack/seaweed
)
- result = /obj/item/food/sushi_ikura
+ result = /obj/item/food/sliced/sushi_ikura
/datum/recipe/grill/sushi_inari
items = list(
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
index ef01ec7db2a..2d69c756430 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_table.dm
@@ -76,7 +76,7 @@
/obj/item/food/boiled_shrimp = 1,
/obj/item/stack/seaweed = 1,
)
- result = list(/obj/item/food/sushi_ebi)
+ result = list(/obj/item/food/sliced/sushi_ebi)
category = CAT_FOOD
subcategory = CAT_SUSHI
@@ -99,7 +99,7 @@
/obj/item/fish_eggs/salmon = 1,
/obj/item/stack/seaweed = 1,
)
- result = list(/obj/item/food/sushi_ikura)
+ result = list(/obj/item/food/sliced/sushi_ikura)
category = CAT_FOOD
subcategory = CAT_SUSHI
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 0e3ca91f16e..9e917f8ff71 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -635,7 +635,7 @@
/datum/reagent/consumable/cheese/reaction_turf(turf/T, volume)
if(volume >= 5 && !isspaceturf(T))
- new /obj/item/food/sliced/cheesewedge/presliced(T)
+ new /obj/item/food/sliced/cheesewedge(T)
/datum/reagent/consumable/fake_cheese
name = "Cheese substitute"
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index d290eba573c..f0879389dc8 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -158,7 +158,7 @@
/obj/item/food/sliced/mushroom_pizza,
/obj/item/food/sliced/vegetable_pizza,
/obj/item/food/sliced/cheese_pizza,
- /obj/item/food/garlic_pizza,
+ /obj/item/food/sliced/garlic_pizza,
/obj/item/food/sliced/donk_pocket_pizza,
/obj/item/food/sliced/dank_pizza,
/obj/item/food/sliced/mac_pizza,
diff --git a/tools/UpdatePaths/Scripts/28146_sliced_REPATH.txt b/tools/UpdatePaths/Scripts/28146_sliced_REPATH.txt
new file mode 100644
index 00000000000..9e30de84f49
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/28146_sliced_REPATH.txt
@@ -0,0 +1,4 @@
+/obj/item/food/frozen/clowncakeslice : /obj/item/food/sliced/clowncake{@OLD}
+/obj/item/food/garlic_pizza : /obj/item/food/sliced/garlic_pizza{@OLD}
+/obj/item/food/sushi_ikura : /obj/item/food/sliced/sushi_ikura{@OLD}
+/obj/item/food/sushi_ebi : /obj/item/food/sliced/sushi_ebi{@OLD}