diff --git a/_maps/map_files/BirdStation/BirdStation.dmm b/_maps/map_files/BirdStation/BirdStation.dmm
index 5006624507c..c2708d47cb2 100644
--- a/_maps/map_files/BirdStation/BirdStation.dmm
+++ b/_maps/map_files/BirdStation/BirdStation.dmm
@@ -1424,7 +1424,7 @@
"aBt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/engine/gravity_generator)
"aBu" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder{pixel_y = 12},/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics)
"aBv" = (/obj/structure/table/glass,/obj/item/weapon/shovel/spade,/obj/item/weapon/storage/bag/plants,/obj/item/weapon/storage/bag/plants,/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics)
-"aBw" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin,/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,/obj/item/weapon/reagent_containers/food/snacks/grown/chili,/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily,/obj/item/weapon/reagent_containers/food/snacks/grown/rice,/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,/obj/item/weapon/reagent_containers/food/snacks/grown/wheat,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip,/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod,/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon,/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries,/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics)
+"aBw" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin,/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,/obj/item/weapon/reagent_containers/food/snacks/grown/chili,/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily,/obj/item/weapon/reagent_containers/food/snacks/grown/rice,/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,/obj/item/weapon/reagent_containers/food/snacks/grown/wheat,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip,/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod,/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon,/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries,/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics)
"aBx" = (/obj/structure/closet/secure_closet/hydroponics,/obj/item/weapon/watertank,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics)
"aBy" = (/obj/structure/closet/wardrobe/botanist,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 5},/area/hydroponics)
"aBz" = (/turf/simulated/floor/plating,/area/maintenance/maintcentral{name = "Central Maintenance"})
diff --git a/code/modules/food&drinks/kitchen machinery/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm
index 67712fede24..bb2b48a8653 100644
--- a/code/modules/food&drinks/kitchen machinery/processor.dm
+++ b/code/modules/food&drinks/kitchen machinery/processor.dm
@@ -45,6 +45,10 @@
input = /obj/item/weapon/reagent_containers/food/snacks/meat/slab
output = /obj/item/weapon/reagent_containers/food/snacks/faggot
+/datum/food_processor_process/sweetpotato
+ input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet
+ output = /obj/item/weapon/reagent_containers/food/snacks/yakiimo
+
/datum/food_processor_process/potato
input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato
output = /obj/item/weapon/reagent_containers/food/snacks/fries
@@ -69,9 +73,6 @@
input = /obj/item/weapon/reagent_containers/food/snacks/grown/parsnip
output = /obj/item/weapon/reagent_containers/food/snacks/roastparsnip
-/datum/food_processor_process/sweetpotato
- input = /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato
- output = /obj/item/weapon/reagent_containers/food/snacks/yakiimo
/* mobs */
diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm
index bd110dd8940..083deaf6f20 100644
--- a/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm
+++ b/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm
@@ -70,7 +70,7 @@
/datum/reagent/consumable/soymilk = 5,
/obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1,
/obj/item/weapon/reagent_containers/food/snacks/tofu = 3,
- /obj/item/weapon/reagent_containers/food/snacks/grown/mimana = 1
+ /obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime = 1
)
result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/mimana
category = CAT_FOOD
diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm
index d8eeb9e01e3..19c72203735 100644
--- a/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm
+++ b/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm
@@ -146,7 +146,7 @@
reqs = list(
/datum/reagent/consumable/vanilla = 5,
/datum/reagent/water = 5,
- /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato = 2
+ /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet = 2
)
result = /obj/item/weapon/reagent_containers/food/snacks/pie/dulcedebatata
category = CAT_FOOD
diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm
index 37733685285..082fb2b352f 100644
--- a/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm
+++ b/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm
@@ -209,7 +209,7 @@
/datum/reagent/water = 10,
/datum/reagent/consumable/sugar = 5,
/obj/item/weapon/reagent_containers/glass/bowl = 1,
- /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato = 2
+ /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet = 2
)
result = /obj/item/weapon/reagent_containers/food/snacks/soup/sweetpotato
category = CAT_FOOD
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 82831a817f0..b5606b7b0bf 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -1,13 +1,11 @@
-
-
// ***********************************************************
// Foods that are produced from hydroponics ~~~~~~~~~~
// Data from the seeds carry over to these grown foods
// ***********************************************************
-//Grown foods
-//Subclass so we can pass on values
-/obj/item/weapon/reagent_containers/food/snacks/grown/
+// Base type. Subtypes are found in /grown.
+/obj/item/weapon/reagent_containers/food/snacks/grown
+ icon = 'icons/obj/hydroponics/harvest.dmi'
var/seed = null
var/plantname = ""
var/product //a type path
@@ -17,9 +15,17 @@
var/production = 0
var/yield = 0
var/plant_type = 0
- icon = 'icons/obj/hydroponics/harvest.dmi'
+ var/bitesize_mod = 0
+ // If set, bitesize = 1 + round(reagents.total_volume / bitesize_mod)
+ var/list/reagents_add = list()
+ // A list of reagents to add.
+ // Format: "reagent_id" = potency multiplier
+ // Stronger reagents must always come first to avoid being displaced by weaker ones.
+ // Total amount of any reagent in plant is calculated by formula: 1 + round(potency * multiplier)
potency = -1
- dried_type = -1 //bit different. 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.
+ 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.
burn_state = FLAMMABLE
/obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc, new_potency = 50)
@@ -31,7 +37,8 @@
if(dried_type == -1)
dried_type = src.type
- if(seed && lifespan == 0) //This is for adminspawn or map-placed growns. They get the default stats of their seed type. This feels like a hack but people insist on putting these things on the map...
+ if(seed && lifespan == 0)
+ // This is for adminspawn or map-placed growns. They get the default stats of their seed type. This feels like a hack but people insist on putting these things on the map...
var/obj/item/seeds/S = new seed(src)
lifespan = S.lifespan
endurance = S.endurance
@@ -41,11 +48,16 @@
qdel(S) //Foods drop their contents when eaten, so delete the default seed.
add_juice()
+
transform *= TransformUsingVariable(potency, 100, 0.5) //Makes the resulting produce's sprite larger or smaller based on potency!
/obj/item/weapon/reagent_containers/food/snacks/grown/proc/add_juice()
if(reagents)
+ for(var/reagent_id in reagents_add)
+ reagents.add_reagent(reagent_id, 1 + round(potency * reagents_add[reagent_id]))
+ if(bitesize_mod)
+ bitesize = 1 + round(reagents.total_volume / bitesize_mod)
return 1
return 0
@@ -69,1334 +81,20 @@
msg += "- Nutritional value: [reagents.get_reagent_amount("nutriment")]\n"
msg += "- Other substances: [reagents.total_volume-reagents.get_reagent_amount("nutriment")]\n"
msg += "*---------*"
- usr << msg
+
+ var/list/scannable_reagents = list("charcoal" = "Anti-Toxin", "morphine" = "Morphine", "amatoxin" = "Amatoxins",
+ "toxin" = "Toxins", "mushroomhallucinogen" = "Mushroom Hallucinogen", "condensedcapsaicin" = "Condensed Capsaicin",
+ "capsaicin" = "Capsaicin", "frostoil" = "Frost Oil", "gold" = "Mineral Content",
+ "radium" = "Radioactive Material", "uranium" = "Radioactive Material")
+ var/reag_txt = ""
+ for(var/reagent_id in scannable_reagents)
+ if(reagent_id in reagents_add)
+ var/amt = reagents.get_reagent_amount(reagent_id)
+ reag_txt += "- [scannable_reagents[reagent_id]]: [amt*100/reagents.maximum_volume]%\n"
+
+ user << msg
+ if(reag_txt)
+ user << reag_txt
+ user << "*---------*"
return
- return
-
-/obj/item/weapon/grown/attackby(obj/item/O, mob/user, params)
- ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- var/msg
- msg = "*---------*\n This is \a [src]\n"
- switch(plant_type)
- if(0)
- msg += "- Plant type: Normal plant\n"
- if(1)
- msg += "- Plant type: Weed. Can grow in nutrient-poor soil.\n"
- if(2)
- msg += "- Plant type: Mushroom. Can grow in dry soil.\n"
- msg += "- Potency: [potency]\n"
- msg += "- Yield: [yield]\n"
- msg += "- Maturation speed: [maturation]\n"
- msg += "- Production speed: [production]\n"
- msg += "- Endurance: [endurance]\n"
- msg += "*---------*"
- usr << msg
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/corn
- seed = /obj/item/seeds/cornseed
- name = "ear of corn"
- desc = "Needs some butter!"
- icon_state = "corn"
- cooked_type = /obj/item/weapon/reagent_containers/food/snacks/popcorn
- filling_color = "#FFFF00"
- trash = /obj/item/weapon/grown/corncob
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/corn/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cherries
- seed = /obj/item/seeds/cherryseed
- name = "cherries"
- desc = "Great for toppings!"
- icon_state = "cherry"
- gender = PLURAL
- filling_color = "#FF0000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cherries/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 15), 1))
- reagents.add_reagent("sugar", 1 + round((potency / 15), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries
- seed = /obj/item/seeds/bluecherryseed
- name = "blue cherries"
- desc = "They're cherries that are blue."
- icon_state = "bluecherry"
- filling_color = "#6495ED"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 15), 1))
- reagents.add_reagent("sugar", 1 + round((potency / 50), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
- seed = /obj/item/seeds/poppyseed
- name = "poppy"
- desc = "Long-used as a symbol of rest, peace, and death."
- icon_state = "poppy"
- slot_flags = SLOT_HEAD
- filling_color = "#FF6347"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 3, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily
- seed = /obj/item/seeds/lilyseed
- name = "lily"
- desc = "A beautiful orange flower"
- icon_state = "lily"
- filling_color = "#FFA500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/geranium
- seed = /obj/item/seeds/geraniumseed
- name = "geranium"
- desc = "A beautiful blue flower"
- icon_state = "geranium"
- filling_color = "#008B8B"
-
-/obj/item/weapon/reagent_containers/food/snacks/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 = SLOT_HEAD
- filling_color = "#E6E6FA"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/harebell/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 3, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato
- seed = /obj/item/seeds/potatoseed
- name = "potato"
- desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
- icon_state = "potato"
- filling_color = "#E9967A"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = reagents.total_volume
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params)
- ..()
- if(istype(W, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/C = W
- if (C.use(5))
- user << "You add some cable to the potato and slide it inside the battery encasing."
- var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc)
- pocell.maxcharge = src.potency * 10
- pocell.charge = pocell.maxcharge
- qdel(src)
- return
- else
- user << "You need five lengths of cable to make a potato battery!"
- return
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grapes
- seed = /obj/item/seeds/grapeseed
- name = "bunch of grapes"
- desc = "Nutritious!"
- icon_state = "grapes"
- dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin
- filling_color = "#FF1493"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("sugar", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green
- seed = /obj/item/seeds/greengrapeseed
- name = "bunch of green grapes"
- desc = "Nutritious!"
- icon_state = "greengrapes"
- dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin
- filling_color = "#7FFF00"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green/add_juice()
- ..()
- reagents.add_reagent("salglu_solution", 3 + round((potency / 5), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage
- seed = /obj/item/seeds/cabbageseed
- name = "cabbage"
- desc = "Ewwwwwwwwww. Cabbage."
- icon_state = "cabbage"
- filling_color = "#90EE90"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries
- seed = /obj/item/seeds/berryseed
- name = "bunch of berries"
- desc = "Nutritious!"
- icon_state = "berrypile"
- gender = PLURAL
- filling_color = "#FF00FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison
- seed = /obj/item/seeds/poisonberryseed
- name = "bunch of poison-berries"
- desc = "Taste so good, you could die!"
- icon_state = "poisonberrypile"
- filling_color = "#C71585"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison/add_juice()
- ..()
- reagents.add_reagent("toxin", 3 + round(potency / 5, 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death
- seed = /obj/item/seeds/deathberryseed
- name = "bunch of death-berries"
- desc = "Taste so good, you could die!"
- icon_state = "deathberrypile"
- filling_color = "#708090"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death/add_juice()
- ..()
- reagents.add_reagent("toxin", 3 + round(potency / 3, 1))
- reagents.add_reagent("lexorin", 1 + round(potency / 5, 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow
- seed = /obj/item/seeds/glowberryseed
- name = "bunch of glow-berries"
- desc = "Nutritious!"
- var/on = 1
- var/brightness_on = 2 //luminosity when on
- icon_state = "glowberrypile"
- filling_color = "#7CFC00"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/add_juice()
- ..()
- reagents.add_reagent("uranium", 3 + round(potency / 5, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/Destroy()
- if(istype(loc,/mob))
- loc.AddLuminosity(round(-potency / 5,1))
- return ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/pickup(mob/user)
- ..()
- src.SetLuminosity(0)
- user.AddLuminosity(round(potency / 5,1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/dropped(mob/user)
- ..()
- user.AddLuminosity(round(-potency / 5,1))
- src.SetLuminosity(round(potency / 5,1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod
- seed = /obj/item/seeds/cocoapodseed
- name = "cocoa pod"
- desc = "Fattening... Mmmmm... chucklate."
- icon_state = "cocoapod"
- filling_color = "#FFD700"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("cocoa", 4 + round((potency / 5), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod
- seed = /obj/item/seeds/vanillapodseed
- name = "vanilla pod"
- desc = "Fattening... Mmmmm... vanilla."
- icon_state = "vanillapod"
- filling_color = "#FFD700"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vanilla", 4 + round((potency / 5), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
- seed = /obj/item/seeds/sugarcaneseed
- name = "sugarcane"
- desc = "Sickly sweet."
- icon_state = "sugarcane"
- filling_color = "#FFD700"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane/add_juice()
- if(..())
- reagents.add_reagent("sugar", 4 + round((potency / 5), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia //abstract type
- name = "ambrosia branch"
- desc = "This is a plant."
- icon_state = "ambrosiavulgaris"
- slot_flags = SLOT_HEAD
- filling_color = "#008000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1)
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris
- seed = /obj/item/seeds/ambrosiavulgarisseed
- name = "ambrosia vulgaris branch"
- desc = "This is a plant containing various healing chemicals."
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris/add_juice()
- ..()
- reagents.add_reagent("space_drugs", 1 + round(potency / 8, 1))
- reagents.add_reagent("salglu_solution", 1 + round(potency / 8, 1))
- reagents.add_reagent("salglu_solution", 1 + round(potency / 10, 1))
- reagents.add_reagent("toxin", 1 + round(potency / 10, 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus
- seed = /obj/item/seeds/ambrosiadeusseed
- name = "ambrosia deus branch"
- desc = "Eating this makes you feel immortal!"
- icon_state = "ambrosiadeus"
- filling_color = "#008B8B"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus/add_juice()
- ..()
- reagents.add_reagent("omnizine", 1 + round(potency / 8, 1))
- reagents.add_reagent("synaptizine", 1 + round(potency / 8, 1))
- reagents.add_reagent("space_drugs", 1 + round(potency / 10, 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple
- seed = /obj/item/seeds/appleseed
- name = "apple"
- desc = "It's a little piece of Eden."
- icon_state = "apple"
- filling_color = "#FF4500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/add_juice()
- if(..())
- reagents.maximum_volume = 20
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = reagents.maximum_volume // Always eat the apple in one
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned
- seed = /obj/item/seeds/poisonedappleseed
- name = "apple"
- desc = "It's a little piece of Eden."
- icon_state = "apple"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned/add_juice()
- ..()
- reagents.add_reagent("cyanide", 1 + round((potency / 5), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold
- seed = /obj/item/seeds/goldappleseed
- name = "golden apple"
- desc = "Emblazoned upon the apple is the word 'Kallisti'."
- icon_state = "goldapple"
- filling_color = "#FFD700"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/add_juice()
- ..()
- reagents.add_reagent("gold", 1 + round((potency / 5), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Mineral Content: [reagents.get_reagent_amount("gold")]%"
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon
- seed = /obj/item/seeds/watermelonseed
- name = "watermelon"
- desc = "It's full of watery goodness."
- icon_state = "watermelon"
- slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice
- slices_num = 5
- dried_type = null
- w_class = 3
- filling_color = "#008000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 6), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon
- seed = /obj/item/seeds/holymelonseed
- 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
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 15), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- reagents.add_reagent("holywater", 1 + round((potency / 6), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin
- seed = /obj/item/seeds/pumpkinseed
- name = "pumpkin"
- desc = "It's large and scary."
- icon_state = "pumpkin"
- filling_color = "#FFA500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 6), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- ..()
- if(W.is_sharp())
- user.show_message("You carve a face into [src]!", 1)
- new /obj/item/clothing/head/hardhat/pumpkinhead (user.loc)
- qdel(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin
- seed = /obj/item/seeds/blumpkinseed
- name = "blumpkin"
- desc = "The pumpkin's toxic sibling."
- icon_state = "blumpkin"
- filling_color = "#87CEFA"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 6), 1))
- reagents.add_reagent("ammonia", 1 + round((potency / 6), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/ //abstract type
- seed = /obj/item/seeds/limeseed
- name = "citrus"
- desc = "It's so sour, your face will twist."
- icon_state = "lime"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime
- seed = /obj/item/seeds/limeseed
- name = "lime"
- desc = "It's so sour, your face will twist."
- icon_state = "lime"
- filling_color = "#00FF00"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon
- seed = /obj/item/seeds/lemonseed
- name = "lemon"
- desc = "When life gives you lemons, be grateful they aren't limes."
- icon_state = "lemon"
- filling_color = "#FFD700"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange
- seed = /obj/item/seeds/orangeseed
- name = "orange"
- desc = "It's an tangy fruit."
- icon_state = "orange"
- filling_color = "#FFA500"
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet
- seed = /obj/item/seeds/whitebeetseed
- name = "white-beet"
- desc = "You can't beat white-beet."
- icon_state = "whitebeet"
- filling_color = "#F4A460"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet/add_juice()
- if(..())
- reagents.add_reagent("nutriment", round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- reagents.add_reagent("sugar", 1 + round((potency / 5), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato
- seed = /obj/item/seeds/sweetpotatoseed
- name = "sweet potato"
- desc = "It's sweet."
- icon_state = "sweetpotato"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 10), 1))
- reagents.add_reagent("sugar", 1 + round((potency / 10), 1))
- bitesize = reagents.total_volume
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip
- seed = /obj/item/seeds/parsnipseed
- name = "parsnip"
- desc = "Closely related to carrots."
- icon_state = "parsnip"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet
- seed = /obj/item/seeds/redbeetseed
- name = "red beet"
- desc = "You can't beat red beet."
- icon_state = "redbeet"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet/add_juice()
- if(..())
- reagents.add_reagent("nutriment", round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/banana
- seed = /obj/item/seeds/bananaseed
- name = "banana"
- desc = "It's an excellent prop for a clown."
- icon = 'icons/obj/items.dmi'
- icon_state = "banana"
- item_state = "banana"
- trash = /obj/item/weapon/grown/bananapeel
- filling_color = "#FFFF00"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/banana/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("banana", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user)
- user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.")
- playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1)
- sleep(25)
- user.say("BANG!")
- sleep(25)
- user.visible_message("[user] laughs so hard they begin to suffocate!")
- return (OXYLOSS)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana
- seed = /obj/item/seeds/bluespacebananaseed
- name = "bluespace banana"
- desc = "It's an excellent prank for a clown."
- icon_state = "banana_blue"
- trash = /obj/item/weapon/grown/bananapeel/bluespace
- filling_color = "#0000FF"
- origin_tech = "bluespace=3"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("banana", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- reagents.add_reagent("singulo", 1 + round((potency / 5), 1))
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mimana
- seed = /obj/item/seeds/mimanaseed
- name = "mimana"
- desc = "It's an excellent prop for a mime."
- icon_state = "mimana"
- trash = /obj/item/weapon/grown/bananapeel/mimanapeel
- filling_color = "#FFFFEE"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mimana/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("nothing", 2 + round((potency / 10), 1))
- reagents.add_reagent("mutetoxin", 2 + round((potency / 10), 1))
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili
- seed = /obj/item/seeds/chiliseed
- name = "chili"
- desc = "It's spicy! Wait... IT'S BURNING ME!!"
- icon_state = "chilipepper"
- filling_color = "#FF0000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- reagents.add_reagent("capsaicin", 3+round(potency / 5, 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%"
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper
- seed = /obj/item/seeds/icepepperseed
- name = "ice pepper"
- desc = "It's a mutant strain of chili"
- icon_state = "icepepper"
- filling_color = "#0000CD"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 50), 1))
- reagents.add_reagent("frostoil", 3+round(potency / 5, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Frost Oil: [reagents.get_reagent_amount("frostoil")]%"
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili
- seed = /obj/item/seeds/chilighost
- name = "ghost chili"
- desc = "It seems to be vibrating gently."
- icon_state = "ghostchilipepper"
- var/mob/held_mob
- filling_color = "#F8F8FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- reagents.add_reagent("capsaicin", 8+round(potency / 2, 1))
- reagents.add_reagent("condensedcapsaicin", 4+round(potency / 4, 1))
- bitesize = 1 + round(reagents.total_volume / 4, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user)
- ..()
- if( istype(src.loc, /mob) )
- held_mob = src.loc
- SSobj.processing |= src
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/process()
- if(held_mob && src.loc == held_mob)
- if( (held_mob.l_hand == src) || (held_mob.r_hand == src))
- if(hasvar(held_mob,"gloves") && held_mob:gloves)
- return
- held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
- if(prob(10))
- held_mob << "Your hand holding [src] burns!"
- else
- held_mob = null
- ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant
- seed = /obj/item/seeds/eggplantseed
- name = "eggplant"
- desc = "Maybe there's a chicken inside?"
- icon_state = "eggplant"
- filling_color = "#800080"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/shell/
- var/inside_type = null
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/shell/attack_self(mob/user as mob)
- if(inside_type)
- new inside_type(user.loc)
- user.unEquip(src)
- qdel(src)
-
-obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy
- seed = /obj/item/seeds/eggyseed
- name = "Egg-plant"
- desc = "There MUST be a chicken inside."
- icon_state = "eggyplant"
- inside_type = /obj/item/weapon/reagent_containers/food/snacks/egg
- filling_color = "#F8F8FF"
-
-obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
- seed = /obj/item/seeds/soyaseed
- name = "soybeans"
- desc = "It's pretty bland, but oh the possibilities..."
- gender = PLURAL
- icon_state = "soybeans"
- filling_color = "#F0E68C"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans
- seed = /obj/item/seeds/koiseed
- name = "koibean"
- desc = "Something about these seems fishy."
- icon_state = "koibeans"
- filling_color = "#F0E68C"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 30), 1))
- reagents.add_reagent("carpotoxin", 1 + round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower
- seed = /obj/item/seeds/moonflowerseed
- name = "moonflower"
- desc = "Store in a location at least 50 yards away from werewolves."
- icon_state = "moonflower"
- slot_flags = SLOT_HEAD
- filling_color = "#E6E6FA"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("moonshine", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 50), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-//tomaters
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
- seed = /obj/item/seeds/tomatoseed
- name = "tomato"
- desc = "I say to-mah-to, you say tom-mae-to."
- icon_state = "tomato"
- var/splat = /obj/effect/decal/cleanable/tomato_smudge
- filling_color = "#FF6347"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/proc/squish(atom/target)
- var/turf/T = get_turf(target)
- new splat(T)
- visible_message("The [src.name] has been squashed.","You hear a smack.")
- for(var/atom/A in get_turf(target))
- reagents.reaction(A)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/throw_impact(atom/hit_atom)
- if(!..()) //was it caught by a mob?
- squish(hit_atom)
- qdel(src)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer
- seed = /obj/item/seeds/killertomatoseed
- 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"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
- if(awakening)
- user << "The tomato is twitching and shaking, preventing you from eating it."
- return
- ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user)
- if(awakening || istype(user.loc,/turf/space))
- return
- user << "You begin to awaken the Killer Tomato..."
- awakening = 1
-
- spawn(30)
- if(!gc_destroyed)
- var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc))
- K.maxHealth += round(endurance / 3)
- K.melee_damage_lower += round(potency / 10)
- K.melee_damage_upper += round(potency / 10)
- K.move_to_delay -= round(production / 50)
- K.health = K.maxHealth
- K.visible_message("The Killer Tomato growls as it suddenly awakens.")
- if(user)
- user.unEquip(src)
- qdel(src)
-
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood
- seed = /obj/item/seeds/bloodtomatoseed
- name = "blood-tomato"
- desc = "So bloody...so...very...bloody....AHHHH!!!!"
- icon_state = "bloodtomato"
- splat = /obj/effect/gibspawner/generic
- filling_color = "#FF0000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood/add_juice(loc, potency = 10)
- ..()
- reagents.add_reagent("blood", 1 + round((potency / 5)), list("blood_type"="O-"))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue
- seed = /obj/item/seeds/bluetomatoseed
- name = "blue-tomato"
- desc = "I say blue-mah-to, you say blue-mae-to."
- icon_state = "bluetomato"
- splat = /obj/effect/decal/cleanable/oil
- filling_color = "#0000FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/add_juice()
- ..()
- reagents.add_reagent("lube", 1 + round((potency / 5), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/Crossed(AM as mob|obj)
- if (istype(AM, /mob/living/carbon))
- var/mob/living/carbon/M = AM
- var/stun = Clamp(potency / 10, 1, 10)
- var/weaken = Clamp(potency / 20, 0.5, 5)
- M.slip(stun, weaken, src)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace
- seed = /obj/item/seeds/bluespacetomatoseed
- name = "blue-space tomato"
- desc = "So lubricated, you might slip through space-time."
- icon_state = "bluespacetomato"
- origin_tech = "bluespace=3"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/add_juice()
- ..()
- reagents.add_reagent("singulo", 1 + round((potency / 5), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/attack_self(mob/user)
- squish(user)
- user.unEquip(src)
- src.visible_message("[user] squashes the [src.name].","You hear a smack.")
- qdel(src)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/squish(atom/squishee)
- ..()
- var/teleport_radius = potency / 10
- if(isliving(squishee))
- var/turf/T = get_turf(squishee)
- new /obj/effect/decal/cleanable/molten_item(T) //Leave a pile of goo behind for dramatic effect...
- do_teleport(squishee, get_turf(squishee), teleport_radius)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/wheat
- seed = /obj/item/seeds/wheatseed
- name = "wheat"
- desc = "Sigh... wheat... a-grain?"
- gender = PLURAL
- icon_state = "wheat"
- filling_color = "#F0E68C"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/wheat/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/oat
- seed = /obj/item/seeds/oatseed
- name = "oat"
- desc = "Eat oats, do squats."
- gender = PLURAL
- icon_state = "oat"
- filling_color = "#556B2F"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/oat/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/rice
- seed = /obj/item/seeds/riceseed
- name = "rice"
- desc = "Rice to meet you."
- gender = PLURAL
- icon_state = "rice"
- filling_color = "#FAFAD2"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/rice/add_juice()
- if(..())
- reagents.add_reagent("rice", 1 + round((potency / 6), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grass
- seed = /obj/item/seeds/grassseed
- name = "grass"
- desc = "Green and lush."
- icon_state = "grassclump"
- filling_color = "#32CD32"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grass/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user)
- user << "You prepare the astroturf."
- var/grassAmt = 1 + round(potency / 50) // The grass we're holding
- for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor
- grassAmt += 1 + round(G.potency / 50)
- qdel(G)
- while(grassAmt > 0)
- var/obj/item/stack/tile/GT = new /obj/item/stack/tile/grass(user.loc)
- if(grassAmt >= GT.max_amount)
- GT.amount = GT.max_amount
- else
- GT.amount = grassAmt
- for(var/obj/item/stack/tile/grass/GR in user.loc)
- if(GR != GT && GR.amount < GR.max_amount)
- GR.attackby(GT, user) //we try to transfer all old unfinished stacks to the new stack we created.
- grassAmt -= GT.max_amount
- qdel(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carpet
- seed = /obj/item/seeds/carpetseed
- name = "carpet"
- desc = "The textile industry's dark secret."
- icon_state = "carpetclump"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/attack_self(mob/user)
- user << "You roll out the red carpet."
- var/carpetAmt = 1 + round(potency / 50) // The carpet we're holding
- for(var/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/C in user.loc) // The carpet on the floor
- carpetAmt += 1 + round(C.potency / 50)
- qdel(C)
- while(carpetAmt > 0)
- var/obj/item/stack/tile/CT = new /obj/item/stack/tile/carpet(user.loc)
- if(carpetAmt >= CT.max_amount)
- CT.amount = CT.max_amount
- else
- CT.amount = carpetAmt
- for(var/obj/item/stack/tile/carpet/CA in user.loc)
- if(CA != CT && CA.amount < CA.max_amount)
- CA.attackby(CT, user) //we try to transfer all old unfinished stacks to the new stack we created.
- carpetAmt -= CT.max_amount
- qdel(src)
- return
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod
- seed = /obj/item/seeds/kudzuseed
- name = "kudzu pod"
- desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact."
- icon_state = "kudzupod"
- var/list/mutations = list()
- filling_color = "#6B8E23"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("charcoal", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carrot
- seed = /obj/item/seeds/carrotseed
- name = "carrot"
- desc = "It's good for the eyes!"
- icon_state = "carrot"
- filling_color = "#FFA500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- reagents.add_reagent("oculine", 3+round(potency / 5, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
- if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet))
- user << "You sharpen the carrot into a shiv with [I]."
- var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv
- if(!remove_item_from_storage(user))
- user.unEquip(src)
- user.put_in_hands(Shiv)
- qdel(src)
- else
- return ..()
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom
- name = "mushroom"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi
- seed = /obj/item/seeds/reishimycelium
- name = "reishi"
- desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties."
- icon_state = "reishi"
- filling_color = "#FF4500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("charcoal", 3+round(potency / 3, 1))
- reagents.add_reagent("morphine", 3+round(potency / 3, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Anti-Toxin: [reagents.get_reagent_amount("charcoal")]%"
- user << "- Morphine: [reagents.get_reagent_amount("morphine")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita
- seed = /obj/item/seeds/amanitamycelium
- name = "fly amanita"
- desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know."
- icon_state = "amanita"
- filling_color = "#FF0000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("amatoxin", 3+round(potency / 3, 1))
- reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
- user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel
- seed = /obj/item/seeds/angelmycelium
- name = "destroying angel"
- desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins."
- icon_state = "angel"
- filling_color = "#C0C0C0"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("amatoxin", 13+round(potency / 3, 1))
- reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%"
- user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap
- seed = /obj/item/seeds/libertymycelium
- name = "liberty-cap"
- desc = "Psilocybe Semilanceata: Liberate yourself!"
- icon_state = "libertycap"
- filling_color = "#DAA520"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/add_juice(loc, potency = 15)
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
- reagents.add_reagent("mushroomhallucinogen", 3+round(potency / 5, 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(obj/item/O, mob/user, params)
- . = ..()
- if (istype(O, /obj/item/device/analyzer/plant_analyzer))
- user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet
- seed = /obj/item/seeds/plumpmycelium
- name = "plump-helmet"
- desc = "Plumus Hellmus: Plump, soft and s-so inviting~"
- icon_state = "plumphelmet"
- filling_color = "#9370DB"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet/add_juice()
- ..()
- reagents.add_reagent("nutriment", 2+round((potency / 10), 1))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
- seed = /obj/item/seeds/walkingmushroommycelium
- name = "walking mushroom"
- desc = "Plumus Locomotus: The beginning of the great walk."
- icon_state = "walkingmushroom"
- filling_color = "#9370DB"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/add_juice()
- ..()
- reagents.add_reagent("nutriment", 2+round((potency / 10), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
- if(istype(user.loc,/turf/space))
- return
- var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc)
- M.maxHealth += round(endurance / 4)
- M.melee_damage_lower += round(potency / 20)
- M.melee_damage_upper += round(potency / 20)
- M.move_to_delay -= round(production / 50)
- M.health = M.maxHealth
- qdel(src)
- user << "You plant the walking mushroom."
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle
- seed = /obj/item/seeds/chantermycelium
- name = "chanterelle cluster"
- desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!"
- icon_state = "chanterelle"
- filling_color = "#FFA500"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/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/effect/glowshroom
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/New(var/loc, var/new_potency = 10)
- ..()
- if(lifespan == 0) //basically, if you're spawning these via admin or on the map, then set up some default stats.
- lifespan = 120
- endurance = 30
- maturation = 15
- production = 1
- yield = 3
- potency = 30
- plant_type = 2
- if(istype(src.loc,/mob))
- pickup(src.loc)//adjusts the lighting on the mob
- else
- src.SetLuminosity(round(potency / 10,1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 25), 1))
- reagents.add_reagent("radium", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user)
- if(istype(user.loc,/turf/space))
- return
- var/obj/effect/glowshroom/planted = new effect_path(user.loc)
- planted.delay = planted.delay - production * 100 //So the delay goes DOWN with better stats instead of up. :I
- planted.endurance = endurance
- planted.yield = yield
- planted.potency = potency
- user << "You plant [src]."
- qdel(src)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy()
- if(istype(loc,/mob))
- loc.AddLuminosity(round(-potency / 10,1))
- return ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user)
- ..()
- SetLuminosity(0)
- user.AddLuminosity(round(potency / 10,1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user)
- ..()
- user.AddLuminosity(round(-potency / 10,1))
- SetLuminosity(round(potency / 10,1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
- seed = /obj/item/seeds/glowcap
- name = "glowcap cluster"
- desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..."
- icon_state = "glowcap"
- filling_color = "#00FA9A"
- effect_path = /obj/effect/glowshroom/glowcap
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap/On_Consume()
- if(!reagents.total_volume)
- var/batteries_recharged = 0
- for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents())
- var/newcharge = (potency*0.01)*C.maxcharge
- if(C.charge < newcharge)
- C.charge = newcharge
- if(isobj(C.loc))
- var/obj/O = C.loc
- O.update_icon() //update power meters and such
- batteries_recharged = 1
- if(batteries_recharged)
- usr << "Battery has recovered."
- ..()
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit
- seed = /obj/item/seeds/cashseed
- name = "Money Fruit"
- desc = "Looks like a lemon with someone buldging from the inside."
- icon_state = "moneyfruit"
- inside_type = null
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice()
- ..()
- reagents.add_reagent("nutriment", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
- switch(potency)
- if(0 to 10)
- inside_type = /obj/item/stack/spacecash/
- if(11 to 20)
- inside_type = /obj/item/stack/spacecash/c10
- if(21 to 30)
- inside_type = /obj/item/stack/spacecash/c20
- if(31 to 40)
- inside_type = /obj/item/stack/spacecash/c50
- if(41 to 50)
- inside_type = /obj/item/stack/spacecash/c100
- if(51 to 60)
- inside_type = /obj/item/stack/spacecash/c200
- if(61 to 80)
- inside_type = /obj/item/stack/spacecash/c500
- else
- inside_type = /obj/item/stack/spacecash/c1000
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit
- seed = /obj/item/seeds/gatfruit
- name = "gatfruit"
- desc = "It smells like burning."
- icon_state = "gatfruit"
- origin_tech = "combat=3"
- trash = /obj/item/weapon/gun/projectile/revolver
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit/add_juice()
- if(..())
- reagents.add_reagent("sulfur", 1 + round((potency / 10), 1))
- reagents.add_reagent("carbon", 1 + round((potency / 10), 1))
- reagents.add_reagent("nitrogen", 1 + round((potency / 15), 1))
- reagents.add_reagent("potassium", 1 + round((potency / 20), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/coffee //abstract type
- seed = /obj/item/seeds/coffee_arabica_seed
- name = "coffee beans"
- desc = "Dry them out to make coffee."
- icon_state = "coffee_arabica"
- filling_color = "#DC143C"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/add_juice()
- if(..())
- reagents.add_reagent("coffeepowder", 1 + round((potency / 10), 2))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
- bitesize = 1 + round(reagents.total_volume / 2, 1)
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica
- seed = /obj/item/seeds/coffee_arabica_seed
- name = "coffee arabica beans"
- desc = "Dry them out to make coffee."
- icon_state = "coffee_arabica"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta
- seed = /obj/item/seeds/coffee_robusta_seed
- name = "coffee robusta beans"
- desc = "Dry them out to make coffee."
- icon_state = "coffee_robusta"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta/add_juice(loc, potency = 20)
- ..()
- reagents.add_reagent("morphine", 1 + round((potency / 20), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco
- seed = /obj/item/seeds/tobacco_seed
- name = "tobacco leaves"
- desc = "Dry them out to make some smokes."
- icon_state = "tobacco_leaves"
- filling_color = "#008000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/add_juice()
- if(..())
- reagents.add_reagent("nutriment", 1 + round((potency / 40), 1))
- reagents.add_reagent("nicotine", 1 + round((potency / 40), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space
- seed = /obj/item/seeds/tobacco_space_seed
- name = "space tobacco leaves"
- desc = "Dry them out to make some space-smokes."
- icon_state = "stobacco_leaves"
- filling_color = "#008000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space/add_juice()
- ..()
- reagents.add_reagent("salbutamol", 1 + round((potency / 20), 1))
- reagents.add_reagent("nicotine", 1 + round((potency / 20), 1))
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tea //abstract type
- seed = /obj/item/seeds/tea_aspera_seed
- name = "Tea tips"
- desc = "These aromatic tips of the tea plant can be dried to make tea."
- icon_state = "tea_aspera_leaves"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tea/add_juice()
- if(..())
- reagents.add_reagent("teapowder", 1 + round((potency / 10), 2))
- reagents.add_reagent("vitamin", 1 + round((potency / 25), 1))
-
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera
- seed = /obj/item/seeds/tea_aspera_seed
- name = "Tea Aspera tips"
- filling_color = "#008000"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra
- seed = /obj/item/seeds/tea_astra_seed
- name = "Tea Astra tips"
- desc = "These aromatic tips of the tea plant can be dried to make tea."
- icon_state = "tea_astra_leaves"
- filling_color = "#4582B4"
-
-/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra/add_juice()
- ..()
- reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1))
+ return
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm
new file mode 100644
index 00000000000..0264ce94fa3
--- /dev/null
+++ b/code/modules/hydroponics/grown/ambrosia.dm
@@ -0,0 +1,23 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia //abstract type
+ name = "ambrosia branch"
+ desc = "This is a plant."
+ icon_state = "ambrosiavulgaris"
+ slot_flags = SLOT_HEAD
+ filling_color = "#008000"
+ reagents_add = list("nutriment" = 0)
+ // It means 1 nutriment no matter how low or high potency is
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris
+ seed = /obj/item/seeds/ambrosiavulgarisseed
+ name = "ambrosia vulgaris branch"
+ desc = "This is a plant containing various healing chemicals."
+ reagents_add = list("space_drugs" = 0.15, "salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0, "toxin" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus
+ seed = /obj/item/seeds/ambrosiadeusseed
+ name = "ambrosia deus branch"
+ desc = "Eating this makes you feel immortal!"
+ icon_state = "ambrosiadeus"
+ filling_color = "#008B8B"
+ reagents_add = list("omnizine" = 0.15, "synaptizine" = 0.15, "space_drugs" = 0.1, "vitamin" = 0.04, "nutriment" = 0)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm
new file mode 100644
index 00000000000..c7b9c646373
--- /dev/null
+++ b/code/modules/hydroponics/grown/apple.dm
@@ -0,0 +1,25 @@
+// Apple
+/obj/item/weapon/reagent_containers/food/snacks/grown/apple
+ seed = /obj/item/seeds/appleseed
+ name = "apple"
+ desc = "It's a little piece of Eden."
+ icon_state = "apple"
+ filling_color = "#FF4500"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize = 100 // Always eat the apple in one bite
+
+
+// Posioned Apple
+/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned
+ seed = /obj/item/seeds/poisonedappleseed
+ reagents_add = list("cyanide" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
+
+
+// Gold Apple
+/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold
+ seed = /obj/item/seeds/goldappleseed
+ name = "golden apple"
+ desc = "Emblazoned upon the apple is the word 'Kallisti'."
+ icon_state = "goldapple"
+ filling_color = "#FFD700"
+ reagents_add = list("gold" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm
new file mode 100644
index 00000000000..1d8db934b97
--- /dev/null
+++ b/code/modules/hydroponics/grown/banana.dm
@@ -0,0 +1,43 @@
+// Banana
+/obj/item/weapon/reagent_containers/food/snacks/grown/banana
+ seed = /obj/item/seeds/bananaseed
+ name = "banana"
+ desc = "It's an excellent prop for a clown."
+ icon = 'icons/obj/items.dmi'
+ icon_state = "banana"
+ item_state = "banana"
+ trash = /obj/item/weapon/grown/bananapeel
+ filling_color = "#FFFF00"
+ reagents_add = list("banana" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
+ bitesize = 5
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user)
+ user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.")
+ playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1)
+ sleep(25)
+ user.say("BANG!")
+ sleep(25)
+ user.visible_message("[user] laughs so hard they begin to suffocate!")
+ return (OXYLOSS)
+
+
+// Mimana
+/obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime
+ seed = /obj/item/seeds/mimanaseed
+ name = "mimana"
+ desc = "It's an excellent prop for a mime."
+ icon_state = "mimana"
+ trash = /obj/item/weapon/grown/bananapeel/mimanapeel
+ filling_color = "#FFFFEE"
+ reagents_add = list("nothing" = 0.1, "mutetoxin" = 0.1, "nutriment" = 0.02)
+
+
+// Bluespace Banana
+/obj/item/weapon/reagent_containers/food/snacks/grown/banana/bluespace
+ seed = /obj/item/seeds/bluespacebananaseed
+ name = "bluespace banana"
+ icon_state = "banana_blue"
+ trash = /obj/item/weapon/grown/bananapeel/bluespace
+ filling_color = "#0000FF"
+ origin_tech = "bluespace=3"
+ reagents_add = list("singulo" = 0.2, "banana" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/beans.dm b/code/modules/hydroponics/grown/beans.dm
new file mode 100644
index 00000000000..936b1ca1696
--- /dev/null
+++ b/code/modules/hydroponics/grown/beans.dm
@@ -0,0 +1,18 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
+ seed = /obj/item/seeds/soyaseed
+ name = "soybeans"
+ desc = "It's pretty bland, but oh the possibilities..."
+ gender = PLURAL
+ icon_state = "soybeans"
+ filling_color = "#F0E68C"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans
+ seed = /obj/item/seeds/koiseed
+ name = "koibean"
+ desc = "Something about these seems fishy."
+ icon_state = "koibeans"
+ filling_color = "#F0E68C"
+ reagents_add = list("carpotoxin" = 0.05, "vitamin" = 0.04, "nutriment" = 0.05)
+ bitesize_mod = 2
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm
new file mode 100644
index 00000000000..b1dc16d34ef
--- /dev/null
+++ b/code/modules/hydroponics/grown/berries.dm
@@ -0,0 +1,97 @@
+// Berries
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries
+ seed = /obj/item/seeds/berryseed
+ name = "bunch of berries"
+ desc = "Nutritious!"
+ icon_state = "berrypile"
+ gender = PLURAL
+ filling_color = "#FF00FF"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+
+// Poison Berries
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison
+ seed = /obj/item/seeds/poisonberryseed
+ name = "bunch of poison-berries"
+ desc = "Taste so good, you could die!"
+ icon_state = "poisonberrypile"
+ filling_color = "#C71585"
+ reagents_add = list("toxin" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1)
+
+
+// Death Berries
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death
+ seed = /obj/item/seeds/deathberryseed
+ name = "bunch of death-berries"
+ desc = "Taste so good, you could die!"
+ icon_state = "deathberrypile"
+ filling_color = "#708090"
+ reagents_add = list("lexorin" = 0.25, "toxin" = 0.35, "vitamin" = 0.04, "nutriment" = 0.1)
+
+
+// Glow Berries
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow
+ seed = /obj/item/seeds/glowberryseed
+ name = "bunch of glow-berries"
+ desc = "Nutritious!"
+ var/on = 1
+ var/brightness_on = 2 //luminosity when on
+ icon_state = "glowberrypile"
+ filling_color = "#7CFC00"
+ reagents_add = list("uranium" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/Destroy()
+ if(istype(loc,/mob))
+ loc.AddLuminosity(round(-potency / 5))
+ return ..()
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/pickup(mob/user)
+ ..()
+ src.SetLuminosity(0)
+ user.AddLuminosity(round(potency / 5))
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/dropped(mob/user)
+ ..()
+ user.AddLuminosity(round(-potency / 5))
+ src.SetLuminosity(round(potency / 5))
+
+
+// Cherries
+/obj/item/weapon/reagent_containers/food/snacks/grown/cherries
+ seed = /obj/item/seeds/cherryseed
+ name = "cherries"
+ desc = "Great for toppings!"
+ icon_state = "cherry"
+ gender = PLURAL
+ filling_color = "#FF0000"
+ reagents_add = list("nutriment" = 0.07, "sugar" = 0.07)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries
+ seed = /obj/item/seeds/bluecherryseed
+ name = "blue cherries"
+ desc = "They're cherries that are blue."
+ icon_state = "bluecherry"
+ filling_color = "#6495ED"
+ reagents_add = list("nutriment" = 0.07, "sugar" = 0.07)
+ bitesize_mod = 2
+
+
+// Grapes
+/obj/item/weapon/reagent_containers/food/snacks/grown/grapes
+ seed = /obj/item/seeds/grapeseed
+ name = "bunch of grapes"
+ desc = "Nutritious!"
+ icon_state = "grapes"
+ dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin
+ filling_color = "#FF1493"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green
+ seed = /obj/item/seeds/greengrapeseed
+ name = "bunch of green grapes"
+ icon_state = "greengrapes"
+ filling_color = "#7FFF00"
+ reagents_add = list("salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm
new file mode 100644
index 00000000000..8d328ff394d
--- /dev/null
+++ b/code/modules/hydroponics/grown/cereals.dm
@@ -0,0 +1,31 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/wheat
+ seed = /obj/item/seeds/wheatseed
+ name = "wheat"
+ desc = "Sigh... wheat... a-grain?"
+ gender = PLURAL
+ icon_state = "wheat"
+ filling_color = "#F0E68C"
+ bitesize_mod = 2
+ reagents_add = list("nutriment" = 0.04)
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/oat
+ seed = /obj/item/seeds/oatseed
+ name = "oat"
+ desc = "Eat oats, do squats."
+ gender = PLURAL
+ icon_state = "oat"
+ filling_color = "#556B2F"
+ bitesize_mod = 2
+ reagents_add = list("nutriment" = 0.04)
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/rice
+ seed = /obj/item/seeds/riceseed
+ name = "rice"
+ desc = "Rice to meet you."
+ gender = PLURAL
+ icon_state = "rice"
+ filling_color = "#FAFAD2"
+ bitesize_mod = 2
+ reagents_add = list("nutriment" = 0.04)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
new file mode 100644
index 00000000000..85182c9a2d6
--- /dev/null
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -0,0 +1,50 @@
+// Chili
+/obj/item/weapon/reagent_containers/food/snacks/grown/chili
+ seed = /obj/item/seeds/chiliseed
+ name = "chili"
+ desc = "It's spicy! Wait... IT'S BURNING ME!!"
+ icon_state = "chilipepper"
+ filling_color = "#FF0000"
+ reagents_add = list("capsaicin" = 0.25, "vitamin" = 0.04, "nutriment" = 0.04)
+ bitesize_mod = 2
+
+
+// Ice Chili
+/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper
+ seed = /obj/item/seeds/icepepperseed
+ name = "ice pepper"
+ desc = "It's a mutant strain of chili"
+ icon_state = "icepepper"
+ filling_color = "#0000CD"
+ reagents_add = list("frostoil" = 0.25, "vitamin" = 0.02, "nutriment" = 0.02)
+ bitesize_mod = 2
+
+
+// Ghost Chili
+/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili
+ seed = /obj/item/seeds/chilighost
+ name = "ghost chili"
+ desc = "It seems to be vibrating gently."
+ icon_state = "ghostchilipepper"
+ var/mob/held_mob
+ filling_color = "#F8F8FF"
+ reagents_add = list("condensedcapsaicin" = 0.3, "capsaicin" = 0.55, "nutriment" = 0.04)
+ bitesize_mod = 4
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user)
+ ..()
+ if( istype(src.loc, /mob) )
+ held_mob = src.loc
+ SSobj.processing |= src
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/process()
+ if(held_mob && src.loc == held_mob)
+ if( (held_mob.l_hand == src) || (held_mob.r_hand == src))
+ if(hasvar(held_mob,"gloves") && held_mob:gloves)
+ return
+ held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
+ if(prob(10))
+ held_mob << "Your hand holding [src] burns!"
+ else
+ held_mob = null
+ ..()
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm
new file mode 100644
index 00000000000..2ced7418afe
--- /dev/null
+++ b/code/modules/hydroponics/grown/citrus.dm
@@ -0,0 +1,65 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/ //abstract type
+ seed = /obj/item/seeds/limeseed
+ name = "citrus"
+ desc = "It's so sour, your face will twist."
+ icon_state = "lime"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05)
+ bitesize_mod = 2
+
+
+// Lime
+/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime
+ seed = /obj/item/seeds/limeseed
+ name = "lime"
+ desc = "It's so sour, your face will twist."
+ icon_state = "lime"
+ filling_color = "#00FF00"
+
+
+// Lemon
+/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon
+ seed = /obj/item/seeds/lemonseed
+ name = "lemon"
+ desc = "When life gives you lemons, be grateful they aren't limes."
+ icon_state = "lemon"
+ filling_color = "#FFD700"
+
+
+// Orange
+/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange
+ seed = /obj/item/seeds/orangeseed
+ name = "orange"
+ desc = "It's an tangy fruit."
+ icon_state = "orange"
+ filling_color = "#FFA500"
+
+
+// Money Lemon
+/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit
+ seed = /obj/item/seeds/cashseed
+ name = "Money Fruit"
+ desc = "Looks like a lemon with someone buldging from the inside."
+ icon_state = "moneyfruit"
+ inside_type = null
+ reagents_add = list("nutriment" = 0.05)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice()
+ ..()
+ switch(potency)
+ if(0 to 10)
+ inside_type = /obj/item/stack/spacecash
+ if(11 to 20)
+ inside_type = /obj/item/stack/spacecash/c10
+ if(21 to 30)
+ inside_type = /obj/item/stack/spacecash/c20
+ if(31 to 40)
+ inside_type = /obj/item/stack/spacecash/c50
+ if(41 to 50)
+ inside_type = /obj/item/stack/spacecash/c100
+ if(51 to 60)
+ inside_type = /obj/item/stack/spacecash/c200
+ if(61 to 80)
+ inside_type = /obj/item/stack/spacecash/c500
+ else
+ inside_type = /obj/item/stack/spacecash/c1000
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm
new file mode 100644
index 00000000000..530207d1567
--- /dev/null
+++ b/code/modules/hydroponics/grown/flowers.dm
@@ -0,0 +1,52 @@
+// Poppy
+/obj/item/weapon/reagent_containers/food/snacks/grown/poppy
+ seed = /obj/item/seeds/poppyseed
+ name = "poppy"
+ desc = "Long-used as a symbol of rest, peace, and death."
+ icon_state = "poppy"
+ slot_flags = SLOT_HEAD
+ filling_color = "#FF6347"
+ reagents_add = list("salglu_solution" = 0.05, "nutriment" = 0.05)
+ bitesize_mod = 3
+
+
+// Lily
+/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily
+ seed = /obj/item/seeds/lilyseed
+ name = "lily"
+ desc = "A beautiful orange flower"
+ icon_state = "lily"
+ filling_color = "#FFA500"
+
+
+// Geranium
+/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/geranium
+ seed = /obj/item/seeds/geraniumseed
+ name = "geranium"
+ desc = "A beautiful blue flower"
+ icon_state = "geranium"
+ filling_color = "#008B8B"
+
+
+// Harebell
+/obj/item/weapon/reagent_containers/food/snacks/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 = SLOT_HEAD
+ filling_color = "#E6E6FA"
+ reagents_add = list("nutriment" = 0.05)
+ bitesize_mod = 3
+
+
+// Moonflower
+/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower
+ seed = /obj/item/seeds/moonflowerseed
+ name = "moonflower"
+ desc = "Store in a location at least 50 yards away from werewolves."
+ icon_state = "moonflower"
+ slot_flags = SLOT_HEAD
+ filling_color = "#E6E6FA"
+ reagents_add = list("moonshine" = 0.1, "vitamin" = 0.02, "nutriment" = 0.02)
+ bitesize_mod = 2
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm
new file mode 100644
index 00000000000..c351893109b
--- /dev/null
+++ b/code/modules/hydroponics/grown/grass_carpet.dm
@@ -0,0 +1,53 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/grass
+ seed = /obj/item/seeds/grassseed
+ name = "grass"
+ desc = "Green and lush."
+ icon_state = "grassclump"
+ filling_color = "#32CD32"
+ bitesize_mod = 2
+ reagents_add = list("nutriment" = 0.02)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user)
+ user << "You prepare the astroturf."
+ var/grassAmt = 1 + round(potency / 50) // The grass we're holding
+ for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor
+ grassAmt += 1 + round(G.potency / 50)
+ qdel(G)
+ while(grassAmt > 0)
+ var/obj/item/stack/tile/GT = new /obj/item/stack/tile/grass(user.loc)
+ if(grassAmt >= GT.max_amount)
+ GT.amount = GT.max_amount
+ else
+ GT.amount = grassAmt
+ for(var/obj/item/stack/tile/grass/GR in user.loc)
+ if(GR != GT && GR.amount < GR.max_amount)
+ GR.attackby(GT, user) //we try to transfer all old unfinished stacks to the new stack we created.
+ grassAmt -= GT.max_amount
+ qdel(src)
+ return
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/carpet
+ seed = /obj/item/seeds/carpetseed
+ name = "carpet"
+ desc = "The textile industry's dark secret."
+ icon_state = "carpetclump"
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/attack_self(mob/user)
+ user << "You roll out the red carpet."
+ var/carpetAmt = 1 + round(potency / 50) // The carpet we're holding
+ for(var/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/C in user.loc) // The carpet on the floor
+ carpetAmt += 1 + round(C.potency / 50)
+ qdel(C)
+ while(carpetAmt > 0)
+ var/obj/item/stack/tile/CT = new /obj/item/stack/tile/carpet(user.loc)
+ if(carpetAmt >= CT.max_amount)
+ CT.amount = CT.max_amount
+ else
+ CT.amount = carpetAmt
+ for(var/obj/item/stack/tile/carpet/CA in user.loc)
+ if(CA != CT && CA.amount < CA.max_amount)
+ CA.attackby(CT, user) //we try to transfer all old unfinished stacks to the new stack we created.
+ carpetAmt -= CT.max_amount
+ qdel(src)
+ return
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm
new file mode 100644
index 00000000000..4f6d17c0ab6
--- /dev/null
+++ b/code/modules/hydroponics/grown/melon.dm
@@ -0,0 +1,22 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon
+ seed = /obj/item/seeds/watermelonseed
+ name = "watermelon"
+ desc = "It's full of watery goodness."
+ icon_state = "watermelon"
+ slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice
+ slices_num = 5
+ dried_type = null
+ w_class = 3
+ filling_color = "#008000"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2, "water" = 0.1)
+ bitesize_mod = 3
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon
+ seed = /obj/item/seeds/holymelonseed
+ 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
+ reagents_add = list("holywater" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm
new file mode 100644
index 00000000000..64fcb25a627
--- /dev/null
+++ b/code/modules/hydroponics/grown/misc.dm
@@ -0,0 +1,125 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/corn
+ seed = /obj/item/seeds/cornseed
+ name = "ear of corn"
+ desc = "Needs some butter!"
+ icon_state = "corn"
+ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/popcorn
+ filling_color = "#FFFF00"
+ trash = /obj/item/weapon/grown/corncob
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage
+ seed = /obj/item/seeds/cabbageseed
+ name = "cabbage"
+ desc = "Ewwwwwwwwww. Cabbage."
+ icon_state = "cabbage"
+ filling_color = "#90EE90"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod
+ seed = /obj/item/seeds/cocoapodseed
+ name = "cocoa pod"
+ desc = "Fattening... Mmmmm... chucklate."
+ icon_state = "cocoapod"
+ filling_color = "#FFD700"
+ reagents_add = list("cocoa" = 0.25, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod
+ seed = /obj/item/seeds/vanillapodseed
+ name = "vanilla pod"
+ desc = "Fattening... Mmmmm... vanilla."
+ icon_state = "vanillapod"
+ filling_color = "#FFD700"
+ reagents_add = list("vanilla" = 0.25, "nutriment" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane
+ seed = /obj/item/seeds/sugarcaneseed
+ name = "sugarcane"
+ desc = "Sickly sweet."
+ icon_state = "sugarcane"
+ filling_color = "#FFD700"
+ reagents_add = list("sugar" = 0.25)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin
+ seed = /obj/item/seeds/pumpkinseed
+ name = "pumpkin"
+ desc = "It's large and scary."
+ icon_state = "pumpkin"
+ filling_color = "#FFA500"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+ ..()
+ if(W.is_sharp())
+ user.show_message("You carve a face into [src]!", 1)
+ new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc)
+ qdel(src)
+ return
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin
+ seed = /obj/item/seeds/blumpkinseed
+ name = "blumpkin"
+ desc = "The pumpkin's toxic sibling."
+ icon_state = "blumpkin"
+ filling_color = "#87CEFA"
+ reagents_add = list("ammonia" = 0.2, "nutriment" = 0.2)
+ bitesize_mod = 2
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant
+ seed = /obj/item/seeds/eggplantseed
+ name = "eggplant"
+ desc = "Maybe there's a chicken inside?"
+ icon_state = "eggplant"
+ filling_color = "#800080"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/shell
+ var/inside_type = null
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/shell/attack_self(mob/user as mob)
+ if(inside_type)
+ new inside_type(user.loc)
+ user.unEquip(src)
+ qdel(src)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy
+ seed = /obj/item/seeds/eggyseed
+ name = "Egg-plant"
+ desc = "There MUST be a chicken inside."
+ icon_state = "eggyplant"
+ inside_type = /obj/item/weapon/reagent_containers/food/snacks/egg
+ filling_color = "#F8F8FF"
+ reagents_add = list("nutriment" = 0.1)
+ bitesize_mod = 2
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod
+ seed = /obj/item/seeds/kudzuseed
+ name = "kudzu pod"
+ desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact."
+ icon_state = "kudzupod"
+ var/list/mutations = list()
+ filling_color = "#6B8E23"
+ bitesize_mod = 2
+ reagents_add = list("charcoal" = 0.04, "nutriment" = 0.02)
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit
+ seed = /obj/item/seeds/gatfruit
+ name = "gatfruit"
+ desc = "It smells like burning."
+ icon_state = "gatfruit"
+ origin_tech = "combat=3"
+ trash = /obj/item/weapon/gun/projectile/revolver
+ bitesize_mod = 2
+ reagents_add = list("sulfur" = 0.1, "carbon" = 0.1, "nitrogen" = 0.07, "potassium" = 0.05)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
new file mode 100644
index 00000000000..9679bc74081
--- /dev/null
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -0,0 +1,163 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom
+ name = "mushroom"
+ bitesize_mod = 2
+
+
+// Reishi
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi
+ seed = /obj/item/seeds/reishimycelium
+ name = "reishi"
+ desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties."
+ icon_state = "reishi"
+ filling_color = "#FF4500"
+ reagents_add = list("morphine" = 0.35, "charcoal" = 0.35, "nutriment" = 0)
+
+
+// Fly Amanita
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita
+ seed = /obj/item/seeds/amanitamycelium
+ name = "fly amanita"
+ desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know."
+ icon_state = "amanita"
+ filling_color = "#FF0000"
+ reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.35, "nutriment" = 0)
+
+
+// Destroying Angel
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel
+ seed = /obj/item/seeds/angelmycelium
+ name = "destroying angel"
+ desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins."
+ icon_state = "angel"
+ filling_color = "#C0C0C0"
+ reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.8, "nutriment" = 0)
+
+
+// Liberty Cap
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap
+ seed = /obj/item/seeds/libertymycelium
+ name = "liberty-cap"
+ desc = "Psilocybe Semilanceata: Liberate yourself!"
+ icon_state = "libertycap"
+ filling_color = "#DAA520"
+ reagents_add = list("mushroomhallucinogen" = 0.25, "nutriment" = 0.02)
+
+
+// Plump Helmet
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet
+ seed = /obj/item/seeds/plumpmycelium
+ name = "plump-helmet"
+ desc = "Plumus Hellmus: Plump, soft and s-so inviting~"
+ icon_state = "plumphelmet"
+ filling_color = "#9370DB"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+
+
+// Walking Mushroom
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom
+ seed = /obj/item/seeds/walkingmushroommycelium
+ name = "walking mushroom"
+ desc = "Plumus Locomotus: The beginning of the great walk."
+ icon_state = "walkingmushroom"
+ filling_color = "#9370DB"
+ reagents_add = list("vitamin" = 0.05, "nutriment" = 0.12)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
+ if(istype(user.loc,/turf/space))
+ return
+ var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc)
+ M.maxHealth += round(endurance / 4)
+ M.melee_damage_lower += round(potency / 20)
+ M.melee_damage_upper += round(potency / 20)
+ M.move_to_delay -= round(production / 50)
+ M.health = M.maxHealth
+ qdel(src)
+ user << "You plant the walking mushroom."
+
+
+// Chanterelle
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle
+ seed = /obj/item/seeds/chantermycelium
+ name = "chanterelle cluster"
+ desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!"
+ icon_state = "chanterelle"
+ filling_color = "#FFA500"
+ reagents_add = list("nutriment" = 0.1)
+
+
+// Glowshroom
+/obj/item/weapon/reagent_containers/food/snacks/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/effect/glowshroom
+ reagents_add = list("radium" = 0.05, "nutriment" = 0.04)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/New(var/loc, var/new_potency = 10)
+ ..()
+ if(lifespan == 0) //basically, if you're spawning these via admin or on the map, then set up some default stats.
+ lifespan = 120
+ endurance = 30
+ maturation = 15
+ production = 1
+ yield = 3
+ potency = 30
+ plant_type = 2
+ if(istype(src.loc,/mob))
+ pickup(src.loc)//adjusts the lighting on the mob
+ else
+ src.SetLuminosity(round(potency / 10,1))
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user)
+ if(istype(user.loc,/turf/space))
+ return
+ var/obj/effect/glowshroom/planted = new effect_path(user.loc)
+ planted.delay = planted.delay - production * 100 //So the delay goes DOWN with better stats instead of up. :I
+ planted.endurance = endurance
+ planted.yield = yield
+ planted.potency = potency
+ user << "You plant [src]."
+ qdel(src)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy()
+ if(istype(loc,/mob))
+ loc.AddLuminosity(round(-potency / 10,1))
+ return ..()
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user)
+ ..()
+ SetLuminosity(0)
+ user.AddLuminosity(round(potency / 10,1))
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user)
+ ..()
+ user.AddLuminosity(round(-potency / 10,1))
+ SetLuminosity(round(potency / 10,1))
+
+
+// Glowcap
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
+ seed = /obj/item/seeds/glowcap
+ name = "glowcap cluster"
+ desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..."
+ icon_state = "glowcap"
+ filling_color = "#00FA9A"
+ effect_path = /obj/effect/glowshroom/glowcap
+ reagents_add = list("teslium" = 0.02, "nutriment" = 0.04)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap/On_Consume()
+ if(!reagents.total_volume)
+ var/batteries_recharged = 0
+ for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents())
+ var/newcharge = (potency*0.01)*C.maxcharge
+ if(C.charge < newcharge)
+ C.charge = newcharge
+ if(isobj(C.loc))
+ var/obj/O = C.loc
+ O.update_icon() //update power meters and such
+ batteries_recharged = 1
+ if(batteries_recharged)
+ usr << "Battery has recovered."
+ ..()
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm
new file mode 100644
index 00000000000..a1d34cb3040
--- /dev/null
+++ b/code/modules/hydroponics/grown/potato.dm
@@ -0,0 +1,30 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/potato
+ seed = /obj/item/seeds/potatoseed
+ name = "potato"
+ desc = "Boil 'em! Mash 'em! Stick 'em in a stew!"
+ icon_state = "potato"
+ filling_color = "#E9967A"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize = 100
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params)
+ ..()
+ if(istype(W, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/C = W
+ if (C.use(5))
+ user << "You add some cable to the potato and slide it inside the battery encasing."
+ var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc)
+ pocell.maxcharge = src.potency * 20
+ pocell.charge = pocell.maxcharge
+ qdel(src)
+ return
+ else
+ user << "You need five lengths of cable to make a potato battery!"
+ return
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet
+ seed = /obj/item/seeds/sweetpotatoseed
+ name = "sweet potato"
+ desc = "It's sweet."
+ icon_state = "sweetpotato"
+ reagents_add = list("vitamin" = 0.1, "sugar" = 0.1, "nutriment" = 0.1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
new file mode 100644
index 00000000000..e97874ffba2
--- /dev/null
+++ b/code/modules/hydroponics/grown/root.dm
@@ -0,0 +1,44 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/carrot
+ seed = /obj/item/seeds/carrotseed
+ name = "carrot"
+ desc = "It's good for the eyes!"
+ icon_state = "carrot"
+ filling_color = "#FFA500"
+ bitesize_mod = 2
+ reagents_add = list("oculine" = 0.25, "vitamin" = 0.04, "nutriment" = 0.05)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet))
+ user << "You sharpen the carrot into a shiv with [I]."
+ var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv
+ if(!remove_item_from_storage(user))
+ user.unEquip(src)
+ user.put_in_hands(Shiv)
+ qdel(src)
+ else
+ return ..()
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet
+ seed = /obj/item/seeds/whitebeetseed
+ name = "white-beet"
+ desc = "You can't beat white-beet."
+ icon_state = "whitebeet"
+ filling_color = "#F4A460"
+ reagents_add = list("vitamin" = 0.04, "sugar" = 0.2, "nutriment" = 0.05)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip
+ seed = /obj/item/seeds/parsnipseed
+ name = "parsnip"
+ desc = "Closely related to carrots."
+ icon_state = "parsnip"
+ reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet
+ seed = /obj/item/seeds/redbeetseed
+ name = "red beet"
+ desc = "You can't beat red beet."
+ icon_state = "redbeet"
+ reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05)
+ bitesize_mod = 2
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/tea_coffee.dm b/code/modules/hydroponics/grown/tea_coffee.dm
new file mode 100644
index 00000000000..f015fdc671c
--- /dev/null
+++ b/code/modules/hydroponics/grown/tea_coffee.dm
@@ -0,0 +1,30 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/tea
+ seed = /obj/item/seeds/tea_aspera_seed
+ 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"
+ reagents_add = list("vitamin" = 0.04, "teapowder" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra
+ seed = /obj/item/seeds/tea_astra_seed
+ name = "Tea Astra tips"
+ icon_state = "tea_astra_leaves"
+ filling_color = "#4582B4"
+ reagents_add = list("salglu_solution" = 0.05, "vitamin" = 0.04, "teapowder" = 0.1)
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/coffee
+ seed = /obj/item/seeds/coffee_arabica_seed
+ name = "coffee arabica beans"
+ desc = "Dry them out to make coffee."
+ icon_state = "coffee_arabica"
+ filling_color = "#DC143C"
+ bitesize_mod = 2
+ reagents_add = list("vitamin" = 0.04, "coffeepowder" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta
+ seed = /obj/item/seeds/coffee_robusta_seed
+ name = "coffee robusta beans"
+ icon_state = "coffee_robusta"
+ reagents_add = list("morphine" = 0.05, "vitamin" = 0.04, "coffeepowder" = 0.1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/tobacco.dm b/code/modules/hydroponics/grown/tobacco.dm
new file mode 100644
index 00000000000..e5c8c8af071
--- /dev/null
+++ b/code/modules/hydroponics/grown/tobacco.dm
@@ -0,0 +1,15 @@
+/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco
+ seed = /obj/item/seeds/tobacco_seed
+ name = "tobacco leaves"
+ desc = "Dry them out to make some smokes."
+ icon_state = "tobacco_leaves"
+ filling_color = "#008000"
+ reagents_add = list("nicotine" = 0.03, "nutriment" = 0.03)
+
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space
+ seed = /obj/item/seeds/tobacco_space_seed
+ name = "space tobacco leaves"
+ desc = "Dry them out to make some space-smokes."
+ icon_state = "stobacco_leaves"
+ reagents_add = list("salbutamol" = 0.05, "nicotine" = 0.08, "nutriment" = 0.03)
\ No newline at end of file
diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm
new file mode 100644
index 00000000000..887c268fc67
--- /dev/null
+++ b/code/modules/hydroponics/grown/tomato.dm
@@ -0,0 +1,113 @@
+// Tomato
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato
+ seed = /obj/item/seeds/tomatoseed
+ name = "tomato"
+ desc = "I say to-mah-to, you say tom-mae-to."
+ icon_state = "tomato"
+ var/splat = /obj/effect/decal/cleanable/tomato_smudge
+ filling_color = "#FF6347"
+ reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1)
+ bitesize_mod = 2
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/proc/squish(atom/target)
+ var/turf/T = get_turf(target)
+ new splat(T)
+ visible_message("The [src.name] has been squashed.","You hear a smack.")
+ for(var/atom/A in get_turf(target))
+ reagents.reaction(A)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/throw_impact(atom/hit_atom)
+ if(!..()) //was it caught by a mob?
+ squish(hit_atom)
+ qdel(src)
+
+
+// Blood Tomato
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood
+ seed = /obj/item/seeds/bloodtomatoseed
+ name = "blood-tomato"
+ desc = "So bloody...so...very...bloody....AHHHH!!!!"
+ icon_state = "bloodtomato"
+ splat = /obj/effect/gibspawner/generic
+ filling_color = "#FF0000"
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood/add_juice(loc, potency = 10)
+ ..()
+ reagents.add_reagent("blood", 1 + round(potency / 5), list("blood_type"="O-"))
+
+
+// Blue Tomato
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue
+ seed = /obj/item/seeds/bluetomatoseed
+ name = "blue-tomato"
+ desc = "I say blue-mah-to, you say blue-mae-to."
+ icon_state = "bluetomato"
+ splat = /obj/effect/decal/cleanable/oil
+ filling_color = "#0000FF"
+ reagents_add = list("lube" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/Crossed(AM as mob|obj)
+ if (istype(AM, /mob/living/carbon))
+ var/mob/living/carbon/M = AM
+ var/stun = Clamp(potency / 10, 1, 10)
+ var/weaken = Clamp(potency / 20, 0.5, 5)
+ M.slip(stun, weaken, src)
+
+
+// Bluespace Tomato
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace
+ seed = /obj/item/seeds/bluespacetomatoseed
+ name = "blue-space tomato"
+ desc = "So lubricated, you might slip through space-time."
+ icon_state = "bluespacetomato"
+ origin_tech = "bluespace=3"
+ reagents_add = list("lube" = 0.2, "singulo" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/attack_self(mob/user)
+ squish(user)
+ user.unEquip(src)
+ src.visible_message("[user] squashes the [src.name].","You hear a smack.")
+ qdel(src)
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/squish(atom/squishee)
+ ..()
+ var/teleport_radius = potency / 10
+ if(isliving(squishee))
+ var/turf/T = get_turf(squishee)
+ new /obj/effect/decal/cleanable/molten_item(T) //Leave a pile of goo behind for dramatic effect...
+ do_teleport(squishee, get_turf(squishee), teleport_radius)
+
+
+// Killer Tomato
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer
+ seed = /obj/item/seeds/killertomatoseed
+ 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"
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
+ if(awakening)
+ user << "The tomato is twitching and shaking, preventing you from eating it."
+ return
+ ..()
+
+/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user)
+ if(awakening || istype(user.loc,/turf/space))
+ return
+ user << "You begin to awaken the Killer Tomato..."
+ awakening = 1
+
+ spawn(30)
+ if(!gc_destroyed)
+ var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc))
+ K.maxHealth += round(endurance / 3)
+ K.melee_damage_lower += round(potency / 10)
+ K.melee_damage_upper += round(potency / 10)
+ K.move_to_delay -= round(production / 50)
+ K.health = K.maxHealth
+ K.visible_message("The Killer Tomato growls as it suddenly awakens.")
+ if(user)
+ user.unEquip(src)
+ qdel(src)
\ No newline at end of file
diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm
index 3778025bf7d..725df4dd4ce 100644
--- a/code/modules/hydroponics/growninedible.dm
+++ b/code/modules/hydroponics/growninedible.dm
@@ -37,6 +37,27 @@
create_reagents(50)
add_juice()
+/obj/item/weapon/grown/attackby(obj/item/O, mob/user, params)
+ ..()
+ if (istype(O, /obj/item/device/analyzer/plant_analyzer))
+ var/msg
+ msg = "*---------*\n This is \a [src]\n"
+ switch(plant_type)
+ if(0)
+ msg += "- Plant type: Normal plant\n"
+ if(1)
+ msg += "- Plant type: Weed. Can grow in nutrient-poor soil.\n"
+ if(2)
+ msg += "- Plant type: Mushroom. Can grow in dry soil.\n"
+ msg += "- Potency: [potency]\n"
+ msg += "- Yield: [yield]\n"
+ msg += "- Maturation speed: [maturation]\n"
+ msg += "- Production speed: [production]\n"
+ msg += "- Endurance: [endurance]\n"
+ msg += "*---------*"
+ usr << msg
+ return
+
/obj/item/weapon/grown/proc/add_juice()
if(reagents)
return 1
@@ -59,7 +80,7 @@
var/plank_name = "wooden planks"
var/list/accepted = list(/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco,
/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space,
- /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera,
+ /obj/item/weapon/reagent_containers/food/snacks/grown/tea,
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus,
@@ -229,7 +250,7 @@
/obj/item/weapon/grown/nettle/death
seed = /obj/item/seeds/deathnettleseed
name = "deathnettle"
- desc = "The glowing \black nettle incites rage\black in you just from looking at it!"
+ desc = "The glowing nettle incites rage in you just from looking at it!"
icon_state = "deathnettle"
force = 30
throwforce = 15
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index ba1dc468649..66867d27ef3 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -225,7 +225,7 @@
icon_state = "seed-banana-blue"
species = "bluespacebanana"
plantname = "Bluespace Banana Tree"
- product = /obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana
+ product = /obj/item/weapon/reagent_containers/food/snacks/grown/banana/bluespace
lifespan = 50
endurance = 30
maturation = 6
@@ -241,7 +241,7 @@
icon_state = "seed-mimana"
species = "mimana"
plantname = "Mimana Tree"
- product = /obj/item/weapon/reagent_containers/food/snacks/grown/mimana
+ product = /obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime
lifespan = 50
endurance = 30
maturation = 6
@@ -484,7 +484,7 @@
icon_state = "seed-sweetpotato"
species = "sweetpotato"
plantname = "Sweet Potato Plants"
- product = /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato
+ product = /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet
lifespan = 30
endurance = 15
maturation = 10
@@ -1486,7 +1486,7 @@
icon_state = "seed-coffeea"
species = "coffeea"
plantname = "Coffee Arabica Bush"
- product = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica
+ product = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee
lifespan = 30
endurance = 20
maturation = 5
@@ -1556,7 +1556,7 @@
icon_state = "seed-teaaspera"
species = "teaaspera"
plantname = "Tea Aspera Plant"
- product = /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera
+ product = /obj/item/weapon/reagent_containers/food/snacks/grown/tea
lifespan = 20
endurance = 15
maturation = 5
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 781caeab690..cd3814ddc58 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -49,11 +49,10 @@
/obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
//Grinder stuff, but only if dry
- /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica = list("coffeepowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
- /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera = list("teapowder" = 0),
+ /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
-
+ /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0),
//All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.!
@@ -81,12 +80,11 @@
)
var/list/dried_items = list(
-
- //Grinder stuff, but only if dry
- /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica = list("coffeepowder" = 0),
+ //Grinder stuff, but only if dry,
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
- /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera = list("teapowder" = 0),
+ /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
+ /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0)
)
var/list/holdingitems = list()
diff --git a/tgstation.dme b/tgstation.dme
index c80c90af3ee..d8cacaf18c8 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1093,6 +1093,24 @@
#include "code\modules\hydroponics\hydroponics.dm"
#include "code\modules\hydroponics\seed_extractor.dm"
#include "code\modules\hydroponics\seeds.dm"
+#include "code\modules\hydroponics\grown\ambrosia.dm"
+#include "code\modules\hydroponics\grown\apple.dm"
+#include "code\modules\hydroponics\grown\banana.dm"
+#include "code\modules\hydroponics\grown\beans.dm"
+#include "code\modules\hydroponics\grown\berries.dm"
+#include "code\modules\hydroponics\grown\cereals.dm"
+#include "code\modules\hydroponics\grown\chili.dm"
+#include "code\modules\hydroponics\grown\citrus.dm"
+#include "code\modules\hydroponics\grown\flowers.dm"
+#include "code\modules\hydroponics\grown\grass_carpet.dm"
+#include "code\modules\hydroponics\grown\melon.dm"
+#include "code\modules\hydroponics\grown\misc.dm"
+#include "code\modules\hydroponics\grown\mushrooms.dm"
+#include "code\modules\hydroponics\grown\potato.dm"
+#include "code\modules\hydroponics\grown\root.dm"
+#include "code\modules\hydroponics\grown\tea_coffee.dm"
+#include "code\modules\hydroponics\grown\tobacco.dm"
+#include "code\modules\hydroponics\grown\tomato.dm"
#include "code\modules\jobs\access.dm"
#include "code\modules\jobs\jobs.dm"
#include "code\modules\jobs\whitelist.dm"