diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
index 49e205fbb14..404814b640a 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
@@ -49,7 +49,7 @@
},
/area/ruin/unpowered)
"j" = (
-/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom,
+/obj/item/food/pizzaslice/mushroom,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating{
initial_gas_mix = "LAVALAND_ATMOS"
@@ -192,7 +192,7 @@
/area/ruin/unpowered)
"D" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/pizzaslice/margherita,
+/obj/item/food/pizzaslice/margherita,
/obj/item/trash/plate,
/turf/open/floor/wood{
initial_gas_mix = "LAVALAND_ATMOS"
@@ -200,7 +200,7 @@
/area/ruin/unpowered)
"E" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/pizzaslice/meat,
+/obj/item/food/pizzaslice/meat,
/turf/open/floor/wood{
initial_gas_mix = "LAVALAND_ATMOS"
},
diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm
index 252a1e41e66..0bda22e5042 100644
--- a/_maps/shuttles/emergency_luxury.dmm
+++ b/_maps/shuttles/emergency_luxury.dmm
@@ -78,8 +78,8 @@
/area/shuttle/escape/luxury)
"ap" = (
/obj/structure/chair/comfy/teal{
- icon_state = "comfychair";
- dir = 4
+ dir = 4;
+ icon_state = "comfychair"
},
/turf/open/floor/mineral/diamond,
/area/shuttle/escape)
@@ -226,8 +226,8 @@
/area/shuttle/escape/luxury)
"aM" = (
/obj/structure/chair/comfy/teal{
- icon_state = "comfychair";
- dir = 4
+ dir = 4;
+ icon_state = "comfychair"
},
/turf/open/floor/mineral/diamond,
/area/shuttle/escape/luxury)
@@ -323,7 +323,7 @@
/turf/open/floor/carpet/red,
/area/shuttle/escape/luxury)
"ba" = (
-/obj/item/reagent_containers/food/snacks/customizable/pizza{
+/obj/item/food/pizza/dank{
pixel_y = 5
},
/obj/structure/table/wood/fancy/black,
@@ -454,8 +454,8 @@
layer = 2.9
},
/turf/open/floor/holofloor/beach/coast_t{
- icon_state = "sandwater_t";
- dir = 8
+ dir = 8;
+ icon_state = "sandwater_t"
},
/area/shuttle/escape/luxury)
"bx" = (
@@ -522,8 +522,8 @@
"bG" = (
/obj/machinery/door/window/eastleft,
/turf/open/floor/holofloor/beach/coast_t{
- icon_state = "sandwater_t";
- dir = 8
+ dir = 8;
+ icon_state = "sandwater_t"
},
/area/shuttle/escape/luxury)
"bH" = (
@@ -562,8 +562,8 @@
/obj/structure/window/reinforced,
/obj/machinery/door/window/eastright,
/turf/open/floor/holofloor/beach/coast_t{
- icon_state = "sandwater_t";
- dir = 8
+ dir = 8;
+ icon_state = "sandwater_t"
},
/area/shuttle/escape/luxury)
"bN" = (
diff --git a/_maps/shuttles/ruin_caravan_victim.dmm b/_maps/shuttles/ruin_caravan_victim.dmm
index 469bb552716..9fd70dfe5ac 100644
--- a/_maps/shuttles/ruin_caravan_victim.dmm
+++ b/_maps/shuttles/ruin_caravan_victim.dmm
@@ -149,11 +149,11 @@
pixel_x = 3;
pixel_y = -3
},
-/obj/item/reagent_containers/food/snacks/pizzaslice/margherita{
+/obj/item/food/pizzaslice/margherita{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/reagent_containers/food/snacks/pizzaslice/margherita,
+/obj/item/food/pizzaslice/margherita,
/obj/item/reagent_containers/food/snacks/chocolatebar,
/obj/effect/turf_decal/tile/yellow{
dir = 1
diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm
index 58c503fc5c5..040d3a4fbbf 100644
--- a/code/__DEFINES/tools.dm
+++ b/code/__DEFINES/tools.dm
@@ -17,6 +17,7 @@
#define TOOL_BONESET "bonesetter"
#define TOOL_KNIFE "knife"
#define TOOL_BLOODFILTER "bloodfilter"
+#define TOOL_ROLLINGPIN "rollingpin"
// If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY,
// tool sound is only played when op is started. If not, it's played twice.
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 8043d058de2..c70a88afdf9 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1387,8 +1387,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/obj/item/reagent_containers/food/snacks/store,
/obj/item/reagent_containers/food/snacks/pie,
/obj/item/food/kebab,
- /obj/item/reagent_containers/food/snacks/pizza,
- /obj/item/reagent_containers/food/snacks/pizzaslice,
+ /obj/item/food/pizza,
+ /obj/item/food/pizzaslice,
/obj/item/food/salad,
/obj/item/food/meat,
/obj/item/food/meat/slab,
diff --git a/code/modules/food_and_drinks/food/snacks_pizza.dm b/code/game/objects/items/food/pizza.dm
similarity index 51%
rename from code/modules/food_and_drinks/food/snacks_pizza.dm
rename to code/game/objects/items/food/pizza.dm
index e59eccb36c2..4557baef8db 100644
--- a/code/modules/food_and_drinks/food/snacks_pizza.dm
+++ b/code/game/objects/items/food/pizza.dm
@@ -1,187 +1,196 @@
/////////////////////////////////////////////////PIZZA////////////////////////////////////////
-/obj/item/reagent_containers/food/snacks/pizza
+/obj/item/food/pizza
icon = 'icons/obj/food/pizzaspaghetti.dmi'
w_class = WEIGHT_CLASS_NORMAL
- slices_num = 6
- volume = 80
- list_reagents = list(/datum/reagent/consumable/nutriment = 28, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
+ max_volume = 80
+ food_reagents = list(/datum/reagent/consumable/nutriment = 28, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1)
- foodtype = GRAIN | DAIRY | VEGETABLES
+ foodtypes = GRAIN | DAIRY | VEGETABLES
-/obj/item/reagent_containers/food/snacks/pizzaslice
+/obj/item/food/pizza/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice, 6, 30)
+
+/obj/item/food/pizzaslice
icon = 'icons/obj/food/pizzaspaghetti.dmi'
- list_reagents = list(/datum/reagent/consumable/nutriment = 5)
- foodtype = GRAIN | DAIRY | VEGETABLES
- value = FOOD_JUNK
+ food_reagents = list(/datum/reagent/consumable/nutriment = 5)
+ foodtypes = GRAIN | DAIRY | VEGETABLES
+ w_class = WEIGHT_CLASS_SMALL
-/obj/item/reagent_containers/food/snacks/pizza/margherita
+/obj/item/food/pizzaslice/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_ROLLINGPIN, /obj/item/stack/sheet/pizza, 1, 10)
+
+/obj/item/food/pizza/margherita
name = "pizza margherita"
desc = "The most cheezy pizza in galaxy."
icon_state = "pizzamargherita"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/margherita
- list_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/nutriment/vitamin = 5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
- value = FOOD_FAST
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/margherita/robo/Initialize()
- bonus_reagents += list(/datum/reagent/nanomachines = 70)
- return ..()
+/obj/item/food/pizza/margherita/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/margherita, 6, 30)
-/obj/item/reagent_containers/food/snacks/pizzaslice/margherita
+/obj/item/food/pizza/margherita/robo
+ food_reagents = list(/datum/reagent/nanomachines = 70, /datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
+
+/obj/item/food/pizzaslice/margherita
name = "margherita slice"
desc = "A slice of the most cheezy pizza in galaxy."
icon_state = "pizzamargheritaslice"
- filling_color = "#FFA500"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/meat
+/obj/item/food/pizza/meat
name = "meatpizza"
desc = "Greasy pizza with delicious meat."
icon_state = "meatpizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/meat
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/protein = 4, /datum/reagent/consumable/nutriment/vitamin = 8)
- list_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 8)
- foodtype = GRAIN | VEGETABLES| DAIRY | MEAT
- value = FOOD_FAST
+ food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 8)
+ foodtypes = GRAIN | VEGETABLES| DAIRY | MEAT
-/obj/item/reagent_containers/food/snacks/pizzaslice/meat
+/obj/item/food/pizza/meat/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/meat, 6, 30)
+
+/obj/item/food/pizzaslice/meat
name = "meatpizza slice"
desc = "A nutritious slice of meatpizza."
icon_state = "meatpizzaslice"
- filling_color = "#A52A2A"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT
-/obj/item/reagent_containers/food/snacks/pizza/mushroom
+/obj/item/food/pizza/mushroom
name = "mushroom pizza"
desc = "Very special pizza."
icon_state = "mushroompizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/mushroom
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5)
- list_reagents = list(/datum/reagent/consumable/nutriment = 28, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/nutriment/vitamin = 5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 28, /datum/reagent/consumable/nutriment/protein = 3, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "mushroom" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
- value = FOOD_FAST
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom
+/obj/item/food/pizza/mushroom/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/mushroom, 6, 30)
+
+/obj/item/food/pizzaslice/mushroom
name = "mushroom pizza slice"
desc = "Maybe it is the last slice of pizza in your life."
icon_state = "mushroompizzaslice"
- filling_color = "#FFE4C4"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "mushroom" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/vegetable
+/obj/item/food/pizza/vegetable
name = "vegetable pizza"
desc = "No one of Tomatos Sapiens were harmed during making this pizza."
icon_state = "vegetablepizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/vegetable
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5)
- list_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/medicine/oculine = 12, /datum/reagent/consumable/nutriment/vitamin = 5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/medicine/oculine = 12, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 2, "cheese" = 1, "carrot" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
- value = FOOD_RARE
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizzaslice/vegetable
+/obj/item/food/pizza/vegetable/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/vegetable, 6, 30)
+
+/obj/item/food/pizzaslice/vegetable
name = "vegetable pizza slice"
desc = "A slice of the most green pizza of all pizzas not containing green ingredients."
icon_state = "vegetablepizzaslice"
- filling_color = "#FFA500"
tastes = list("crust" = 1, "tomato" = 2, "cheese" = 1, "carrot" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/donkpocket
+/obj/item/food/pizza/donkpocket
name = "donkpocket pizza"
desc = "Who thought this would be a good idea?"
icon_state = "donkpocketpizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/donkpocket
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 5)
- list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 15, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/medicine/omnizine = 10, /datum/reagent/consumable/nutriment/vitamin = 5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 15, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/medicine/omnizine = 10, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
- value = FOOD_RARE
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
-/obj/item/reagent_containers/food/snacks/pizzaslice/donkpocket
+/obj/item/food/pizza/donkpocket/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/donkpocket, 6, 30)
+
+/obj/item/food/pizzaslice/donkpocket
name = "donkpocket pizza slice"
desc = "Smells like donkpocket."
icon_state = "donkpocketpizzaslice"
- filling_color = "#FFA500"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | JUNKFOOD
-/obj/item/reagent_containers/food/snacks/pizza/dank
+/obj/item/food/pizza/dank
name = "dank pizza"
desc = "The hippie's pizza of choice."
icon_state = "dankpizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/dank
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 6)
- list_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/doctor_delight = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/doctor_delight = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
- value = FOOD_RARE
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizzaslice/dank
+/obj/item/food/pizza/dank/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/dank, 6, 30)
+
+/obj/item/food/pizzaslice/dank
name = "dank pizza slice"
desc = "So good, man..."
icon_state = "dankpizzaslice"
- filling_color = "#2E8B57"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/sassysage
+/obj/item/food/pizza/sassysage
name = "sassysage pizza"
desc = "You can really smell the sassiness."
icon_state = "sassysagepizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/sassysage
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 4)
- list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 15, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 6)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 15, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 6)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
- value = FOOD_EXOTIC
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizzaslice/sassysage
+/obj/item/food/pizza/sassysage/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/sassysage, 6, 30)
+
+/obj/item/food/pizzaslice/sassysage
name = "sassysage pizza slice"
desc = "Deliciously sassy."
icon_state = "sassysagepizzaslice"
- filling_color = "#FF4500"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY
+ foodtypes = GRAIN | VEGETABLES | DAIRY
-/obj/item/reagent_containers/food/snacks/pizza/pineapple
+/obj/item/food/pizza/pineapple
name = "\improper Hawaiian pizza"
desc = "The pizza equivalent of Einstein's riddle."
icon_state = "pineapplepizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/pineapple
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/protein = 4, /datum/reagent/consumable/nutriment/vitamin = 7)
- list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/consumable/pineapplejuice = 8)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/consumable/pineapplejuice = 8)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pineapple" = 2, "ham" = 2)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT | FRUIT | PINEAPPLE
- value = FOOD_RARE
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | FRUIT | PINEAPPLE
-/obj/item/reagent_containers/food/snacks/pizzaslice/pineapple
+/obj/item/food/pizza/pineapple/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/pineapple, 6, 30)
+
+/obj/item/food/pizzaslice/pineapple
name = "\improper Hawaiian pizza slice"
desc = "A slice of delicious controversy."
icon_state = "pineapplepizzaslice"
- filling_color = "#FF4500"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pineapple" = 2, "ham" = 2)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT | FRUIT | PINEAPPLE
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT | FRUIT | PINEAPPLE
-/obj/item/reagent_containers/food/snacks/pizza/arnold
+/obj/item/food/pizza/arnold
name = "\improper Arnold pizza"
desc = "Hello, you've reached Arnold's pizza shop. I'm not here now, I'm out killing pepperoni."
icon_state = "arnoldpizza"
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/arnold
- bonus_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 9, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/iron = 10, /datum/reagent/medicine/omnizine = 30)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 9, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/iron = 10, /datum/reagent/medicine/omnizine = 30)
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pepperoni" = 2, "9 millimeter bullets" = 2)
- value = FOOD_ILLEGAL
-/obj/item/reagent_containers/food/snacks/proc/try_break_off(mob/living/M, mob/living/user) //maybe i give you a pizza maybe i break off your arm
+/obj/item/food/pizza/arnold/Initialize()
+ . = ..()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pizzaslice/arnold, 6, 30)
+
+//fuck it, i will leave this at the food level for now.
+/obj/item/food/proc/try_break_off(mob/living/M, mob/living/user) //maybe i give you a pizza maybe i break off your arm
if(prob(50) || (M != user) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_NODISMEMBER))
return
var/obj/item/bodypart/l_arm = user.get_bodypart(BODY_ZONE_L_ARM)
@@ -193,7 +202,7 @@
user.visible_message("\The [src] breaks off [user]'s arm!", "\The [src] breaks off your arm!")
playsound(user, "desecration", 50, TRUE, -1)
-/obj/item/reagent_containers/food/snacks/proc/i_kill_you(obj/item/I, mob/user)
+/obj/item/food/proc/i_kill_you(obj/item/I, mob/user)
if(istype(I, /obj/item/reagent_containers/food/snacks/pineappleslice))
to_chat(user, "If you want something crazy like pineapple, I'll kill you.") //this is in bigger text because it's hard to spam something that gibs you, and so that you're perfectly aware of the reason why you died
user.gib() //if you want something crazy like pineapple, i'll kill you
@@ -202,59 +211,37 @@
var/mob/living/carbon/shutup = user
shutup.gain_trauma(/datum/brain_trauma/severe/mute)
-/obj/item/reagent_containers/food/snacks/pizza/arnold/attack(mob/living/M, mob/living/user)
+/obj/item/food/pizza/arnold/attack(mob/living/M, mob/living/user)
. = ..()
try_break_off(M, user)
-/obj/item/reagent_containers/food/snacks/pizza/arnold/attackby(obj/item/I, mob/user)
+/obj/item/food/pizza/arnold/attackby(obj/item/I, mob/user)
i_kill_you(I, user)
. = ..()
-
-/obj/item/reagent_containers/food/snacks/pizzaslice/arnold
+/obj/item/food/pizzaslice/arnold
name = "\improper Arnold pizza slice"
desc = "I come over, maybe I give you a pizza, maybe I break off your arm."
icon_state = "arnoldpizzaslice"
- filling_color = "#A52A2A"
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "pepperoni" = 2, "9 millimeter bullets" = 2)
- foodtype = GRAIN | VEGETABLES | DAIRY | MEAT
+ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT
-/obj/item/reagent_containers/food/snacks/pizzaslice/arnold/attack(mob/living/M, mob/living/user)
+/obj/item/food/pizzaslice/arnold/attack(mob/living/M, mob/living/user)
. =..()
try_break_off(M, user)
-/obj/item/reagent_containers/food/snacks/pizzaslice/arnold/attackby(obj/item/I, mob/user)
+/obj/item/food/pizzaslice/arnold/attackby(obj/item/I, mob/user)
i_kill_you(I, user)
. = ..()
-
-/obj/item/reagent_containers/food/snacks/pizzaslice/custom
- name = "pizza slice"
- icon_state = "pizzamargheritaslice"
- filling_color = "#FFFFFF"
- foodtype = GRAIN | VEGETABLES
-
-/obj/item/reagent_containers/food/snacks/pizzaslice/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/kitchen/rollingpin))
- if(!isturf(loc))
- to_chat(user, "You need to put [src] on a surface to roll it out!")
- return
- new /obj/item/stack/sheet/pizza(loc)
- to_chat(user, "You smoosh [src] into a cheesy sheet.")
- qdel(src)
- return
- return ..()
-
-/obj/item/reagent_containers/food/snacks/pizzaslice/moldy
+/obj/item/food/pizzaslice/moldy
name = "moldy pizza slice"
desc = "This was once a perfectly good slice of pizza pie, but now it lies here, rancid and bursting with spores. What a bummer! But we should not dwell on the past, only look towards the future."
icon_state = "moldy_slice"
- filling_color = "#e9d075"
- bitesize = 4
- list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/peptides = 3, /datum/reagent/consumable/tomatojuice = 1, /datum/reagent/toxin/amatoxin = 2)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/peptides = 3, /datum/reagent/consumable/tomatojuice = 1, /datum/reagent/toxin/amatoxin = 2)
tastes = list("stale crust" = 1, "rancid cheese" = 2, "mushroom" = 1)
- foodtype = GRAIN | VEGETABLES | DAIRY | GROSS
+ foodtypes = GRAIN | VEGETABLES | DAIRY | GROSS
-/obj/item/reagent_containers/food/snacks/pizzaslice/moldy/Initialize()
+/obj/item/food/pizzaslice/moldy/Initialize()
. = ..()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_MOLD, CELL_VIRUS_TABLE_GENERIC, rand(2,4), 25)
diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm
index 7ce29aae2f3..f60ecda561d 100644
--- a/code/game/objects/items/kitchen.dm
+++ b/code/game/objects/items/kitchen.dm
@@ -269,6 +269,7 @@
attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "whacks")
attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack")
custom_price = 200
+ tool_behaviour = TOOL_ROLLINGPIN
/obj/item/kitchen/rollingpin/suicide_act(mob/living/carbon/user)
user.visible_message("[user] begins flattening [user.p_their()] head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 3479f5c4697..3870c8b85d5 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -576,7 +576,7 @@
new /obj/item/ammo_box/foambox/riot(src)
new /obj/item/grenade/chem_grenade/bioterrorfoam(src)
if(prob(5))
- new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src)
+ new /obj/item/food/pizza/pineapple(src)
/obj/item/storage/backpack/duffelbag/syndie/c4/PopulateContents()
for(var/i in 1 to 10)
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index e61a5b8a59f..80c6f12fee6 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -125,6 +125,6 @@
if(prob(50))
new /obj/effect/spawner/lootdrop/refreshing_beverage(src)
if(prob(40))
- new /obj/item/reagent_containers/food/snacks/pizzaslice/moldy(src)
+ new /obj/item/food/pizzaslice/moldy(src)
else if(prob(30))
new /obj/item/food/syndicake(src)
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 69409ace842..2b9d21de35e 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -697,7 +697,7 @@
name = "Beach Bum"
glasses = /obj/item/clothing/glasses/sunglasses
r_pocket = /obj/item/storage/wallet/random
- l_pocket = /obj/item/reagent_containers/food/snacks/pizzaslice/dank;
+ l_pocket = /obj/item/food/pizzaslice/dank
uniform = /obj/item/clothing/under/pants/youngfolksjeans
id = /obj/item/card/id
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index d158d177198..a233a3350f3 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -42,8 +42,6 @@
to_chat(user, "The ingredient is too big for [src]!")
else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume))
to_chat(user, "You can't add more ingredients to [src]!")
- else if(istype(I, /obj/item/reagent_containers/food/snacks/pizzaslice/custom))
- to_chat(user, "Adding [I.name] to [src] would make a mess.")
else
if(!user.transferItemToLoc(I, src))
return
@@ -168,16 +166,6 @@
icon_state = "pie"
foodtype = GRAIN | DAIRY
-/obj/item/reagent_containers/food/snacks/customizable/pizza
- name = "pizza"
- desc = "A personalized pan pizza meant for only one person."
- ingredients_placement = INGREDIENTS_SCATTER
- ingMax = 8
- slice_path = /obj/item/reagent_containers/food/snacks/pizzaslice/custom
- slices_num = 6
- icon = 'icons/obj/food/pizzaspaghetti.dmi'
- icon_state = "pizzamargherita"
- foodtype = GRAIN | DAIRY
/obj/item/reagent_containers/food/snacks/customizable/poutine
name = "poutine"
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 6068987759c..ce5b4a00e77 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -185,7 +185,7 @@ All foods are distributed among various categories. Use common sense.
if(S.w_class > WEIGHT_CLASS_SMALL)
to_chat(user, "[S] is too big for [src]!")
return FALSE
- if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom))
+ if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable))
to_chat(user, "[src] can't be filled with [S]!")
return FALSE
if(contents.len >= 20)
diff --git a/code/modules/food_and_drinks/food/snacks/dough.dm b/code/modules/food_and_drinks/food/snacks/dough.dm
index 5a72edfd583..21969d65e61 100644
--- a/code/modules/food_and_drinks/food/snacks/dough.dm
+++ b/code/modules/food_and_drinks/food/snacks/dough.dm
@@ -46,7 +46,6 @@
desc = "Add ingredients to make a pizza."
icon = 'icons/obj/food/food_ingredients.dmi'
icon_state = "pizzabread"
- custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/pizza
list_reagents = list(/datum/reagent/consumable/nutriment = 7)
w_class = WEIGHT_CLASS_NORMAL
tastes = list("bread" = 1)
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index 0226590a785..4bc88a93c04 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -21,7 +21,7 @@
var/boxtag = ""
var/list/boxes = list()
- var/obj/item/reagent_containers/food/snacks/pizza/pizza
+ var/obj/item/food/pizza/pizza
var/obj/item/bombcore/miniature/pizza/bomb
var/bomb_active = FALSE // If the bomb is counting down.
@@ -179,7 +179,7 @@
return
else
to_chat(user, "Close [open ? src : newbox] first!")
- else if(istype(I, /obj/item/reagent_containers/food/snacks/pizza) || istype(I, /obj/item/reagent_containers/food/snacks/customizable/pizza))
+ else if(istype(I, /obj/item/food/pizza))
if(open)
if(pizza)
to_chat(user, "[src] already has \a [pizza.name]!")
@@ -272,7 +272,7 @@
/obj/item/pizzabox/bomb/Initialize()
. = ..()
- var/randompizza = pick(subtypesof(/obj/item/reagent_containers/food/snacks/pizza))
+ var/randompizza = pick(subtypesof(/obj/item/food/pizza))
pizza = new randompizza(src)
bomb = new(src)
wires = new /datum/wires/explosive/pizza(src)
@@ -283,29 +283,29 @@
boxtag = "Margherita Deluxe"
/obj/item/pizzabox/margherita/proc/AddPizza()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/margherita(src)
+ pizza = new /obj/item/food/pizza/margherita(src)
/obj/item/pizzabox/margherita/robo/AddPizza()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/margherita/robo(src)
+ pizza = new /obj/item/food/pizza/margherita/robo(src)
/obj/item/pizzabox/vegetable/Initialize()
. = ..()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/vegetable(src)
+ pizza = new /obj/item/food/pizza/vegetable(src)
boxtag = "Gourmet Vegatable"
/obj/item/pizzabox/mushroom/Initialize()
. = ..()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/mushroom(src)
+ pizza = new /obj/item/food/pizza/mushroom(src)
boxtag = "Mushroom Special"
/obj/item/pizzabox/meat/Initialize()
. = ..()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/meat(src)
+ pizza = new /obj/item/food/pizza/meat(src)
boxtag = "Meatlover's Supreme"
/obj/item/pizzabox/pineapple/Initialize()
. = ..()
- pizza = new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src)
+ pizza = new /obj/item/food/pizza/pineapple(src)
boxtag = "Honolulu Chew"
//An anomalous pizza box that, when opened, produces the opener's favorite kind of pizza.
@@ -313,14 +313,14 @@
resistance_flags = FIRE_PROOF | LAVA_PROOF | ACID_PROOF //hard to destroy
can_open_on_fall = FALSE
var/list/pizza_types = list(
- /obj/item/reagent_containers/food/snacks/pizza/meat = 1,
- /obj/item/reagent_containers/food/snacks/pizza/mushroom = 1,
- /obj/item/reagent_containers/food/snacks/pizza/margherita = 1,
- /obj/item/reagent_containers/food/snacks/pizza/sassysage = 0.8,
- /obj/item/reagent_containers/food/snacks/pizza/vegetable = 0.8,
- /obj/item/reagent_containers/food/snacks/pizza/pineapple = 0.5,
- /obj/item/reagent_containers/food/snacks/pizza/donkpocket = 0.3,
- /obj/item/reagent_containers/food/snacks/pizza/dank = 0.1) //pizzas here are weighted by chance to be someone's favorite
+ /obj/item/food/pizza/meat = 1,
+ /obj/item/food/pizza/mushroom = 1,
+ /obj/item/food/pizza/margherita = 1,
+ /obj/item/food/pizza/sassysage = 0.8,
+ /obj/item/food/pizza/vegetable = 0.8,
+ /obj/item/food/pizza/pineapple = 0.5,
+ /obj/item/food/pizza/donkpocket = 0.3,
+ /obj/item/food/pizza/dank = 0.1) //pizzas here are weighted by chance to be someone's favorite
var/static/list/pizza_preferences
/obj/item/pizzabox/infinite/Initialize()
@@ -343,14 +343,14 @@
if(!pizza_preferences[noms.ckey])
pizza_preferences[noms.ckey] = pickweight(pizza_types)
if(noms.has_quirk(/datum/quirk/pineapple_liker))
- pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/pineapple
+ pizza_preferences[noms.ckey] = /obj/item/food/pizza/pineapple
else if(noms.has_quirk(/datum/quirk/pineapple_hater))
var/list/pineapple_pizza_liker = pizza_types.Copy()
- pineapple_pizza_liker -= /obj/item/reagent_containers/food/snacks/pizza/pineapple
+ pineapple_pizza_liker -= /obj/item/food/pizza/pineapple
pizza_preferences[noms.ckey] = pickweight(pineapple_pizza_liker)
else if(noms.mind && noms.mind.assigned_role == "Botanist")
- pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/dank
+ pizza_preferences[noms.ckey] = /obj/item/food/pizza/dank
var/obj/item/pizza_type = pizza_preferences[noms.ckey]
pizza = new pizza_type (src)
- pizza.foodtype = noms.dna.species.liked_food //it's our favorite!
+ pizza.foodtypes = noms.dna.species.liked_food //it's our favorite!
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
index 33c4b910b94..65e4915e349 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
@@ -10,7 +10,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 4,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/margherita
+ result = /obj/item/food/pizza/margherita
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/meatpizza
@@ -21,7 +21,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/meat
+ result = /obj/item/food/pizza/meat
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/arnold
@@ -33,7 +33,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/arnold
+ result = /obj/item/food/pizza/arnold
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/mushroompizza
@@ -42,7 +42,7 @@
/obj/item/reagent_containers/food/snacks/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/grown/mushroom = 5
)
- result = /obj/item/reagent_containers/food/snacks/pizza/mushroom
+ result = /obj/item/food/pizza/mushroom
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/vegetablepizza
@@ -54,7 +54,7 @@
/obj/item/reagent_containers/food/snacks/grown/corn = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/vegetable
+ result = /obj/item/food/pizza/vegetable
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/donkpocketpizza
@@ -65,7 +65,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/donkpocket
+ result = /obj/item/food/pizza/donkpocket
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/dankpizza
@@ -76,7 +76,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/dank
+ result = /obj/item/food/pizza/dank
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/sassysagepizza
@@ -87,7 +87,7 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/sassysage
+ result = /obj/item/food/pizza/sassysage
subcategory = CAT_PIZZA
/datum/crafting_recipe/food/pineapplepizza
@@ -99,5 +99,5 @@
/obj/item/reagent_containers/food/snacks/cheesewedge = 1,
/obj/item/reagent_containers/food/snacks/grown/tomato = 1
)
- result = /obj/item/reagent_containers/food/snacks/pizza/pineapple
+ result = /obj/item/food/pizza/pineapple
subcategory = CAT_PIZZA
diff --git a/tgstation.dme b/tgstation.dme
index f5b3fafc83d..659a753c53b 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1101,6 +1101,7 @@
#include "code\game\objects\items\food\egg.dm"
#include "code\game\objects\items\food\frozen.dm"
#include "code\game\objects\items\food\meat.dm"
+#include "code\game\objects\items\food\pizza.dm"
#include "code\game\objects\items\food\salad.dm"
#include "code\game\objects\items\food\sandwichtoast.dm"
#include "code\game\objects\items\food\snacks.dm"
@@ -1952,7 +1953,6 @@
#include "code\modules\food_and_drinks\food\snacks_other.dm"
#include "code\modules\food_and_drinks\food\snacks_pastry.dm"
#include "code\modules\food_and_drinks\food\snacks_pie.dm"
-#include "code\modules\food_and_drinks\food\snacks_pizza.dm"
#include "code\modules\food_and_drinks\food\snacks\dough.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"