diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
index 95005b818eb..bd735f54381 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
@@ -101,7 +101,7 @@
/obj/item/seeds/tower,
/obj/item/seeds/reishi,
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom,
+/obj/item/food/grown/mushroom/glowshroom,
/turf/open/floor/plating,
/area/ruin/powered/shuttle)
"Ou" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
index 455c521facb..bf495442db5 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm
@@ -674,16 +674,16 @@
/area/ruin/powered/beach)
"tf" = (
/obj/structure/closet/crate/hydroponics,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
+/obj/item/food/grown/ambrosia/vulgaris,
/obj/machinery/light,
/turf/open/floor/plasteel/grimy,
/area/ruin/powered/beach)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm
index f71d74c9ad3..695607d7ce0 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm
@@ -42,11 +42,11 @@
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"l" = (
-/obj/item/reagent_containers/food/snacks/grown/mushroom/angel,
+/obj/item/food/grown/mushroom/angel,
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"m" = (
-/obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap,
+/obj/item/food/grown/mushroom/libertycap,
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"n" = (
@@ -73,7 +73,7 @@
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"s" = (
-/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita,
+/obj/item/food/grown/mushroom/amanita,
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"t" = (
@@ -104,7 +104,7 @@
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
"D" = (
-/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle,
+/obj/item/food/grown/mushroom/chanterelle,
/turf/open/floor/plating/grass/lavaland,
/area/ruin/unpowered/gaia)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index 2ce3d404c08..0673c614d0b 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -55,7 +55,7 @@
/obj/item/seeds/reishi,
/obj/item/seeds/plump,
/obj/item/seeds/plump,
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom,
+/obj/item/food/grown/mushroom/glowshroom,
/obj/item/seeds/tower,
/turf/open/floor/plating/asteroid/basalt,
/area/ruin/powered)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
index e44deb65813..2089bc287fb 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm
@@ -24,7 +24,7 @@
/area/ruin/unpowered)
"f" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
+/obj/item/food/grown/citrus/orange,
/turf/open/floor/sepia{
slowdown = 10
},
diff --git a/_maps/RandomRuins/SpaceRuins/bus.dmm b/_maps/RandomRuins/SpaceRuins/bus.dmm
index b4eb4db2e6f..421f7afb316 100644
--- a/_maps/RandomRuins/SpaceRuins/bus.dmm
+++ b/_maps/RandomRuins/SpaceRuins/bus.dmm
@@ -91,7 +91,7 @@
/area/ruin/unpowered/no_grav)
"ar" = (
/obj/structure/fluff/bus/passable/seat,
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb,
+/obj/item/food/grown/cherry_bomb,
/turf/open/floor/plasteel/airless/dark{
icon_state = "bus"
},
@@ -99,7 +99,7 @@
"as" = (
/obj/structure/fluff/bus/passable/seat/driver,
/obj/effect/decal/cleanable/dirt,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
+/obj/item/food/grown/citrus/orange,
/turf/open/floor/plasteel/airless/dark{
icon_state = "bus"
},
diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
index c38cfeeefc0..727596775dd 100644
--- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
+++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm
@@ -1710,29 +1710,29 @@
/area/ruin/space/has_grav/hotel/bar)
"fR" = (
/obj/structure/closet/crate/freezer,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/tomato,
/turf/open/floor/plasteel/freezer,
/area/ruin/space/has_grav/hotel/bar)
"fS" = (
diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm
index b294ea1f0f2..ef36fa68405 100644
--- a/_maps/RandomZLevels/wildwest.dmm
+++ b/_maps/RandomZLevels/wildwest.dmm
@@ -765,7 +765,7 @@
/area/awaymission/wildwest/gov)
"df" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/citrus/lemon,
+/obj/item/food/grown/citrus/lemon,
/turf/open/floor/plasteel/cafeteria{
dir = 5
},
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index df069bd399d..d50168160fc 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -12255,9 +12255,9 @@
},
/obj/item/seeds/poppy/geranium,
/obj/effect/decal/cleanable/dirt,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/corn,
-/obj/item/reagent_containers/food/snacks/grown/apple,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/corn,
+/obj/item/food/grown/apple,
/obj/machinery/airalarm{
pixel_y = 23
},
@@ -12284,9 +12284,9 @@
/obj/item/stack/package_wrap,
/obj/effect/decal/cleanable/dirt,
/obj/item/hand_labeler,
-/obj/item/reagent_containers/food/snacks/grown/tea,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/cherries,
+/obj/item/food/grown/tea,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/cherries,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hydroponics/garden/abandoned)
@@ -34759,7 +34759,7 @@
name = "Hydroponics Desk";
req_access_txt = "35"
},
-/obj/item/reagent_containers/food/snacks/grown/apple,
+/obj/item/food/grown/apple,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -35846,9 +35846,9 @@
/obj/item/seeds/grape{
pixel_x = -6
},
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/banana,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -38065,10 +38065,10 @@
/obj/item/seeds/pumpkin{
pixel_x = -6
},
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/tomato,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -78698,9 +78698,9 @@
/area/crew_quarters/dorms)
"cVb" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily,
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily,
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily,
+/obj/item/food/grown/poppy/lily,
+/obj/item/food/grown/poppy/lily,
+/obj/item/food/grown/poppy/lily,
/obj/machinery/airalarm{
dir = 1;
pixel_y = -22
@@ -102461,15 +102461,15 @@
/area/chapel/main)
"dUn" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_x = 3;
pixel_y = 3
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/reagent_containers/food/snacks/grown/poppy,
+/obj/item/food/grown/poppy,
/obj/machinery/status_display/evac{
pixel_y = 32
},
@@ -102514,15 +102514,15 @@
/area/chapel/main)
"dUr" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/harebell{
+/obj/item/food/grown/harebell{
pixel_x = 3;
pixel_y = 3
},
-/obj/item/reagent_containers/food/snacks/grown/harebell{
+/obj/item/food/grown/harebell{
pixel_x = -3;
pixel_y = 3
},
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
/obj/machinery/status_display/evac{
pixel_y = 32
},
@@ -107474,11 +107474,11 @@
/area/chapel/office)
"efX" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy/geranium{
+/obj/item/food/grown/poppy/geranium{
pixel_x = 6;
pixel_y = 6
},
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily,
+/obj/item/food/grown/poppy/lily,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"efY" = (
@@ -112056,10 +112056,10 @@
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/onion,
-/obj/item/reagent_containers/food/snacks/grown/onion,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/onion,
+/obj/item/food/grown/onion,
/obj/item/food/meat/slab,
/obj/item/food/meat/slab,
/obj/effect/decal/cleanable/dirt/dust,
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 607b080b5be..15e86a41f86 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -1320,10 +1320,10 @@
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/onion,
-/obj/item/reagent_containers/food/snacks/grown/onion,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/onion,
+/obj/item/food/grown/onion,
/obj/item/food/meat/rawcutlet/plain,
/obj/item/food/meat/rawcutlet/plain,
/obj/item/food/meat/rawcutlet/plain,
@@ -13736,13 +13736,13 @@
/area/security/checkpoint/auxiliary)
"aEF" = (
/obj/structure/table/glass,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/cocoapod,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/citrus/orange,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/cocoapod,
/obj/effect/turf_decal/tile/green,
/obj/effect/turf_decal/tile/green{
dir = 4
@@ -15014,8 +15014,8 @@
/area/hallway/primary/central)
"aHo" = (
/obj/structure/table/glass,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/poppy,
+/obj/item/food/grown/harebell,
/turf/open/floor/plasteel/chapel{
dir = 4
},
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 00822910a27..46f80fe2e46 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -8250,10 +8250,10 @@
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
/obj/item/food/breadslice/plain,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/onion,
-/obj/item/reagent_containers/food/snacks/grown/onion,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/onion,
+/obj/item/food/grown/onion,
/obj/item/food/meat/rawcutlet/plain,
/obj/item/food/meat/rawcutlet/plain,
/obj/item/food/meat/rawcutlet/plain,
@@ -18693,16 +18693,16 @@
/area/hydroponics/garden)
"aSl" = (
/obj/structure/table,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/cocoapod,
-/obj/item/reagent_containers/food/snacks/grown/apple,
-/obj/item/reagent_containers/food/snacks/grown/chili,
-/obj/item/reagent_containers/food/snacks/grown/cherries,
-/obj/item/reagent_containers/food/snacks/grown/soybeans,
-/obj/item/reagent_containers/food/snacks/grown/citrus/lime,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/citrus/orange,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/cocoapod,
+/obj/item/food/grown/apple,
+/obj/item/food/grown/chili,
+/obj/item/food/grown/cherries,
+/obj/item/food/grown/soybeans,
+/obj/item/food/grown/citrus/lime,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -28442,7 +28442,7 @@
"boI" = (
/obj/structure/rack,
/obj/item/cane,
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom,
+/obj/item/food/grown/mushroom/glowshroom,
/turf/open/floor/plating,
/area/crew_quarters/heads/captain/private)
"boJ" = (
@@ -41811,9 +41811,9 @@
/obj/item/seeds/potato,
/obj/item/seeds/apple,
/obj/item/grown/corncob,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/pumpkin{
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/pumpkin{
pixel_y = 5
},
/obj/structure/extinguisher_cabinet{
@@ -42289,10 +42289,10 @@
/turf/closed/wall,
/area/security/checkpoint/science/research)
"bZq" = (
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/watermelon,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/watermelon,
+/obj/item/food/grown/citrus/orange,
+/obj/item/food/grown/grapes,
/obj/structure/extinguisher_cabinet{
pixel_x = -27
},
@@ -51265,7 +51265,7 @@
/obj/machinery/light{
dir = 8
},
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/turf/open/floor/grass,
/area/science/genetics)
"cuA" = (
@@ -57194,19 +57194,19 @@
/area/chapel/main)
"cML" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
/obj/effect/turf_decal/tile/neutral{
@@ -57238,11 +57238,11 @@
/area/chapel/main)
"cMN" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -57512,7 +57512,7 @@
/obj/item/seeds/cabbage,
/obj/item/seeds/ambrosia,
/obj/item/seeds/grass,
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom,
+/obj/item/food/grown/mushroom/glowshroom,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
@@ -58402,19 +58402,19 @@
/obj/structure/sign/plaques/kiddie/badger{
pixel_y = 32
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
/obj/machinery/light/small{
@@ -59240,10 +59240,10 @@
/obj/machinery/hydroponics/soil{
pixel_y = 8
},
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
/obj/machinery/light/small{
dir = 1
},
@@ -59310,11 +59310,11 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
/obj/structure/table/wood,
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -71933,7 +71933,7 @@
"ngK" = (
/obj/structure/flora/ausbushes/sparsegrass,
/obj/structure/flora/ausbushes/ywflowers,
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
dir = 1
},
@@ -74918,7 +74918,7 @@
/area/medical/virology)
"qTL" = (
/obj/structure/flora/ausbushes/lavendergrass,
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/turf/open/floor/grass,
/area/medical/virology)
"qUk" = (
@@ -77143,7 +77143,7 @@
/area/crew_quarters/locker)
"tPD" = (
/obj/structure/table,
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily,
+/obj/item/food/grown/poppy/lily,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 9f54d2d2079..9792ca7ad12 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -17981,8 +17981,8 @@
/area/chapel/main/monastery)
"aVZ" = (
/obj/structure/closet/secure_closet/freezer/kitchen,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
"aWa" = (
@@ -20932,7 +20932,7 @@
/area/crew_quarters/kitchen)
"bdq" = (
/obj/structure/table,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
+/obj/item/food/grown/tomato,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
"bdr" = (
@@ -42847,7 +42847,7 @@
/area/chapel/office)
"crx" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
"cry" = (
@@ -42919,7 +42919,7 @@
/area/chapel/office)
"crH" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
+/obj/item/food/grown/poppy,
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
"crK" = (
@@ -44071,8 +44071,8 @@
/area/library/lounge)
"cww" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/poppy,
+/obj/item/food/grown/harebell,
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
"cwx" = (
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index f0311e9250e..5ac66617e3f 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -1408,7 +1408,7 @@
/area/holodeck/rec_center/school)
"dZ" = (
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/apple,
+/obj/item/food/grown/apple,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/school)
"ea" = (
@@ -14553,22 +14553,22 @@
/area/tdome/tdomeobserve)
"GG" = (
/obj/structure/closet/secure_closet/freezer/fridge/open,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/potato,
-/obj/item/reagent_containers/food/snacks/grown/whitebeet,
-/obj/item/reagent_containers/food/snacks/grown/whitebeet,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/tomato,
-/obj/item/reagent_containers/food/snacks/grown/rice,
-/obj/item/reagent_containers/food/snacks/grown/rice,
-/obj/item/reagent_containers/food/snacks/grown/icepepper,
-/obj/item/reagent_containers/food/snacks/grown/icepepper,
-/obj/item/reagent_containers/food/snacks/grown/citrus/lemon,
-/obj/item/reagent_containers/food/snacks/grown/citrus/lime,
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange,
-/obj/item/reagent_containers/food/snacks/grown/cherries,
-/obj/item/reagent_containers/food/snacks/grown/apple,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/deus,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/potato,
+/obj/item/food/grown/whitebeet,
+/obj/item/food/grown/whitebeet,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/tomato,
+/obj/item/food/grown/rice,
+/obj/item/food/grown/rice,
+/obj/item/food/grown/icepepper,
+/obj/item/food/grown/icepepper,
+/obj/item/food/grown/citrus/lemon,
+/obj/item/food/grown/citrus/lime,
+/obj/item/food/grown/citrus/orange,
+/obj/item/food/grown/cherries,
+/obj/item/food/grown/apple,
+/obj/item/food/grown/ambrosia/deus,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -14588,25 +14588,25 @@
/area/tdome/tdomeobserve)
"GI" = (
/obj/structure/closet/secure_closet/freezer/kitchen,
-/obj/item/reagent_containers/food/snacks/grown/banana,
-/obj/item/reagent_containers/food/snacks/grown/banana,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/wheat,
-/obj/item/reagent_containers/food/snacks/grown/vanillapod,
-/obj/item/reagent_containers/food/snacks/grown/vanillapod,
-/obj/item/reagent_containers/food/snacks/grown/sugarcane,
-/obj/item/reagent_containers/food/snacks/grown/sugarcane,
-/obj/item/reagent_containers/food/snacks/grown/oat,
-/obj/item/reagent_containers/food/snacks/grown/oat,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/grapes,
-/obj/item/reagent_containers/food/snacks/grown/corn,
-/obj/item/reagent_containers/food/snacks/grown/corn,
-/obj/item/reagent_containers/food/snacks/grown/chili,
-/obj/item/reagent_containers/food/snacks/grown/chili,
-/obj/item/reagent_containers/food/snacks/grown/carrot,
-/obj/item/reagent_containers/food/snacks/grown/apple,
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
+/obj/item/food/grown/banana,
+/obj/item/food/grown/banana,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/wheat,
+/obj/item/food/grown/vanillapod,
+/obj/item/food/grown/vanillapod,
+/obj/item/food/grown/sugarcane,
+/obj/item/food/grown/sugarcane,
+/obj/item/food/grown/oat,
+/obj/item/food/grown/oat,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/grapes,
+/obj/item/food/grown/corn,
+/obj/item/food/grown/corn,
+/obj/item/food/grown/chili,
+/obj/item/food/grown/chili,
+/obj/item/food/grown/carrot,
+/obj/item/food/grown/apple,
+/obj/item/food/grown/ambrosia/vulgaris,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -17637,19 +17637,19 @@
dir = 8
},
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
-/obj/item/reagent_containers/food/snacks/grown/poppy{
+/obj/item/food/grown/poppy{
pixel_y = 2
},
/turf/open/floor/holofloor/dark,
@@ -19553,11 +19553,11 @@
dir = 8
},
/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
+/obj/item/food/grown/harebell,
/turf/open/floor/holofloor/dark,
/area/holodeck/rec_center/chapelcourt)
"Zh" = (
diff --git a/_maps/shuttles/emergency_nature.dmm b/_maps/shuttles/emergency_nature.dmm
index cab899bc65b..dbaffba0e0a 100644
--- a/_maps/shuttles/emergency_nature.dmm
+++ b/_maps/shuttles/emergency_nature.dmm
@@ -437,7 +437,7 @@
/obj/effect/turf_decal/weather/dirt{
dir = 10
},
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/turf/open/floor/grass,
/area/shuttle/escape)
"nA" = (
@@ -668,7 +668,7 @@
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"yI" = (
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/turf/open/floor/grass,
/area/shuttle/escape)
"yR" = (
@@ -1220,7 +1220,7 @@
/obj/effect/turf_decal/weather/dirt{
dir = 1
},
-/obj/item/reagent_containers/food/snacks/grown/banana,
+/obj/item/food/grown/banana,
/turf/open/floor/grass,
/area/shuttle/escape)
"UE" = (
diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm
index 5c682ee7187..0e4ca75b083 100644
--- a/_maps/shuttles/whiteship_box.dmm
+++ b/_maps/shuttles/whiteship_box.dmm
@@ -1945,7 +1945,7 @@
pixel_x = -3;
pixel_y = -3
},
-/obj/item/reagent_containers/food/snacks/grown/harebell{
+/obj/item/food/grown/harebell{
pixel_x = 6;
pixel_y = 3
},
diff --git a/_maps/templates/hilbertshotel.dmm b/_maps/templates/hilbertshotel.dmm
index 79717d4972c..8120757f80b 100644
--- a/_maps/templates/hilbertshotel.dmm
+++ b/_maps/templates/hilbertshotel.dmm
@@ -98,7 +98,7 @@
/area/hilbertshotel)
"s" = (
/obj/structure/table/wood/fancy,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
+/obj/item/food/grown/poppy,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"t" = (
diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index 1a47d3aba34..8a2f98fc721 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -506,6 +506,8 @@
///from base of obj/item/equipped(): (/mob/equipper, slot)
#define COMSIG_ITEM_EQUIPPED "item_equip"
+///Called when an item is dried by a drying rack:
+#define COMSIG_ITEM_DRIED "item_dried"
///from base of obj/item/dropped(): (mob/user)
#define COMSIG_ITEM_DROPPED "item_drop"
///from base of obj/item/pickup(): (/mob/taker)
diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm
index 4b913507c92..b69d063b93b 100644
--- a/code/__DEFINES/food.dm
+++ b/code/__DEFINES/food.dm
@@ -48,3 +48,4 @@
///Food trash flags
#define FOOD_TRASH_POPABLE (1<<0)
+#define FOOD_TRASH_OPENABLE (1<<1)
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 8eab148b203..8e105f070c8 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -260,6 +260,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_GRABWEAKNESS "grab_weakness"
#define TRAIT_SNOB "snob"
#define TRAIT_BALD "bald"
+///Trait for dryable items
+#define TRAIT_DRYABLE "trait_dryable"
+///Trait for dried items
+#define TRAIT_DRIED "trait_dried"
//Medical Categories for quirks
#define CAT_QUIRK_ALL 0
@@ -373,3 +377,5 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define PAI_FOLDED "pai-folded"
/// Trait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech.
#define BRAIN_UNAIDED "brain-unaided"
+/// Trait applied by element
+#define ELEMENT_TRAIT "element_trait"
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 484ea674062..8c410dd2c38 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1396,13 +1396,13 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/obj/item/food/meat,
/obj/item/food/meat/slab,
/obj/item/food/soup,
- /obj/item/reagent_containers/food/snacks/grown,
- /obj/item/reagent_containers/food/snacks/grown/mushroom,
+ /obj/item/food/grown,
+ /obj/item/food/grown/mushroom,
/obj/item/food/deepfryholder,
/obj/item/reagent_containers/food/snacks/clothing,
- /obj/item/reagent_containers/food/snacks/grown/shell, //base types
+ /obj/item/food/grown/shell, //base types
/obj/item/food/bread,
- /obj/item/reagent_containers/food/snacks/grown/nettle
+ /obj/item/food/grown/nettle
)
blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable)
diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm
index 0b9425b24ef..9595716d4a6 100644
--- a/code/datums/components/crafting/recipes.dm
+++ b/code/datums/components/crafting/recipes.dm
@@ -409,9 +409,9 @@
/datum/crafting_recipe/mixedbouquet
name = "Mixed bouquet"
result = /obj/item/bouquet
- reqs = list(/obj/item/reagent_containers/food/snacks/grown/poppy/lily =2,
+ reqs = list(/obj/item/food/grown/poppy/lily =2,
/obj/item/grown/sunflower = 2,
- /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2)
+ /obj/item/food/grown/poppy/geranium = 2)
category = CAT_MISC
/datum/crafting_recipe/sunbouquet
@@ -423,7 +423,7 @@
/datum/crafting_recipe/poppybouquet
name = "Poppy bouquet"
result = /obj/item/bouquet/poppy
- reqs = list (/obj/item/reagent_containers/food/snacks/grown/poppy = 6)
+ reqs = list (/obj/item/food/grown/poppy = 6)
category = CAT_MISC
/datum/crafting_recipe/spooky_camera
@@ -778,7 +778,7 @@
time = 30
tools = list(TOOL_WIRECUTTER)
reqs = list(/obj/item/aicard = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/food/grown/potato = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_MISC
@@ -796,7 +796,7 @@
time = 30
tools = list(TOOL_WIRECUTTER)
reqs = list(/obj/item/aicard = 1,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1,
+ /obj/item/food/grown/pumpkin = 1,
/obj/item/stack/cable_coil = 5)
category = CAT_MISC
@@ -910,7 +910,7 @@
/datum/crafting_recipe/underwater_basket/wheat
name = "Underwater Basket (Wheat)"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/wheat = 50
+ /obj/item/food/grown/wheat = 50
)
diff --git a/code/datums/elements/dryable.dm b/code/datums/elements/dryable.dm
new file mode 100644
index 00000000000..c210e38e7c9
--- /dev/null
+++ b/code/datums/elements/dryable.dm
@@ -0,0 +1,43 @@
+// If an item has this element, it can be dried on a drying rack.
+/datum/element/dryable
+ element_flags = ELEMENT_BESPOKE
+ id_arg_index = 2
+ /// The type of atom that is spawned by this element on drying.
+ var/dry_result
+
+/datum/element/dryable/Attach(datum/target, atom/dry_result)
+ . = ..()
+ if(!isatom(target))
+ return ELEMENT_INCOMPATIBLE
+ src.dry_result = dry_result
+
+ RegisterSignal(target, COMSIG_ITEM_DRIED, .proc/finish_drying)
+ ADD_TRAIT(target, TRAIT_DRYABLE, ELEMENT_TRAIT)
+
+
+/datum/element/dryable/Detach(datum/target)
+ . = ..()
+ UnregisterSignal(target, COMSIG_FOOD_CONSUMED)
+ REMOVE_TRAIT(target, TRAIT_DRYABLE, ELEMENT_TRAIT)
+
+/datum/element/dryable/proc/finish_drying(atom/source)
+ var/atom/dried_atom = source
+ if(!dry_result)//if the dried type is not set, don't bother creating a whole new item, just re-color it.
+ var/atom/movable/resulting_atom = dried_atom
+ resulting_atom.add_atom_colour("#ad7257", FIXED_COLOUR_PRIORITY)
+ ADD_TRAIT(resulting_atom, TRAIT_DRIED, ELEMENT_TRAIT)
+ resulting_atom.forceMove(source.drop_location())
+ return
+
+ else if(istype(source, /obj/item/stack)) //Check if its a sheet
+ var/obj/item/stack/itemstack
+ for(var/i in 1 to itemstack.amount)
+ var/atom/movable/resulting_atom = new dry_result(source.drop_location())
+ ADD_TRAIT(resulting_atom, TRAIT_DRIED, ELEMENT_TRAIT)
+ qdel(source)
+ return
+ else
+ var/atom/movable/resulting_atom = new dry_result(source.drop_location())
+ ADD_TRAIT(resulting_atom, TRAIT_DRIED, ELEMENT_TRAIT)
+ qdel(source)
+
diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm
index 145c9bf9a20..fb1c5bdf924 100644
--- a/code/datums/elements/food/food_trash.dm
+++ b/code/datums/elements/food/food_trash.dm
@@ -3,17 +3,23 @@
element_flags = ELEMENT_BESPOKE
id_arg_index = 2
/// The type of trash that is spawned by this element
- var/trash
+ var/atom/trash
///Flags of the trash element that change its behavior
var/flags
+ ///Generate trash callback
+ var/datum/callback/generate_trash_callback
-/datum/element/food_trash/Attach(datum/target, atom/trash, flags)
+/datum/element/food_trash/Attach(datum/target, atom/trash, flags, generate_trash)
. = ..()
if(!isatom(target))
return ELEMENT_INCOMPATIBLE
src.trash = trash
src.flags = flags
RegisterSignal(target, COMSIG_FOOD_CONSUMED, .proc/generate_trash)
+ if(!src.generate_trash_callback && generate_trash)
+ generate_trash_callback = CALLBACK(target, generate_trash)
+ if(flags & FOOD_TRASH_OPENABLE)
+ RegisterSignal(target, COMSIG_ITEM_ATTACK_SELF, .proc/open_trash)
if(flags & FOOD_TRASH_POPABLE)
RegisterSignal(target, COMSIG_FOOD_CROSSED, .proc/food_crossed)
@@ -29,7 +35,7 @@
/datum/element/food_trash/proc/async_generate_trash(datum/source)
- var/obj/item/trash_item = new trash()
+ var/obj/item/trash_item = generate_trash_callback ? generate_trash_callback.Invoke(source) : new trash()
var/atom/edible_object = source
@@ -54,3 +60,13 @@
popper.visible_message("[popper] steps on \the [source], popping the bag!", "You step on \the [source], popping the bag!", "You hear a sharp crack!", COMBAT_MESSAGE_RANGE)
INVOKE_ASYNC(src, .proc/async_generate_trash, source)
qdel(source)
+
+
+/datum/element/food_trash/proc/open_trash(datum/source, mob/user)
+ SIGNAL_HANDLER
+
+ to_chat(user, "You open the [src]\'s shell, revealing \a [initial(trash.name)].")
+
+ INVOKE_ASYNC(src, .proc/async_generate_trash, source)
+ qdel(source)
+
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index c0e1ba7c52e..7c33b385df6 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1272,10 +1272,14 @@
var/atom/created_atom = new atom_to_create(drop_location())
SEND_SIGNAL(created_atom, COMSIG_ATOM_CREATEDBY_PROCESSING, src, chosen_option)
created_atom.OnCreatedFromProcessing(user, I, chosen_option, src)
- to_chat(user, "You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)]\s from [src].")
- qdel(src)
+ to_chat(user, "You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)]\s from [src].")
+ UsedforProcessing(user, I, chosen_option)
return
+/atom/proc/UsedforProcessing(mob/living/user, obj/item/I, list/chosen_option)
+ qdel(src)
+ return
+
/atom/proc/OnCreatedFromProcessing(mob/living/user, obj/item/I, list/chosen_option, atom/original_atom)
return
diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm
index b04f1abbd11..09fd3f59daa 100644
--- a/code/game/gamemodes/clown_ops/clown_weapons.dm
+++ b/code/game/gamemodes/clown_ops/clown_weapons.dm
@@ -164,13 +164,12 @@
//BOMBANANA
-/obj/item/reagent_containers/food/snacks/grown/banana/bombanana
- trash = /obj/item/grown/bananapeel/bombanana
- bitesize = 1
- customfoodfilling = FALSE
+/obj/item/food/grown/banana/bombanana
+ trash_type = /obj/item/grown/bananapeel/bombanana
+ bite_consumption = 1
seed = null
tastes = list("explosives" = 10)
- list_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 1)
+ food_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 1)
/obj/item/grown/bananapeel/bombanana
desc = "A peel from a banana. Why is it beeping?"
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index f4b1f9c4c49..4331cd2e939 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -375,7 +375,7 @@ GLOBAL_LIST_INIT(meteorsSPOOKY, list(/obj/effect/meteor/pumpkin))
hits = 10
heavy = TRUE
dropamt = 1
- meteordrop = list(/obj/item/clothing/head/hardhat/pumpkinhead, /obj/item/reagent_containers/food/snacks/grown/pumpkin)
+ meteordrop = list(/obj/item/clothing/head/hardhat/pumpkinhead, /obj/item/food/grown/pumpkin)
threat = 100
/obj/effect/meteor/pumpkin/Initialize()
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 9552b52b200..979d529595f 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -169,7 +169,7 @@
name = "botanical waste spawner"
loot = list(/obj/item/grown/bananapeel = 60,
/obj/item/grown/corncob = 30,
- /obj/item/reagent_containers/food/snacks/grown/bungopit = 10)
+ /obj/item/food/grown/bungopit = 10)
/obj/effect/spawner/lootdrop/refreshing_beverage
name = "good soda spawner"
diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm
index 3efabf25fd9..91d34386486 100644
--- a/code/game/objects/items/cigs_lighters.dm
+++ b/code/game/objects/items/cigs_lighters.dm
@@ -553,10 +553,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/O, mob/user, params)
- if(istype(O, /obj/item/reagent_containers/food/snacks/grown))
- var/obj/item/reagent_containers/food/snacks/grown/G = O
+ if(istype(O, /obj/item/food/grown))
+ var/obj/item/food/grown/G = O
if(!packeditem)
- if(G.dry == 1)
+ if(HAS_TRAIT(G, TRAIT_DRIED))
to_chat(user, "You stuff [O] into [src].")
smoketime = 13 * 60
packeditem = TRUE
@@ -825,9 +825,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
. = ..()
if(!proximity)
return
- if(istype(target, /obj/item/reagent_containers/food/snacks/grown))
- var/obj/item/reagent_containers/food/snacks/grown/O = target
- if(O.dry)
+ if(istype(target, /obj/item/food/grown))
+ var/obj/item/food/grown/O = target
+ if(HAS_TRAIT(O, TRAIT_DRIED))
var/obj/item/clothing/mask/cigarette/rollie/R = new /obj/item/clothing/mask/cigarette/rollie(user.loc)
R.chem_volume = target.reagents.total_volume
target.reagents.trans_to(R, R.chem_volume, transfered_by = user)
diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm
index b97e1a2f6df..dab9c52187a 100644
--- a/code/game/objects/items/food/meat.dm
+++ b/code/game/objects/items/food/meat.dm
@@ -379,7 +379,6 @@
name = "meat"
desc = "A slab of meat."
icon_state = "meat"
- //dried_type = /obj/item/food/sosjerky/healthy Re-add this when I figure out how to make drying an element
bite_consumption = 3
food_reagents = list(/datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/cooking_oil = 2) //Meat has fats that a food processor can process into cooking oil
microwaved_type = /obj/item/food/meat/steak/plain
@@ -388,6 +387,10 @@
///Legacy code, handles the coloring of the overlay of the cutlets made from this.
var/slab_color = "#FF0000"
+/obj/item/food/meat/slab/Initialize()
+ . = ..()
+ AddElement(/datum/element/dryable, /obj/item/food/sosjerky/healthy)
+
/obj/item/food/meat/slab/MakeProcessable()
AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/meat/rawcutlet/plain, 3, 30)
diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm
index c50c1b23204..a3e69ca5f70 100644
--- a/code/game/objects/items/food/pizza.dm
+++ b/code/game/objects/items/food/pizza.dm
@@ -207,7 +207,7 @@
if(istype(I, /obj/item/food/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
- else if(istype(I, /obj/item/reagent_containers/food/snacks/grown/mushroom) && iscarbon(user))
+ else if(istype(I, /obj/item/food/grown/mushroom) && iscarbon(user))
to_chat(user, "So, if you want mushroom, shut up.") //not as large as the pineapple text, because you could in theory spam it
var/mob/living/carbon/shutup = user
shutup.gain_trauma(/datum/brain_trauma/severe/mute)
diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm
index 01d95c9fede..0ff9c7d48a8 100644
--- a/code/game/objects/items/gift.dm
+++ b/code/game/objects/items/gift.dm
@@ -72,8 +72,8 @@ GLOBAL_LIST_EMPTY(possible_gifts)
/obj/item/toy/beach_ball,
/obj/item/toy/beach_ball/holoball,
/obj/item/banhammer,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
+ /obj/item/food/grown/ambrosia/deus,
+ /obj/item/food/grown/ambrosia/vulgaris,
/obj/item/paicard,
/obj/item/instrument/violin,
/obj/item/instrument/guitar,
diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm
index 2c9b967ef1d..8e129879066 100644
--- a/code/game/objects/items/miscellaneous.dm
+++ b/code/game/objects/items/miscellaneous.dm
@@ -96,20 +96,20 @@
/obj/item/storage/box/ingredients/wildcard/PopulateContents()
for(var/i in 1 to 7)
- var/randomFood = pick(/obj/item/reagent_containers/food/snacks/grown/chili,
- /obj/item/reagent_containers/food/snacks/grown/tomato,
- /obj/item/reagent_containers/food/snacks/grown/carrot,
- /obj/item/reagent_containers/food/snacks/grown/potato,
- /obj/item/reagent_containers/food/snacks/grown/potato/sweet,
- /obj/item/reagent_containers/food/snacks/grown/apple,
+ var/randomFood = pick(/obj/item/food/grown/chili,
+ /obj/item/food/grown/tomato,
+ /obj/item/food/grown/carrot,
+ /obj/item/food/grown/potato,
+ /obj/item/food/grown/potato/sweet,
+ /obj/item/food/grown/apple,
/obj/item/food/chocolatebar,
- /obj/item/reagent_containers/food/snacks/grown/cherries,
- /obj/item/reagent_containers/food/snacks/grown/banana,
- /obj/item/reagent_containers/food/snacks/grown/cabbage,
- /obj/item/reagent_containers/food/snacks/grown/soybeans,
- /obj/item/reagent_containers/food/snacks/grown/corn,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle)
+ /obj/item/food/grown/cherries,
+ /obj/item/food/grown/banana,
+ /obj/item/food/grown/cabbage,
+ /obj/item/food/grown/soybeans,
+ /obj/item/food/grown/corn,
+ /obj/item/food/grown/mushroom/plumphelmet,
+ /obj/item/food/grown/mushroom/chanterelle)
new randomFood(src)
/obj/item/storage/box/ingredients/fiesta
@@ -118,16 +118,16 @@
/obj/item/storage/box/ingredients/fiesta/PopulateContents()
new /obj/item/food/tortilla(src)
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/corn(src)
- new /obj/item/reagent_containers/food/snacks/grown/soybeans(src)
- new /obj/item/reagent_containers/food/snacks/grown/chili(src)
+ new /obj/item/food/grown/corn(src)
+ new /obj/item/food/grown/soybeans(src)
+ new /obj/item/food/grown/chili(src)
/obj/item/storage/box/ingredients/italian
theme_name = "italian"
/obj/item/storage/box/ingredients/italian/PopulateContents()
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/food/snacks/grown/tomato(src)
+ new /obj/item/food/grown/tomato(src)
new /obj/item/food/meatball(src)
new /obj/item/reagent_containers/food/drinks/bottle/wine(src)
@@ -136,21 +136,21 @@
/obj/item/storage/box/ingredients/vegetarian/PopulateContents()
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/carrot(src)
- new /obj/item/reagent_containers/food/snacks/grown/eggplant(src)
- new /obj/item/reagent_containers/food/snacks/grown/potato(src)
- new /obj/item/reagent_containers/food/snacks/grown/apple(src)
- new /obj/item/reagent_containers/food/snacks/grown/corn(src)
- new /obj/item/reagent_containers/food/snacks/grown/tomato(src)
+ new /obj/item/food/grown/carrot(src)
+ new /obj/item/food/grown/eggplant(src)
+ new /obj/item/food/grown/potato(src)
+ new /obj/item/food/grown/apple(src)
+ new /obj/item/food/grown/corn(src)
+ new /obj/item/food/grown/tomato(src)
/obj/item/storage/box/ingredients/american
theme_name = "american"
/obj/item/storage/box/ingredients/american/PopulateContents()
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/potato(src)
- new /obj/item/reagent_containers/food/snacks/grown/tomato(src)
- new /obj/item/reagent_containers/food/snacks/grown/corn(src)
+ new /obj/item/food/grown/potato(src)
+ new /obj/item/food/grown/tomato(src)
+ new /obj/item/food/grown/corn(src)
new /obj/item/food/meatball(src)
/obj/item/storage/box/ingredients/fruity
@@ -158,42 +158,42 @@
/obj/item/storage/box/ingredients/fruity/PopulateContents()
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/apple(src)
- new /obj/item/reagent_containers/food/snacks/grown/citrus/orange(src)
- new /obj/item/reagent_containers/food/snacks/grown/citrus/lemon(src)
- new /obj/item/reagent_containers/food/snacks/grown/citrus/lime(src)
- new /obj/item/reagent_containers/food/snacks/grown/watermelon(src)
+ new /obj/item/food/grown/apple(src)
+ new /obj/item/food/grown/citrus/orange(src)
+ new /obj/item/food/grown/citrus/lemon(src)
+ new /obj/item/food/grown/citrus/lime(src)
+ new /obj/item/food/grown/watermelon(src)
/obj/item/storage/box/ingredients/sweets
theme_name = "sweets"
/obj/item/storage/box/ingredients/sweets/PopulateContents()
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/cherries(src)
- new /obj/item/reagent_containers/food/snacks/grown/banana(src)
+ new /obj/item/food/grown/cherries(src)
+ new /obj/item/food/grown/banana(src)
new /obj/item/food/chocolatebar(src)
- new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src)
- new /obj/item/reagent_containers/food/snacks/grown/apple(src)
+ new /obj/item/food/grown/cocoapod(src)
+ new /obj/item/food/grown/apple(src)
/obj/item/storage/box/ingredients/delights
theme_name = "delights"
/obj/item/storage/box/ingredients/delights/PopulateContents()
for(var/i in 1 to 2)
- new /obj/item/reagent_containers/food/snacks/grown/potato/sweet(src)
- new /obj/item/reagent_containers/food/snacks/grown/bluecherries(src)
- new /obj/item/reagent_containers/food/snacks/grown/vanillapod(src)
- new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src)
- new /obj/item/reagent_containers/food/snacks/grown/berries(src)
+ new /obj/item/food/grown/potato/sweet(src)
+ new /obj/item/food/grown/bluecherries(src)
+ new /obj/item/food/grown/vanillapod(src)
+ new /obj/item/food/grown/cocoapod(src)
+ new /obj/item/food/grown/berries(src)
/obj/item/storage/box/ingredients/grains
theme_name = "grains"
/obj/item/storage/box/ingredients/grains/PopulateContents()
for(var/i in 1 to 3)
- new /obj/item/reagent_containers/food/snacks/grown/oat(src)
- new /obj/item/reagent_containers/food/snacks/grown/wheat(src)
- new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src)
+ new /obj/item/food/grown/oat(src)
+ new /obj/item/food/grown/wheat(src)
+ new /obj/item/food/grown/cocoapod(src)
new /obj/item/reagent_containers/honeycomb(src)
new /obj/item/seeds/poppy(src)
@@ -215,9 +215,9 @@
/obj/item/storage/box/ingredients/exotic/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/food/carpmeat(src)
- new /obj/item/reagent_containers/food/snacks/grown/soybeans(src)
- new /obj/item/reagent_containers/food/snacks/grown/cabbage(src)
- new /obj/item/reagent_containers/food/snacks/grown/chili(src)
+ new /obj/item/food/grown/soybeans(src)
+ new /obj/item/food/grown/cabbage(src)
+ new /obj/item/food/grown/chili(src)
/obj/item/storage/box/ingredients/random
theme_name = "random"
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 0871e4b7877..a6dc4a861d7 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -140,6 +140,10 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \
var/wetness = 30 //Reduced when exposed to high temperautres
var/drying_threshold_temperature = 500 //Kelvin to start drying
+/obj/item/stack/sheet/wethide/Initialize(mapload, new_amount, merge)
+ . = ..()
+ AddElement(/datum/element/dryable, /obj/item/stack/sheet/leather)
+
/*
* Leather SHeet
*/
diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm
index 7fb435f36bd..81c975f8b51 100644
--- a/code/game/objects/items/storage/bags.dm
+++ b/code/game/objects/items/storage/bags.dm
@@ -208,7 +208,7 @@
STR.max_combined_w_class = 100
STR.max_items = 100
STR.set_holdable(list(
- /obj/item/reagent_containers/food/snacks/grown,
+ /obj/item/food/grown,
/obj/item/seeds,
/obj/item/grown,
/obj/item/reagent_containers/honeycomb,
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index bace68219b7..c21fb644ea2 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -495,8 +495,8 @@
/obj/item/multitool,
/obj/item/reagent_containers/food/drinks/bottle/molotov,
/obj/item/grenade/c4,
- /obj/item/reagent_containers/food/snacks/grown/cherry_bomb,
- /obj/item/reagent_containers/food/snacks/grown/firelemon
+ /obj/item/food/grown/cherry_bomb,
+ /obj/item/food/grown/firelemon
))
/obj/item/storage/belt/grenade/full/PopulateContents()
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 92bed51c146..72e9fb636db 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -1168,7 +1168,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/turf/endT = spaceDebrisFinishLoc(startside, T.z)
new /obj/effect/immovablerod(startT, endT,target)
if(ADMIN_PUNISHMENT_SUPPLYPOD_QUICK)
- var/target_path = input(usr,"Enter typepath of an atom you'd like to send with the pod (type \"empty\" to send an empty pod):" ,"Typepath","/obj/item/reagent_containers/food/snacks/grown/harebell") as null|text
+ var/target_path = input(usr,"Enter typepath of an atom you'd like to send with the pod (type \"empty\" to send an empty pod):" ,"Typepath","/obj/item/food/grown/harebell") as null|text
var/obj/structure/closet/supplypod/centcompod/pod = new()
pod.damage = 40
pod.explosionSize = list(0,0,0,2)
diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm
index 8bfef0fc232..65ab9076f92 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm
@@ -303,7 +303,7 @@
desc = "Allows you to create additional living hearts, using a heart, a pool of blood and a poppy. Living hearts when used on a transmutation rune will grant you a person to hunt and sacrifice on the rune. Every sacrifice gives you an additional charge in the book."
gain_text = "The Gates of Mansus open up to your mind."
cost = 0
- required_atoms = list(/obj/item/organ/heart,/obj/effect/decal/cleanable/blood,/obj/item/reagent_containers/food/snacks/grown/poppy)
+ required_atoms = list(/obj/item/organ/heart,/obj/effect/decal/cleanable/blood,/obj/item/food/grown/poppy)
result_atoms = list(/obj/item/living_heart)
route = "Start"
diff --git a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm
index 22cdf90eaca..9a1d2066fba 100644
--- a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm
+++ b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm
@@ -14,7 +14,7 @@
desc = "Allows you to resurrect the dead as voiceless dead by sacrificing them on the transmutation rune with a poppy. Voiceless dead are mute and have 50 HP. You can only have 2 at a time."
gain_text = "I found notes of a dark ritual, unfinished... yet still, I pushed forward."
cost = 1
- required_atoms = list(/mob/living/carbon/human,/obj/item/reagent_containers/food/snacks/grown/poppy)
+ required_atoms = list(/mob/living/carbon/human,/obj/item/food/grown/poppy)
next_knowledge = list(/datum/eldritch_knowledge/flesh_mark,/datum/eldritch_knowledge/void_cloak,/datum/eldritch_knowledge/ashen_eyes)
route = PATH_FLESH
var/max_amt = 2
diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm
index 17c88401fdc..6cd633ee515 100644
--- a/code/modules/cargo/bounties/assistant.dm
+++ b/code/modules/cargo/bounties/assistant.dm
@@ -122,7 +122,7 @@
description = "Commander Zot has the hots for Commander Zena. Send a shipment of geraniums - her favorite flower - and he'll happily reward you."
reward = 4000
required_count = 3
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy/geranium)
+ wanted_types = list(/obj/item/food/grown/poppy/geranium)
include_subtypes = FALSE
/datum/bounty/item/assistant/poppy
@@ -130,7 +130,7 @@
description = "Commander Zot really wants to sweep Security Officer Olivia off her feet. Send a shipment of Poppies - her favorite flower - and he'll happily reward you."
reward = 1000
required_count = 3
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/poppy)
+ wanted_types = list(/obj/item/food/grown/poppy)
include_subtypes = FALSE
/datum/bounty/item/assistant/shadyjims
diff --git a/code/modules/cargo/bounties/botany.dm b/code/modules/cargo/bounties/botany.dm
index e924aa42931..a08382d8f25 100644
--- a/code/modules/cargo/bounties/botany.dm
+++ b/code/modules/cargo/bounties/botany.dm
@@ -12,190 +12,190 @@
/datum/bounty/item/botany/ambrosia_vulgaris
name = "Ambrosia Vulgaris Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris)
+ wanted_types = list(/obj/item/food/grown/ambrosia/vulgaris)
foodtype = "stew"
/datum/bounty/item/botany/ambrosia_gaia
name = "Ambrosia Gaia Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia)
+ wanted_types = list(/obj/item/food/grown/ambrosia/gaia)
multiplier = 4
foodtype = "stew"
/datum/bounty/item/botany/apple_golden
name = "Golden Apples"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/apple/gold)
+ wanted_types = list(/obj/item/food/grown/apple/gold)
multiplier = 4
foodtype = "dessert"
/datum/bounty/item/botany/banana
name = "Bananas"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/banana)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/banana/bluespace)
+ wanted_types = list(/obj/item/food/grown/banana)
+ exclude_types = list(/obj/item/food/grown/banana/bluespace)
foodtype = "banana split"
/datum/bounty/item/botany/banana_bluespace
name = "Bluespace Bananas"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/banana/bluespace)
+ wanted_types = list(/obj/item/food/grown/banana/bluespace)
multiplier = 2
foodtype = "banana split"
/datum/bounty/item/botany/beans_koi
name = "Koi Beans"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/koibeans)
+ wanted_types = list(/obj/item/food/grown/koibeans)
multiplier = 2
/datum/bounty/item/botany/berries_death
name = "Death Berries"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/death)
+ wanted_types = list(/obj/item/food/grown/berries/death)
multiplier = 2
bonus_desc = "He insists that \"he knows what he's doing\"."
foodtype = "sorbet"
/datum/bounty/item/botany/berries_glow
name = "Glow-Berries"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/glow)
+ wanted_types = list(/obj/item/food/grown/berries/glow)
multiplier = 2
foodtype = "sorbet"
/datum/bounty/item/botany/cannabis
name = "Cannabis Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white, /obj/item/reagent_containers/food/snacks/grown/cannabis/death, /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
+ wanted_types = list(/obj/item/food/grown/cannabis)
+ exclude_types = list(/obj/item/food/grown/cannabis/white, /obj/item/food/grown/cannabis/death, /obj/item/food/grown/cannabis/ultimate)
multiplier = 4 //hush money
bonus_desc = "Do not mention this shipment to security."
foodtype = "batch of \"muffins\""
/datum/bounty/item/botany/cannabis_white
name = "Lifeweed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white)
+ wanted_types = list(/obj/item/food/grown/cannabis/white)
multiplier = 6
bonus_desc = "Do not mention this shipment to security."
foodtype = "\"meal\""
/datum/bounty/item/botany/cannabis_death
name = "Deathweed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/death)
+ wanted_types = list(/obj/item/food/grown/cannabis/death)
multiplier = 6
bonus_desc = "Do not mention this shipment to security."
foodtype = "\"meal\""
/datum/bounty/item/botany/cannabis_ultimate
name = "Omega Weed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
+ wanted_types = list(/obj/item/food/grown/cannabis/ultimate)
multiplier = 6
bonus_desc = "Under no circumstances mention this shipment to security."
foodtype = "batch of \"brownies\""
/datum/bounty/item/botany/wheat
name = "Wheat Grains"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/wheat)
+ wanted_types = list(/obj/item/food/grown/wheat)
/datum/bounty/item/botany/rice
name = "Rice Grains"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/rice)
+ wanted_types = list(/obj/item/food/grown/rice)
/datum/bounty/item/botany/chili
name = "Chili Peppers"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/chili)
+ wanted_types = list(/obj/item/food/grown/chili)
/datum/bounty/item/botany/ice_chili
name = "Chilly Peppers"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/icepepper)
+ wanted_types = list(/obj/item/food/grown/icepepper)
multiplier = 2
/datum/bounty/item/botany/ghost_chili
name = "Ghost Chili Peppers"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ghost_chili)
+ wanted_types = list(/obj/item/food/grown/ghost_chili)
multiplier = 2
/datum/bounty/item/botany/citrus_lime
name = "Limes"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lime)
+ wanted_types = list(/obj/item/food/grown/citrus/lime)
foodtype = "sorbet"
/datum/bounty/item/botany/citrus_lemon
name = "Lemons"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lemon)
+ wanted_types = list(/obj/item/food/grown/citrus/lemon)
foodtype = "sorbet"
/datum/bounty/item/botany/citrus_oranges
name = "Oranges"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/citrus/orange)
+ wanted_types = list(/obj/item/food/grown/citrus/orange)
bonus_desc = "Do not ship lemons or limes." //I vanted orahnge!
foodtype = "sorbet"
/datum/bounty/item/botany/eggplant
name = "Eggplants"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/eggplant)
+ wanted_types = list(/obj/item/food/grown/eggplant)
bonus_desc = "Not to be confused with egg-plants."
/datum/bounty/item/botany/eggplant_eggy
name = "Egg-plants"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/shell/eggy)
+ wanted_types = list(/obj/item/food/grown/shell/eggy)
bonus_desc = "Not to be confused with eggplants."
multiplier = 2
/datum/bounty/item/botany/kudzu
name = "Kudzu Pods"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/kudzupod)
+ wanted_types = list(/obj/item/food/grown/kudzupod)
bonus_desc = "Store in a dry, dark place."
multiplier = 4
/datum/bounty/item/botany/watermelon
name = "Watermelons"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/watermelon)
+ wanted_types = list(/obj/item/food/grown/watermelon)
foodtype = "dessert"
/datum/bounty/item/botany/watermelon_holy
name = "Holy Melons"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/holymelon)
+ wanted_types = list(/obj/item/food/grown/holymelon)
multiplier = 2
foodtype = "dessert"
/datum/bounty/item/botany/glowshroom
name = "Glowshrooms"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap, /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom)
+ wanted_types = list(/obj/item/food/grown/mushroom/glowshroom)
+ exclude_types = list(/obj/item/food/grown/mushroom/glowshroom/glowcap, /obj/item/food/grown/mushroom/glowshroom/shadowshroom)
foodtype = "omelet"
/datum/bounty/item/botany/glowshroom_cap
name = "Glowcaps"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap)
+ wanted_types = list(/obj/item/food/grown/mushroom/glowshroom/glowcap)
multiplier = 2
foodtype = "omelet"
/datum/bounty/item/botany/glowshroom_shadow
name = "Shadowshrooms"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom)
+ wanted_types = list(/obj/item/food/grown/mushroom/glowshroom/shadowshroom)
multiplier = 2
foodtype = "omelet"
/datum/bounty/item/botany/nettles_death
name = "Death Nettles"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/nettle/death)
+ wanted_types = list(/obj/item/food/grown/nettle/death)
multiplier = 2
bonus_desc = "Wear protection when handling them."
foodtype = "cheese"
/datum/bounty/item/botany/pineapples
name = "Pineapples"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/pineapple)
+ wanted_types = list(/obj/item/food/grown/pineapple)
bonus_desc = "Not for human consumption."
foodtype = "ashtray"
/datum/bounty/item/botany/tomato
name = "Tomatoes"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato/blue)
+ wanted_types = list(/obj/item/food/grown/tomato)
+ exclude_types = list(/obj/item/food/grown/tomato/blue)
/datum/bounty/item/botany/tomato_bluespace
name = "Bluespace Tomatoes"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato/blue/bluespace)
+ wanted_types = list(/obj/item/food/grown/tomato/blue/bluespace)
multiplier = 4
/datum/bounty/item/botany/oatz
name = "Oats"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/oat)
+ wanted_types = list(/obj/item/food/grown/oat)
multiplier = 2
foodtype = "batch of oatmeal"
bonus_desc = "Squats and oats. We're all out of oats."
diff --git a/code/modules/cargo/bounties/mining.dm b/code/modules/cargo/bounties/mining.dm
index 4fb5c86ee96..6be93979839 100644
--- a/code/modules/cargo/bounties/mining.dm
+++ b/code/modules/cargo/bounties/mining.dm
@@ -61,11 +61,11 @@
description = "Our botanist claims that he can distill tasty liquor from absolutely any plant. Let's see what he'll do with Inocybe mushroom caps."
reward = 4500
required_count = 3
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap)
+ wanted_types = list(/obj/item/food/grown/ash_flora/mushroom_cap)
/datum/bounty/item/mining/porcini_mushroom
name = "Mushroom Leaves"
description = "Porcini mushroom leaves are rumored to have healing properties. Our researchers want to put that claim to the test."
reward = 4500
required_count = 3
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf)
+ wanted_types = list(/obj/item/food/grown/ash_flora/mushroom_leaf)
diff --git a/code/modules/cargo/exports/food_and_drink.dm b/code/modules/cargo/exports/food_and_drink.dm
index 21bea0c51d6..6b645ee1669 100644
--- a/code/modules/cargo/exports/food_and_drink.dm
+++ b/code/modules/cargo/exports/food_and_drink.dm
@@ -8,7 +8,7 @@
message = "of food"
export_types = list(/obj/item/reagent_containers/food/snacks)
include_subtypes = TRUE
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown)
+ exclude_types = list(/obj/item/food/grown)
/datum/export/food/get_cost(obj/O, allowed_categories, apply_elastic)
. = ..()
diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm
index da2d0a9fc09..60cd706c844 100644
--- a/code/modules/cargo/packs.dm
+++ b/code/modules/cargo/packs.dm
@@ -1722,21 +1722,21 @@
/obj/item/reagent_containers/food/condiment/enzyme,
/obj/item/reagent_containers/food/condiment/sugar,
/obj/item/food/meat/slab/monkey,
- /obj/item/reagent_containers/food/snacks/grown/banana,
- /obj/item/reagent_containers/food/snacks/grown/banana,
- /obj/item/reagent_containers/food/snacks/grown/banana)
+ /obj/item/food/grown/banana,
+ /obj/item/food/grown/banana,
+ /obj/item/food/grown/banana)
crate_name = "food crate"
/datum/supply_pack/organic/randomized/chef/fruits
name = "Fruit Crate"
desc = "Rich of vitamins, may contain oranges."
cost = 1500
- contains = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lime,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange,
- /obj/item/reagent_containers/food/snacks/grown/watermelon,
- /obj/item/reagent_containers/food/snacks/grown/apple,
- /obj/item/reagent_containers/food/snacks/grown/berries,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon)
+ contains = list(/obj/item/food/grown/citrus/lime,
+ /obj/item/food/grown/citrus/orange,
+ /obj/item/food/grown/watermelon,
+ /obj/item/food/grown/apple,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/citrus/lemon)
crate_name = "food crate"
/datum/supply_pack/organic/cream_piee
@@ -1846,14 +1846,14 @@
name = "Vegetables Crate"
desc = "Grown in vats."
cost = 1300
- contains = list(/obj/item/reagent_containers/food/snacks/grown/chili,
- /obj/item/reagent_containers/food/snacks/grown/corn,
- /obj/item/reagent_containers/food/snacks/grown/tomato,
- /obj/item/reagent_containers/food/snacks/grown/potato,
- /obj/item/reagent_containers/food/snacks/grown/carrot,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle,
- /obj/item/reagent_containers/food/snacks/grown/onion,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin)
+ contains = list(/obj/item/food/grown/chili,
+ /obj/item/food/grown/corn,
+ /obj/item/food/grown/tomato,
+ /obj/item/food/grown/potato,
+ /obj/item/food/grown/carrot,
+ /obj/item/food/grown/mushroom/chanterelle,
+ /obj/item/food/grown/onion,
+ /obj/item/food/grown/pumpkin)
crate_name = "food crate"
/datum/supply_pack/organic/grill
@@ -2079,9 +2079,9 @@
num_contained = 7
contains = list(/obj/item/poster/random_contraband,
/obj/item/poster/random_contraband,
- /obj/item/reagent_containers/food/snacks/grown/cannabis,
- /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow,
- /obj/item/reagent_containers/food/snacks/grown/cannabis/white,
+ /obj/item/food/grown/cannabis,
+ /obj/item/food/grown/cannabis/rainbow,
+ /obj/item/food/grown/cannabis/white,
/obj/item/storage/box/fireworks/dangerous,
/obj/item/storage/pill_bottle/zoom,
/obj/item/storage/pill_bottle/happy,
@@ -2422,8 +2422,8 @@
cost = 600
access_view = ACCESS_CHAPEL_OFFICE
contains = list(/obj/item/clothing/under/misc/burial,
- /obj/item/reagent_containers/food/snacks/grown/harebell,
- /obj/item/reagent_containers/food/snacks/grown/poppy/geranium)
+ /obj/item/food/grown/harebell,
+ /obj/item/food/grown/poppy/geranium)
crate_name = "coffin"
crate_type = /obj/structure/closet/crate/coffin
diff --git a/code/modules/clothing/outfits/ert.dm b/code/modules/clothing/outfits/ert.dm
index 56eb04e3d38..5f26eaeb33c 100644
--- a/code/modules/clothing/outfits/ert.dm
+++ b/code/modules/clothing/outfits/ert.dm
@@ -298,7 +298,7 @@
belt = /obj/item/storage/belt/champion
shoes = /obj/item/clothing/shoes/clown_shoes/combat
r_pocket = /obj/item/bikehorn/golden
- l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana
+ l_pocket = /obj/item/food/grown/banana
backpack_contents = list(/obj/item/storage/box/hug/survival=1,\
/obj/item/melee/transforming/energy/sword/bananium=1,\
/obj/item/shield/energy/bananium=1,\
diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm
index bc52bb6e657..5fa632d8af8 100644
--- a/code/modules/clothing/outfits/standard.dm
+++ b/code/modules/clothing/outfits/standard.dm
@@ -159,7 +159,7 @@
ears = /obj/item/radio/headset
glasses = /obj/item/clothing/glasses/thermal/monocle
suit = /obj/item/clothing/suit/hooded/chaplain_hoodie
- l_pocket = /obj/item/reagent_containers/food/snacks/grown/banana
+ l_pocket = /obj/item/food/grown/banana
r_pocket = /obj/item/bikehorn
id = /obj/item/card/id
l_hand = /obj/item/fireaxe
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index e5ac220f629..3718e285cae 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -270,7 +270,7 @@ Contains:
icon_state = "ert_clown"
inhand_icon_state = "ert_clown"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/clown
- allowed = list(/obj/item/tank/internals, /obj/item/bikehorn, /obj/item/instrument, /obj/item/reagent_containers/food/snacks/grown/banana, /obj/item/grown/bananapeel)
+ allowed = list(/obj/item/tank/internals, /obj/item/bikehorn, /obj/item/instrument, /obj/item/food/grown/banana, /obj/item/grown/bananapeel)
/obj/item/clothing/suit/space/eva
name = "EVA suit"
diff --git a/code/modules/clothing/suits/chaplainsuits.dm b/code/modules/clothing/suits/chaplainsuits.dm
index b1baccd7850..07a61c2d458 100644
--- a/code/modules/clothing/suits/chaplainsuits.dm
+++ b/code/modules/clothing/suits/chaplainsuits.dm
@@ -84,4 +84,4 @@
inhand_icon_state = "clownpriest"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
- allowed = list(/obj/item/megaphone/clown, /obj/item/soap, /obj/item/food/pie/cream, /obj/item/bikehorn, /obj/item/bikehorn/golden, /obj/item/bikehorn/airhorn, /obj/item/instrument/bikehorn, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter, /obj/item/toy/crayon, /obj/item/toy/crayon/spraycan, /obj/item/toy/crayon/spraycan/lubecan, /obj/item/grown/bananapeel, /obj/item/reagent_containers/food/snacks/grown/banana)
+ allowed = list(/obj/item/megaphone/clown, /obj/item/soap, /obj/item/food/pie/cream, /obj/item/bikehorn, /obj/item/bikehorn/golden, /obj/item/bikehorn/airhorn, /obj/item/instrument/bikehorn, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter, /obj/item/toy/crayon, /obj/item/toy/crayon/spraycan, /obj/item/toy/crayon/spraycan/lubecan, /obj/item/grown/bananapeel, /obj/item/food/grown/banana)
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index b1e7daeb552..358cfa31eb6 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -43,8 +43,6 @@ All foods are distributed among various categories. Use common sense.
var/slice_path // for sliceable food. path of the item resulting from the slicing
var/slices_num
var/eatverb
- var/dried_type = null
- var/dry = 0
var/cooked_type = null //for microwave cooking. path of the resulting item after microwaving
var/filling_color = "#FFFFFF" //color to use when added to custom food.
var/custom_food_type = null //for food customizing. path of the custom food to create
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index 29f38c66189..ce41f3da52e 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -135,7 +135,7 @@
/obj/machinery/smartfridge/proc/accept_check(obj/item/O)
- if(istype(O, /obj/item/reagent_containers/food/snacks/grown/) || istype(O, /obj/item/seeds/) || istype(O, /obj/item/grown/) || istype(O, /obj/item/graft/))
+ if(istype(O, /obj/item/food/grown/) || istype(O, /obj/item/seeds/) || istype(O, /obj/item/grown/) || istype(O, /obj/item/graft/))
return TRUE
return FALSE
@@ -307,8 +307,8 @@
if(!powered())
toggle_drying(TRUE)
-/obj/machinery/smartfridge/drying_rack/load() //For updating the filled overlay
- ..()
+/obj/machinery/smartfridge/drying_rack/load(/obj/item/dried_object) //For updating the filled overlay
+ . = ..()
update_icon()
/obj/machinery/smartfridge/drying_rack/update_overlays()
@@ -321,16 +321,16 @@
/obj/machinery/smartfridge/drying_rack/process()
..()
if(drying)
- if(rack_dry())//no need to update unless something got dried
- SStgui.update_uis(src)
- update_icon()
+ for(var/obj/item/item_iterator in src)
+ if(!accept_check(item_iterator))
+ continue
+ rack_dry(item_iterator)
+
+ SStgui.update_uis(src)
+ update_icon()
/obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O)
- if(istype(O, /obj/item/reagent_containers/food/snacks/))
- var/obj/item/reagent_containers/food/snacks/S = O
- if(S.dried_type)
- return TRUE
- if(istype(O, /obj/item/stack/sheet/wethide))
+ if(HAS_TRAIT(O, TRAIT_DRYABLE)) //set on dryable element
return TRUE
return FALSE
@@ -343,22 +343,8 @@
use_power = ACTIVE_POWER_USE
update_icon()
-/obj/machinery/smartfridge/drying_rack/proc/rack_dry()
- for(var/obj/item/reagent_containers/food/snacks/S in src)
- if(S.dried_type == S.type)//if the dried type is the same as the object's type, don't bother creating a whole new item...
- S.add_atom_colour("#ad7257", FIXED_COLOUR_PRIORITY)
- S.dry = TRUE
- S.forceMove(drop_location())
- else
- var/dried = S.dried_type
- new dried(drop_location())
- qdel(S)
- return TRUE
- for(var/obj/item/stack/sheet/wethide/WL in src)
- new /obj/item/stack/sheet/leather(drop_location(), WL.amount)
- qdel(WL)
- return TRUE
- return FALSE
+/obj/machinery/smartfridge/drying_rack/proc/rack_dry(obj/item/target)
+ SEND_SIGNAL(target, COMSIG_ITEM_DRIED)
/obj/machinery/smartfridge/drying_rack/emp_act(severity)
. = ..()
diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm
index ce81fb56e46..44d49b07817 100644
--- a/code/modules/food_and_drinks/recipes/processor_recipes.dm
+++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm
@@ -14,23 +14,23 @@
output = /obj/item/food/meat/rawbacon
/datum/food_processor_process/potatowedges
- input = /obj/item/reagent_containers/food/snacks/grown/potato/wedges
+ input = /obj/item/food/grown/potato/wedges
output = /obj/item/food/fries
/datum/food_processor_process/sweetpotato
- input = /obj/item/reagent_containers/food/snacks/grown/potato/sweet
+ input = /obj/item/food/grown/potato/sweet
output = /obj/item/food/yakiimo
/datum/food_processor_process/potato
- input = /obj/item/reagent_containers/food/snacks/grown/potato
+ input = /obj/item/food/grown/potato
output = /obj/item/food/tatortot
/datum/food_processor_process/carrot
- input = /obj/item/reagent_containers/food/snacks/grown/carrot
+ input = /obj/item/food/grown/carrot
output = /obj/item/food/carrotfries
/datum/food_processor_process/soybeans
- input = /obj/item/reagent_containers/food/snacks/grown/soybeans
+ input = /obj/item/food/grown/soybeans
output = /obj/item/food/soydope
/datum/food_processor_process/spaghetti
@@ -38,7 +38,7 @@
output = /obj/item/food/spaghetti
/datum/food_processor_process/corn
- input = /obj/item/reagent_containers/food/snacks/grown/corn
+ input = /obj/item/food/grown/corn
output = /obj/item/food/tortilla
/datum/food_processor_process/tortilla
@@ -46,7 +46,7 @@
output = /obj/item/food/cornchips
/datum/food_processor_process/parsnip
- input = /obj/item/reagent_containers/food/snacks/grown/parsnip
+ input = /obj/item/food/grown/parsnip
output = /obj/item/food/roastparsnip
/datum/food_processor_process/mob/slime
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
index c5bc162127f..6afa6919574 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm
@@ -39,7 +39,7 @@
/datum/reagent/consumable/milk = 5,
/obj/item/food/bread/plain = 1,
/obj/item/food/boiledegg = 3,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1
+ /obj/item/food/grown/banana = 1
)
result = /obj/item/food/bread/banana
subcategory = CAT_BREAD
@@ -70,7 +70,7 @@
/datum/reagent/consumable/soymilk = 5,
/obj/item/food/bread/plain = 1,
/obj/item/food/tofu = 3,
- /obj/item/reagent_containers/food/snacks/grown/banana/mime = 1
+ /obj/item/food/grown/banana/mime = 1
)
result = /obj/item/food/bread/mimana
subcategory = CAT_BREAD
@@ -78,7 +78,7 @@
/datum/crafting_recipe/food/garlicbread
name = "Garlic Bread"
time = 40
- reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 1,
+ reqs = list(/obj/item/food/grown/garlic = 1,
/obj/item/food/breadslice/plain = 1,
/obj/item/food/butter = 1
)
@@ -107,7 +107,7 @@
name = "Moldy Bread"
reqs = list(
/obj/item/food/breadslice/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
+ /obj/item/food/grown/mushroom/amanita = 1
)
result = /obj/item/food/breadslice/moldy
subcategory = CAT_BREAD
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
index 5317b242cb5..4f8503f98a3 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm
@@ -233,7 +233,7 @@
/datum/reagent/consumable/salt = 5,
/datum/reagent/consumable/blackpepper = 5,
/obj/item/food/meat/steak/plain = 5,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 4,
+ /obj/item/food/grown/tomato = 4,
/obj/item/food/cheesewedge = 3,
/obj/item/food/boiledegg = 1,
/obj/item/food/meat/bacon = 1,
@@ -265,7 +265,7 @@
name = "Five alarm burger"
reqs = list(
/obj/item/food/meat/steak/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
+ /obj/item/food/grown/ghost_chili = 2,
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/fivealarm
@@ -343,7 +343,7 @@
name = "McRib"
reqs = list(
/obj/item/food/bbqribs = 1, //The sauce is already included in the ribs
- /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome.
+ /obj/item/food/onion_slice = 1, //feel free to remove if too burdensome.
/obj/item/food/bun = 1
)
result = /obj/item/food/burger/rib
@@ -375,8 +375,8 @@
/obj/item/food/meat/steak/plain = 2,
/obj/item/food/bun = 1,
/obj/item/food/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ /obj/item/food/grown/chili = 1,
+ /obj/item/food/grown/cabbage = 1,
/obj/item/toy/crayon/green = 1,
/obj/item/flashlight/flare = 1,
/datum/reagent/consumable/cooking_oil = 15
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
index 5929831bac6..909a877de1f 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm
@@ -7,7 +7,7 @@
name = "Carrot cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 2
+ /obj/item/food/grown/carrot = 2
)
result = /obj/item/food/cake/carrot
subcategory = CAT_CAKE
@@ -25,7 +25,7 @@
name = "Apple cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 2
+ /obj/item/food/grown/apple = 2
)
result = /obj/item/food/cake/apple
subcategory = CAT_CAKE
@@ -34,7 +34,7 @@
name = "Orange cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2
+ /obj/item/food/grown/citrus/orange = 2
)
result = /obj/item/food/cake/orange
subcategory = CAT_CAKE
@@ -43,7 +43,7 @@
name = "Lime cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2
+ /obj/item/food/grown/citrus/lime = 2
)
result = /obj/item/food/cake/lime
subcategory = CAT_CAKE
@@ -52,7 +52,7 @@
name = "Lemon cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2
+ /obj/item/food/grown/citrus/lemon = 2
)
result = /obj/item/food/cake/lemon
subcategory = CAT_CAKE
@@ -109,7 +109,7 @@
name = "Pumpkin spice cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin = 2
+ /obj/item/food/grown/pumpkin = 2
)
result = /obj/item/food/cake/pumpkinspice
subcategory = CAT_CAKE
@@ -146,7 +146,7 @@
reqs = list(
/obj/item/food/cake/plain = 1,
/obj/item/food/chocolatebar = 2,
- /obj/item/reagent_containers/food/snacks/grown/berries = 5
+ /obj/item/food/grown/berries = 5
)
result = /obj/item/food/cake/bscc
subcategory = CAT_CAKE
@@ -155,7 +155,7 @@
name = "blackberry and strawberry vanilla cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 5
+ /obj/item/food/grown/berries = 5
)
result = /obj/item/food/cake/bsvc
subcategory = CAT_CAKE
@@ -166,7 +166,7 @@
reqs = list(
/obj/item/food/cake/plain = 1,
/obj/item/food/sundae = 2,
- /obj/item/reagent_containers/food/snacks/grown/banana = 5
+ /obj/item/food/grown/banana = 5
)
result = /obj/item/food/cake/clown_cake
subcategory = CAT_CAKE
@@ -176,7 +176,7 @@
always_available = FALSE
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2
+ /obj/item/food/grown/vanillapod = 2
)
result = /obj/item/food/cake/vanilla_cake
subcategory = CAT_CAKE
@@ -185,7 +185,7 @@
name = "Spaceman's Cake"
reqs = list(
/obj/item/food/cake/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/trumpet = 2,
+ /obj/item/food/grown/trumpet = 2,
/datum/reagent/consumable/cream = 5,
/datum/reagent/consumable/berryjuice = 5
)
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm
index c72f713fc98..813b8f63ebd 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm
@@ -139,7 +139,7 @@
time = 30
reqs = list(/obj/item/storage/bag/trash = 1,
/obj/item/food/breadslice/moldy = 1,
- /obj/item/reagent_containers/food/snacks/grown = 4,
+ /obj/item/food/grown = 4,
/obj/item/food/candy_corn = 2,
/datum/reagent/water = 15)
category = CAT_DRINK
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
index 879349d37a2..3881d1aa47c 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm
@@ -46,8 +46,8 @@
reqs = list(
/obj/item/food/salad/boiledrice = 1,
/obj/item/food/boiledegg = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/corn = 1
)
result = /obj/item/food/salad/eggbowl
subcategory = CAT_EGG
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
index f42a7559f6d..a5df3ad8003 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm
@@ -18,7 +18,7 @@
reqs = list(
/datum/reagent/consumable/cream = 5,
/datum/reagent/consumable/ice = 5,
- /obj/item/reagent_containers/food/snacks/grown/berries = 2,
+ /obj/item/food/grown/berries = 2,
)
result = /obj/item/food/strawberryicecreamsandwich
subcategory = CAT_ICE
@@ -37,8 +37,8 @@
name ="Sundae"
reqs = list(
/datum/reagent/consumable/cream = 5,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/food/grown/cherries = 1,
+ /obj/item/food/grown/banana = 1,
/obj/item/reagent_containers/food/snacks/icecream = 1
)
result = /obj/item/food/sundae
@@ -49,8 +49,8 @@
reqs = list(
/datum/reagent/consumable/cream = 5,
/obj/item/clothing/mask/gas/clown_hat = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 2,
+ /obj/item/food/grown/cherries = 1,
+ /obj/item/food/grown/banana = 2,
/obj/item/reagent_containers/food/snacks/icecream = 1
)
result = /obj/item/food/honkdae
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
index cc4a7897c0b..bb988896c51 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm
@@ -42,10 +42,10 @@
name = "Fiesta Skewer"
reqs = list(
/obj/item/stack/rods = 1,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/food/grown/chili = 1,
/obj/item/food/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/corn = 1,
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/kebab/fiesta
subcategory = CAT_MEAT
@@ -56,7 +56,7 @@
name = "Cuban carp"
reqs = list(
/datum/reagent/consumable/flour = 5,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/food/grown/chili = 1,
/obj/item/food/carpmeat = 1
)
result = /obj/item/food/cubancarp
@@ -84,8 +84,8 @@
/datum/crafting_recipe/food/fishfry
name = "Fish fry"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/peas = 1,
+ /obj/item/food/grown/corn = 1,
+ /obj/item/food/grown/peas = 1,
/obj/item/food/carpmeat = 1
)
result = /obj/item/food/fishfry
@@ -120,7 +120,7 @@
reqs = list(
/datum/reagent/consumable/salt = 5,
/obj/item/food/meat/steak = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 2
+ /obj/item/food/grown/cabbage = 2
)
result = /obj/item/food/cornedbeef
subcategory = CAT_MEAT
@@ -139,7 +139,7 @@
name = "Enchiladas"
reqs = list(
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 2,
+ /obj/item/food/grown/chili = 2,
/obj/item/food/tortilla = 2
)
result = /obj/item/food/enchiladas
@@ -149,8 +149,8 @@
name = "Stewed soymeat"
reqs = list(
/obj/item/food/soydope = 2,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/stewedsoymeat
subcategory = CAT_MEAT
@@ -176,7 +176,7 @@
name = "Raw Khinkali"
reqs = list(
/obj/item/food/doughslice = 1,
- /obj/item/reagent_containers/food/snacks/grown/garlic = 1,
+ /obj/item/food/grown/garlic = 1,
/obj/item/food/meatball = 1
)
result = /obj/item/food/rawkhinkali
@@ -233,7 +233,7 @@
name = "Meat Clown"
reqs = list(
/obj/item/food/meat/steak/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1
+ /obj/item/food/grown/banana = 1
)
result = /obj/item/food/meatclown
subcategory = CAT_MEAT
@@ -242,7 +242,7 @@
name = "Lasagna"
reqs = list(
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1,
+ /obj/item/food/grown/tomato = 1,
/obj/item/food/cheesewedge = 2,
/obj/item/food/spaghetti = 1
)
@@ -253,8 +253,8 @@
name = "Black eyed gumbo"
reqs = list(
/obj/item/food/salad/boiledrice = 1,
- /obj/item/reagent_containers/food/snacks/grown/peas = 1,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
+ /obj/item/food/grown/peas = 1,
+ /obj/item/food/grown/chili = 1,
/obj/item/food/meat/cutlet = 1
)
result = /obj/item/food/salad/gumbo
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
index e5adbfc4a82..91f54426fd8 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm
@@ -7,7 +7,7 @@
name = "Candied apple"
reqs = list(
/datum/reagent/consumable/caramel = 5,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ /obj/item/food/grown/apple = 1
)
result = /obj/item/food/candiedapple
subcategory = CAT_MISCFOOD
@@ -43,7 +43,7 @@
/datum/crafting_recipe/food/chocoorange
name = "Choco orange"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
+ /obj/item/food/grown/citrus/orange = 1,
/obj/item/food/chocolatebar = 1,
)
result = /obj/item/food/chocoorange
@@ -53,7 +53,7 @@
name = "Loaded baked potato"
time = 40
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/food/grown/potato = 1,
/obj/item/food/cheesewedge = 1
)
result = /obj/item/food/loadedbakedpotato
@@ -72,7 +72,7 @@
name = "Wrap"
reqs = list(/datum/reagent/consumable/soysauce = 10,
/obj/item/food/friedegg = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ /obj/item/food/grown/cabbage = 1,
)
result = /obj/item/food/eggwrap
subcategory = CAT_MISCFOOD
@@ -81,7 +81,7 @@
name = "Beans"
time = 40
reqs = list(/datum/reagent/consumable/ketchup = 5,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
+ /obj/item/food/grown/soybeans = 2
)
result = /obj/item/food/canned/beans
subcategory = CAT_MISCFOOD
@@ -90,7 +90,7 @@
name ="Eggplant parmigiana"
reqs = list(
/obj/item/food/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/grown/eggplant = 1
+ /obj/item/food/grown/eggplant = 1
)
result = /obj/item/food/eggplantparm
subcategory = CAT_MISCFOOD
@@ -147,7 +147,7 @@
name ="Burrito"
reqs = list(
/obj/item/food/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 2
+ /obj/item/food/grown/soybeans = 2
)
result = /obj/item/food/burrito
subcategory = CAT_MISCFOOD
@@ -155,9 +155,9 @@
/datum/crafting_recipe/food/cheesyburrito
name ="Cheesy burrito"
reqs = list(
- /obj/item/food/tortilla = 1,
/obj/item/food/cheesewedge = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ /obj/item/food/tortilla = 1,
+ /obj/item/food/grown/soybeans = 1
)
result = /obj/item/food/cheesyburrito
subcategory = CAT_MISCFOOD
@@ -167,7 +167,7 @@
reqs = list(
/obj/item/food/tortilla = 1,
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ /obj/item/food/grown/soybeans = 1
)
result = /obj/item/food/carneburrito
subcategory = CAT_MISCFOOD
@@ -176,8 +176,8 @@
name ="Fuego plasma burrito"
reqs = list(
/obj/item/food/tortilla = 1,
- /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ /obj/item/food/grown/ghost_chili = 2,
+ /obj/item/food/grown/soybeans = 1
)
result = /obj/item/food/fuegoburrito
subcategory = CAT_MISCFOOD
@@ -185,12 +185,12 @@
/datum/crafting_recipe/food/melonfruitbowl
name ="Melon fruit bowl"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/watermelon = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia = 1
+ /obj/item/food/grown/watermelon = 1,
+ /obj/item/food/grown/apple = 1,
+ /obj/item/food/grown/citrus/orange = 1,
+ /obj/item/food/grown/citrus/lemon = 1,
+ /obj/item/food/grown/banana = 1,
+ /obj/item/food/grown/ambrosia = 1
)
result = /obj/item/food/melonfruitbowl
subcategory = CAT_MISCFOOD
@@ -218,7 +218,7 @@
name ="Cuban nachos"
reqs = list(
/datum/reagent/consumable/ketchup = 5,
- /obj/item/reagent_containers/food/snacks/grown/chili = 2,
+ /obj/item/food/grown/chili = 2,
/obj/item/food/tortilla = 1
)
result = /obj/item/food/cubannachos
@@ -228,7 +228,7 @@
name ="Melon keg"
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 25,
- /obj/item/reagent_containers/food/snacks/grown/holymelon = 1,
+ /obj/item/food/grown/holymelon = 1,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 1
)
parts = list(/obj/item/reagent_containers/food/drinks/bottle/vodka = 1)
@@ -238,7 +238,7 @@
/datum/crafting_recipe/food/honeybar
name = "Honey nut bar"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/oat = 1,
+ /obj/item/food/grown/oat = 1,
/datum/reagent/consumable/honey = 5
)
result = /obj/item/food/honeybar
@@ -276,7 +276,7 @@
/obj/item/food/tortilla = 1,
/obj/item/food/cheesewedge = 1,
/obj/item/food/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ /obj/item/food/grown/cabbage = 1,
)
result = /obj/item/food/taco
subcategory = CAT_MISCFOOD
@@ -294,7 +294,7 @@
/datum/crafting_recipe/food/branrequests
name = "Bran Requests Cereal"
reqs = list(
- /obj/item/reagent_containers/food/snacks/grown/wheat = 1,
+ /obj/item/food/grown/wheat = 1,
/obj/item/food/no_raisin = 1,
)
result = /obj/item/food/branrequests
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
index 428bdddff66..1b143353501 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm
@@ -288,7 +288,7 @@
name = "Soylent viridians"
reqs = list(
/obj/item/food/pastrybase = 2,
- /obj/item/reagent_containers/food/snacks/grown/soybeans = 1
+ /obj/item/food/grown/soybeans = 1
)
result = /obj/item/reagent_containers/food/snacks/soylenviridians
subcategory = CAT_PASTRY
@@ -324,7 +324,7 @@
name = "Blueberry pancake"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1
+ /obj/item/food/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/pancakes/blueberry
subcategory = CAT_PASTRY
@@ -356,7 +356,7 @@
name = "Dank-pocket"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/cannabis = 1
+ /obj/item/food/grown/cannabis = 1
)
result = /obj/item/reagent_containers/food/snacks/dankpocket
subcategory = CAT_PASTRY
@@ -367,7 +367,7 @@
reqs = list(
/obj/item/food/pastrybase = 1,
/obj/item/food/meatball = 1,
- /obj/item/reagent_containers/food/snacks/grown/chili
+ /obj/item/food/grown/chili
)
result = /obj/item/reagent_containers/food/snacks/donkpocket/spicy
subcategory = CAT_PASTRY
@@ -389,7 +389,7 @@
reqs = list(
/obj/item/food/pastrybase = 1,
/obj/item/food/meatball = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/reagent_containers/food/snacks/donkpocket/pizza
subcategory = CAT_PASTRY
@@ -399,7 +399,7 @@
name = "Honk-Pocket"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/food/grown/banana = 1,
/datum/reagent/consumable/sugar = 3
)
result = /obj/item/reagent_containers/food/snacks/donkpocket/honk
@@ -410,7 +410,7 @@
name = "Berry-pocket"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1
+ /obj/item/food/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/donkpocket/berry
subcategory = CAT_PASTRY
@@ -443,7 +443,7 @@
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1
+ /obj/item/food/grown/berries = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/berry
subcategory = CAT_PASTRY
@@ -453,7 +453,7 @@
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1,
+ /obj/item/food/grown/berries = 1,
/obj/item/ectoplasm = 1
)
result = /obj/item/reagent_containers/food/snacks/muffin/booberry
@@ -465,7 +465,7 @@
/datum/reagent/water = 5,
/datum/reagent/consumable/soysauce = 5,
/obj/item/food/boiledegg = 2,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
+ /obj/item/food/grown/mushroom/chanterelle = 1
)
result = /obj/item/reagent_containers/food/snacks/chawanmushi
subcategory = CAT_PASTRY
@@ -488,7 +488,7 @@
/datum/reagent/consumable/soysauce = 5,
/obj/item/food/bun = 1,
/obj/item/food/meatball = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
+ /obj/item/food/grown/cabbage = 1
)
result = /obj/item/food/meatbun
subcategory = CAT_PASTRY
@@ -541,7 +541,7 @@
name = "Plumphelmet biscuit"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
+ /obj/item/food/grown/mushroom/plumphelmet = 1
)
result = /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit
subcategory = CAT_PASTRY
@@ -570,7 +570,7 @@
name = "Oatmeal cookie"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ /obj/item/food/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/oatmealcookie
subcategory = CAT_PASTRY
@@ -580,7 +580,7 @@
reqs = list(
/obj/item/food/no_raisin = 1,
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ /obj/item/food/grown/oat = 1
)
result = /obj/item/reagent_containers/food/snacks/raisincookie
subcategory = CAT_PASTRY
@@ -589,7 +589,7 @@
name = "Cherry cupcake"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1
+ /obj/item/food/grown/cherries = 1
)
result = /obj/item/reagent_containers/food/snacks/cherrycupcake
subcategory = CAT_PASTRY
@@ -598,7 +598,7 @@
name = "Blue cherry cupcake"
reqs = list(
/obj/item/food/pastrybase = 1,
- /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
+ /obj/item/food/grown/bluecherries = 1
)
result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake
subcategory = CAT_PASTRY
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
index a0c61058b36..24ad8884f59 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm
@@ -8,7 +8,7 @@
reqs = list(
/datum/reagent/consumable/milk = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1
+ /obj/item/food/grown/banana = 1
)
result = /obj/item/food/pie/cream
subcategory = CAT_PIE
@@ -46,7 +46,7 @@
name = "Cherry pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/cherries = 1
+ /obj/item/food/grown/cherries = 1
)
result = /obj/item/food/pie/cherrypie
subcategory = CAT_PIE
@@ -55,7 +55,7 @@
name = "Berry clafoutis"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1
+ /obj/item/food/grown/berries = 1
)
result = /obj/item/food/pie/berryclafoutis
subcategory = CAT_PIE
@@ -64,7 +64,7 @@
name = "Beary Pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 1,
+ /obj/item/food/grown/berries = 1,
/obj/item/food/meat/steak/bear = 1
)
result = /obj/item/food/pie/bearypie
@@ -74,7 +74,7 @@
name = "Amanita pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1
+ /obj/item/food/grown/mushroom/amanita = 1
)
result = /obj/item/food/pie/amanita_pie
subcategory = CAT_PIE
@@ -83,7 +83,7 @@
name = "Plump pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 1
+ /obj/item/food/grown/mushroom/plumphelmet = 1
)
result = /obj/item/food/pie/plump_pie
subcategory = CAT_PIE
@@ -92,7 +92,7 @@
name = "Apple pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ /obj/item/food/grown/apple = 1
)
result = /obj/item/food/pie/applepie
subcategory = CAT_PIE
@@ -103,7 +103,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1
+ /obj/item/food/grown/pumpkin = 1
)
result = /obj/item/food/pie/pumpkinpie
subcategory = CAT_PIE
@@ -114,7 +114,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
+ /obj/item/food/grown/apple/gold = 1
)
result = /obj/item/food/pie/appletart
subcategory = CAT_PIE
@@ -125,7 +125,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/grapes = 3
+ /obj/item/food/grown/grapes = 3
)
result = /obj/item/food/pie/grapetart
subcategory = CAT_PIE
@@ -149,7 +149,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/berries = 3
+ /obj/item/food/grown/berries = 3
)
result = /obj/item/food/pie/berrytart
subcategory = CAT_PIE
@@ -173,7 +173,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/consumable/sugar = 5,
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/blumpkin = 1
+ /obj/item/food/grown/blumpkin = 1
)
result = /obj/item/food/pie/blumpkinpie
subcategory = CAT_PIE
@@ -183,7 +183,7 @@
reqs = list(
/datum/reagent/consumable/vanilla = 5,
/datum/reagent/water = 5,
- /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 2
+ /obj/item/food/grown/potato/sweet = 2
)
result = /obj/item/food/pie/dulcedebatata
subcategory = CAT_PIE
@@ -192,7 +192,7 @@
name = "Frosty pie"
reqs = list(
/obj/item/food/pie/plain = 1,
- /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1
+ /obj/item/food/grown/bluecherries = 1
)
result = /obj/item/food/pie/frostypie
subcategory = CAT_PIE
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 2a4997744dd..d09d6f5a700 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm
@@ -8,7 +8,7 @@
reqs = list(
/obj/item/food/pizzabread = 1,
/obj/item/food/cheesewedge = 4,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/margherita
subcategory = CAT_PIZZA
@@ -19,7 +19,7 @@
/obj/item/food/pizzabread = 1,
/obj/item/food/meat/cutlet = 4,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/meat
subcategory = CAT_PIZZA
@@ -31,7 +31,7 @@
/obj/item/food/meat/cutlet = 3,
/obj/item/ammo_casing/c9mm = 8,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/arnold
subcategory = CAT_PIZZA
@@ -40,7 +40,7 @@
name = "Mushroom pizza"
reqs = list(
/obj/item/food/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom = 5
+ /obj/item/food/grown/mushroom = 5
)
result = /obj/item/food/pizza/mushroom
subcategory = CAT_PIZZA
@@ -49,10 +49,10 @@
name = "Vegetable pizza"
reqs = list(
/obj/item/food/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/eggplant = 1,
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/corn = 1,
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/vegetable
subcategory = CAT_PIZZA
@@ -63,7 +63,7 @@
/obj/item/food/pizzabread = 1,
/obj/item/reagent_containers/food/snacks/donkpocket/warm = 3,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/donkpocket
subcategory = CAT_PIZZA
@@ -72,9 +72,9 @@
name = "Dank pizza"
reqs = list(
/obj/item/food/pizzabread = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
+ /obj/item/food/grown/ambrosia/vulgaris = 3,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/dank
subcategory = CAT_PIZZA
@@ -85,7 +85,7 @@
/obj/item/food/pizzabread = 1,
/obj/item/food/meatball = 3,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/sassysage
subcategory = CAT_PIZZA
@@ -97,7 +97,7 @@
/obj/item/food/meat/cutlet = 2,
/obj/item/food/pineappleslice = 3,
/obj/item/food/cheesewedge = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/pizza/pineapple
subcategory = CAT_PIZZA
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
index a910692ac94..4848d55c461 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm
@@ -7,8 +7,8 @@
name = "Herb salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1
+ /obj/item/food/grown/ambrosia/vulgaris = 3,
+ /obj/item/food/grown/apple = 1
)
result = /obj/item/food/salad/herbsalad
subcategory = CAT_SALAD
@@ -17,8 +17,8 @@
name = "Aesir salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 3,
- /obj/item/reagent_containers/food/snacks/grown/apple/gold = 1
+ /obj/item/food/grown/ambrosia/deus = 3,
+ /obj/item/food/grown/apple/gold = 1
)
result = /obj/item/food/salad/aesirsalad
subcategory = CAT_SALAD
@@ -27,8 +27,8 @@
name = "Valid salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 3,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/food/grown/ambrosia/vulgaris = 3,
+ /obj/item/food/grown/potato = 1,
/obj/item/food/meatball = 1
)
result = /obj/item/food/salad/validsalad
@@ -42,7 +42,7 @@
/datum/reagent/consumable/blackpepper = 1,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/monkeycube = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1
+ /obj/item/food/grown/banana = 1
)
result = /obj/item/food/soup/monkeysdelight
subcategory = CAT_SALAD
@@ -52,7 +52,7 @@
reqs = list(
/datum/reagent/consumable/milk = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/oat = 1
+ /obj/item/food/grown/oat = 1
)
result = /obj/item/food/salad/oatmeal
subcategory = CAT_SALAD
@@ -61,9 +61,9 @@
name = "Fruit salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1,
- /obj/item/reagent_containers/food/snacks/grown/grapes = 1,
+ /obj/item/food/grown/apple = 1,
+ /obj/item/food/grown/grapes = 1,
+ /obj/item/food/grown/citrus/orange = 1,
/obj/item/food/watermelonslice = 2
)
@@ -74,9 +74,9 @@
name = "Jungle salad"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/apple = 1,
- /obj/item/reagent_containers/food/snacks/grown/grapes = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 2,
+ /obj/item/food/grown/apple = 1,
+ /obj/item/food/grown/grapes = 1,
+ /obj/item/food/grown/banana = 2,
/obj/item/food/watermelonslice = 2
)
@@ -87,9 +87,9 @@
name = "Citrus delight"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 1,
- /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 1
+ /obj/item/food/grown/citrus/lime = 1,
+ /obj/item/food/grown/citrus/lemon = 1,
+ /obj/item/food/grown/citrus/orange = 1
)
result = /obj/item/food/salad/citrusdelight
@@ -99,10 +99,10 @@
name = "Salad of Eden"
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia = 1,
- /obj/item/reagent_containers/food/snacks/grown/peace = 1
+ /obj/item/food/grown/ambrosia/vulgaris = 1,
+ /obj/item/food/grown/ambrosia/deus = 1,
+ /obj/item/food/grown/ambrosia/gaia = 1,
+ /obj/item/food/grown/peace = 1
)
result = /obj/item/food/salad/edensalad
subcategory = CAT_SALAD
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
index b28da88b367..0dba5beb646 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm
@@ -9,8 +9,8 @@
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/meatball = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/potato = 1
)
result = /obj/item/food/soup/meatball
subcategory = CAT_SOUP
@@ -20,10 +20,10 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/corn = 1,
- /obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/corn = 1,
+ /obj/item/food/grown/eggplant = 1,
+ /obj/item/food/grown/potato = 1
)
result = /obj/item/food/soup/vegetable
subcategory = CAT_SOUP
@@ -33,8 +33,8 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/nettle = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
+ /obj/item/food/grown/nettle = 1,
+ /obj/item/food/grown/potato = 1,
/obj/item/food/boiledegg = 1
)
result = /obj/item/food/soup/nettle
@@ -64,8 +64,8 @@
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/chili = 1,
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/soup/hotchili
subcategory = CAT_SOUP
@@ -75,8 +75,8 @@
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/icepepper = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1
+ /obj/item/food/grown/icepepper = 1,
+ /obj/item/food/grown/tomato = 1
)
result = /obj/item/food/soup/coldchili
subcategory = CAT_SOUP
@@ -86,8 +86,8 @@
reqs = list(
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1,
+ /obj/item/food/grown/chili = 1,
+ /obj/item/food/grown/tomato = 1,
/obj/item/clothing/shoes/clown_shoes = 1
)
result = /obj/item/food/soup/clownchili
@@ -98,7 +98,7 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 2
+ /obj/item/food/grown/tomato = 2
)
result = /obj/item/food/soup/tomato
subcategory = CAT_SOUP
@@ -108,7 +108,7 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 2,
+ /obj/item/food/grown/tomato = 2,
/obj/item/organ/eyes = 1
)
result = /obj/item/food/soup/tomato/eyeball
@@ -131,7 +131,7 @@
reqs = list(
/datum/reagent/blood = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato/blood = 2
+ /obj/item/food/grown/tomato/blood = 2
)
result = /obj/item/food/soup/blood
subcategory = CAT_SOUP
@@ -151,7 +151,7 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/food/grown/banana = 1,
/obj/item/stack/sheet/mineral/bananium = 1
)
result = /obj/item/food/soup/clownstears
@@ -176,7 +176,7 @@
/datum/reagent/consumable/milk = 5,
/datum/reagent/water = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 1
+ /obj/item/food/grown/mushroom/chanterelle = 1
)
result = /obj/item/food/soup/mushroom
subcategory = CAT_SOUP
@@ -186,8 +186,8 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/whitebeet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1,
+ /obj/item/food/grown/whitebeet = 1,
+ /obj/item/food/grown/cabbage = 1,
)
result = /obj/item/food/soup/beet
subcategory = CAT_SOUP
@@ -197,12 +197,12 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 1,
+ /obj/item/food/grown/tomato = 1,
/obj/item/food/meat/cutlet = 3,
- /obj/item/reagent_containers/food/snacks/grown/potato = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
- /obj/item/reagent_containers/food/snacks/grown/eggplant = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom = 1
+ /obj/item/food/grown/potato = 1,
+ /obj/item/food/grown/carrot = 1,
+ /obj/item/food/grown/eggplant = 1,
+ /obj/item/food/grown/mushroom = 1
)
result = /obj/item/food/soup/stew
subcategory = CAT_SOUP
@@ -212,7 +212,7 @@
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 3
+ /obj/item/food/grown/mushroom/libertycap = 3
)
result = /obj/item/food/soup/spacylibertyduff
subcategory = CAT_SOUP
@@ -222,7 +222,7 @@
reqs = list(
/datum/reagent/consumable/ethanol/vodka = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 3
+ /obj/item/food/grown/mushroom/amanita = 3
)
result = /obj/item/food/soup/amanitajelly
subcategory = CAT_SOUP
@@ -233,7 +233,7 @@
/datum/reagent/water = 10,
/datum/reagent/consumable/sugar = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 2
+ /obj/item/food/grown/potato/sweet = 2
)
result = /obj/item/food/soup/sweetpotato
subcategory = CAT_SOUP
@@ -243,8 +243,8 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/redbeet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
+ /obj/item/food/grown/redbeet = 1,
+ /obj/item/food/grown/cabbage = 1
)
result = /obj/item/food/soup/beet/red
subcategory = CAT_SOUP
@@ -254,7 +254,7 @@
reqs = list(
/datum/reagent/water = 10,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/onion = 1,
+ /obj/item/food/grown/onion = 1,
/obj/item/food/cheesewedge = 1,
)
result = /obj/item/food/soup/onion
@@ -277,8 +277,8 @@
/datum/reagent/water = 5,
/datum/reagent/consumable/cream = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/chili = 1,
- /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1
+ /obj/item/food/grown/chili = 1,
+ /obj/item/food/grown/bungofruit = 1
)
result = /obj/item/food/soup/bungocurry
subcategory = CAT_SOUP
@@ -289,7 +289,7 @@
/datum/reagent/water = 10,
/datum/reagent/consumable/salt = 5,
/obj/item/reagent_containers/glass/bowl = 1,
- /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 1
+ /obj/item/food/grown/mushroom/jupitercup = 1
)
result = /obj/item/food/soup/electron
subcategory = CAT_SOUP
@@ -298,9 +298,9 @@
name = "Pea soup"
reqs = list(
/datum/reagent/water = 10,
- /obj/item/reagent_containers/food/snacks/grown/peas = 2,
- /obj/item/reagent_containers/food/snacks/grown/parsnip = 1,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1,
+ /obj/item/food/grown/peas = 2,
+ /obj/item/food/grown/parsnip = 1,
+ /obj/item/food/grown/carrot = 1,
/obj/item/reagent_containers/glass/bowl = 1
)
result = /obj/item/food/soup/peasoup
diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
index 33fee1f8094..f128777bf0f 100644
--- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
+++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm
@@ -7,7 +7,7 @@
name = "Tomato pasta"
reqs = list(
/obj/item/food/spaghetti/boiledspaghetti = 1,
- /obj/item/reagent_containers/food/snacks/grown/tomato = 2
+ /obj/item/food/grown/tomato = 2
)
result = /obj/item/food/spaghetti/pastatomato
subcategory = CAT_SPAGHETTI
@@ -44,7 +44,7 @@
/obj/item/reagent_containers/glass/bowl = 1,
/obj/item/food/spaghetti/boiledspaghetti = 1,
/obj/item/food/meat/cutlet = 2,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 1
+ /obj/item/food/grown/cabbage = 1
)
result = /obj/item/food/spaghetti/beefnoodle
subcategory = CAT_SPAGHETTI
@@ -54,8 +54,8 @@
reqs = list(
/obj/item/food/spaghetti/boiledspaghetti = 1,
/obj/item/food/meat/cutlet = 1,
- /obj/item/reagent_containers/food/snacks/grown/cabbage = 2,
- /obj/item/reagent_containers/food/snacks/grown/carrot = 1
+ /obj/item/food/grown/cabbage = 2,
+ /obj/item/food/grown/carrot = 1
)
result = /obj/item/food/spaghetti/chowmein
subcategory = CAT_SPAGHETTI
diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm
index de9fa73614a..f5be78c6eb8 100644
--- a/code/modules/holiday/easter.dm
+++ b/code/modules/holiday/easter.dm
@@ -43,7 +43,7 @@
emote_see = list("hops around","bounces up and down")
butcher_results = list(/obj/item/food/meat/slab = 1)
egg_type = /obj/item/food/egg/loaded
- food_type = /obj/item/reagent_containers/food/snacks/grown/carrot
+ food_type = /obj/item/food/grown/carrot
eggsleft = 10
eggsFertile = FALSE
icon_prefix = "rabbit"
@@ -125,7 +125,7 @@
var/won = pick(/obj/item/clothing/head/bunnyhead,
/obj/item/clothing/suit/bunnysuit,
/obj/item/storage/backpack/satchel/bunnysatchel,
- /obj/item/reagent_containers/food/snacks/grown/carrot,
+ /obj/item/food/grown/carrot,
/obj/item/toy/balloon,
/obj/item/toy/gun,
/obj/item/toy/sword,
diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm
index 6cd7da5144f..e99cc60dd34 100644
--- a/code/modules/holiday/holidays.dm
+++ b/code/modules/holiday/holidays.dm
@@ -398,7 +398,7 @@
name = "Flowers Day"
begin_day = 19
begin_month = NOVEMBER
- drone_hat = /obj/item/reagent_containers/food/snacks/grown/moonflower
+ drone_hat = /obj/item/food/grown/moonflower
/datum/holiday/hello
name = "Saying-'Hello' Day"
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index d6ca300180f..f8f79448de9 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -112,12 +112,12 @@
else if(istype(O, /obj/item/storage/bag/plants))
var/obj/item/storage/bag/plants/PB = O
var/i = 0
- for(var/obj/item/reagent_containers/food/snacks/grown/G in contents)
+ for(var/obj/item/food/grown/G in contents)
i++
if(i >= max_items)
to_chat(user, "The biogenerator is already full! Activate it.")
else
- for(var/obj/item/reagent_containers/food/snacks/grown/G in PB.contents)
+ for(var/obj/item/food/grown/G in PB.contents)
if(i >= max_items)
break
if(SEND_SIGNAL(PB, COMSIG_TRY_STORAGE_TAKE, G, src))
@@ -130,9 +130,9 @@
to_chat(user, "You fill the biogenerator to its capacity.")
return TRUE //no afterattack
- else if(istype(O, /obj/item/reagent_containers/food/snacks/grown))
+ else if(istype(O, /obj/item/food/grown))
var/i = 0
- for(var/obj/item/reagent_containers/food/snacks/grown/G in contents)
+ for(var/obj/item/food/grown/G in contents)
i++
if(i >= max_items)
to_chat(user, "The biogenerator is full! Activate it.")
@@ -175,7 +175,7 @@
to_chat(user, "The biogenerator is in the process of working.")
return
var/S = 0
- for(var/obj/item/reagent_containers/food/snacks/grown/I in contents)
+ for(var/obj/item/food/grown/I in contents)
S += 5
if(I.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment) < 0.1)
points += 1 * productivity
@@ -273,7 +273,7 @@
data["beaker"] = beaker ? TRUE : FALSE
data["biomass"] = points
data["processing"] = processing
- if(locate(/obj/item/reagent_containers/food/snacks/grown) in contents)
+ if(locate(/obj/item/food/grown) in contents)
data["can_process"] = TRUE
else
data["can_process"] = FALSE
diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm
index 8d996e6b17d..b149e781114 100644
--- a/code/modules/hydroponics/fermenting_barrel.dm
+++ b/code/modules/hydroponics/fermenting_barrel.dm
@@ -19,7 +19,7 @@
. = ..()
. += "It is currently [open?"open, letting you pour liquids in.":"closed, letting you draw liquids from the tap."]"
-/obj/structure/fermenting_barrel/proc/makeWine(obj/item/reagent_containers/food/snacks/grown/fruit)
+/obj/structure/fermenting_barrel/proc/makeWine(obj/item/food/grown/fruit)
if(fruit.reagents)
fruit.reagents.trans_to(src, fruit.reagents.total_volume)
var/amount = fruit.seed.potency / 4
@@ -39,7 +39,7 @@
playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE)
/obj/structure/fermenting_barrel/attackby(obj/item/I, mob/user, params)
- var/obj/item/reagent_containers/food/snacks/grown/fruit = I
+ var/obj/item/food/grown/fruit = I
if(istype(fruit))
if(!fruit.can_distill)
to_chat(user, "You can't distill this into anything...")
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index d4852a40900..ce1c1bec4c4 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -4,32 +4,37 @@
// ***********************************************************
// Base type. Subtypes are found in /grown dir. Lavaland-based subtypes can be found in mining/ash_flora.dm
-/obj/item/reagent_containers/food/snacks/grown
+/obj/item/food/grown
icon = 'icons/obj/hydroponics/harvest.dmi'
name = "fresh produce" // so recipe text doesn't say 'snack'
- var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item.
+ max_volume = 100
+ w_class = WEIGHT_CLASS_SMALL
+ /// type path, gets converted to item on New(). It's safe to assume it's always a seed item.
+ var/obj/item/seeds/seed = null
+ ///Name of the plant
var/plantname = ""
- var/bitesize_mod = 0
+ /// If set, bitesize = 1 + round(reagents.total_volume / bite_consumption_mod)
+ var/bite_consumption_mod = 0
+ ///the splat it makes when it splats lol
var/splat_type = /obj/effect/decal/cleanable/food/plant_smudge
- // If set, bitesize = 1 + round(reagents.total_volume / bitesize_mod)
- dried_type = -1
- // Saves us from having to define each stupid grown's dried_type as itself.
- // If you don't want a plant to be driable (watermelons) set this to null in the time definition.
+
resistance_flags = FLAMMABLE
var/dry_grind = FALSE //If TRUE, this object needs to be dry to be ground up
var/can_distill = TRUE //If FALSE, this object cannot be distilled into an alcohol.
var/distill_reagent //If NULL and this object can be distilled, it uses a generic fruit_wine reagent and adjusts its variables.
var/wine_flavor //If NULL, this is automatically set to the fruit's flavor. Determines the flavor of the wine if distill_reagent is NULL.
var/wine_power = 10 //Determines the boozepwr of the wine if distill_reagent is NULL.
- volume = 100
+ ///Color of the grown object
+ var/filling_color
-/obj/item/reagent_containers/food/snacks/grown/Initialize(mapload, obj/item/seeds/new_seed)
- . = ..()
+
+/obj/item/food/grown/Initialize(mapload, obj/item/seeds/new_seed)
if(!tastes)
- tastes = list("[name]" = 1)
+ tastes = list("[name]" = 1) //This happens first else the component already inits
if(new_seed)
seed = new_seed.Copy()
+
else if(ispath(seed))
// This is for adminspawn or map-placed growns. They get the default stats of their seed type.
seed = new seed()
@@ -38,33 +43,42 @@
pixel_x = base_pixel_x + rand(-5, 5)
pixel_y = base_pixel_y + rand(-5, 5)
- if(dried_type == -1)
- dried_type = src.type
+ make_dryable()
- if(seed)
- for(var/datum/plant_gene/trait/T in seed.genes)
- T.on_new(src, loc)
- seed.prepare_result(src)
- transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency!
- add_juice()
+ for(var/datum/plant_gene/trait/T in seed.genes)
+ T.on_new(src, loc)
+
+ ..() //Only call it here because we want all the genes and shit to be applied before we add edibility. God this code is a mess.
+
+ seed.prepare_result(src)
+ transform *= TRANSFORM_USING_VARIABLE(seed.potency, 100) + 0.5 //Makes the resulting produce's sprite larger or smaller based on potency!
+
+/obj/item/food/grown/MakeEdible()
+ AddComponent(/datum/component/edible,\
+ initial_reagents = food_reagents,\
+ food_flags = food_flags,\
+ foodtypes = foodtypes,\
+ volume = max_volume,\
+ eat_time = eat_time,\
+ tastes = tastes,\
+ eatverbs = eatverbs,\
+ bite_consumption = bite_consumption_mod ? 1 + round(max_volume / bite_consumption_mod) : bite_consumption,\
+ microwaved_type = microwaved_type,\
+ junkiness = junkiness,\
+ on_consume = CALLBACK(src, .proc/OnConsume))
+/obj/item/food/grown/proc/make_dryable()
+ AddElement(/datum/element/dryable, type)
-/obj/item/reagent_containers/food/snacks/grown/proc/add_juice()
- if(reagents)
- if(bitesize_mod)
- bitesize = 1 + round(reagents.total_volume / bitesize_mod)
- return TRUE
- return FALSE
-
-/obj/item/reagent_containers/food/snacks/grown/examine(user)
+/obj/item/food/grown/examine(user)
. = ..()
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
if(T.examine_line)
. += T.examine_line
-/obj/item/reagent_containers/food/snacks/grown/attackby(obj/item/O, mob/user, params)
+/obj/item/food/grown/attackby(obj/item/O, mob/user, params)
..()
if (istype(O, /obj/item/plant_analyzer))
var/obj/item/plant_analyzer/P_analyzer = O
@@ -95,13 +109,18 @@
T.on_attackby(src, O, user)
+/obj/item/food/grown/MakeLeaveTrash()
+ if(trash_type)
+ AddElement(/datum/element/food_trash, trash_type, FOOD_TRASH_OPENABLE, /obj/item/food/grown/.proc/generate_trash)
+ return
+
// Various gene procs
-/obj/item/reagent_containers/food/snacks/grown/attack_self(mob/user)
+/obj/item/food/grown/attack_self(mob/user)
if(seed?.get_gene(/datum/plant_gene/trait/squash))
squash(user)
..()
-/obj/item/reagent_containers/food/snacks/grown/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
+/obj/item/food/grown/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
if(!..()) //was it caught by a mob?
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
@@ -109,7 +128,7 @@
if(seed.get_gene(/datum/plant_gene/trait/squash))
squash(hit_atom)
-/obj/item/reagent_containers/food/snacks/grown/proc/squash(atom/target)
+/obj/item/food/grown/proc/squash(atom/target)
var/turf/T = get_turf(target)
forceMove(T)
if(ispath(splat_type, /obj/effect/decal/cleanable/food/plant_smudge))
@@ -120,9 +139,6 @@
else if(splat_type)
new splat_type(T)
- if(trash)
- generate_trash(T)
-
visible_message("[src] is squashed.","You hear a smack.")
if(seed)
for(var/datum/plant_gene/trait/trait in seed.genes)
@@ -134,27 +150,23 @@
qdel(src)
-/obj/item/reagent_containers/food/snacks/grown/On_Consume()
+/obj/item/food/grown/proc/OnConsume(mob/living/eater, mob/living/feeder)
if(iscarbon(usr))
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
T.on_consume(src, usr)
- ..()
-/obj/item/reagent_containers/food/snacks/grown/generate_trash(atom/location)
- if(trash && (ispath(trash, /obj/item/grown) || ispath(trash, /obj/item/reagent_containers/food/snacks/grown)))
- . = new trash(location, seed)
- trash = null
- return
- return ..()
+///Callback for bonus behavior for generating trash of grown food.
+/obj/item/food/grown/proc/generate_trash(atom/location)
+ return new trash_type(location, seed)
-/obj/item/reagent_containers/food/snacks/grown/grind_requirements()
- if(dry_grind && !dry)
+/obj/item/food/grown/grind_requirements()
+ if(dry_grind && !HAS_TRAIT(src, TRAIT_DRIED))
to_chat(usr, "[src] needs to be dry before it can be ground up!")
return
return TRUE
-/obj/item/reagent_containers/food/snacks/grown/on_grind()
+/obj/item/food/grown/on_grind()
var/nutriment = reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
if(grind_results?.len)
for(var/i in 1 to grind_results.len)
@@ -162,29 +174,10 @@
reagents.del_reagent(/datum/reagent/consumable/nutriment)
reagents.del_reagent(/datum/reagent/consumable/nutriment/vitamin)
-/obj/item/reagent_containers/food/snacks/grown/on_juice()
+/obj/item/food/grown/on_juice()
var/nutriment = reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
if(juice_results?.len)
for(var/i in 1 to juice_results.len)
juice_results[juice_results[i]] = nutriment
reagents.del_reagent(/datum/reagent/consumable/nutriment)
reagents.del_reagent(/datum/reagent/consumable/nutriment/vitamin)
-
-/*
- * Attack self for growns
- *
- * Spawns the trash item at the growns drop_location()
- *
- * Then deletes the grown object
- *
- * Then puts trash item into the hand of user attack selfing, or drops it back on the ground
- */
-/obj/item/reagent_containers/food/snacks/grown/shell/attack_self(mob/user)
- var/obj/item/T
- if(trash)
- T = generate_trash(drop_location())
- //Delete grown so our hand is free
- qdel(src)
- //put trash obj in hands or drop to ground
- user.put_in_hands(T, user.active_hand_index, TRUE)
- to_chat(user, "You open [src]\'s shell, revealing \a [T].")
diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm
index 7849121be1e..ea2b72fb19c 100644
--- a/code/modules/hydroponics/grown/ambrosia.dm
+++ b/code/modules/hydroponics/grown/ambrosia.dm
@@ -1,13 +1,12 @@
// Ambrosia - base type
-/obj/item/reagent_containers/food/snacks/grown/ambrosia
+/obj/item/food/grown/ambrosia
seed = /obj/item/seeds/ambrosia
name = "ambrosia branch"
desc = "This is a plant."
icon_state = "ambrosiavulgaris"
slot_flags = ITEM_SLOT_HEAD
- filling_color = "#008000"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
tastes = list("ambrosia" = 1)
// Ambrosia Vulgaris
@@ -17,7 +16,7 @@
icon_state = "seed-ambrosiavulgaris"
species = "ambrosiavulgaris"
plantname = "Ambrosia Vulgaris"
- product = /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris
+ product = /obj/item/food/grown/ambrosia/vulgaris
lifespan = 60
endurance = 25
yield = 6
@@ -28,7 +27,7 @@
mutatelist = list(/obj/item/seeds/ambrosia/deus)
reagents_add = list(/datum/reagent/medicine/c2/aiuri = 0.1, /datum/reagent/medicine/c2/libital = 0.1 ,/datum/reagent/drug/space_drugs = 0.15, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/toxin = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris
+/obj/item/food/grown/ambrosia/vulgaris
seed = /obj/item/seeds/ambrosia
name = "ambrosia vulgaris branch"
desc = "This is a plant containing various healing chemicals."
@@ -41,17 +40,16 @@
icon_state = "seed-ambrosiadeus"
species = "ambrosiadeus"
plantname = "Ambrosia Deus"
- product = /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus
+ product = /obj/item/food/grown/ambrosia/deus
mutatelist = list(/obj/item/seeds/ambrosia/gaia)
reagents_add = list(/datum/reagent/medicine/omnizine = 0.15, /datum/reagent/medicine/synaptizine = 0.15, /datum/reagent/drug/space_drugs = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
rarity = 40
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/deus
+/obj/item/food/grown/ambrosia/deus
seed = /obj/item/seeds/ambrosia/deus
name = "ambrosia deus branch"
desc = "Eating this makes you feel immortal!"
icon_state = "ambrosiadeus"
- filling_color = "#008B8B"
wine_power = 50
//Ambrosia Gaia
@@ -61,7 +59,7 @@
icon_state = "seed-ambrosia_gaia"
species = "ambrosia_gaia"
plantname = "Ambrosia Gaia"
- product = /obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia
+ product = /obj/item/food/grown/ambrosia/gaia
mutatelist = list(/obj/item/seeds/ambrosia/deus)
reagents_add = list(/datum/reagent/medicine/earthsblood = 0.05, /datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/nutriment/vitamin = 0.05)
rarity = 30 //These are some pretty good plants right here
@@ -69,11 +67,10 @@
weed_rate = 4
weed_chance = 100
-/obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia
+/obj/item/food/grown/ambrosia/gaia
name = "ambrosia gaia branch"
desc = "Eating this makes you immortal."
icon_state = "ambrosia_gaia"
- filling_color = rgb(255, 175, 0)
light_system = MOVABLE_LIGHT
light_range = 3
seed = /obj/item/seeds/ambrosia/gaia
diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm
index f8e58aee1b4..4df82ad56e6 100644
--- a/code/modules/hydroponics/grown/apple.dm
+++ b/code/modules/hydroponics/grown/apple.dm
@@ -5,7 +5,7 @@
icon_state = "seed-apple"
species = "apple"
plantname = "Apple Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/apple
+ product = /obj/item/food/grown/apple
lifespan = 55
endurance = 35
yield = 5
@@ -16,14 +16,13 @@
mutatelist = list(/obj/item/seeds/apple/gold)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/apple
+/obj/item/food/grown/apple
seed = /obj/item/seeds/apple
name = "apple"
desc = "It's a little piece of Eden."
icon_state = "apple"
- filling_color = "#FF4500"
- bitesize = 100 // Always eat the apple in one bite
- foodtype = FRUIT
+ bite_consumption = 100 // Always eat the apple in one bite
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/applejuice = 0)
tastes = list("apple" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/hcider
@@ -35,18 +34,17 @@
icon_state = "seed-goldapple"
species = "goldapple"
plantname = "Golden Apple Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/apple/gold
+ product = /obj/item/food/grown/apple/gold
maturation = 10
production = 10
mutatelist = list()
reagents_add = list(/datum/reagent/gold = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 40 // Alchemy!
-/obj/item/reagent_containers/food/snacks/grown/apple/gold
+/obj/item/food/grown/apple/gold
seed = /obj/item/seeds/apple/gold
name = "golden apple"
desc = "Emblazoned upon the apple is the word 'Kallisti'."
icon_state = "goldapple"
- filling_color = "#FFD700"
distill_reagent = null
wine_power = 50
diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm
index e66d3726d67..95cc5402287 100644
--- a/code/modules/hydroponics/grown/banana.dm
+++ b/code/modules/hydroponics/grown/banana.dm
@@ -5,7 +5,7 @@
icon_state = "seed-banana"
species = "banana"
plantname = "Banana Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/banana
+ product = /obj/item/food/grown/banana
lifespan = 50
endurance = 30
instability = 10
@@ -16,27 +16,26 @@
reagents_add = list(/datum/reagent/consumable/banana = 0.1, /datum/reagent/potassium = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.02)
graft_gene = /datum/plant_gene/trait/slip
-/obj/item/reagent_containers/food/snacks/grown/banana
+/obj/item/food/grown/banana
seed = /obj/item/seeds/banana
name = "banana"
desc = "It's an excellent prop for a clown."
icon_state = "banana"
inhand_icon_state = "banana"
- trash = /obj/item/grown/bananapeel
- filling_color = "#FFFF00"
- bitesize = 5
- foodtype = FRUIT
+ trash_type = /obj/item/grown/bananapeel
+ bite_consumption = 5
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/banana = 0)
distill_reagent = /datum/reagent/consumable/ethanol/bananahonk
-/obj/item/reagent_containers/food/snacks/grown/banana/generate_trash(atom/location)
+/obj/item/food/grown/banana/generate_trash(atom/location)
. = ..()
var/obj/item/grown/bananapeel/peel = .
if(istype(peel))
peel.grind_results = list(/datum/reagent/medicine/coagulant/banana_peel = seed.potency * 0.2)
peel.juice_results = list(/datum/reagent/medicine/coagulant/banana_peel = seed.potency * 0.2)
-/obj/item/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user)
+/obj/item/food/grown/banana/suicide_act(mob/user)
user.visible_message("[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!")
playsound(loc, 'sound/items/bikehorn.ogg', 50, TRUE, -1)
sleep(25)
@@ -76,19 +75,18 @@
icon_state = "seed-mimana"
species = "mimana"
plantname = "Mimana Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/banana/mime
+ product = /obj/item/food/grown/banana/mime
growthstages = 4
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nothing = 0.1, /datum/reagent/toxin/mutetoxin = 0.1, /datum/reagent/consumable/nutriment = 0.02)
rarity = 15
-/obj/item/reagent_containers/food/snacks/grown/banana/mime
+/obj/item/food/grown/banana/mime
seed = /obj/item/seeds/banana/mime
name = "mimana"
desc = "It's an excellent prop for a mime."
icon_state = "mimana"
- trash = /obj/item/grown/bananapeel/mimanapeel
- filling_color = "#FFFFEE"
+ trash_type = /obj/item/grown/bananapeel/mimanapeel
distill_reagent = /datum/reagent/consumable/ethanol/silencer
/obj/item/grown/bananapeel/mimanapeel
@@ -107,20 +105,19 @@
icon_grow = "banana-grow"
plantname = "Bluespace Banana Tree"
instability = 40
- product = /obj/item/reagent_containers/food/snacks/grown/banana/bluespace
+ product = /obj/item/food/grown/banana/bluespace
mutatelist = list()
genes = list(/datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport, /datum/plant_gene/trait/repeated_harvest)
reagents_add = list(/datum/reagent/bluespace = 0.2, /datum/reagent/consumable/banana = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.02)
rarity = 30
graft_gene = /datum/plant_gene/trait/teleport
-/obj/item/reagent_containers/food/snacks/grown/banana/bluespace
+/obj/item/food/grown/banana/bluespace
seed = /obj/item/seeds/banana/bluespace
name = "bluespace banana"
icon_state = "banana_blue"
inhand_icon_state = "bluespace_peel"
- trash = /obj/item/grown/bananapeel/bluespace
- filling_color = "#0000FF"
+ trash_type = /obj/item/grown/bananapeel/bluespace
tastes = list("banana" = 1)
wine_power = 60
wine_flavor = "slippery hypercubes"
diff --git a/code/modules/hydroponics/grown/beans.dm b/code/modules/hydroponics/grown/beans.dm
index 3e5fee411fa..57db631a444 100644
--- a/code/modules/hydroponics/grown/beans.dm
+++ b/code/modules/hydroponics/grown/beans.dm
@@ -5,7 +5,7 @@
icon_state = "seed-soybean"
species = "soybean"
plantname = "Soybean Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/soybeans
+ product = /obj/item/food/grown/soybeans
maturation = 4
production = 4
potency = 15
@@ -17,15 +17,14 @@
mutatelist = list(/obj/item/seeds/soya/koi)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/consumable/cooking_oil = 0.03) //Vegetable oil!
-/obj/item/reagent_containers/food/snacks/grown/soybeans
+/obj/item/food/grown/soybeans
seed = /obj/item/seeds/soya
name = "soybeans"
desc = "It's pretty bland, but oh the possibilities..."
gender = PLURAL
icon_state = "soybeans"
- filling_color = "#F0E68C"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
grind_results = list(/datum/reagent/consumable/soymilk = 0)
tastes = list("soy" = 1)
wine_power = 20
@@ -37,19 +36,18 @@
icon_state = "seed-koibean"
species = "koibean"
plantname = "Koibean Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/koibeans
+ product = /obj/item/food/grown/koibeans
potency = 10
mutatelist = list()
reagents_add = list(/datum/reagent/toxin/carpotoxin = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/koibeans
+/obj/item/food/grown/koibeans
seed = /obj/item/seeds/soya/koi
name = "koibean"
desc = "Something about these seems fishy."
icon_state = "koibeans"
- filling_color = "#F0E68C"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
tastes = list("koi" = 1)
wine_power = 40
diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm
index 4532a238872..9564defe921 100644
--- a/code/modules/hydroponics/grown/berries.dm
+++ b/code/modules/hydroponics/grown/berries.dm
@@ -5,7 +5,7 @@
icon_state = "seed-berry"
species = "berry"
plantname = "Berry Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/berries
+ product = /obj/item/food/grown/berries
lifespan = 20
maturation = 5
production = 5
@@ -18,15 +18,14 @@
mutatelist = list(/obj/item/seeds/berry/glow, /obj/item/seeds/berry/poison)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/berries
+/obj/item/food/grown/berries
seed = /obj/item/seeds/berry
name = "bunch of berries"
desc = "Nutritious!"
icon_state = "berrypile"
gender = PLURAL
- filling_color = "#FF00FF"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/berryjuice = 0)
tastes = list("berry" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/gin
@@ -38,18 +37,17 @@
icon_state = "seed-poisonberry"
species = "poisonberry"
plantname = "Poison-Berry Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/berries/poison
+ product = /obj/item/food/grown/berries/poison
mutatelist = list(/obj/item/seeds/berry/death)
reagents_add = list(/datum/reagent/toxin/cyanide = 0.15, /datum/reagent/toxin/staminatoxin = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 10 // Mildly poisonous berries are common in reality
-/obj/item/reagent_containers/food/snacks/grown/berries/poison
+/obj/item/food/grown/berries/poison
seed = /obj/item/seeds/berry/poison
name = "bunch of poison-berries"
desc = "Taste so good, you might die!"
icon_state = "poisonberrypile"
- filling_color = "#C71585"
- foodtype = FRUIT | TOXIC
+ foodtypes = FRUIT | TOXIC
juice_results = list(/datum/reagent/consumable/poisonberryjuice = 0)
tastes = list("poison-berry" = 1)
distill_reagent = null
@@ -62,20 +60,19 @@
icon_state = "seed-deathberry"
species = "deathberry"
plantname = "Death Berry Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/berries/death
+ product = /obj/item/food/grown/berries/death
lifespan = 30
potency = 50
mutatelist = list()
reagents_add = list(/datum/reagent/toxin/coniine = 0.08, /datum/reagent/toxin/staminatoxin = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 30
-/obj/item/reagent_containers/food/snacks/grown/berries/death
+/obj/item/food/grown/berries/death
seed = /obj/item/seeds/berry/death
name = "bunch of death-berries"
desc = "Taste so good, you will die!"
icon_state = "deathberrypile"
- filling_color = "#708090"
- foodtype = FRUIT | TOXIC
+ foodtypes = FRUIT | TOXIC
tastes = list("death-berry" = 1)
distill_reagent = null
wine_power = 50
@@ -87,7 +84,7 @@
icon_state = "seed-glowberry"
species = "glowberry"
plantname = "Glow-Berry Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/berries/glow
+ product = /obj/item/food/grown/berries/glow
lifespan = 30
endurance = 25
mutatelist = list()
@@ -96,13 +93,12 @@
rarity = 20
graft_gene = /datum/plant_gene/trait/glow/white
-/obj/item/reagent_containers/food/snacks/grown/berries/glow
+/obj/item/food/grown/berries/glow
seed = /obj/item/seeds/berry/glow
name = "bunch of glow-berries"
desc = "Nutritious!"
icon_state = "glowberrypile"
- filling_color = "#7CFC00"
- foodtype = FRUIT
+ foodtypes = FRUIT
tastes = list("glow-berry" = 1)
distill_reagent = null
wine_power = 60
@@ -114,7 +110,7 @@
icon_state = "seed-cherry"
species = "cherry"
plantname = "Cherry Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/cherries
+ product = /obj/item/food/grown/cherries
lifespan = 35
endurance = 35
maturation = 5
@@ -129,15 +125,14 @@
mutatelist = list(/obj/item/seeds/cherry/blue, /obj/item/seeds/cherry/bulb)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.07, /datum/reagent/consumable/sugar = 0.07)
-/obj/item/reagent_containers/food/snacks/grown/cherries
+/obj/item/food/grown/cherries
seed = /obj/item/seeds/cherry
name = "cherries"
desc = "Great for toppings!"
icon_state = "cherry"
gender = PLURAL
- filling_color = "#FF0000"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
grind_results = list(/datum/reagent/consumable/cherryjelly = 0)
tastes = list("cherry" = 1)
wine_power = 30
@@ -149,19 +144,18 @@
icon_state = "seed-bluecherry"
species = "bluecherry"
plantname = "Blue Cherry Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/bluecherries
+ product = /obj/item/food/grown/bluecherries
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.07, /datum/reagent/consumable/sugar = 0.07)
rarity = 10
-/obj/item/reagent_containers/food/snacks/grown/bluecherries
+/obj/item/food/grown/bluecherries
seed = /obj/item/seeds/cherry/blue
name = "blue cherries"
desc = "They're cherries that are blue."
icon_state = "bluecherry"
- filling_color = "#6495ED"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
grind_results = list(/datum/reagent/consumable/bluecherryjelly = 0)
tastes = list("blue cherry" = 1)
wine_power = 50
@@ -173,21 +167,20 @@
icon_state = "seed-cherrybulb"
species = "cherrybulb"
plantname = "Cherry Bulb Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/cherrybulbs
+ product = /obj/item/food/grown/cherrybulbs
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/pink)
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.07, /datum/reagent/consumable/sugar = 0.07)
rarity = 10
graft_gene = /datum/plant_gene/trait/glow/pink
-/obj/item/reagent_containers/food/snacks/grown/cherrybulbs
+/obj/item/food/grown/cherrybulbs
seed = /obj/item/seeds/cherry/bulb
name = "cherry bulbs"
desc = "They're like little Space Christmas lights!"
icon_state = "cherry_bulb"
- filling_color = "#FF0000"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
grind_results = list(/datum/reagent/consumable/cherryjelly = 0)
tastes = list("cherry" = 1)
wine_power = 50
@@ -199,7 +192,7 @@
icon_state = "seed-grapes"
species = "grape"
plantname = "Grape Vine"
- product = /obj/item/reagent_containers/food/snacks/grown/grapes
+ product = /obj/item/food/grown/grapes
lifespan = 50
endurance = 25
maturation = 3
@@ -213,19 +206,20 @@
mutatelist = list(/obj/item/seeds/grape/green)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/sugar = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/grapes
+/obj/item/food/grown/grapes
seed = /obj/item/seeds/grape
name = "bunch of grapes"
desc = "Nutritious!"
icon_state = "grapes"
- dried_type = /obj/item/food/no_raisin/healthy
- filling_color = "#FF1493"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/grapejuice = 0)
tastes = list("grape" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/wine
+/obj/item/food/grown/grapes/make_dryable()
+ AddElement(/datum/element/dryable, /obj/item/food/no_raisin/healthy)
+
// Green Grapes
/obj/item/seeds/grape/green
name = "pack of green grape seeds"
@@ -233,13 +227,12 @@
icon_state = "seed-greengrapes"
species = "greengrape"
plantname = "Green-Grape Vine"
- product = /obj/item/reagent_containers/food/snacks/grown/grapes/green
+ product = /obj/item/food/grown/grapes/green
reagents_add = list( /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/sugar = 0.1, /datum/reagent/medicine/c2/aiuri = 0.2)
-/obj/item/reagent_containers/food/snacks/grown/grapes/green
+/obj/item/food/grown/grapes/green
seed = /obj/item/seeds/grape/green
name = "bunch of green grapes"
icon_state = "greengrapes"
- filling_color = "#7FFF00"
tastes = list("green grape" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/cognac
diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm
index f433cbacab8..874f4c0ebe1 100644
--- a/code/modules/hydroponics/grown/cannabis.dm
+++ b/code/modules/hydroponics/grown/cannabis.dm
@@ -5,7 +5,7 @@
icon_state = "seed-cannabis"
species = "cannabis"
plantname = "Cannabis Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/cannabis
+ product = /obj/item/food/grown/cannabis
maturation = 8
potency = 20
growthstages = 1
@@ -27,7 +27,7 @@
icon_state = "seed-megacannabis"
species = "megacannabis"
plantname = "Rainbow Weed"
- product = /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow
+ product = /obj/item/food/grown/cannabis/rainbow
mutatelist = list()
reagents_add = list(/datum/reagent/colorful_reagent = 0.05, /datum/reagent/medicine/psicodine = 0.03, /datum/reagent/drug/happiness = 0.1, /datum/reagent/toxin/mindbreaker = 0.1, /datum/reagent/toxin/lipolicide = 0.15)
rarity = 40
@@ -38,7 +38,7 @@
icon_state = "seed-blackcannabis"
species = "blackcannabis"
plantname = "Deathweed"
- product = /obj/item/reagent_containers/food/snacks/grown/cannabis/death
+ product = /obj/item/food/grown/cannabis/death
mutatelist = list()
reagents_add = list(/datum/reagent/toxin/cyanide = 0.35, /datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.15)
rarity = 40
@@ -50,7 +50,7 @@
species = "whitecannabis"
plantname = "Lifeweed"
instability = 30
- product = /obj/item/reagent_containers/food/snacks/grown/cannabis/white
+ product = /obj/item/food/grown/cannabis/white
mutatelist = list()
reagents_add = list(/datum/reagent/medicine/omnizine = 0.35, /datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.15)
rarity = 40
@@ -62,7 +62,7 @@
icon_state = "seed-ocannabis"
species = "ocannabis"
plantname = "Omega Weed"
- product = /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate
+ product = /obj/item/food/grown/cannabis/ultimate
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/green)
mutatelist = list()
reagents_add = list(/datum/reagent/drug/space_drugs = 0.3,
@@ -82,43 +82,42 @@
// ---------------------------------------------------------------
-/obj/item/reagent_containers/food/snacks/grown/cannabis
+/obj/item/food/grown/cannabis
seed = /obj/item/seeds/cannabis
icon = 'goon/icons/obj/hydroponics.dmi'
name = "cannabis leaf"
desc = "Recently legalized in most galaxies."
icon_state = "cannabis"
- filling_color = "#00FF00"
- bitesize_mod = 2
- foodtype = VEGETABLES //i dont really know what else weed could be to be honest
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES //i dont really know what else weed could be to be honest
tastes = list("cannabis" = 1)
wine_power = 20
-/obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow
+/obj/item/food/grown/cannabis/rainbow
seed = /obj/item/seeds/cannabis/rainbow
name = "rainbow cannabis leaf"
desc = "Is it supposed to be glowing like that...?"
icon_state = "megacannabis"
wine_power = 60
-/obj/item/reagent_containers/food/snacks/grown/cannabis/death
+/obj/item/food/grown/cannabis/death
seed = /obj/item/seeds/cannabis/death
name = "death cannabis leaf"
desc = "Looks a bit dark. Oh well."
icon_state = "blackcannabis"
wine_power = 40
-/obj/item/reagent_containers/food/snacks/grown/cannabis/white
+/obj/item/food/grown/cannabis/white
seed = /obj/item/seeds/cannabis/white
name = "white cannabis leaf"
desc = "It feels smooth and nice to the touch."
icon_state = "whitecannabis"
wine_power = 10
-/obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate
+/obj/item/food/grown/cannabis/ultimate
seed = /obj/item/seeds/cannabis/ultimate
name = "omega cannabis leaf"
desc = "You feel dizzy looking at it. What the fuck?"
icon_state = "ocannabis"
- volume = 420
+ max_volume = 420
wine_power = 90
diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm
index 08bc7b9e294..c4f952f58fd 100644
--- a/code/modules/hydroponics/grown/cereals.dm
+++ b/code/modules/hydroponics/grown/cereals.dm
@@ -5,7 +5,7 @@
icon_state = "seed-wheat"
species = "wheat"
plantname = "Wheat Stalks"
- product = /obj/item/reagent_containers/food/snacks/grown/wheat
+ product = /obj/item/food/grown/wheat
production = 1
yield = 4
potency = 15
@@ -14,15 +14,14 @@
mutatelist = list(/obj/item/seeds/wheat/oat, /obj/item/seeds/wheat/meat)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.04)
-/obj/item/reagent_containers/food/snacks/grown/wheat
+/obj/item/food/grown/wheat
seed = /obj/item/seeds/wheat
name = "wheat"
desc = "Sigh... wheat... a-grain?"
gender = PLURAL
icon_state = "wheat"
- filling_color = "#F0E68C"
- bitesize_mod = 2
- foodtype = GRAIN
+ bite_consumption_mod = 2
+ foodtypes = GRAIN
grind_results = list(/datum/reagent/consumable/flour = 0)
tastes = list("wheat" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/beer
@@ -34,18 +33,17 @@
icon_state = "seed-oat"
species = "oat"
plantname = "Oat Stalks"
- product = /obj/item/reagent_containers/food/snacks/grown/oat
+ product = /obj/item/food/grown/oat
mutatelist = list()
-/obj/item/reagent_containers/food/snacks/grown/oat
+/obj/item/food/grown/oat
seed = /obj/item/seeds/wheat/oat
name = "oat"
desc = "Eat oats, do squats."
gender = PLURAL
icon_state = "oat"
- filling_color = "#556B2F"
- bitesize_mod = 2
- foodtype = GRAIN
+ bite_consumption_mod = 2
+ foodtypes = GRAIN
grind_results = list(/datum/reagent/consumable/flour = 0)
tastes = list("oat" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/ale
@@ -58,19 +56,18 @@
species = "rice"
plantname = "Rice Stalks"
instability = 1
- product = /obj/item/reagent_containers/food/snacks/grown/rice
+ product = /obj/item/food/grown/rice
mutatelist = list()
growthstages = 3
-/obj/item/reagent_containers/food/snacks/grown/rice
+/obj/item/food/grown/rice
seed = /obj/item/seeds/wheat/rice
name = "rice"
desc = "Rice to meet you."
gender = PLURAL
icon_state = "rice"
- filling_color = "#FAFAD2"
- bitesize_mod = 2
- foodtype = GRAIN
+ bite_consumption_mod = 2
+ foodtypes = GRAIN
grind_results = list(/datum/reagent/consumable/rice = 0)
tastes = list("rice" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/sake
@@ -82,23 +79,22 @@
icon_state = "seed-meatwheat"
species = "meatwheat"
plantname = "Meatwheat"
- product = /obj/item/reagent_containers/food/snacks/grown/meatwheat
+ product = /obj/item/food/grown/meatwheat
mutatelist = list()
-/obj/item/reagent_containers/food/snacks/grown/meatwheat
+/obj/item/food/grown/meatwheat
name = "meatwheat"
desc = "Some blood-drenched wheat stalks. You can crush them into what passes for meat if you squint hard enough."
icon_state = "meatwheat"
gender = PLURAL
- filling_color = rgb(150, 0, 0)
- bitesize_mod = 2
+ bite_consumption_mod = 2
seed = /obj/item/seeds/wheat/meat
- foodtype = MEAT | GRAIN
+ foodtypes = MEAT | GRAIN
grind_results = list(/datum/reagent/consumable/flour = 0, /datum/reagent/blood = 0)
tastes = list("meatwheat" = 1)
can_distill = FALSE
-/obj/item/reagent_containers/food/snacks/grown/meatwheat/attack_self(mob/living/user)
+/obj/item/food/grown/meatwheat/attack_self(mob/living/user)
user.visible_message("[user] crushes [src] into meat.", "You crush [src] into something that resembles meat.")
playsound(user, 'sound/effects/blobattack.ogg', 50, TRUE)
var/obj/item/food/meat/slab/meatwheat/M = new
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index ea4c21e8967..e1b27ce1d10 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -5,7 +5,7 @@
icon_state = "seed-chili"
species = "chili"
plantname = "Chili Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/chili
+ product = /obj/item/food/grown/chili
lifespan = 20
maturation = 5
production = 5
@@ -19,14 +19,13 @@
mutatelist = list(/obj/item/seeds/chili/ice, /obj/item/seeds/chili/ghost)
reagents_add = list(/datum/reagent/consumable/capsaicin = 0.25, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.04)
-/obj/item/reagent_containers/food/snacks/grown/chili
+/obj/item/food/grown/chili
seed = /obj/item/seeds/chili
name = "chili"
desc = "It's spicy! Wait... IT'S BURNING ME!!"
icon_state = "chilipepper"
- filling_color = "#FF0000"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
wine_power = 20
// Ice Chili
@@ -36,7 +35,7 @@
icon_state = "seed-icepepper"
species = "chiliice"
plantname = "Chilly Pepper Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/icepepper
+ product = /obj/item/food/grown/icepepper
lifespan = 25
maturation = 4
production = 4
@@ -44,14 +43,13 @@
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/frostoil = 0.25, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/consumable/nutriment = 0.02)
-/obj/item/reagent_containers/food/snacks/grown/icepepper
+/obj/item/food/grown/icepepper
seed = /obj/item/seeds/chili/ice
name = "chilly pepper"
desc = "It's a mutant strain of chili."
icon_state = "icepepper"
- filling_color = "#0000CD"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
wine_power = 30
// Ghost Chili
@@ -61,7 +59,7 @@
icon_state = "seed-chilighost"
species = "chilighost"
plantname = "Ghost Chili Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/ghost_chili
+ product = /obj/item/food/grown/ghost_chili
endurance = 10
maturation = 10
production = 10
@@ -70,18 +68,17 @@
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/condensedcapsaicin = 0.3, /datum/reagent/consumable/capsaicin = 0.55, /datum/reagent/consumable/nutriment = 0.04)
-/obj/item/reagent_containers/food/snacks/grown/ghost_chili
+/obj/item/food/grown/ghost_chili
seed = /obj/item/seeds/chili/ghost
name = "ghost chili"
desc = "It seems to be vibrating gently."
icon_state = "ghostchilipepper"
var/mob/living/carbon/human/held_mob
- filling_color = "#F8F8FF"
- bitesize_mod = 4
- foodtype = FRUIT
+ bite_consumption_mod = 4
+ foodtypes = FRUIT
wine_power = 50
-/obj/item/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user)
+/obj/item/food/grown/ghost_chili/attack_hand(mob/user)
. = ..()
if(.)
return
@@ -89,7 +86,7 @@
held_mob = loc
START_PROCESSING(SSobj, src)
-/obj/item/reagent_containers/food/snacks/grown/ghost_chili/process(delta_time)
+/obj/item/food/grown/ghost_chili/process(delta_time)
if(held_mob && loc == held_mob)
if(held_mob.is_holding(src))
if(istype(held_mob) && held_mob.gloves)
diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm
index 7a36914d164..20cd0c534c9 100644
--- a/code/modules/hydroponics/grown/citrus.dm
+++ b/code/modules/hydroponics/grown/citrus.dm
@@ -1,11 +1,11 @@
// Citrus - base type
-/obj/item/reagent_containers/food/snacks/grown/citrus
+/obj/item/food/grown/citrus
seed = /obj/item/seeds/lime
name = "citrus"
desc = "It's so sour, your face will twist."
icon_state = "lime"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
wine_power = 30
// Lime
@@ -15,7 +15,7 @@
icon_state = "seed-lime"
species = "lime"
plantname = "Lime Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/citrus/lime
+ product = /obj/item/food/grown/citrus/lime
lifespan = 55
endurance = 50
yield = 4
@@ -25,12 +25,11 @@
mutatelist = list(/obj/item/seeds/orange)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/citrus/lime
+/obj/item/food/grown/citrus/lime
seed = /obj/item/seeds/lime
name = "lime"
desc = "It's so sour, your face will twist."
icon_state = "lime"
- filling_color = "#00FF00"
juice_results = list(/datum/reagent/consumable/limejuice = 0)
// Orange
@@ -40,7 +39,7 @@
icon_state = "seed-orange"
species = "orange"
plantname = "Orange Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/citrus/orange
+ product = /obj/item/food/grown/citrus/orange
lifespan = 60
endurance = 50
yield = 5
@@ -52,12 +51,11 @@
mutatelist = list(/obj/item/seeds/lime, /obj/item/seeds/orange_3d)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange
+/obj/item/food/grown/citrus/orange
seed = /obj/item/seeds/orange
name = "orange"
desc = "It's a tangy fruit."
icon_state = "orange"
- filling_color = "#FFA500"
juice_results = list(/datum/reagent/consumable/orangejuice = 0)
distill_reagent = /datum/reagent/consumable/ethanol/triple_sec
@@ -68,7 +66,7 @@
icon_state = "seed-lemon"
species = "lemon"
plantname = "Lemon Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/citrus/lemon
+ product = /obj/item/food/grown/citrus/lemon
lifespan = 55
endurance = 45
yield = 4
@@ -79,12 +77,11 @@
mutatelist = list(/obj/item/seeds/firelemon)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/citrus/lemon
+/obj/item/food/grown/citrus/lemon
seed = /obj/item/seeds/lemon
name = "lemon"
desc = "When life gives you lemons, make lemonade."
icon_state = "lemon"
- filling_color = "#FFD700"
juice_results = list(/datum/reagent/consumable/lemonjuice = 0)
// Combustible lemon
@@ -94,7 +91,7 @@
icon_state = "seed-firelemon"
species = "firelemon"
plantname = "Combustible Lemon Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/firelemon
+ product = /obj/item/food/grown/firelemon
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
icon_grow = "lime-grow"
icon_dead = "lime-dead"
@@ -104,16 +101,16 @@
yield = 4
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/firelemon
+/obj/item/food/grown/firelemon
seed = /obj/item/seeds/firelemon
name = "Combustible Lemon"
desc = "Made for burning houses down."
icon_state = "firelemon"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
wine_power = 70
-/obj/item/reagent_containers/food/snacks/grown/firelemon/attack_self(mob/living/user)
+/obj/item/food/grown/firelemon/attack_self(mob/living/user)
user.visible_message("[user] primes [src]!", "You prime [src]!")
log_bomber(user, "primed a", src, "for detonation")
if(iscarbon(user))
@@ -123,19 +120,19 @@
playsound(loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3)
addtimer(CALLBACK(src, .proc/prime), rand(10, 60))
-/obj/item/reagent_containers/food/snacks/grown/firelemon/burn()
+/obj/item/food/grown/firelemon/burn()
prime()
..()
-/obj/item/reagent_containers/food/snacks/grown/firelemon/proc/update_mob()
+/obj/item/food/grown/firelemon/proc/update_mob()
if(ismob(loc))
var/mob/M = loc
M.dropItemToGround(src)
-/obj/item/reagent_containers/food/snacks/grown/firelemon/ex_act(severity)
+/obj/item/food/grown/firelemon/ex_act(severity)
qdel(src) //Ensuring that it's deleted by its own explosion
-/obj/item/reagent_containers/food/snacks/grown/firelemon/proc/prime(mob/living/lanced_by)
+/obj/item/food/grown/firelemon/proc/prime(mob/living/lanced_by)
switch(seed.potency) //Combustible lemons are alot like IEDs, lots of flame, very little bang.
if(0 to 30)
update_mob()
@@ -165,7 +162,7 @@
icon_state = "seed-orange"
species = "orange"
plantname = "Extradimensional Orange Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d
+ product = /obj/item/food/grown/citrus/orange_3d
lifespan = 60
endurance = 50
yield = 5
@@ -177,20 +174,19 @@
genes = list(/datum/plant_gene/trait/repeated_harvest)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/haloperidol = 0.15) //insert joke about the effects of haloperidol and our glorious headcoder here
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d
+/obj/item/food/grown/citrus/orange_3d
seed = /obj/item/seeds/orange_3d
name = "extradimensional orange"
desc = "You can hardly wrap your head around this thing."
icon_state = "orang"
- filling_color = "#FFA500"
juice_results = list(/datum/reagent/consumable/orangejuice = 0)
distill_reagent = /datum/reagent/toxin/mindbreaker
tastes = list("polygons" = 1, "bluespace" = 1, "the true nature of reality" = 1)
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d/pickup(mob/user)
+/obj/item/food/grown/citrus/orange_3d/pickup(mob/user)
. = ..()
icon_state = "orange"
-/obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d/dropped(mob/user)
+/obj/item/food/grown/citrus/orange_3d/dropped(mob/user)
. = ..()
icon_state = "orang"
diff --git a/code/modules/hydroponics/grown/cocoa_vanilla.dm b/code/modules/hydroponics/grown/cocoa_vanilla.dm
index 0229f655220..6e1880637c6 100644
--- a/code/modules/hydroponics/grown/cocoa_vanilla.dm
+++ b/code/modules/hydroponics/grown/cocoa_vanilla.dm
@@ -5,7 +5,7 @@
icon_state = "seed-cocoapod"
species = "cocoapod"
plantname = "Cocao Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/cocoapod
+ product = /obj/item/food/grown/cocoapod
lifespan = 20
maturation = 5
production = 5
@@ -19,14 +19,13 @@
mutatelist = list(/obj/item/seeds/cocoapod/vanillapod, /obj/item/seeds/cocoapod/bungotree)
reagents_add = list(/datum/reagent/consumable/coco = 0.25, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/cocoapod
+/obj/item/food/grown/cocoapod
seed = /obj/item/seeds/cocoapod
name = "cocoa pod"
desc = "Fattening... Mmmmm... chucklate."
icon_state = "cocoapod"
- filling_color = "#FFD700"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
tastes = list("cocoa" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/creme_de_cacao
@@ -37,18 +36,17 @@
icon_state = "seed-vanillapod"
species = "vanillapod"
plantname = "Vanilla Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/vanillapod
+ product = /obj/item/food/grown/vanillapod
genes = list(/datum/plant_gene/trait/repeated_harvest)
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/vanilla = 0.25, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/vanillapod
+/obj/item/food/grown/vanillapod
seed = /obj/item/seeds/cocoapod/vanillapod
name = "vanilla pod"
desc = "Fattening... Mmmmm... vanilla."
icon_state = "vanillapod"
- filling_color = "#FFD700"
- foodtype = FRUIT
+ foodtypes = FRUIT
tastes = list("vanilla" = 1)
distill_reagent = /datum/reagent/consumable/vanilla //Takes longer, but you can get even more vanilla from it.
@@ -58,7 +56,7 @@
icon_state = "seed-bungotree"
species = "bungotree"
plantname = "Bungo Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/bungofruit
+ product = /obj/item/food/grown/bungofruit
lifespan = 30
maturation = 4
yield = 3
@@ -72,19 +70,18 @@
icon_dead = "bungotree-dead"
rarity = 15
-/obj/item/reagent_containers/food/snacks/grown/bungofruit
+/obj/item/food/grown/bungofruit
seed = /obj/item/seeds/cocoapod/bungotree
name = "bungo fruit"
desc = "A strange fruit, tough leathery skin protects its juicy flesh and large poisonous seed."
icon_state = "bungo"
- trash = /obj/item/reagent_containers/food/snacks/grown/bungopit
- filling_color = "#E8C22F"
- foodtype = FRUIT
+ trash_type = /obj/item/food/grown/bungopit
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/bungojuice = 0)
tastes = list("bungo" = 2, "tropical fruitiness" = 1)
distill_reagent = null
-/obj/item/reagent_containers/food/snacks/grown/bungopit
+/obj/item/food/grown/bungopit
seed = /obj/item/seeds/cocoapod/bungotree
name = "bungo pit"
icon_state = "bungopit"
@@ -93,10 +90,10 @@
throwforce = 5
throw_speed = 3
throw_range = 7
- foodtype = TOXIC
+ foodtypes = TOXIC
tastes = list("acrid bitterness" = 1)
-/obj/item/reagent_containers/food/snacks/grown/bungopit/Initialize()
+/obj/item/food/grown/bungopit/Initialize()
. =..()
reagents.clear_reagents()
reagents.add_reagent(/datum/reagent/toxin/bungotoxin, seed.potency * 0.10) //More than this will kill at too low potency
diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm
index 9dcd8cc6640..9badeed8100 100644
--- a/code/modules/hydroponics/grown/corn.dm
+++ b/code/modules/hydroponics/grown/corn.dm
@@ -5,7 +5,7 @@
icon_state = "seed-corn"
species = "corn"
plantname = "Corn Stalks"
- product = /obj/item/reagent_containers/food/snacks/grown/corn
+ product = /obj/item/food/grown/corn
maturation = 8
potency = 20
instability = 50 //Corn used to be wheatgrass, before being cultivated for generations.
@@ -16,16 +16,15 @@
mutatelist = list(/obj/item/seeds/corn/snapcorn)
reagents_add = list(/datum/reagent/consumable/cornoil = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/corn
+/obj/item/food/grown/corn
seed = /obj/item/seeds/corn
name = "ear of corn"
desc = "Needs some butter!"
icon_state = "corn"
- cooked_type = /obj/item/food/popcorn
- filling_color = "#FFFF00"
- trash = /obj/item/grown/corncob
- bitesize_mod = 2
- foodtype = VEGETABLES
+ microwaved_type = /obj/item/food/popcorn
+ trash_type = /obj/item/grown/corncob
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
juice_results = list(/datum/reagent/consumable/corn_starch = 0)
tastes = list("corn" = 1)
distill_reagent = /datum/reagent/consumable/ethanol/whiskey
diff --git a/code/modules/hydroponics/grown/eggplant.dm b/code/modules/hydroponics/grown/eggplant.dm
index a9977180a60..f47aa78cd5b 100644
--- a/code/modules/hydroponics/grown/eggplant.dm
+++ b/code/modules/hydroponics/grown/eggplant.dm
@@ -5,7 +5,7 @@
icon_state = "seed-eggplant"
species = "eggplant"
plantname = "Eggplants"
- product = /obj/item/reagent_containers/food/snacks/grown/eggplant
+ product = /obj/item/food/grown/eggplant
yield = 2
potency = 20
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
@@ -15,14 +15,13 @@
mutatelist = list(/obj/item/seeds/eggplant/eggy)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/eggplant
+/obj/item/food/grown/eggplant
seed = /obj/item/seeds/eggplant
name = "eggplant"
desc = "Maybe there's a chicken inside?"
icon_state = "eggplant"
- filling_color = "#800080"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
wine_power = 20
// Egg-Plant
@@ -32,19 +31,18 @@
icon_state = "seed-eggy"
species = "eggy"
plantname = "Egg-Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/shell/eggy
+ product = /obj/item/food/grown/shell/eggy
lifespan = 75
production = 12
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/shell/eggy
+/obj/item/food/grown/shell/eggy
seed = /obj/item/seeds/eggplant/eggy
name = "egg-plant"
desc = "There MUST be a chicken inside."
icon_state = "eggyplant"
- trash = /obj/item/food/egg
- filling_color = "#F8F8FF"
- bitesize_mod = 2
- foodtype = MEAT
+ trash_type = /obj/item/food/egg
+ bite_consumption_mod = 2
+ foodtypes = MEAT
distill_reagent = /datum/reagent/consumable/ethanol/eggnog
diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm
index f9e1f3af7fd..a31fca5c1a9 100644
--- a/code/modules/hydroponics/grown/flowers.dm
+++ b/code/modules/hydroponics/grown/flowers.dm
@@ -5,7 +5,7 @@
icon_state = "seed-poppy"
species = "poppy"
plantname = "Poppy Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/poppy
+ product = /obj/item/food/grown/poppy
endurance = 10
maturation = 8
yield = 6
@@ -18,15 +18,14 @@
mutatelist = list(/obj/item/seeds/poppy/geranium, /obj/item/seeds/poppy/lily)
reagents_add = list(/datum/reagent/medicine/c2/libital = 0.2, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/poppy
+/obj/item/food/grown/poppy
seed = /obj/item/seeds/poppy
name = "poppy"
desc = "Long-used as a symbol of rest, peace, and death."
icon_state = "poppy"
slot_flags = ITEM_SLOT_HEAD
- filling_color = "#FF6347"
- bitesize_mod = 3
- foodtype = VEGETABLES | GROSS
+ bite_consumption_mod = 3
+ foodtypes = VEGETABLES | GROSS
distill_reagent = /datum/reagent/consumable/ethanol/vermouth
// Lily
@@ -36,15 +35,14 @@
icon_state = "seed-lily"
species = "lily"
plantname = "Lily Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/poppy/lily
+ product = /obj/item/food/grown/poppy/lily
mutatelist = list(/obj/item/seeds/poppy/lily/trumpet)
-/obj/item/reagent_containers/food/snacks/grown/poppy/lily
+/obj/item/food/grown/poppy/lily
seed = /obj/item/seeds/poppy/lily
name = "lily"
desc = "A beautiful orange flower."
icon_state = "lily"
- filling_color = "#FFA500"
//Spacemans's Trumpet
/obj/item/seeds/poppy/lily/trumpet
@@ -53,7 +51,7 @@
icon_state = "seed-trumpet"
species = "spacemanstrumpet"
plantname = "Spaceman's Trumpet Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/trumpet
+ product = /obj/item/food/grown/trumpet
lifespan = 80
production = 5
endurance = 10
@@ -77,14 +75,13 @@
if(!nogenes)
unset_mutability(/datum/plant_gene/reagent/polypyr, PLANT_GENE_EXTRACTABLE)
-/obj/item/reagent_containers/food/snacks/grown/trumpet
+/obj/item/food/grown/trumpet
seed = /obj/item/seeds/poppy/lily/trumpet
name = "spaceman's trumpet"
desc = "A vivid flower that smells faintly of freshly cut grass. Touching the flower seems to stain the skin some time after contact, yet most other surfaces seem to be unaffected by this phenomenon."
icon_state = "spacemanstrumpet"
- filling_color = "#FF6347"
- bitesize_mod = 3
- foodtype = VEGETABLES
+ bite_consumption_mod = 3
+ foodtypes = VEGETABLES
// Geranium
/obj/item/seeds/poppy/geranium
@@ -93,15 +90,14 @@
icon_state = "seed-geranium"
species = "geranium"
plantname = "Geranium Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/poppy/geranium
+ product = /obj/item/food/grown/poppy/geranium
mutatelist = list(/obj/item/seeds/poppy/geranium/fraxinella)
-/obj/item/reagent_containers/food/snacks/grown/poppy/geranium
+/obj/item/food/grown/poppy/geranium
seed = /obj/item/seeds/poppy/geranium
name = "geranium"
desc = "A beautiful blue flower."
icon_state = "geranium"
- filling_color = "#008B8B"
///Fraxinella seeds.
/obj/item/seeds/poppy/geranium/fraxinella
@@ -110,18 +106,17 @@
icon_state = "seed-fraxinella"
species = "fraxinella"
plantname = "Fraxinella Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/poppy/geranium/fraxinella
+ product = /obj/item/food/grown/poppy/geranium/fraxinella
mutatelist = list()
rarity = 15
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05, /datum/reagent/fuel/oil = 0.05)
///Fraxinella Flowers.
-/obj/item/reagent_containers/food/snacks/grown/poppy/geranium/fraxinella
+/obj/item/food/grown/poppy/geranium/fraxinella
seed = /obj/item/seeds/poppy/geranium/fraxinella
name = "fraxinella"
desc = "A beautiful light pink flower."
icon_state = "fraxinella"
- filling_color = "#008B8B"
distill_reagent = /datum/reagent/ash
// Harebell
@@ -131,7 +126,7 @@
icon_state = "seed-harebell"
species = "harebell"
plantname = "Harebells"
- product = /obj/item/reagent_containers/food/snacks/grown/harebell
+ product = /obj/item/food/grown/harebell
lifespan = 100
endurance = 20
maturation = 7
@@ -145,14 +140,13 @@
reagents_add = list(/datum/reagent/consumable/nutriment = 0.04)
graft_gene = /datum/plant_gene/trait/plant_type/weed_hardy
-/obj/item/reagent_containers/food/snacks/grown/harebell
+/obj/item/food/grown/harebell
seed = /obj/item/seeds/harebell
name = "harebell"
desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten'd not thy breath.\""
icon_state = "harebell"
slot_flags = ITEM_SLOT_HEAD
- filling_color = "#E6E6FA"
- bitesize_mod = 3
+ bite_consumption_mod = 3
distill_reagent = /datum/reagent/consumable/ethanol/vermouth
// Sunflower
@@ -204,21 +198,20 @@
plantname = "Moonflowers"
icon_grow = "moonflower-grow"
icon_dead = "sunflower-dead"
- product = /obj/item/reagent_containers/food/snacks/grown/moonflower
+ product = /obj/item/food/grown/moonflower
genes = list(/datum/plant_gene/trait/glow/purple)
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/ethanol/moonshine = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/consumable/nutriment = 0.02)
rarity = 15
graft_gene = /datum/plant_gene/trait/glow/purple
-/obj/item/reagent_containers/food/snacks/grown/moonflower
+/obj/item/food/grown/moonflower
seed = /obj/item/seeds/sunflower/moonflower
name = "moonflower"
desc = "Store in a location at least 50 yards away from werewolves."
icon_state = "moonflower"
slot_flags = ITEM_SLOT_HEAD
- filling_color = "#E6E6FA"
- bitesize_mod = 2
+ bite_consumption_mod = 2
distill_reagent = /datum/reagent/consumable/ethanol/absinthe //It's made from flowers.
// Novaflower
diff --git a/code/modules/hydroponics/grown/garlic.dm b/code/modules/hydroponics/grown/garlic.dm
index b0840fca1d6..d7861d41369 100644
--- a/code/modules/hydroponics/grown/garlic.dm
+++ b/code/modules/hydroponics/grown/garlic.dm
@@ -4,19 +4,18 @@
icon_state = "seed-garlic"
species = "garlic"
plantname = "Garlic Sprouts"
- product = /obj/item/reagent_containers/food/snacks/grown/garlic
+ product = /obj/item/food/grown/garlic
yield = 6
potency = 25
growthstages = 3
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
reagents_add = list(/datum/reagent/consumable/garlic = 0.15, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/garlic
+/obj/item/food/grown/garlic
seed = /obj/item/seeds/garlic
name = "garlic"
desc = "Delicious, but with a potentially overwhelming odor."
icon_state = "garlic"
- filling_color = "#C0C9A0"
- bitesize_mod = 2
+ bite_consumption_mod = 2
tastes = list("garlic" = 1)
wine_power = 10
diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm
index 952fb85dfff..0a5cc48a234 100644
--- a/code/modules/hydroponics/grown/grass_carpet.dm
+++ b/code/modules/hydroponics/grown/grass_carpet.dm
@@ -5,7 +5,7 @@
icon_state = "seed-grass"
species = "grass"
plantname = "Grass"
- product = /obj/item/reagent_containers/food/snacks/grown/grass
+ product = /obj/item/food/grown/grass
lifespan = 40
endurance = 40
maturation = 2
@@ -19,21 +19,20 @@
mutatelist = list(/obj/item/seeds/grass/carpet, /obj/item/seeds/grass/fairy)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.02, /datum/reagent/hydrogen = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/grass
+/obj/item/food/grown/grass
seed = /obj/item/seeds/grass
name = "grass"
desc = "Green and lush."
icon_state = "grassclump"
- filling_color = "#32CD32"
- bitesize_mod = 2
+ bite_consumption_mod = 2
var/stacktype = /obj/item/stack/tile/grass
var/tile_coefficient = 0.02 // 1/50
wine_power = 15
-/obj/item/reagent_containers/food/snacks/grown/grass/attack_self(mob/user)
+/obj/item/food/grown/grass/attack_self(mob/user)
to_chat(user, "You prepare the astroturf.")
var/grassAmt = 1 + round(seed.potency * tile_coefficient) // The grass we're holding
- for(var/obj/item/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor
+ for(var/obj/item/food/grown/grass/G in user.loc) // The grass on the floor
if(G.type != type)
continue
grassAmt += 1 + round(G.seed.potency * tile_coefficient)
@@ -48,19 +47,18 @@
icon_state = "seed-fairygrass"
species = "fairygrass"
plantname = "Fairygrass"
- product = /obj/item/reagent_containers/food/snacks/grown/grass/fairy
+ product = /obj/item/food/grown/grass/fairy
icon_grow = "fairygrass-grow"
icon_dead = "fairygrass-dead"
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/blue)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.02, /datum/reagent/hydrogen = 0.05, /datum/reagent/drug/space_drugs = 0.15)
graft_gene = /datum/plant_gene/trait/glow/blue
-/obj/item/reagent_containers/food/snacks/grown/grass/fairy
+/obj/item/food/grown/grass/fairy
seed = /obj/item/seeds/grass/fairy
name = "fairygrass"
desc = "Blue, glowing, and smells fainly of mushrooms."
icon_state = "fairygrassclump"
- filling_color = "#3399ff"
stacktype = /obj/item/stack/tile/fairygrass
// Carpet
@@ -70,11 +68,11 @@
icon_state = "seed-carpet"
species = "carpet"
plantname = "Carpet"
- product = /obj/item/reagent_containers/food/snacks/grown/grass/carpet
+ product = /obj/item/food/grown/grass/carpet
mutatelist = list()
rarity = 10
-/obj/item/reagent_containers/food/snacks/grown/grass/carpet
+/obj/item/food/grown/grass/carpet
seed = /obj/item/seeds/grass/carpet
name = "carpet"
desc = "The textile industry's dark secret."
diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm
index 41b33b7254c..e73bd04ce78 100644
--- a/code/modules/hydroponics/grown/kudzu.dm
+++ b/code/modules/hydroponics/grown/kudzu.dm
@@ -6,7 +6,7 @@
icon_state = "seed-kudzu"
species = "kudzu"
plantname = "Kudzu"
- product = /obj/item/reagent_containers/food/snacks/grown/kudzupod
+ product = /obj/item/food/grown/kudzupod
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/plant_type/weed_hardy)
lifespan = 20
endurance = 10
@@ -97,13 +97,12 @@
adjust_potency(rand(15, -5))
-/obj/item/reagent_containers/food/snacks/grown/kudzupod
+/obj/item/food/grown/kudzupod
seed = /obj/item/seeds/kudzu
name = "kudzu pod"
desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact."
icon_state = "kudzupod"
- filling_color = "#6B8E23"
- bitesize_mod = 2
- foodtype = VEGETABLES | GROSS
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES | GROSS
tastes = list("kudzu" = 1)
wine_power = 20
diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm
index d83b422af2c..c266804d7f8 100644
--- a/code/modules/hydroponics/grown/melon.dm
+++ b/code/modules/hydroponics/grown/melon.dm
@@ -5,7 +5,7 @@
icon_state = "seed-watermelon"
species = "watermelon"
plantname = "Watermelon Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/watermelon
+ product = /obj/item/food/grown/watermelon
lifespan = 50
endurance = 40
instability = 20
@@ -22,21 +22,23 @@
qdel(src)
return MANUAL_SUICIDE
-/obj/item/reagent_containers/food/snacks/grown/watermelon
+/obj/item/food/grown/watermelon
seed = /obj/item/seeds/watermelon
name = "watermelon"
desc = "It's full of watery goodness."
icon_state = "watermelon"
- slice_path = /obj/item/food/watermelonslice
- slices_num = 5
- dried_type = null
w_class = WEIGHT_CLASS_NORMAL
- filling_color = "#008000"
- bitesize_mod = 3
- foodtype = FRUIT
+ bite_consumption_mod = 3
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/watermelonjuice = 0)
wine_power = 40
+/obj/item/food/grown/watermelon/MakeProcessable()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/watermelonslice, 5, 20)
+
+/obj/item/food/grown/watermelon/make_dryable()
+ return //No drying
+
// Holymelon
/obj/item/seeds/watermelon/holy
name = "pack of holymelon seeds"
@@ -44,40 +46,44 @@
icon_state = "seed-holymelon"
species = "holymelon"
plantname = "Holy Melon Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/holymelon
+ product = /obj/item/food/grown/holymelon
genes = list(/datum/plant_gene/trait/glow/yellow)
mutatelist = list()
reagents_add = list(/datum/reagent/water/holywater = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 20
graft_gene = /datum/plant_gene/trait/glow/yellow
-/obj/item/reagent_containers/food/snacks/grown/holymelon
+/obj/item/food/grown/holymelon
seed = /obj/item/seeds/watermelon/holy
name = "holymelon"
desc = "The water within this melon has been blessed by some deity that's particularly fond of watermelon."
icon_state = "holymelon"
- filling_color = "#FFD700"
- dried_type = null
wine_power = 70 //Water to wine, baby.
wine_flavor = "divinity"
-/obj/item/reagent_containers/food/snacks/grown/holymelon/Initialize()
+
+/obj/item/food/grown/holymelon/make_dryable()
+ return //No drying
+
+/obj/item/food/grown/holymelon/Initialize()
. = ..()
var/uses = 1
if(seed)
uses = round(seed.potency / 20)
AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, ITEM_SLOT_HANDS, uses, TRUE, CALLBACK(src, .proc/block_magic), CALLBACK(src, .proc/expire)) //deliver us from evil o melon god
-/obj/item/reagent_containers/food/snacks/grown/holymelon/proc/block_magic(mob/user, major)
+/obj/item/food/grown/holymelon/proc/block_magic(mob/user, major)
if(major)
to_chat(user, "[src] hums slightly, and seems to decay a bit.")
-/obj/item/reagent_containers/food/snacks/grown/holymelon/proc/expire(mob/user)
+/obj/item/food/grown/holymelon/proc/expire(mob/user)
to_chat(user, "[src] rapidly turns into ash!")
qdel(src)
new /obj/effect/decal/cleanable/ash(drop_location())
-/obj/item/reagent_containers/food/snacks/grown/holymelon/checkLiked(fraction, mob/M) //chaplains sure love holymelons
+
+/*
+/obj/item/food/grown/holymelon/checkLiked(fraction, mob/M) //chaplains sure love holymelons
if(!ishuman(M))
return
if(last_check_time + 5 SECONDS >= world.time)
@@ -90,6 +96,9 @@
SEND_SIGNAL(holy_person, COMSIG_ADD_MOOD_EVENT, "Divine_chew", /datum/mood_event/holy_consumption)
last_check_time = world.time
+
+*/
+
/// Barrel melon Seeds
/obj/item/seeds/watermelon/barrel
name = "pack of barrelmelon seeds"
@@ -97,7 +106,7 @@
icon_state = "seed-barrelmelon"
species = "barrelmelon"
plantname = "Barrel Melon Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/barrelmelon
+ product = /obj/item/food/grown/barrelmelon
genes = list(/datum/plant_gene/trait/brewing)
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/ethanol/ale = 0.2, /datum/reagent/consumable/nutriment = 0.1)
@@ -105,10 +114,9 @@
graft_gene = /datum/plant_gene/trait/brewing
/// Barrel melon Fruit
-/obj/item/reagent_containers/food/snacks/grown/barrelmelon
+/obj/item/food/grown/barrelmelon
seed = /obj/item/seeds/watermelon/barrel
name = "barrelmelon"
desc = "The nutriments within this melon have been compressed and fermented into rich alcohol."
icon_state = "barrelmelon"
- filling_color = "#b47b31"
distill_reagent = /datum/reagent/medicine/antihol //You can call it a integer overflow.
diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm
index c0ecc238180..d2db007bedb 100644
--- a/code/modules/hydroponics/grown/misc.dm
+++ b/code/modules/hydroponics/grown/misc.dm
@@ -71,7 +71,7 @@
icon_state = "seed-galaxythistle"
species = "galaxythistle"
plantname = "Galaxythistle"
- product = /obj/item/reagent_containers/food/snacks/grown/galaxythistle
+ product = /obj/item/food/grown/galaxythistle
lifespan = 70
endurance = 40
maturation = 3
@@ -91,14 +91,13 @@
if(!nogenes)
unset_mutability(/datum/plant_gene/trait/invasive, PLANT_GENE_REMOVABLE)
-/obj/item/reagent_containers/food/snacks/grown/galaxythistle
+/obj/item/food/grown/galaxythistle
seed = /obj/item/seeds/galaxythistle
name = "galaxythistle flower head"
desc = "This spiny cluster of florets reminds you of the highlands."
icon_state = "galaxythistle"
- filling_color = "#1E7549"
- bitesize_mod = 3
- foodtype = VEGETABLES
+ bite_consumption_mod = 3
+ foodtypes = VEGETABLES
wine_power = 35
tastes = list("thistle" = 2, "artichoke" = 1)
@@ -109,7 +108,7 @@
icon_state = "seed-cabbage"
species = "cabbage"
plantname = "Cabbages"
- product = /obj/item/reagent_containers/food/snacks/grown/cabbage
+ product = /obj/item/food/grown/cabbage
lifespan = 50
endurance = 25
maturation = 3
@@ -123,14 +122,13 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
seed_flags = null
-/obj/item/reagent_containers/food/snacks/grown/cabbage
+/obj/item/food/grown/cabbage
seed = /obj/item/seeds/cabbage
name = "cabbage"
desc = "Ewwwwwwwwww. Cabbage."
icon_state = "cabbage"
- filling_color = "#90EE90"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
wine_power = 20
// Sugarcane
@@ -140,7 +138,7 @@
icon_state = "seed-sugarcane"
species = "sugarcane"
plantname = "Sugarcane"
- product = /obj/item/reagent_containers/food/snacks/grown/sugarcane
+ product = /obj/item/food/grown/sugarcane
genes = list(/datum/plant_gene/trait/repeated_harvest)
lifespan = 60
endurance = 50
@@ -151,14 +149,13 @@
reagents_add = list(/datum/reagent/consumable/sugar = 0.25)
mutatelist = list(/obj/item/seeds/bamboo)
-/obj/item/reagent_containers/food/snacks/grown/sugarcane
+/obj/item/food/grown/sugarcane
seed = /obj/item/seeds/sugarcane
name = "sugarcane"
desc = "Sickly sweet."
icon_state = "sugarcane"
- filling_color = "#FFD700"
- bitesize_mod = 2
- foodtype = VEGETABLES | SUGAR
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES | SUGAR
distill_reagent = /datum/reagent/consumable/ethanol/rum
// Gatfruit
@@ -168,7 +165,7 @@
icon_state = "seed-gatfruit"
species = "gatfruit"
plantname = "Gatfruit Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/shell/gatfruit
+ product = /obj/item/food/grown/shell/gatfruit
genes = list(/datum/plant_gene/trait/repeated_harvest)
lifespan = 20
endurance = 20
@@ -181,14 +178,14 @@
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
reagents_add = list(/datum/reagent/sulfur = 0.1, /datum/reagent/carbon = 0.1, /datum/reagent/nitrogen = 0.07, /datum/reagent/potassium = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/shell/gatfruit
+/obj/item/food/grown/shell/gatfruit
seed = /obj/item/seeds/gatfruit
name = "gatfruit"
desc = "It smells like burning."
icon_state = "gatfruit"
- trash = /obj/item/gun/ballistic/revolver
- bitesize_mod = 2
- foodtype = FRUIT
+ trash_type = /obj/item/gun/ballistic/revolver
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
tastes = list("gunpowder" = 1)
wine_power = 90 //It burns going down, too.
@@ -199,37 +196,36 @@
icon_state = "seed-cherry_bomb"
species = "cherry_bomb"
plantname = "Cherry Bomb Tree"
- product = /obj/item/reagent_containers/food/snacks/grown/cherry_bomb
+ product = /obj/item/food/grown/cherry_bomb
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/sugar = 0.1, /datum/reagent/gunpowder = 0.7)
rarity = 60 //See above
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb
+/obj/item/food/grown/cherry_bomb
name = "cherry bombs"
desc = "You think you can hear the hissing of a tiny fuse."
icon_state = "cherry_bomb"
- filling_color = rgb(20, 20, 20)
seed = /obj/item/seeds/cherry/bomb
- bitesize_mod = 2
- volume = 125 //Gives enough room for the gunpowder at max potency
+ bite_consumption_mod = 2
+ max_volume = 125 //Gives enough room for the gunpowder at max potency
max_integrity = 40
wine_power = 80
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/attack_self(mob/living/user)
+/obj/item/food/grown/cherry_bomb/attack_self(mob/living/user)
user.visible_message("[user] plucks the stem from [src]!", "You pluck the stem from [src], which begins to hiss loudly!")
log_bomber(user, "primed a", src, "for detonation")
prime()
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/deconstruct(disassembled = TRUE)
+/obj/item/food/grown/cherry_bomb/deconstruct(disassembled = TRUE)
if(!disassembled)
prime()
if(!QDELETED(src))
qdel(src)
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/ex_act(severity)
+/obj/item/food/grown/cherry_bomb/ex_act(severity)
qdel(src) //Ensuring that it's deleted by its own explosion. Also prevents mass chain reaction with piles of cherry bombs
-/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/proc/prime(mob/living/lanced_by)
+/obj/item/food/grown/cherry_bomb/proc/prime(mob/living/lanced_by)
icon_state = "cherry_bomb_lit"
playsound(src, 'sound/effects/fuse.ogg', seed.potency, FALSE)
reagents.chem_temp = 1000 //Sets off the gunpowder
@@ -242,7 +238,7 @@
icon_state = "seed-aloe"
species = "aloe"
plantname = "Aloe"
- product = /obj/item/reagent_containers/food/snacks/grown/aloe
+ product = /obj/item/food/grown/aloe
lifespan = 60
endurance = 25
maturation = 4
@@ -252,17 +248,16 @@
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/aloe
+/obj/item/food/grown/aloe
seed = /obj/item/seeds/aloe
name = "aloe"
desc = "Cut leaves from the aloe plant."
icon_state = "aloe"
- filling_color = "#90EE90"
- bitesize_mod = 5
- foodtype = VEGETABLES
+ bite_consumption_mod = 5
+ foodtypes = VEGETABLES
juice_results = list(/datum/reagent/consumable/aloejuice = 0)
distill_reagent = /datum/reagent/consumable/ethanol/tequila
-/obj/item/reagent_containers/food/snacks/grown/aloe/microwave_act(obj/machinery/microwave/M)
+/obj/item/food/grown/aloe/microwave_act(obj/machinery/microwave/M)
new /obj/item/stack/medical/aloe(drop_location(), 2)
qdel(src)
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
index 0f954878b8c..5cebcca4b8b 100644
--- a/code/modules/hydroponics/grown/mushrooms.dm
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -1,7 +1,7 @@
-/obj/item/reagent_containers/food/snacks/grown/mushroom
+/obj/item/food/grown/mushroom
name = "mushroom"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
wine_power = 40
// Reishi
@@ -11,7 +11,7 @@
icon_state = "mycelium-reishi"
species = "reishi"
plantname = "Reishi"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi
+ product = /obj/item/food/grown/mushroom/reishi
lifespan = 35
endurance = 35
maturation = 10
@@ -25,12 +25,11 @@
reagents_add = list(/datum/reagent/medicine/morphine = 0.35, /datum/reagent/medicine/c2/multiver = 0.35, /datum/reagent/consumable/nutriment = 0)
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/reishi
+/obj/item/food/grown/mushroom/reishi
seed = /obj/item/seeds/reishi
name = "reishi"
desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties."
icon_state = "reishi"
- filling_color = "#FF4500"
// Fly Amanita
@@ -40,7 +39,7 @@
icon_state = "mycelium-amanita"
species = "amanita"
plantname = "Fly Amanitas"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita
+ product = /obj/item/food/grown/mushroom/amanita
lifespan = 50
endurance = 35
maturation = 10
@@ -54,12 +53,11 @@
reagents_add = list(/datum/reagent/drug/mushroomhallucinogen = 0.04, /datum/reagent/toxin/amatoxin = 0.35, /datum/reagent/consumable/nutriment = 0, /datum/reagent/growthserum = 0.1)
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/amanita
+/obj/item/food/grown/mushroom/amanita
seed = /obj/item/seeds/amanita
name = "fly amanita"
desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know."
icon_state = "amanita"
- filling_color = "#FF0000"
// Destroying Angel
/obj/item/seeds/angel
@@ -68,7 +66,7 @@
icon_state = "mycelium-angel"
species = "angel"
plantname = "Destroying Angels"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/angel
+ product = /obj/item/food/grown/mushroom/angel
lifespan = 50
endurance = 35
maturation = 12
@@ -82,12 +80,11 @@
rarity = 30
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/angel
+/obj/item/food/grown/mushroom/angel
seed = /obj/item/seeds/angel
name = "destroying angel"
desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins."
icon_state = "angel"
- filling_color = "#C0C0C0"
wine_power = 60
// Liberty Cap
@@ -97,7 +94,7 @@
icon_state = "mycelium-liberty"
species = "liberty"
plantname = "Liberty-Caps"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap
+ product = /obj/item/food/grown/mushroom/libertycap
maturation = 7
production = 1
yield = 5
@@ -109,12 +106,11 @@
reagents_add = list(/datum/reagent/drug/mushroomhallucinogen = 0.25, /datum/reagent/consumable/nutriment = 0.02)
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap
+/obj/item/food/grown/mushroom/libertycap
seed = /obj/item/seeds/liberty
name = "liberty-cap"
desc = "Psilocybe Semilanceata: Liberate yourself!"
icon_state = "libertycap"
- filling_color = "#DAA520"
wine_power = 80
// Plump Helmet
@@ -124,7 +120,7 @@
icon_state = "mycelium-plump"
species = "plump"
plantname = "Plump-Helmet Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet
+ product = /obj/item/food/grown/mushroom/plumphelmet
maturation = 8
production = 1
yield = 4
@@ -136,12 +132,11 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet
+/obj/item/food/grown/mushroom/plumphelmet
seed = /obj/item/seeds/plump
name = "plump-helmet"
desc = "Plumus Hellmus: Plump, soft and s-so inviting~"
icon_state = "plumphelmet"
- filling_color = "#9370DB"
distill_reagent = /datum/reagent/consumable/ethanol/manly_dorf
// Walking Mushroom
@@ -151,7 +146,7 @@
icon_state = "mycelium-walkingmushroom"
species = "walkingmushroom"
plantname = "Walking Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
+ product = /obj/item/food/grown/mushroom/walkingmushroom
lifespan = 30
endurance = 30
maturation = 5
@@ -162,15 +157,14 @@
rarity = 30
graft_gene = /datum/plant_gene/trait/eyes
-/obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
+/obj/item/food/grown/mushroom/walkingmushroom
seed = /obj/item/seeds/plump/walkingmushroom
name = "walking mushroom"
desc = "Plumus Locomotus: The beginning of the great walk."
icon_state = "walkingmushroom"
- filling_color = "#9370DB"
can_distill = FALSE
-/obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
+/obj/item/food/grown/mushroom/walkingmushroom/attack_self(mob/user)
if(isspaceturf(user.loc))
return
var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc)
@@ -190,7 +184,7 @@
icon_state = "mycelium-chanter"
species = "chanter"
plantname = "Chanterelle Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle
+ product = /obj/item/food/grown/mushroom/chanterelle
lifespan = 35
endurance = 20
maturation = 7
@@ -205,12 +199,11 @@
mutatelist = list(/obj/item/seeds/chanter/jupitercup)
graft_gene = /datum/plant_gene/trait/plant_type/fungal_metabolism
-/obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle
+/obj/item/food/grown/mushroom/chanterelle
seed = /obj/item/seeds/chanter
name = "chanterelle cluster"
desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!"
icon_state = "chanterelle"
- filling_color = "#FFA500"
//Jupiter Cup
/obj/item/seeds/chanter/jupitercup
@@ -219,7 +212,7 @@
icon_state = "mycelium-jupitercup"
species = "jupitercup"
plantname = "Jupiter Cups"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup
+ product = /obj/item/food/grown/mushroom/jupitercup
lifespan = 40
production = 4
endurance = 8
@@ -236,12 +229,11 @@
unset_mutability(/datum/plant_gene/reagent/liquidelectricity, PLANT_GENE_EXTRACTABLE)
unset_mutability(/datum/plant_gene/trait/plant_type/carnivory, PLANT_GENE_REMOVABLE)
-/obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup
+/obj/item/food/grown/mushroom/jupitercup
seed = /obj/item/seeds/chanter/jupitercup
name = "jupiter cup"
desc = "A strange red mushroom, its surface is moist and slick. You wonder how many tiny worms have met their fate inside."
icon_state = "jupitercup"
- filling_color = "#B5003D"
// Glowshroom
/obj/item/seeds/glowshroom
@@ -250,7 +242,7 @@
icon_state = "mycelium-glowshroom"
species = "glowshroom"
plantname = "Glowshrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom
+ product = /obj/item/food/grown/mushroom/glowshroom
lifespan = 100 //ten times that is the delay
endurance = 30
maturation = 15
@@ -266,16 +258,15 @@
reagents_add = list(/datum/reagent/uranium/radium = 0.1, /datum/reagent/phosphorus = 0.1, /datum/reagent/consumable/nutriment = 0.04)
graft_gene = /datum/plant_gene/trait/glow
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom
+/obj/item/food/grown/mushroom/glowshroom
seed = /obj/item/seeds/glowshroom
name = "glowshroom cluster"
desc = "Mycena Bregprox: This species of mushroom glows in the dark."
icon_state = "glowshroom"
- filling_color = "#00FA9A"
var/effect_path = /obj/structure/glowshroom
wine_power = 50
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user)
+/obj/item/food/grown/mushroom/glowshroom/attack_self(mob/user)
if(isspaceturf(user.loc))
return FALSE
if(!isturf(user.loc))
@@ -306,19 +297,18 @@
species = "glowcap"
icon_harvest = "glowcap-harvest"
plantname = "Glowcaps"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
+ product = /obj/item/food/grown/mushroom/glowshroom/glowcap
genes = list(/datum/plant_gene/trait/glow/red, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism)
mutatelist = list()
reagents_add = list(/datum/reagent/teslium = 0.1, /datum/reagent/consumable/nutriment = 0.04)
rarity = 30
graft_gene = /datum/plant_gene/trait/cell_charge
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
+/obj/item/food/grown/mushroom/glowshroom/glowcap
seed = /obj/item/seeds/glowshroom/glowcap
name = "glowcap cluster"
desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but isn't actually bioluminescent. They're warm to the touch..."
icon_state = "glowcap"
- filling_color = "#00FA9A"
effect_path = /obj/structure/glowshroom/glowcap
tastes = list("glowcap" = 1)
@@ -332,14 +322,14 @@
icon_grow = "shadowshroom-grow"
icon_dead = "shadowshroom-dead"
plantname = "Shadowshrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom
+ product = /obj/item/food/grown/mushroom/glowshroom/shadowshroom
genes = list(/datum/plant_gene/trait/glow/shadow, /datum/plant_gene/trait/plant_type/fungal_metabolism)
mutatelist = list()
reagents_add = list(/datum/reagent/uranium/radium = 0.2, /datum/reagent/consumable/nutriment = 0.04)
rarity = 30
graft_gene = /datum/plant_gene/trait/glow/shadow
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom
+/obj/item/food/grown/mushroom/glowshroom/shadowshroom
seed = /obj/item/seeds/glowshroom/shadowshroom
name = "shadowshroom cluster"
desc = "Mycena Umbra: This species of mushroom emits shadow instead of light."
@@ -348,7 +338,7 @@
tastes = list("shadow" = 1, "mushroom" = 1)
wine_power = 60
-/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom/attack_self(mob/user)
+/obj/item/food/grown/mushroom/glowshroom/shadowshroom/attack_self(mob/user)
. = ..()
if(.)
investigate_log("was planted by [key_name(user)] at [AREACOORD(user)]", INVESTIGATE_BOTANY)
diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm
index 0398770e868..9edd1cc6a55 100644
--- a/code/modules/hydroponics/grown/nettle.dm
+++ b/code/modules/hydroponics/grown/nettle.dm
@@ -4,7 +4,7 @@
icon_state = "seed-nettle"
species = "nettle"
plantname = "Nettles"
- product = /obj/item/reagent_containers/food/snacks/grown/nettle
+ product = /obj/item/food/grown/nettle
lifespan = 30
endurance = 40 // tuff like a toiger
yield = 4
@@ -21,7 +21,7 @@
icon_state = "seed-deathnettle"
species = "deathnettle"
plantname = "Death Nettles"
- product = /obj/item/reagent_containers/food/snacks/grown/nettle/death
+ product = /obj/item/food/grown/nettle/death
endurance = 25
maturation = 8
yield = 2
@@ -31,7 +31,7 @@
rarity = 20
graft_gene = /datum/plant_gene/trait/stinging
-/obj/item/reagent_containers/food/snacks/grown/nettle // "snack"
+/obj/item/food/grown/nettle // "snack"
seed = /obj/item/seeds/nettle
name = "nettle"
desc = "It's probably not wise to touch it with bare hands..."
@@ -49,11 +49,11 @@
attack_verb_continuous = list("stings")
attack_verb_simple = list("sting")
-/obj/item/reagent_containers/food/snacks/grown/nettle/suicide_act(mob/user)
+/obj/item/food/grown/nettle/suicide_act(mob/user)
user.visible_message("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!")
return (BRUTELOSS|TOXLOSS)
-/obj/item/reagent_containers/food/snacks/grown/nettle/pickup(mob/living/user)
+/obj/item/food/grown/nettle/pickup(mob/living/user)
..()
if(!iscarbon(user))
return FALSE
@@ -70,7 +70,7 @@
to_chat(C, "The nettle burns your bare hand!")
return TRUE
-/obj/item/reagent_containers/food/snacks/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity)
+/obj/item/food/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity)
. = ..()
if(!proximity)
return
@@ -80,14 +80,14 @@
to_chat(usr, "All the leaves have fallen off the nettle from violent whacking.")
qdel(src)
-/obj/item/reagent_containers/food/snacks/grown/nettle/basic
+/obj/item/food/grown/nettle/basic
seed = /obj/item/seeds/nettle
-/obj/item/reagent_containers/food/snacks/grown/nettle/basic/add_juice()
- ..()
+/obj/item/food/grown/nettle/basic/Initialize(mapload, obj/item/seeds/new_seed)
+ . = ..()
force = round((5 + seed.potency / 5), 1)
-/obj/item/reagent_containers/food/snacks/grown/nettle/death
+/obj/item/food/grown/nettle/death
seed = /obj/item/seeds/nettle/death
name = "deathnettle"
desc = "The glowing nettle incites rage in you just from looking at it!"
@@ -96,17 +96,17 @@
wound_bonus = CANT_WOUND
throwforce = 15
-/obj/item/reagent_containers/food/snacks/grown/nettle/death/add_juice()
- ..()
+/obj/item/food/grown/nettle/death/Initialize(mapload, obj/item/seeds/new_seed)
+ . = ..()
force = round((5 + seed.potency / 2.5), 1)
-/obj/item/reagent_containers/food/snacks/grown/nettle/death/pickup(mob/living/carbon/user)
+/obj/item/food/grown/nettle/death/pickup(mob/living/carbon/user)
if(..())
if(prob(50))
user.Paralyze(100)
to_chat(user, "You are stunned by [src] as you try picking it up!")
-/obj/item/reagent_containers/food/snacks/grown/nettle/death/attack(mob/living/carbon/M, mob/user)
+/obj/item/food/grown/nettle/death/attack(mob/living/carbon/M, mob/user)
if(!..())
return
if(isliving(M))
diff --git a/code/modules/hydroponics/grown/onion.dm b/code/modules/hydroponics/grown/onion.dm
index c139478ccc9..e124ae20056 100644
--- a/code/modules/hydroponics/grown/onion.dm
+++ b/code/modules/hydroponics/grown/onion.dm
@@ -4,7 +4,7 @@
icon_state = "seed-onion"
species = "onion"
plantname = "Onion Sprouts"
- product = /obj/item/reagent_containers/food/snacks/grown/onion
+ product = /obj/item/food/grown/onion
lifespan = 20
maturation = 3
production = 4
@@ -17,18 +17,18 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
mutatelist = list(/obj/item/seeds/onion/red)
-/obj/item/reagent_containers/food/snacks/grown/onion
+/obj/item/food/grown/onion
seed = /obj/item/seeds/onion
name = "onion"
desc = "Nothing to cry over."
icon_state = "onion"
- filling_color = "#C0C9A0"
- bitesize_mod = 2
+ bite_consumption_mod = 2
tastes = list("onions" = 1)
- slice_path = /obj/item/reagent_containers/food/snacks/onion_slice
- slices_num = 2
wine_power = 30
+/obj/item/food/grown/onion/MakeProcessable()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/onion_slice, 2, 15)
+
/obj/item/seeds/onion/red
name = "pack of red onion seeds"
desc = "For growing exceptionally potent onions."
@@ -36,40 +36,39 @@
species = "onion_red"
plantname = "Red Onion Sprouts"
weed_chance = 1
- product = /obj/item/reagent_containers/food/snacks/grown/onion/red
+ product = /obj/item/food/grown/onion/red
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/tearjuice = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/onion/red
+/obj/item/food/grown/onion/red
seed = /obj/item/seeds/onion/red
name = "red onion"
desc = "Purple despite the name."
icon_state = "onion_red"
- filling_color = "#C29ACF"
- slice_path = /obj/item/reagent_containers/food/snacks/onion_slice/red
wine_power = 60
-/obj/item/reagent_containers/food/snacks/grown/onion/slice(accuracy, obj/item/W, mob/user)
+/obj/item/food/grown/onion/MakeProcessable()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/onion_slice/red, 2, 15)
+
+/obj/item/food/grown/onion/UsedforProcessing(mob/living/user, obj/item/I, list/chosen_option)
var/datum/effect_system/smoke_spread/chem/S = new //Since the onion is destroyed when it's sliced,
var/splat_location = get_turf(src) //we need to set up the smoke beforehand
S.attach(splat_location)
S.set_up(reagents, 0, splat_location, 0)
- if(..())
- S.start()
- return TRUE
+ S.start()
qdel(S)
+ return ..()
-/obj/item/reagent_containers/food/snacks/onion_slice
+/obj/item/food/onion_slice
name = "onion slices"
desc = "Rings, not for wearing."
icon_state = "onionslice"
- list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
- filling_color = "#C0C9A0"
+ food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2)
gender = PLURAL
- cooked_type = /obj/item/food/onionrings
+ w_class = WEIGHT_CLASS_TINY
+ microwaved_type = /obj/item/food/onionrings
-/obj/item/reagent_containers/food/snacks/onion_slice/red
+/obj/item/food/onion_slice/red
name = "red onion slices"
desc = "They shine like exceptionally low quality amethyst."
icon_state = "onionslice_red"
- filling_color = "#C29ACF"
- list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/tearjuice = 2.5)
+ food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2, /datum/reagent/consumable/tearjuice = 2.5)
diff --git a/code/modules/hydroponics/grown/peas.dm b/code/modules/hydroponics/grown/peas.dm
index 22cbcccac7a..c0d9fd2cb7c 100644
--- a/code/modules/hydroponics/grown/peas.dm
+++ b/code/modules/hydroponics/grown/peas.dm
@@ -5,7 +5,7 @@
icon_state = "seed-peas"
species = "peas"
plantname = "Pea Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/peas
+ product = /obj/item/food/grown/peas
maturation = 3
potency = 25
instability = 15
@@ -17,14 +17,13 @@
mutatelist = list(/obj/item/seeds/peas/laugh)
reagents_add = list (/datum/reagent/consumable/nutriment/vitamin = 0.1, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/water = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/peas
+/obj/item/food/grown/peas
seed = /obj/item/seeds/peas
name = "peapod"
desc = "Finally... peas."
icon_state = "peas"
- filling_color = "#739122"
- bitesize_mod = 1
- foodtype = VEGETABLES
+ bite_consumption_mod = 1
+ foodtypes = VEGETABLES
tastes = list ("peas" = 1, "chalky saltiness" = 1)
wine_power = 50
wine_flavor = "what is, distressingly, fermented peas."
@@ -36,7 +35,7 @@
icon_state = "seed-laughpeas"
species = "laughpeas"
plantname = "Laughin' Peas"
- product = /obj/item/reagent_containers/food/snacks/grown/laugh
+ product = /obj/item/food/grown/laugh
maturation = 7
potency = 10
yield = 7
@@ -50,14 +49,13 @@
rarity = 25 //It actually might make Central Command Officials loosen up a smidge, eh?
graft_gene = /datum/plant_gene/trait/glow/purple
-/obj/item/reagent_containers/food/snacks/grown/laugh
+/obj/item/food/grown/laugh
seed = /obj/item/seeds/peas/laugh
name = "pod of laughin' peas"
desc = "Ridens Cicer, guaranteed to improve your mood dramatically upon consumption!"
icon_state = "laughpeas"
- filling_color = "#ee7bee"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
juice_results = list (/datum/reagent/consumable/laughsyrup = 0)
tastes = list ("a prancing rabbit" = 1) //Vib Ribbon sends her regards.. wherever she is.
wine_power = 90
@@ -70,7 +68,7 @@
icon_state = "seed-worldpeas"
species = "worldpeas"
plantname = "World Peas"
- product = /obj/item/reagent_containers/food/snacks/grown/peace
+ product = /obj/item/food/grown/peace
maturation = 20
potency = 75
yield = 1
@@ -84,14 +82,13 @@
rarity = 50 // This absolutely will make even the most hardened Syndicate Operators relax.
graft_gene = /datum/plant_gene/trait/glow/blue
-/obj/item/reagent_containers/food/snacks/grown/peace
+/obj/item/food/grown/peace
seed = /obj/item/seeds/peas/laugh/peace
name = "cluster of world peas"
desc = "A plant discovered through extensive genetic engineering, and iterative graft work. It's rumored to bring peace to any who consume it. In the wider AgSci community, it's attained the nickname of 'Pax Mundi'." //at last... world peas. I'm not sorry.
icon_state = "worldpeas"
- filling_color = "#0099CC"
- bitesize_mod = 4
- foodtype = VEGETABLES
+ bite_consumption_mod = 4
+ foodtypes = VEGETABLES
tastes = list ("numbing tranquility" = 2, "warmth" = 1)
wine_power = 100
wine_flavor = "mind-numbing peace and warmth"
diff --git a/code/modules/hydroponics/grown/pineapple.dm b/code/modules/hydroponics/grown/pineapple.dm
index f960d79d708..ad41d8b5ff3 100644
--- a/code/modules/hydroponics/grown/pineapple.dm
+++ b/code/modules/hydroponics/grown/pineapple.dm
@@ -5,7 +5,7 @@
icon_state = "seed-pineapple"
species = "pineapple"
plantname = "Pineapple Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/pineapple
+ product = /obj/item/food/grown/pineapple
lifespan = 40
endurance = 30
growthstages = 3
@@ -14,7 +14,7 @@
mutatelist = list(/obj/item/seeds/apple)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/consumable/nutriment = 0.2, /datum/reagent/water = 0.04)
-/obj/item/reagent_containers/food/snacks/grown/pineapple
+/obj/item/food/grown/pineapple
seed = /obj/item/seeds/pineapple
name = "pineapples"
desc = "Blorble."
@@ -26,11 +26,12 @@
attack_verb_simple = list("sting", "pine")
throw_speed = 1
throw_range = 5
- slice_path = /obj/item/food/pineappleslice
- slices_num = 3
- filling_color = "#F6CB0B"
w_class = WEIGHT_CLASS_NORMAL
- foodtype = FRUIT | PINEAPPLE
+ foodtypes = FRUIT | PINEAPPLE
juice_results = list(/datum/reagent/consumable/pineapplejuice = 0)
tastes = list("pineapple" = 1)
wine_power = 40
+
+
+/obj/item/food/grown/pineapple/MakeProcessable()
+ AddElement(/datum/element/processable, TOOL_KNIFE, /obj/item/food/pineappleslice, 3, 15)
diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm
index a9ce17b8fb3..e6ccde5dd4e 100644
--- a/code/modules/hydroponics/grown/potato.dm
+++ b/code/modules/hydroponics/grown/potato.dm
@@ -5,7 +5,7 @@
icon_state = "seed-potato"
species = "potato"
plantname = "Potato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/potato
+ product = /obj/item/food/grown/potato
lifespan = 30
maturation = 10
production = 1
@@ -19,29 +19,27 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
graft_gene = /datum/plant_gene/trait/battery
-/obj/item/reagent_containers/food/snacks/grown/potato
+/obj/item/food/grown/potato
seed = /obj/item/seeds/potato
name = "potato"
desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
icon_state = "potato"
- filling_color = "#E9967A"
- bitesize = 100
- foodtype = VEGETABLES
+ bite_consumption = 100
+ foodtypes = VEGETABLES
juice_results = list(/datum/reagent/consumable/potato_juice = 0)
distill_reagent = /datum/reagent/consumable/ethanol/vodka
-/obj/item/reagent_containers/food/snacks/grown/potato/wedges
+/obj/item/food/grown/potato/wedges
name = "potato wedges"
desc = "Slices of neatly cut potato."
icon_state = "potato_wedges"
- filling_color = "#E9967A"
- bitesize = 100
+ bite_consumption = 100
-/obj/item/reagent_containers/food/snacks/grown/potato/attackby(obj/item/W, mob/user, params)
+/obj/item/food/grown/potato/attackby(obj/item/W, mob/user, params)
if(W.get_sharpness())
to_chat(user, "You cut the potato into wedges with [W].")
- var/obj/item/reagent_containers/food/snacks/grown/potato/wedges/Wedges = new /obj/item/reagent_containers/food/snacks/grown/potato/wedges
+ var/obj/item/food/grown/potato/wedges/Wedges = new /obj/item/food/grown/potato/wedges
remove_item_from_storage(user)
qdel(src)
user.put_in_hands(Wedges)
@@ -56,11 +54,11 @@
icon_state = "seed-sweetpotato"
species = "sweetpotato"
plantname = "Sweet Potato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/potato/sweet
+ product = /obj/item/food/grown/potato/sweet
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.1, /datum/reagent/consumable/sugar = 0.1, /datum/reagent/consumable/nutriment = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/potato/sweet
+/obj/item/food/grown/potato/sweet
seed = /obj/item/seeds/potato/sweet
name = "sweet potato"
desc = "It's sweet."
diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm
index 6254fb5bcc1..75024e6a143 100644
--- a/code/modules/hydroponics/grown/pumpkin.dm
+++ b/code/modules/hydroponics/grown/pumpkin.dm
@@ -5,7 +5,7 @@
icon_state = "seed-pumpkin"
species = "pumpkin"
plantname = "Pumpkin Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/pumpkin
+ product = /obj/item/food/grown/pumpkin
lifespan = 50
endurance = 40
growthstages = 3
@@ -16,18 +16,17 @@
mutatelist = list(/obj/item/seeds/pumpkin/blumpkin)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.2)
-/obj/item/reagent_containers/food/snacks/grown/pumpkin
+/obj/item/food/grown/pumpkin
seed = /obj/item/seeds/pumpkin
name = "pumpkin"
desc = "It's large and scary."
icon_state = "pumpkin"
- filling_color = "#FFA500"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/pumpkinjuice = 0)
wine_power = 20
-/obj/item/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/W as obj, mob/user as mob, params)
+/obj/item/food/grown/pumpkin/attackby(obj/item/W as obj, mob/user as mob, params)
if(W.get_sharpness())
user.show_message("You carve a face into [src]!", MSG_VISUAL)
new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc)
@@ -43,18 +42,17 @@
icon_state = "seed-blumpkin"
species = "blumpkin"
plantname = "Blumpkin Vines"
- product = /obj/item/reagent_containers/food/snacks/grown/blumpkin
+ product = /obj/item/food/grown/blumpkin
mutatelist = list()
reagents_add = list(/datum/reagent/ammonia = 0.2, /datum/reagent/chlorine = 0.1, /datum/reagent/consumable/nutriment = 0.2)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/blumpkin
+/obj/item/food/grown/blumpkin
seed = /obj/item/seeds/pumpkin/blumpkin
name = "blumpkin"
desc = "The pumpkin's toxic sibling."
icon_state = "blumpkin"
- filling_color = "#87CEFA"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
juice_results = list(/datum/reagent/consumable/blumpkinjuice = 0)
wine_power = 50
diff --git a/code/modules/hydroponics/grown/rainbow_bunch.dm b/code/modules/hydroponics/grown/rainbow_bunch.dm
index 9893ad53899..6404186d20e 100644
--- a/code/modules/hydroponics/grown/rainbow_bunch.dm
+++ b/code/modules/hydroponics/grown/rainbow_bunch.dm
@@ -5,7 +5,7 @@
species = "rainbowbunch"
plantname = "Rainbow Flowers"
icon_harvest = "rainbowbunch-harvest"
- product = /obj/item/reagent_containers/food/snacks/grown/rainbow_flower
+ product = /obj/item/food/grown/rainbow_flower
lifespan = 25
endurance = 10
maturation = 6
@@ -19,7 +19,7 @@
genes = list(/datum/plant_gene/trait/repeated_harvest)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/rainbow_flower
+/obj/item/food/grown/rainbow_flower
seed = /obj/item/seeds/rainbow_bunch
name = "rainbow flower"
desc = "A beautiful flower capable of being used for most dyeing processes."
@@ -34,7 +34,7 @@
attack_verb_continuous = list("pompfs")
attack_verb_simple = list("pompf")
-/obj/item/reagent_containers/food/snacks/grown/rainbow_flower/Initialize()
+/obj/item/food/grown/rainbow_flower/Initialize()
. = ..()
var/flower_color = rand(1,8)
switch(flower_color)
diff --git a/code/modules/hydroponics/grown/random.dm b/code/modules/hydroponics/grown/random.dm
index 0e32900469a..821e55d9fb2 100644
--- a/code/modules/hydroponics/grown/random.dm
+++ b/code/modules/hydroponics/grown/random.dm
@@ -6,7 +6,7 @@
icon_state = "seed-x"
species = "?????"
plantname = "strange plant"
- product = /obj/item/reagent_containers/food/snacks/grown/random
+ product = /obj/item/food/grown/random
icon_grow = "xpod-grow"
icon_dead = "xpod-dead"
icon_harvest = "xpod-harvest"
@@ -22,14 +22,14 @@
add_random_traits(1, 2)
add_random_plant_type(35)
-/obj/item/reagent_containers/food/snacks/grown/random
+/obj/item/food/grown/random
seed = /obj/item/seeds/random
name = "strange plant"
desc = "What could this even be?"
icon_state = "crunchy"
- bitesize_mod = 2
+ bite_consumption_mod = 2
-/obj/item/reagent_containers/food/snacks/grown/random/Initialize()
+/obj/item/food/grown/random/Initialize()
. = ..()
wine_power = rand(10,150)
if(prob(1))
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
index 8e3aea4d6e0..c93a21c9510 100644
--- a/code/modules/hydroponics/grown/root.dm
+++ b/code/modules/hydroponics/grown/root.dm
@@ -5,7 +5,7 @@
icon_state = "seed-carrot"
species = "carrot"
plantname = "Carrots"
- product = /obj/item/reagent_containers/food/snacks/grown/carrot
+ product = /obj/item/food/grown/carrot
maturation = 10
production = 1
yield = 5
@@ -15,18 +15,17 @@
mutatelist = list(/obj/item/seeds/carrot/parsnip)
reagents_add = list(/datum/reagent/medicine/oculine = 0.25, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/carrot
+/obj/item/food/grown/carrot
seed = /obj/item/seeds/carrot
name = "carrot"
desc = "It's good for the eyes!"
icon_state = "carrot"
- filling_color = "#FFA500"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
juice_results = list(/datum/reagent/consumable/carrotjuice = 0)
wine_power = 30
-/obj/item/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
+/obj/item/food/grown/carrot/attackby(obj/item/I, mob/user, params)
if(I.get_sharpness())
to_chat(user, "You sharpen the carrot into a shiv with [I].")
var/obj/item/kitchen/knife/shiv/carrot/Shiv = new /obj/item/kitchen/knife/shiv/carrot
@@ -43,18 +42,18 @@
icon_state = "seed-parsnip"
species = "parsnip"
plantname = "Parsnip"
- product = /obj/item/reagent_containers/food/snacks/grown/parsnip
+ product = /obj/item/food/grown/parsnip
icon_dead = "carrot-dead"
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/parsnip
+/obj/item/food/grown/parsnip
seed = /obj/item/seeds/carrot/parsnip
name = "parsnip"
desc = "Closely related to carrots."
icon_state = "parsnip"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
juice_results = list(/datum/reagent/consumable/parsnipjuice = 0)
wine_power = 35
@@ -66,7 +65,7 @@
icon_state = "seed-whitebeet"
species = "whitebeet"
plantname = "White-Beet Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/whitebeet
+ product = /obj/item/food/grown/whitebeet
lifespan = 60
endurance = 50
yield = 6
@@ -76,14 +75,13 @@
mutatelist = list(/obj/item/seeds/redbeet)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/sugar = 0.2, /datum/reagent/consumable/nutriment = 0.05)
-/obj/item/reagent_containers/food/snacks/grown/whitebeet
+/obj/item/food/grown/whitebeet
seed = /obj/item/seeds/whitebeet
name = "white-beet"
desc = "You can't beat white-beet."
icon_state = "whitebeet"
- filling_color = "#F4A460"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
wine_power = 40
// Red Beet
@@ -93,7 +91,7 @@
icon_state = "seed-redbeet"
species = "redbeet"
plantname = "Red-Beet Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/redbeet
+ product = /obj/item/food/grown/redbeet
lifespan = 60
endurance = 50
yield = 6
@@ -104,11 +102,11 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05)
graft_gene = /datum/plant_gene/trait/maxchem
-/obj/item/reagent_containers/food/snacks/grown/redbeet
+/obj/item/food/grown/redbeet
seed = /obj/item/seeds/redbeet
name = "red beet"
desc = "You can't beat red beet."
icon_state = "redbeet"
- bitesize_mod = 2
- foodtype = VEGETABLES
+ bite_consumption_mod = 2
+ foodtypes = VEGETABLES
wine_power = 60
diff --git a/code/modules/hydroponics/grown/tea_coffee.dm b/code/modules/hydroponics/grown/tea_coffee.dm
index 84bdb4f44e1..4fc3af5cb79 100644
--- a/code/modules/hydroponics/grown/tea_coffee.dm
+++ b/code/modules/hydroponics/grown/tea_coffee.dm
@@ -5,7 +5,7 @@
icon_state = "seed-teaaspera"
species = "teaaspera"
plantname = "Tea Aspera Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/tea
+ product = /obj/item/food/grown/tea
lifespan = 20
maturation = 5
production = 5
@@ -16,12 +16,11 @@
mutatelist = list(/obj/item/seeds/tea/astra)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/toxin/teapowder = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/tea
+/obj/item/food/grown/tea
seed = /obj/item/seeds/tea
name = "Tea Aspera tips"
desc = "These aromatic tips of the tea plant can be dried to make tea."
icon_state = "tea_aspera_leaves"
- filling_color = "#008000"
grind_results = list(/datum/reagent/toxin/teapowder = 0)
dry_grind = TRUE
can_distill = FALSE
@@ -32,16 +31,15 @@
icon_state = "seed-teaastra"
species = "teaastra"
plantname = "Tea Astra Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/tea/astra
+ product = /obj/item/food/grown/tea/astra
mutatelist = list()
reagents_add = list(/datum/reagent/medicine/synaptizine = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/toxin/teapowder = 0.1)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/tea/astra
+/obj/item/food/grown/tea/astra
seed = /obj/item/seeds/tea/astra
name = "Tea Astra tips"
icon_state = "tea_astra_leaves"
- filling_color = "#4582B4"
grind_results = list(/datum/reagent/toxin/teapowder = 0, /datum/reagent/medicine/salglu_solution = 0)
@@ -52,7 +50,7 @@
icon_state = "seed-coffeea"
species = "coffeea"
plantname = "Coffee Arabica Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/coffee
+ product = /obj/item/food/grown/coffee
lifespan = 30
endurance = 20
maturation = 5
@@ -65,13 +63,12 @@
mutatelist = list(/obj/item/seeds/coffee/robusta)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/toxin/coffeepowder = 0.1)
-/obj/item/reagent_containers/food/snacks/grown/coffee
+/obj/item/food/grown/coffee
seed = /obj/item/seeds/coffee
name = "coffee arabica beans"
desc = "Dry them out to make coffee."
icon_state = "coffee_arabica"
- filling_color = "#DC143C"
- bitesize_mod = 2
+ bite_consumption_mod = 2
dry_grind = TRUE
grind_results = list(/datum/reagent/toxin/coffeepowder = 0)
distill_reagent = /datum/reagent/consumable/ethanol/kahlua
@@ -83,12 +80,12 @@
icon_state = "seed-coffeer"
species = "coffeer"
plantname = "Coffee Robusta Bush"
- product = /obj/item/reagent_containers/food/snacks/grown/coffee/robusta
+ product = /obj/item/food/grown/coffee/robusta
mutatelist = list()
reagents_add = list(/datum/reagent/medicine/ephedrine = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/toxin/coffeepowder = 0.1)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/coffee/robusta
+/obj/item/food/grown/coffee/robusta
seed = /obj/item/seeds/coffee/robusta
name = "coffee robusta beans"
desc = "Increases robustness by 37 percent!"
diff --git a/code/modules/hydroponics/grown/tobacco.dm b/code/modules/hydroponics/grown/tobacco.dm
index e785c7dce90..372bfaf84aa 100644
--- a/code/modules/hydroponics/grown/tobacco.dm
+++ b/code/modules/hydroponics/grown/tobacco.dm
@@ -5,7 +5,7 @@
icon_state = "seed-tobacco"
species = "tobacco"
plantname = "Tobacco Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/tobacco
+ product = /obj/item/food/grown/tobacco
lifespan = 20
maturation = 5
production = 5
@@ -15,12 +15,11 @@
mutatelist = list(/obj/item/seeds/tobacco/space)
reagents_add = list(/datum/reagent/drug/nicotine = 0.03, /datum/reagent/consumable/nutriment = 0.03)
-/obj/item/reagent_containers/food/snacks/grown/tobacco
+/obj/item/food/grown/tobacco
seed = /obj/item/seeds/tobacco
name = "tobacco leaves"
desc = "Dry them out to make some smokes."
icon_state = "tobacco_leaves"
- filling_color = "#008000"
distill_reagent = /datum/reagent/consumable/ethanol/creme_de_menthe //Menthol, I guess.
// Space Tobacco
@@ -30,12 +29,12 @@
icon_state = "seed-stobacco"
species = "stobacco"
plantname = "Space Tobacco Plant"
- product = /obj/item/reagent_containers/food/snacks/grown/tobacco/space
+ product = /obj/item/food/grown/tobacco/space
mutatelist = list()
reagents_add = list(/datum/reagent/medicine/salbutamol = 0.05, /datum/reagent/drug/nicotine = 0.08, /datum/reagent/consumable/nutriment = 0.03)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/tobacco/space
+/obj/item/food/grown/tobacco/space
seed = /obj/item/seeds/tobacco/space
name = "space tobacco leaves"
desc = "Dry them out to make some space-smokes."
diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm
index c03e5a80a93..f0b0b10c8d5 100644
--- a/code/modules/hydroponics/grown/tomato.dm
+++ b/code/modules/hydroponics/grown/tomato.dm
@@ -5,7 +5,7 @@
icon_state = "seed-tomato"
species = "tomato"
plantname = "Tomato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/tomato
+ product = /obj/item/food/grown/tomato
maturation = 8
instability = 25
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
@@ -16,15 +16,14 @@
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
graft_gene = /datum/plant_gene/trait/squash
-/obj/item/reagent_containers/food/snacks/grown/tomato
+/obj/item/food/grown/tomato
seed = /obj/item/seeds/tomato
name = "tomato"
desc = "I say to-mah-to, you say tom-mae-to."
icon_state = "tomato"
splat_type = /obj/effect/decal/cleanable/food/tomato_smudge
- filling_color = "#FF6347"
- bitesize_mod = 2
- foodtype = FRUIT
+ bite_consumption_mod = 2
+ foodtypes = FRUIT
grind_results = list(/datum/reagent/consumable/ketchup = 0)
juice_results = list(/datum/reagent/consumable/tomatojuice = 0)
distill_reagent = /datum/reagent/consumable/enzyme
@@ -36,19 +35,18 @@
icon_state = "seed-bloodtomato"
species = "bloodtomato"
plantname = "Blood-Tomato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/tomato/blood
+ product = /obj/item/food/grown/tomato/blood
mutatelist = list()
reagents_add = list(/datum/reagent/blood = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 20
-/obj/item/reagent_containers/food/snacks/grown/tomato/blood
+/obj/item/food/grown/tomato/blood
seed = /obj/item/seeds/tomato/blood
name = "blood-tomato"
desc = "So bloody...so...very...bloody....AHHHH!!!!"
icon_state = "bloodtomato"
splat_type = /obj/effect/gibspawner/generic
- filling_color = "#FF0000"
- foodtype = FRUIT | GROSS
+ foodtypes = FRUIT | GROSS
grind_results = list(/datum/reagent/consumable/ketchup = 0, /datum/reagent/blood = 0)
distill_reagent = /datum/reagent/consumable/ethanol/bloody_mary
@@ -59,7 +57,7 @@
icon_state = "seed-bluetomato"
species = "bluetomato"
plantname = "Blue-Tomato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/tomato/blue
+ product = /obj/item/food/grown/tomato/blue
yield = 2
icon_grow = "bluetomato-grow"
mutatelist = list(/obj/item/seeds/tomato/blue/bluespace)
@@ -68,13 +66,12 @@
rarity = 20
graft_gene = /datum/plant_gene/trait/slip
-/obj/item/reagent_containers/food/snacks/grown/tomato/blue
+/obj/item/food/grown/tomato/blue
seed = /obj/item/seeds/tomato/blue
name = "blue-tomato"
desc = "I say blue-mah-to, you say blue-mae-to."
icon_state = "bluetomato"
splat_type = /obj/effect/decal/cleanable/oil
- filling_color = "#0000FF"
distill_reagent = /datum/reagent/consumable/laughter
// Bluespace Tomato
@@ -84,7 +81,7 @@
icon_state = "seed-bluespacetomato"
species = "bluespacetomato"
plantname = "Bluespace Tomato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/tomato/blue/bluespace
+ product = /obj/item/food/grown/tomato/blue/bluespace
yield = 2
mutatelist = list()
genes = list(/datum/plant_gene/trait/squash, /datum/plant_gene/trait/slip, /datum/plant_gene/trait/teleport, /datum/plant_gene/trait/repeated_harvest)
@@ -92,7 +89,7 @@
rarity = 50
graft_gene = /datum/plant_gene/trait/teleport
-/obj/item/reagent_containers/food/snacks/grown/tomato/blue/bluespace
+/obj/item/food/grown/tomato/blue/bluespace
seed = /obj/item/seeds/tomato/blue/bluespace
name = "bluespace tomato"
desc = "So lubricated, you might slip through space-time."
@@ -107,7 +104,7 @@
icon_state = "seed-killertomato"
species = "killertomato"
plantname = "Killer-Tomato Plants"
- product = /obj/item/reagent_containers/food/snacks/grown/tomato/killer
+ product = /obj/item/food/grown/tomato/killer
yield = 2
genes = list(/datum/plant_gene/trait/squash)
growthstages = 2
@@ -117,22 +114,21 @@
mutatelist = list()
rarity = 30
-/obj/item/reagent_containers/food/snacks/grown/tomato/killer
+/obj/item/food/grown/tomato/killer
seed = /obj/item/seeds/tomato/killer
name = "killer-tomato"
desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!"
icon_state = "killertomato"
var/awakening = 0
- filling_color = "#FF0000"
distill_reagent = /datum/reagent/consumable/ethanol/demonsblood
-/obj/item/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
+/obj/item/food/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
if(awakening)
to_chat(user, "The tomato is twitching and shaking, preventing you from eating it.")
return
..()
-/obj/item/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user)
+/obj/item/food/grown/tomato/killer/attack_self(mob/user)
if(awakening || isspaceturf(user.loc))
return
to_chat(user, "You begin to awaken the Killer Tomato...")
@@ -140,7 +136,7 @@
addtimer(CALLBACK(src, .proc/awaken), 3 SECONDS)
log_game("[key_name(user)] awakened a killer tomato at [AREACOORD(user)].")
-/obj/item/reagent_containers/food/snacks/grown/tomato/killer/proc/awaken()
+/obj/item/food/grown/tomato/killer/proc/awaken()
if(QDELETED(src))
return
var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc))
diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm
index 50932a0e5d7..4abdf60f56a 100644
--- a/code/modules/hydroponics/grown/towercap.dm
+++ b/code/modules/hydroponics/grown/towercap.dm
@@ -47,11 +47,11 @@
attack_verb_simple = list("bash", "batter", "bludgeon", "whack")
var/plank_type = /obj/item/stack/sheet/mineral/wood
var/plank_name = "wooden planks"
- var/static/list/accepted = typecacheof(list(/obj/item/reagent_containers/food/snacks/grown/tobacco,
- /obj/item/reagent_containers/food/snacks/grown/tea,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
- /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus,
- /obj/item/reagent_containers/food/snacks/grown/wheat))
+ var/static/list/accepted = typecacheof(list(/obj/item/food/grown/tobacco,
+ /obj/item/food/grown/tea,
+ /obj/item/food/grown/ambrosia/vulgaris,
+ /obj/item/food/grown/ambrosia/deus,
+ /obj/item/food/grown/wheat))
/obj/item/grown/log/attackby(obj/item/W, mob/user, params)
if(W.get_sharpness())
@@ -69,8 +69,8 @@
qdel(src)
if(CheckAccepted(W))
- var/obj/item/reagent_containers/food/snacks/grown/leaf = W
- if(leaf.dry)
+ var/obj/item/food/grown/leaf = W
+ if(HAS_TRAIT(leaf, TRAIT_DRIED))
user.show_message("You wrap \the [W] around the log, turning it into a torch!")
var/obj/item/flashlight/flare/torch/T = new /obj/item/flashlight/flare/torch(user.loc)
usr.dropItemToGround(W)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 9daf02eef46..a717d7fe6db 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -702,7 +702,7 @@
else if(istype(O, /obj/item/storage/bag/plants))
attack_hand(user)
- for(var/obj/item/reagent_containers/food/snacks/grown/G in locate(user.x,user.y,user.z))
+ for(var/obj/item/food/grown/G in locate(user.x,user.y,user.z))
SEND_SIGNAL(O, COMSIG_TRY_STORAGE_INSERT, G, user, TRUE)
return
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index 8d6b671849c..cc3ee4e1ca3 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -205,22 +205,22 @@
return FALSE
return TRUE
-/datum/plant_gene/trait/proc/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/proc/on_new(obj/item/food/grown/G, newloc)
return
-/datum/plant_gene/trait/proc/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target)
+/datum/plant_gene/trait/proc/on_consume(obj/item/food/grown/G, mob/living/carbon/target)
return
-/datum/plant_gene/trait/proc/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target)
+/datum/plant_gene/trait/proc/on_slip(obj/item/food/grown/G, mob/living/carbon/target)
return
-/datum/plant_gene/trait/proc/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/proc/on_squash(obj/item/food/grown/G, atom/target)
return
-/datum/plant_gene/trait/proc/on_attackby(obj/item/reagent_containers/food/snacks/grown/G, obj/item/I, mob/user)
+/datum/plant_gene/trait/proc/on_attackby(obj/item/food/grown/G, obj/item/I, mob/user)
return
-/datum/plant_gene/trait/proc/on_throw_impact(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/proc/on_throw_impact(obj/item/food/grown/G, atom/target)
return
///This proc triggers when the tray processes and a roll is sucessful, the success chance scales with production.
@@ -239,7 +239,7 @@
return FALSE
. = ..()
-/datum/plant_gene/trait/squash/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
+/datum/plant_gene/trait/squash/on_slip(obj/item/food/grown/G, mob/living/carbon/C)
// Squash the plant on slip.
G.squash(C)
@@ -250,9 +250,9 @@
rate = 1.6
examine_line = "It has a very slippery skin."
-/datum/plant_gene/trait/slip/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/slip/on_new(obj/item/food/grown/G, newloc)
..()
- if(istype(G) && ispath(G.trash, /obj/item/grown))
+ if(istype(G) && ispath(G.trash_type, /obj/item/grown))
return
var/obj/item/seeds/seed = G.seed
var/stun_len = seed.potency * rate
@@ -262,7 +262,7 @@
G.AddComponent(/datum/component/slippery, min(stun_len,140), NONE, CALLBACK(src, .proc/handle_slip, G))
-/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/M)
+/datum/plant_gene/trait/slip/proc/handle_slip(obj/item/food/grown/G, mob/M)
for(var/datum/plant_gene/trait/T in G.seed.genes)
T.on_slip(G, M)
@@ -274,19 +274,19 @@
name = "Electrical Activity"
rate = 0.2
-/datum/plant_gene/trait/cell_charge/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
+/datum/plant_gene/trait/cell_charge/on_slip(obj/item/food/grown/G, mob/living/carbon/C)
var/power = G.seed.potency*rate
if(prob(power))
C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES)
-/datum/plant_gene/trait/cell_charge/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/cell_charge/on_squash(obj/item/food/grown/G, atom/target)
if(iscarbon(target))
var/mob/living/carbon/C = target
var/power = G.seed.potency*rate
if(prob(power))
C.electrocute_act(round(power), G, 1, SHOCK_NOGLOVES)
-/datum/plant_gene/trait/cell_charge/on_consume(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/target)
+/datum/plant_gene/trait/cell_charge/on_consume(obj/item/food/grown/G, mob/living/carbon/target)
if(!G.reagents.total_volume)
var/batteries_recharged = 0
for(var/obj/item/stock_parts/cell/C in target.GetAllContents())
@@ -318,7 +318,7 @@
/datum/plant_gene/trait/glow/proc/glow_power(obj/item/seeds/S)
return max(S.potency*(rate + 0.01), 0.1)
-/datum/plant_gene/trait/glow/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/glow/on_new(obj/item/food/grown/G, newloc)
. = ..()
G.light_system = MOVABLE_LIGHT
G.AddComponent(/datum/component/overlay_lighting, glow_range(G.seed), glow_power(G.seed), glow_color)
@@ -375,14 +375,14 @@
name = "Bluespace Activity"
rate = 0.1
-/datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/teleport/on_squash(obj/item/food/grown/G, atom/target)
if(isliving(target))
var/teleport_radius = max(round(G.seed.potency / 10), 1)
var/turf/T = get_turf(target)
new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect...
do_teleport(target, T, teleport_radius, channel = TELEPORT_CHANNEL_BLUESPACE)
-/datum/plant_gene/trait/teleport/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
+/datum/plant_gene/trait/teleport/on_slip(obj/item/food/grown/G, mob/living/carbon/C)
var/teleport_radius = max(round(G.seed.potency / 10), 1)
var/turf/T = get_turf(C)
to_chat(C, "You slip through spacetime!")
@@ -404,7 +404,7 @@
name = "Densified Chemicals"
rate = 2
-/datum/plant_gene/trait/maxchem/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/maxchem/on_new(obj/item/food/grown/G, newloc)
..()
G.reagents.maximum_volume *= rate
@@ -421,7 +421,7 @@
/datum/plant_gene/trait/battery
name = "Capacitive Cell Production"
-/datum/plant_gene/trait/battery/on_attackby(obj/item/reagent_containers/food/snacks/grown/G, obj/item/I, mob/user)
+/datum/plant_gene/trait/battery/on_attackby(obj/item/food/grown/G, obj/item/I, mob/user)
if(istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = I
if(C.use(5))
@@ -449,10 +449,10 @@
/datum/plant_gene/trait/stinging
name = "Hypodermic Prickles"
-/datum/plant_gene/trait/stinging/on_slip(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/stinging/on_slip(obj/item/food/grown/G, atom/target)
on_throw_impact(G, target)
-/datum/plant_gene/trait/stinging/on_throw_impact(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/stinging/on_throw_impact(obj/item/food/grown/G, atom/target)
if(isliving(target) && G.reagents && G.reagents.total_volume)
var/mob/living/L = target
if(L.reagents && L.can_inject(null, 0))
@@ -464,7 +464,7 @@
/datum/plant_gene/trait/smoke
name = "Gaseous Decomposition"
-/datum/plant_gene/trait/smoke/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
+/datum/plant_gene/trait/smoke/on_squash(obj/item/food/grown/G, atom/target)
var/datum/effect_system/smoke_spread/chem/S = new
var/splat_location = get_turf(target)
var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1)
@@ -480,7 +480,7 @@
if(!(S.resistance_flags & FIRE_PROOF))
S.resistance_flags |= FIRE_PROOF
-/datum/plant_gene/trait/fire_resistance/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/fire_resistance/on_new(obj/item/food/grown/G, newloc)
if(!(G.resistance_flags & FIRE_PROOF))
G.resistance_flags |= FIRE_PROOF
@@ -530,7 +530,7 @@
name = "Oculary Mimicry"
var/mutable_appearance/googly
-/datum/plant_gene/trait/eyes/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/eyes/on_new(obj/item/food/grown/G, newloc)
. = ..()
googly = mutable_appearance('icons/obj/hydroponics/harvest.dmi', "eyes")
googly.appearance_flags = RESET_COLOR
@@ -539,7 +539,7 @@
/datum/plant_gene/trait/sticky
name = "Prickly Adhesion"
-/datum/plant_gene/trait/sticky/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
+/datum/plant_gene/trait/sticky/on_new(obj/item/food/grown/G, newloc)
. = ..()
if(G.seed.get_gene(/datum/plant_gene/trait/stinging))
G.embedding = EMBED_POINTY
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index 443e20c7e91..c35ffb719b3 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -26,8 +26,8 @@
if(extractor)
seedloc = extractor.loc
- if(istype(O, /obj/item/reagent_containers/food/snacks/grown/))
- var/obj/item/reagent_containers/food/snacks/grown/F = O
+ if(istype(O, /obj/item/food/grown/))
+ var/obj/item/food/grown/F = O
if(F.seed)
if(user && !user.temporarilyRemoveItemFromInventory(O)) //couldn't drop the item
return
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 621b6488179..0c126d3a466 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -210,7 +210,7 @@
if(get_gene(/datum/plant_gene/trait/maxchem))
product_count = clamp(round(product_count/2),0,5)
while(t_amount < product_count)
- var/obj/item/reagent_containers/food/snacks/grown/t_prod
+ var/obj/item/food/grown/t_prod
if(instability >= 30 && (seed_flags & MUTATE_EARLY) && LAZYLEN(mutatelist) && prob(instability/3))
var/obj/item/seeds/new_prod = pick(mutatelist)
t_prod = initial(new_prod.product)
@@ -262,8 +262,8 @@
var/reagent_max = 0
for(var/rid in reagents_add)
reagent_max += reagents_add[rid]
- if(istype(T, /obj/item/reagent_containers/food/snacks/grown))
- var/obj/item/reagent_containers/food/snacks/grown/grown_edible = T
+ if(IS_EDIBLE(T))
+ var/obj/item/food/grown/grown_edible = T
for(var/rid in reagents_add)
var/reagent_overflow_mod = reagents_add[rid]
if(reagent_max > 1)
diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm
index c56f81df6c0..e20c0384c6b 100644
--- a/code/modules/jobs/job_types/clown.dm
+++ b/code/modules/jobs/job_types/clown.dm
@@ -34,7 +34,7 @@
backpack_contents = list(
/obj/item/stamp/clown = 1,
/obj/item/reagent_containers/spray/waterflower = 1,
- /obj/item/reagent_containers/food/snacks/grown/banana = 1,
+ /obj/item/food/grown/banana = 1,
/obj/item/instrument/bikehorn = 1,
)
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index 558567ec9f3..98fa0b702cf 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -11,7 +11,7 @@
var/harvested_name = "shortened mushrooms"
var/harvested_desc = "Some quickly regrowing mushrooms, formerly known to be quite large."
var/needs_sharp_harvest = TRUE
- var/harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings
+ var/harvest = /obj/item/food/grown/ash_flora/shavings
var/harvest_amount_low = 1
var/harvest_amount_high = 3
var/harvest_time = 60
@@ -84,7 +84,7 @@
desc = "A number of mushrooms, each of which surrounds a greenish sporangium with a number of leaf-like structures."
harvested_name = "leafless mushrooms"
harvested_desc = "A bunch of formerly-leafed mushrooms, with their sporangiums exposed. Scandalous?"
- harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf
+ harvest = /obj/item/food/grown/ash_flora/mushroom_leaf
needs_sharp_harvest = FALSE
harvest_amount_high = 4
harvest_time = 20
@@ -100,7 +100,7 @@
desc = "Several mushrooms, the larger of which have a ring of conks at the midpoint of their stems."
harvested_name = "small mushrooms"
harvested_desc = "Several small mushrooms near the stumps of what likely were larger mushrooms."
- harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap
+ harvest = /obj/item/food/grown/ash_flora/mushroom_cap
harvest_amount_high = 4
harvest_time = 50
harvest_message_low = "You slice the cap off a mushroom."
@@ -117,7 +117,7 @@
light_power = 2.1
harvested_name = "tiny mushrooms"
harvested_desc = "A few tiny mushrooms around larger stumps. You can already see them growing back."
- harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
+ harvest = /obj/item/food/grown/ash_flora/mushroom_stem
harvest_amount_high = 4
harvest_time = 40
harvest_message_low = "You pick and slice the cap off a mushroom, leaving the stem."
@@ -132,7 +132,7 @@
desc = "Several prickly cacti, brimming with ripe fruit and covered in a thin layer of ash."
harvested_name = "cacti"
harvested_desc = "A bunch of prickly cacti. You can see fruits slowly growing beneath the covering of ash."
- harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit
+ harvest = /obj/item/food/grown/ash_flora/cactus_fruit
needs_sharp_harvest = FALSE
harvest_amount_high = 2
harvest_time = 10
@@ -154,7 +154,7 @@
desc = "A number of bright, springy blue fruiting plants. They seem to be unconcerned with the hardy, cold environment."
harvested_name = "springy grass"
harvested_desc = "A bunch of springy, bouncy fruiting grass, all picked. Or maybe they were never fruiting at all?"
- harvest = /obj/item/reagent_containers/food/snacks/grown/icepepper
+ harvest = /obj/item/food/grown/icepepper
needs_sharp_harvest = FALSE
harvest_amount_high = 3
harvest_time = 15
@@ -167,7 +167,7 @@
//SNACKS
-/obj/item/reagent_containers/food/snacks/grown/ash_flora
+/obj/item/food/grown/ash_flora
name = "mushroom shavings"
desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl."
icon = 'icons/obj/lavaland/ash_flora.dmi'
@@ -178,35 +178,35 @@
seed = /obj/item/seeds/lavaland/polypore
wine_power = 20
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/Initialize()
+/obj/item/food/grown/ash_flora/Initialize()
. = ..()
pixel_x = base_pixel_x + rand(-4, 4)
pixel_y = base_pixel_y + rand(-4, 4)
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings //So we can't craft bowls from everything.
+/obj/item/food/grown/ash_flora/shavings //So we can't craft bowls from everything.
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf
+/obj/item/food/grown/ash_flora/mushroom_leaf
name = "mushroom leaf"
desc = "A leaf, from a mushroom."
icon_state = "mushroom_leaf"
seed = /obj/item/seeds/lavaland/porcini
wine_power = 40
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap
+/obj/item/food/grown/ash_flora/mushroom_cap
name = "mushroom cap"
desc = "The cap of a large mushroom."
icon_state = "mushroom_cap"
seed = /obj/item/seeds/lavaland/inocybe
wine_power = 70
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
+/obj/item/food/grown/ash_flora/mushroom_stem
name = "mushroom stem"
desc = "A long mushroom stem. It's slightly glowing."
icon_state = "mushroom_stem"
seed = /obj/item/seeds/lavaland/ember
wine_power = 60
-/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit
+/obj/item/food/grown/ash_flora/cactus_fruit
name = "cactus fruit"
desc = "A cactus fruit covered in a thick, reddish skin. And some ash."
icon_state = "cactus_fruit"
@@ -238,7 +238,7 @@
icon_state = "seed-cactus"
species = "cactus"
plantname = "Fruiting Cactus"
- product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit
+ product = /obj/item/food/grown/ash_flora/cactus_fruit
mutatelist = list(/obj/item/seeds/star_cactus)
genes = list(/datum/plant_gene/trait/fire_resistance)
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
@@ -252,7 +252,7 @@
icon_state = "seed-starcactus"
species = "starcactus"
plantname = "Star Cactus Cluster"
- product = /obj/item/reagent_containers/food/snacks/grown/star_cactus
+ product = /obj/item/food/grown/star_cactus
lifespan = 60
endurance = 30
maturation = 7
@@ -265,14 +265,14 @@
reagents_add = list(/datum/reagent/water = 0.08, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/c2/helbital = 0.05)
///Star Cactus Plants.
-/obj/item/reagent_containers/food/snacks/grown/star_cactus
+/obj/item/food/grown/star_cactus
seed = /obj/item/seeds/star_cactus
name = "star cacti"
desc = "A spikey, round cluster of prickly star cacti. And no, it's not called a star cactus because it's in space."
icon_state = "starcactus"
filling_color = "#1c801c"
- bitesize_mod = 3
- foodtype = VEGETABLES
+ bite_consumption_mod = 3
+ foodtypes = VEGETABLES
distill_reagent = /datum/reagent/consumable/ethanol/tequila
/obj/item/seeds/lavaland/polypore
@@ -281,7 +281,7 @@
icon_state = "mycelium-polypore"
species = "polypore"
plantname = "Polypore Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings
+ product = /obj/item/food/grown/ash_flora/shavings
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/toxin/minttoxin = 0.02)
@@ -292,7 +292,7 @@
icon_state = "mycelium-porcini"
species = "porcini"
plantname = "Porcini Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf
+ product = /obj/item/food/grown/ash_flora/mushroom_leaf
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04)
@@ -304,7 +304,7 @@
icon_state = "mycelium-inocybe"
species = "inocybe"
plantname = "Inocybe Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap
+ product = /obj/item/food/grown/ash_flora/mushroom_cap
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/toxin/mindbreaker = 0.04, /datum/reagent/consumable/entpoly = 0.08, /datum/reagent/drug/mushroomhallucinogen = 0.04)
@@ -315,7 +315,7 @@
icon_state = "mycelium-ember"
species = "ember"
plantname = "Embershroom Mushrooms"
- product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
+ product = /obj/item/food/grown/ash_flora/mushroom_stem
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow, /datum/plant_gene/trait/fire_resistance)
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/consumable/tinlux = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/drug/space_drugs = 0.02)
@@ -325,7 +325,7 @@
/datum/crafting_recipe/mushroom_bowl
name = "Mushroom Bowl"
result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl
- reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5)
+ reqs = list(/obj/item/food/grown/ash_flora/shavings = 5)
time = 30
category = CAT_PRIMAL
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index 6bf80bc109a..9e9a2e37696 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -1023,7 +1023,7 @@
H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
new /obj/item/stack/sheet/mineral/snow(get_turf(H))
- new /obj/item/reagent_containers/food/snacks/grown/carrot(get_turf(H))
+ new /obj/item/food/grown/carrot(get_turf(H))
qdel(H)
/datum/species/golem/snow/on_species_gain(mob/living/carbon/C, datum/species/old_species)
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 9445f1a187c..0b9c2f2b154 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -140,7 +140,7 @@
var/obj/item/udder/udder = null
gold_core_spawnable = FRIENDLY_SPAWN
blood_volume = BLOOD_VOLUME_NORMAL
- food_type = list(/obj/item/reagent_containers/food/snacks/grown/wheat)
+ food_type = list(/obj/item/food/grown/wheat)
tame_chance = 25
bonus_tame_chance = 15
footstep_type = FOOTSTEP_MOB_SHOE
@@ -314,7 +314,7 @@
turns_per_move = 3
butcher_results = list(/obj/item/food/meat/slab/chicken = 2)
var/egg_type = /obj/item/food/egg
- food_type = list(/obj/item/reagent_containers/food/snacks/grown/wheat)
+ food_type = list(/obj/item/food/grown/wheat)
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "gently pushes aside"
@@ -449,5 +449,5 @@
health = 75
maxHealth = 75
blood_volume = BLOOD_VOLUME_NORMAL
- food_type = list(/obj/item/reagent_containers/food/snacks/grown/apple)
+ food_type = list(/obj/item/food/grown/apple)
footstep_type = FOOTSTEP_MOB_SHOE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
index 37a41b30964..9aeaf0551ab 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
@@ -102,7 +102,7 @@
loot = list()
stat_attack = HARD_CRIT
robust_searching = 1
- food_type = list(/obj/item/reagent_containers/food/snacks/customizable/salad/ashsalad, /obj/item/reagent_containers/food/snacks/customizable/soup/ashsoup, /obj/item/reagent_containers/food/snacks/grown/ash_flora)//use lavaland plants to feed the lavaland monster
+ food_type = list(/obj/item/reagent_containers/food/snacks/customizable/salad/ashsalad, /obj/item/reagent_containers/food/snacks/customizable/soup/ashsoup, /obj/item/food/grown/ash_flora)//use lavaland plants to feed the lavaland monster
tame_chance = 10
bonus_tame_chance = 5
var/saddled = FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index f0128cbd82b..87bae1f76f0 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -339,7 +339,7 @@
belt = null
backpack_contents = list()
if(prob(70))
- backpack_contents += pick(list(/obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/reagent_containers/food/snacks/grown/banana = 1, /obj/item/megaphone/clown = 1, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter = 1, /obj/item/pneumatic_cannon/pie = 1))
+ backpack_contents += pick(list(/obj/item/stamp/clown = 1, /obj/item/reagent_containers/spray/waterflower = 1, /obj/item/food/grown/banana = 1, /obj/item/megaphone/clown = 1, /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter = 1, /obj/item/pneumatic_cannon/pie = 1))
if(prob(30))
backpack_contents += list(/obj/item/stack/sheet/mineral/bananium = pickweight(list( 1 = 3, 2 = 2, 3 = 1)))
if(prob(10))
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 732487bfae0..b35e733db45 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -158,7 +158,7 @@
bruised = 1
/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/reagent_containers/food/snacks/grown/mushroom))
+ if(istype(I, /obj/item/food/grown/mushroom))
if(stat == DEAD && !recovery_cooldown)
Recover()
qdel(I)
diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm
index 66a5d8c0e8f..76af7989766 100644
--- a/code/modules/plumbing/plumbers/fermenter.dm
+++ b/code/modules/plumbing/plumbers/fermenter.dm
@@ -44,8 +44,8 @@
return
if(!isitem(AM))
return
- if(istype(AM, /obj/item/reagent_containers/food/snacks/grown))
- var/obj/item/reagent_containers/food/snacks/grown/G = AM
+ if(istype(AM, /obj/item/food/grown))
+ var/obj/item/food/grown/G = AM
if(G.distill_reagent)
var/amount = G.seed.potency * 0.25
reagents.add_reagent(G.distill_reagent, amount)
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index ac258dac4cd..ab030a6a78a 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -150,7 +150,7 @@
//Fill machine with a bag!
if(istype(I, /obj/item/storage/bag))
var/list/inserted = list()
- if(SEND_SIGNAL(I, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/grown, src, limit - length(holdingitems), null, null, user, inserted))
+ if(SEND_SIGNAL(I, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/food/grown, src, limit - length(holdingitems), null, null, user, inserted))
for(var/i in inserted)
holdingitems[i] = TRUE
if(!I.contents.len)
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index e8053c76bbb..c794c9a0ba8 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -529,7 +529,7 @@
/datum/chemical_reaction/slimejelly
results = list(/datum/reagent/toxin/slimejelly = 5)
required_reagents = list(/datum/reagent/fuel/oil = 3, /datum/reagent/uranium/radium = 2, /datum/reagent/consumable/tinlux =1)
- required_container = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom
+ required_container = /obj/item/food/grown/mushroom/glowshroom
mix_message = "The mushroom's insides bubble and pop and it becomes very limp."
/datum/chemical_reaction/slime_extractification
diff --git a/code/modules/unit_tests/serving_tray.dm b/code/modules/unit_tests/serving_tray.dm
index debf689989f..e71b602149e 100644
--- a/code/modules/unit_tests/serving_tray.dm
+++ b/code/modules/unit_tests/serving_tray.dm
@@ -5,7 +5,7 @@
var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human)
var/obj/structure/table/the_table = allocate(/obj/structure/table)
var/obj/item/storage/bag/tray/test_tray = allocate(/obj/item/storage/bag/tray)
- var/obj/item/reagent_containers/food/banana = allocate(/obj/item/reagent_containers/food/snacks/grown/banana)
+ var/obj/item/reagent_containers/food/banana = allocate(/obj/item/reagent_containers/food/snacks/rationpack)
var/obj/item/food/the_bread = allocate(/obj/item/food/breadslice)
var/obj/item/reagent_containers/food/sugarcookie = allocate(/obj/item/reagent_containers/food/snacks/sugarcookie)
var/obj/item/clothing/under/jumpsuit = allocate(/obj/item/clothing/under/color/black)
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 8177628f50f..64e828b23e9 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -939,7 +939,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
name = "Bombanana"
desc = "A banana with an explosive taste! discard the peel quickly, as it will explode with the force of a Syndicate minibomb \
a few seconds after the banana is eaten."
- item = /obj/item/reagent_containers/food/snacks/grown/banana/bombanana
+ item = /obj/item/food/grown/banana/bombanana
cost = 4 //it is a bit cheaper than a minibomb because you have to take off your helmet to eat it, which is how you arm it
surplus = 0
include_modes = list(/datum/game_mode/nuclear/clown_ops)
diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm
index 77219fb2423..bd3cdcc8cf5 100644
--- a/code/modules/vehicles/cars/clowncar.dm
+++ b/code/modules/vehicles/cars/clowncar.dm
@@ -59,8 +59,8 @@
/obj/vehicle/sealed/car/clowncar/attacked_by(obj/item/I, mob/living/user)
. = ..()
- if(istype(I, /obj/item/reagent_containers/food/snacks/grown/banana))
- var/obj/item/reagent_containers/food/snacks/grown/banana/banana = I
+ if(istype(I, /obj/item/food/grown/banana))
+ var/obj/item/food/grown/banana/banana = I
obj_integrity += min(banana.seed.potency, max_integrity-obj_integrity)
to_chat(user, "You use the [banana] to repair the [src]!")
qdel(banana)
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 634ccb5c4f6..727cd637378 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -11,7 +11,7 @@
///This stores a banana that, when used on the secway, prevents the vehicle from moving until it is removed.
- var/obj/item/reagent_containers/food/snacks/grown/banana/eddie_murphy
+ var/obj/item/food/grown/banana/eddie_murphy
///When jammed with a banana, the secway will make a stalling sound. This stores the last time it made a sound to prevent spam.
var/stall_cooldown
@@ -44,7 +44,7 @@
to_chat(user, "It looks to be fully repaired now.")
return TRUE
- if(istype(W, /obj/item/reagent_containers/food/snacks/grown/banana))
+ if(istype(W, /obj/item/food/grown/banana))
// ignore the occupants because they're presumably too distracted to notice the guy stuffing fruit into their vehicle's exhaust. do segways have exhausts? they do now!
user.visible_message("[user] begins stuffing [W] into [src]'s tailpipe.", "You begin stuffing [W] into [src]'s tailpipe...", ignored_mobs = occupants)
if(do_after(user, 3 SECONDS, src))
diff --git a/tgstation.dme b/tgstation.dme
index 8d301e96e82..c9ef4f942a6 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -589,6 +589,7 @@
#include "code\datums\elements\cleaning.dm"
#include "code\datums\elements\decal.dm"
#include "code\datums\elements\digitalcamo.dm"
+#include "code\datums\elements\dryable.dm"
#include "code\datums\elements\earhealing.dm"
#include "code\datums\elements\embed.dm"
#include "code\datums\elements\empprotection.dm"