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"