diff --git a/code/modules/food/kitchen/cooking_machines/_appliance.dm b/code/modules/food/kitchen/cooking_machines/_appliance.dm
index a0be64fff9..94082fa16e 100644
--- a/code/modules/food/kitchen/cooking_machines/_appliance.dm
+++ b/code/modules/food/kitchen/cooking_machines/_appliance.dm
@@ -16,7 +16,7 @@
use_power = USE_POWER_IDLE
idle_power_usage = 5 // Power used when turned on, but not processing anything
active_power_usage = 1000 // Power used when turned on and actively cooking something
-
+
var/cooking_power = 0 // Effectiveness/speed at cooking
var/cooking_coeff = 0 // Optimal power * proximity to optimal temp; used to calc. cooking power.
var/heating_power = 1000 // Effectiveness at heating up; not used for mixers, should be equal to active_power_usage
@@ -44,9 +44,9 @@
/obj/machinery/appliance/Initialize()
. = ..()
-
+
default_apply_parts()
-
+
if(output_options.len)
verbs += /obj/machinery/appliance/proc/choose_output
@@ -206,7 +206,7 @@
//Handles all validity checking and error messages for inserting things
/obj/machinery/appliance/proc/can_insert(var/obj/item/I, var/mob/user)
- if (istype(I, /obj/item/weapon/gripper))
+ if(istype(I.loc, /mob/living/silicon))
return 0
else if (istype(I.loc, /obj/item/rig_module))
return 0
@@ -266,6 +266,7 @@
to_chat(user, "\The [src] is not working.")
return FALSE
+<<<<<<< HEAD
var/result = can_insert(I, user)
if(!result)
if(!(default_deconstruction_screwdriver(user, I)))
@@ -277,15 +278,63 @@
if (G && istype(G) && G.affecting)
cook_mob(G.affecting, user)
return FALSE
+=======
+ var/obj/item/ToCook = I
+
+ if(istype(I, /obj/item/weapon/gripper))
+ var/obj/item/weapon/gripper/GR = I
+ var/obj/item/Wrap = GR.wrapped
+ if(Wrap)
+ Wrap.loc = get_turf(src)
+ var/result = can_insert(Wrap, user)
+ if(!result)
+ Wrap.forceMove(GR)
+ if(!(default_deconstruction_screwdriver(user, I)))
+ default_part_replacement(user, I)
+ return
+
+ if(QDELETED(GR.wrapped))
+ GR.wrapped = null
+
+ if(GR?.wrapped.loc != src)
+ GR.drop_item_nm()
+
+ ToCook = Wrap
+ else
+ attack_hand(user)
+ return
+
+ else
+ var/result = can_insert(I, user)
+ if(!result)
+ if(!(default_deconstruction_screwdriver(user, I)))
+ default_part_replacement(user, I)
+ return
+>>>>>>> f518a31... Hydro upkeep (#7475)
+
+ if(result == 2)
+ var/obj/item/weapon/grab/G = I
+ if (G && istype(G) && G.affecting)
+ cook_mob(G.affecting, user)
+ return
//From here we can start cooking food
+<<<<<<< HEAD
. = add_content(I, user)
+=======
+ add_content(ToCook, user)
+>>>>>>> f518a31... Hydro upkeep (#7475)
update_icon()
//Override for container mechanics
/obj/machinery/appliance/proc/add_content(var/obj/item/I, var/mob/user)
+<<<<<<< HEAD
if(!user.unEquip(I))
return FALSE
+=======
+ if(!user.unEquip(I) && !isturf(I.loc))
+ return
+>>>>>>> f518a31... Hydro upkeep (#7475)
var/datum/cooking_item/CI = has_space(I)
if (istype(I, /obj/item/weapon/reagent_containers/cooking_container) && CI == 1)
@@ -458,7 +507,7 @@
//Final step. Cook function just cooks batter for now.
for (var/obj/item/weapon/reagent_containers/food/snacks/S in CI.container)
S.cook()
-
+
//Combination cooking involves combining the names and reagents of ingredients into a predefined output object
//The ingredients represent flavours or fillings. EG: donut pizza, cheese bread
@@ -566,7 +615,7 @@
smoke.attach(src)
smoke.set_up(10, 0, get_turf(src), 300)
smoke.start()
-
+
// Set off fire alarms!
var/obj/machinery/firealarm/FA = locate() in get_area(src)
if(FA)
diff --git a/code/modules/food/kitchen/cooking_machines/container.dm b/code/modules/food/kitchen/cooking_machines/container.dm
index d650a2266e..408835a4da 100644
--- a/code/modules/food/kitchen/cooking_machines/container.dm
+++ b/code/modules/food/kitchen/cooking_machines/container.dm
@@ -32,13 +32,26 @@
/obj/item/weapon/reagent_containers/cooking_container/attackby(var/obj/item/I as obj, var/mob/user as mob)
+ if(istype(I, /obj/item/weapon/gripper))
+ var/obj/item/weapon/gripper/GR = I
+ if(GR.wrapped)
+ GR.wrapped.forceMove(get_turf(src))
+ attackby(GR.wrapped, user)
+ if(QDELETED(GR.wrapped))
+ GR.wrapped = null
+
+ if(GR?.wrapped.loc != src)
+ GR.wrapped = null
+
+ return
+
for (var/possible_type in insertable)
if (istype(I, possible_type))
if (!can_fit(I))
to_chat(user, "There's no more space in the [src] for that!")
return 0
- if(!user.unEquip(I))
+ if(!user.unEquip(I) && !isturf(I.loc))
return
I.forceMove(src)
to_chat(user, "You put the [I] into the [src].")
@@ -152,7 +165,7 @@
/obj/item/weapon/reagent_containers/cooking_container/oven/Initialize()
. = ..()
-
+
// We add to the insertable list specifically for the oven trays, to allow specialty cakes.
insertable += list(
/obj/item/clothing/head/cakehat, // This is because we want to allow birthday cakes to be makeable.
@@ -164,7 +177,7 @@
shortname = "basket"
desc = "Put ingredients in this; designed for use with a deep fryer. Warranty void if used incorrectly. Alt click to remove contents."
icon_state = "basket"
-
+
/obj/item/weapon/reagent_containers/cooking_container/grill
name = "grill rack"
shortname = "rack"
diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm
deleted file mode 100644
index cbdeaca55c..0000000000
--- a/code/modules/hydroponics/seed_datums.dm
+++ /dev/null
@@ -1,1544 +0,0 @@
-// Chili plants/variants.
-/datum/seed/chili
- name = "chili"
- seed_name = "chili"
- display_name = "chili plants"
- kitchen_tag = "chili"
- chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25))
- mutants = list("icechili")
-
-/datum/seed/chili/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_PRODUCT_ICON,"chili")
- set_trait(TRAIT_PRODUCT_COLOUR,"#ED3300")
- set_trait(TRAIT_PLANT_ICON,"bush2")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 7)
-
-/datum/seed/chili/ice
- name = "icechili"
- seed_name = "ice pepper"
- display_name = "ice-pepper plants"
- kitchen_tag = "icechili"
- mutants = null
- chems = list("frostoil" = list(3,5), "nutriment" = list(1,50))
-
-/datum/seed/chili/ice/New()
- ..()
- set_trait(TRAIT_MATURATION,4)
- set_trait(TRAIT_PRODUCTION,4)
- set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6")
-
-// Berry plants/variants.
-/datum/seed/berry
- name = "berries"
- seed_name = "berry"
- display_name = "berry bush"
- kitchen_tag = "berries"
- mutants = list("glowberries","poisonberries")
- chems = list("nutriment" = list(1,10), "berryjuice" = list(10,10))
-
-/datum/seed/berry/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_JUICY,1)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"berry")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FA1616")
- set_trait(TRAIT_PLANT_ICON,"bush")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/berry/glow
- name = "glowberries"
- seed_name = "glowberry"
- display_name = "glowberry bush"
- mutants = null
- chems = list("nutriment" = list(1,10), "uranium" = list(3,5))
-
-/datum/seed/berry/glow/New()
- ..()
- set_trait(TRAIT_SPREAD,1)
- set_trait(TRAIT_BIOLUM,1)
- set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_COLOUR,"#c9fa16")
- set_trait(TRAIT_WATER_CONSUMPTION, 3)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
-
-/datum/seed/berry/poison
- name = "poisonberries"
- seed_name = "poison berry"
- kitchen_tag = "poisonberries"
- display_name = "poison berry bush"
- mutants = list("deathberries")
- chems = list("nutriment" = list(1), "toxin" = list(3,5), "poisonberryjuice" = list(10,5))
-
-/datum/seed/berry/poison/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#6DC961")
- set_trait(TRAIT_WATER_CONSUMPTION, 3)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
-
-/datum/seed/berry/poison/death
- name = "deathberries"
- seed_name = "death berry"
- display_name = "death berry bush"
- mutants = null
- chems = list("nutriment" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5))
-
-/datum/seed/berry/poison/death/New()
- ..()
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,50)
- set_trait(TRAIT_PRODUCT_COLOUR,"#7A5454")
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.35)
-
-// Nettles/variants.
-/datum/seed/nettle
- name = "nettle"
- seed_name = "nettle"
- display_name = "nettles"
- mutants = list("deathnettle")
- chems = list("nutriment" = list(1,50), "sacid" = list(0,1))
- kitchen_tag = "nettle"
-
-/datum/seed/nettle/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_STINGS,1)
- set_trait(TRAIT_PLANT_ICON,"bush5")
- set_trait(TRAIT_PRODUCT_ICON,"nettles")
- set_trait(TRAIT_PRODUCT_COLOUR,"#728A54")
-
-/datum/seed/nettle/death
- name = "deathnettle"
- seed_name = "death nettle"
- display_name = "death nettles"
- kitchen_tag = "deathnettle"
- mutants = null
- chems = list("nutriment" = list(1,50), "pacid" = list(0,1))
-
-/datum/seed/nettle/death/New()
- ..()
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_PRODUCT_COLOUR,"#8C5030")
- set_trait(TRAIT_PLANT_COLOUR,"#634941")
-
-//Tomatoes/variants.
-/datum/seed/tomato
- name = "tomato"
- seed_name = "tomato"
- display_name = "tomato plant"
- mutants = list("bluetomato","bloodtomato")
- chems = list("nutriment" = list(1,10), "tomatojuice" = list(10,10))
- kitchen_tag = "tomato"
-
-/datum/seed/tomato/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_JUICY,1)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"tomato")
- set_trait(TRAIT_PRODUCT_COLOUR,"#D10000")
- set_trait(TRAIT_PLANT_ICON,"bush3")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
-
-/datum/seed/tomato/blood
- name = "bloodtomato"
- seed_name = "blood tomato"
- display_name = "blood tomato plant"
- mutants = list("killertomato")
- chems = list("nutriment" = list(1,10), "blood" = list(1,5))
- splat_type = /obj/effect/decal/cleanable/blood/splatter
-
-/datum/seed/tomato/blood/New()
- ..()
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000")
-
-/datum/seed/tomato/killer
- name = "killertomato"
- seed_name = "killer tomato"
- display_name = "killer tomato plant"
- mutants = null
- can_self_harvest = 1
- has_mob_product = /mob/living/simple_mob/tomato
-
-/datum/seed/tomato/killer/New()
- ..()
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_PRODUCT_COLOUR,"#A86747")
-
-/datum/seed/tomato/blue
- name = "bluetomato"
- seed_name = "blue tomato"
- display_name = "blue tomato plant"
- mutants = list("bluespacetomato")
- chems = list("nutriment" = list(1,20), "lube" = list(1,5))
-
-/datum/seed/tomato/blue/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#4D86E8")
- set_trait(TRAIT_PLANT_COLOUR,"#070AAD")
-
-/datum/seed/tomato/blue/teleport
- name = "bluespacetomato"
- seed_name = "bluespace tomato"
- display_name = "bluespace tomato plant"
- mutants = null
- chems = list("nutriment" = list(1,20), "singulo" = list(10,5))
-
-/datum/seed/tomato/blue/teleport/New()
- ..()
- set_trait(TRAIT_TELEPORTING,1)
- set_trait(TRAIT_PRODUCT_COLOUR,"#00E5FF")
- set_trait(TRAIT_BIOLUM,1)
- set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8")
-
-//Eggplants/varieties.
-/datum/seed/eggplant
- name = "eggplant"
- seed_name = "eggplant"
- display_name = "eggplants"
- kitchen_tag = "eggplant"
- mutants = list("egg-plant")
- chems = list("nutriment" = list(1,10))
-
-/datum/seed/eggplant/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_PRODUCT_ICON,"eggplant")
- set_trait(TRAIT_PRODUCT_COLOUR,"#892694")
- set_trait(TRAIT_PLANT_ICON,"bush4")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 7)
-
-// Return of Eggy. Just makes purple eggs. If the reagents are separated from the egg production by xenobotany or RNG, it's still an Egg plant.
-/datum/seed/eggplant/egg
- name = "egg-plant"
- seed_name = "egg-plant"
- display_name = "egg-plants"
- kitchen_tag = "egg-plant"
- mutants = null
- chems = list("nutriment" = list(1,5), "egg" = list(3,12))
- has_item_product = /obj/item/weapon/reagent_containers/food/snacks/egg/purple
-
-//Apples/varieties.
-/datum/seed/apple
- name = "apple"
- seed_name = "apple"
- display_name = "apple tree"
- kitchen_tag = "apple"
- mutants = list("poisonapple","goldapple")
- chems = list("nutriment" = list(1,10),"applejuice" = list(10,20))
-
-/datum/seed/apple/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"apple")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FF540A")
- set_trait(TRAIT_PLANT_ICON,"tree2")
- set_trait(TRAIT_FLESH_COLOUR,"#E8E39B")
- set_trait(TRAIT_IDEAL_LIGHT, 4)
-
-/datum/seed/apple/poison
- name = "poisonapple"
- mutants = null
- chems = list("cyanide" = list(1,5))
-
-/datum/seed/apple/gold
- name = "goldapple"
- seed_name = "golden apple"
- display_name = "gold apple tree"
- kitchen_tag = "goldapple"
- mutants = null
- chems = list("nutriment" = list(1,10), "gold" = list(1,5))
-
-/datum/seed/apple/gold/New()
- ..()
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,10)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFDD00")
- set_trait(TRAIT_PLANT_COLOUR,"#D6B44D")
-
-/datum/seed/apple/sif
- name = "sifbulb"
- seed_name = "sivian tree"
- display_name = "sivian tree"
- kitchen_tag = "apple"
- chems = list("nutriment" = list(1,5),"sifsap" = list(10,20))
-
-/datum/seed/apple/sif/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,10)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,12)
- set_trait(TRAIT_PRODUCT_ICON,"alien3")
- set_trait(TRAIT_PRODUCT_COLOUR,"#0720c3")
- set_trait(TRAIT_PLANT_ICON,"tree5")
- set_trait(TRAIT_FLESH_COLOUR,"#05157d")
- set_trait(TRAIT_IDEAL_LIGHT, 1)
-
-//Ambrosia/varieties.
-/datum/seed/ambrosia
- name = "ambrosia"
- seed_name = "ambrosia vulgaris"
- display_name = "ambrosia vulgaris"
- kitchen_tag = "ambrosia"
- mutants = list("ambrosiadeus")
- chems = list("nutriment" = list(1), "space_drugs" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1), "toxin" = list(1,10))
-
-/datum/seed/ambrosia/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_POTENCY,5)
- set_trait(TRAIT_PRODUCT_ICON,"ambrosia")
- set_trait(TRAIT_PRODUCT_COLOUR,"#9FAD55")
- set_trait(TRAIT_PLANT_ICON,"ambrosia")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
-
-/datum/seed/ambrosia/deus
- name = "ambrosiadeus"
- seed_name = "ambrosia deus"
- display_name = "ambrosia deus"
- kitchen_tag = "ambrosiadeus"
- mutants = list("ambrosiainfernus")
- chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "space_drugs" = list(1,10))
-
-/datum/seed/ambrosia/deus/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#A3F0AD")
- set_trait(TRAIT_PLANT_COLOUR,"#2A9C61")
-
-/datum/seed/ambrosia/infernus
- name = "ambrosiainfernus"
- seed_name = "ambrosia infernus"
- display_name = "ambrosia infernus"
- kitchen_tag = "ambrosiainfernus"
- mutants = null
- chems = list("nutriment" = list(1,3), "oxycodone" = list(1,8), "impedrezene" = list(1,10), "mindbreaker" = list(1,10))
-
-/datum/seed/ambrosia/infernus/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#dc143c")
- set_trait(TRAIT_PLANT_COLOUR,"#b22222")
-
-//Mushrooms/varieties.
-/datum/seed/mushroom
- name = "mushrooms"
- seed_name = "chanterelle"
- seed_noun = "spores"
- display_name = "chanterelle mushrooms"
- mutants = list("reishi","amanita","plumphelmet")
- chems = list("nutriment" = list(1,25))
- splat_type = /obj/effect/plant
- kitchen_tag = "mushroom"
-
-/datum/seed/mushroom/New()
- ..()
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_POTENCY,1)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom4")
- set_trait(TRAIT_PRODUCT_COLOUR,"#DBDA72")
- set_trait(TRAIT_PLANT_COLOUR,"#D9C94E")
- set_trait(TRAIT_PLANT_ICON,"mushroom")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_IDEAL_HEAT, 288)
- set_trait(TRAIT_LIGHT_TOLERANCE, 6)
-
-/datum/seed/mushroom/mold
- name = "mold"
- seed_name = "brown mold"
- display_name = "brown mold"
- mutants = null
-
-/datum/seed/mushroom/mold/New()
- ..()
- set_trait(TRAIT_SPREAD,1)
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_YIELD,-1)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom5")
- set_trait(TRAIT_PRODUCT_COLOUR,"#7A5F20")
- set_trait(TRAIT_PLANT_COLOUR,"#7A5F20")
- set_trait(TRAIT_PLANT_ICON,"mushroom9")
-
-/datum/seed/mushroom/plump
- name = "plumphelmet"
- seed_name = "plump helmet"
- display_name = "plump helmet mushrooms"
- mutants = list("walkingmushroom","towercap")
- chems = list("nutriment" = list(2,10))
- kitchen_tag = "plumphelmet"
-
-/datum/seed/mushroom/plump/New()
- ..()
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,0)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom10")
- set_trait(TRAIT_PRODUCT_COLOUR,"#B57BB0")
- set_trait(TRAIT_PLANT_COLOUR,"#9E4F9D")
- set_trait(TRAIT_PLANT_ICON,"mushroom2")
-
-/datum/seed/mushroom/hallucinogenic
- name = "reishi"
- seed_name = "reishi"
- display_name = "reishi"
- mutants = list("libertycap","glowshroom")
- chems = list("nutriment" = list(1,50), "psilocybin" = list(3,5))
-
-/datum/seed/mushroom/hallucinogenic/New()
- ..()
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,15)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom11")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFB70F")
- set_trait(TRAIT_PLANT_COLOUR,"#F58A18")
- set_trait(TRAIT_PLANT_ICON,"mushroom6")
-
-/datum/seed/mushroom/hallucinogenic/strong
- name = "libertycap"
- seed_name = "liberty cap"
- display_name = "liberty cap mushrooms"
- mutants = null
- chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25))
-
-/datum/seed/mushroom/hallucinogenic/strong/New()
- ..()
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_POTENCY,15)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom8")
- set_trait(TRAIT_PRODUCT_COLOUR,"#F2E550")
- set_trait(TRAIT_PLANT_COLOUR,"#D1CA82")
- set_trait(TRAIT_PLANT_ICON,"mushroom3")
-
-/datum/seed/mushroom/poison
- name = "amanita"
- seed_name = "fly amanita"
- display_name = "fly amanita mushrooms"
- mutants = list("destroyingangel","plastic")
- chems = list("nutriment" = list(1), "amatoxin" = list(3,3), "psilocybin" = list(1,25))
-
-/datum/seed/mushroom/poison/New()
- ..()
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FF4545")
- set_trait(TRAIT_PLANT_COLOUR,"#E0DDBA")
- set_trait(TRAIT_PLANT_ICON,"mushroom4")
-
-/datum/seed/mushroom/poison/death
- name = "destroyingangel"
- seed_name = "destroying angel"
- display_name = "destroying angel mushrooms"
- mutants = null
- chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25))
-
-/datum/seed/mushroom/poison/death/New()
- ..()
- set_trait(TRAIT_MATURATION,12)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,35)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom3")
- set_trait(TRAIT_PRODUCT_COLOUR,"#EDE8EA")
- set_trait(TRAIT_PLANT_COLOUR,"#E6D8DD")
- set_trait(TRAIT_PLANT_ICON,"mushroom5")
-
-/datum/seed/mushroom/towercap
- name = "towercap"
- seed_name = "tower cap"
- display_name = "tower caps"
- chems = list("woodpulp" = list(10,1))
- mutants = null
- has_item_product = /obj/item/stack/material/log
-
-/datum/seed/mushroom/towercap/New()
- ..()
- set_trait(TRAIT_MATURATION,15)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom7")
- set_trait(TRAIT_PRODUCT_COLOUR,"#79A36D")
- set_trait(TRAIT_PLANT_COLOUR,"#857F41")
- set_trait(TRAIT_PLANT_ICON,"mushroom8")
-
-/datum/seed/mushroom/glowshroom
- name = "glowshroom"
- seed_name = "glowshroom"
- display_name = "glowshrooms"
- mutants = null
- chems = list("radium" = list(1,20))
-
-/datum/seed/mushroom/glowshroom/New()
- ..()
- set_trait(TRAIT_SPREAD,1)
- set_trait(TRAIT_MATURATION,15)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,30)
- set_trait(TRAIT_BIOLUM,1)
- set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
- set_trait(TRAIT_PRODUCT_ICON,"mushroom2")
- set_trait(TRAIT_PRODUCT_COLOUR,"#DDFAB6")
- set_trait(TRAIT_PLANT_COLOUR,"#EFFF8A")
- set_trait(TRAIT_PLANT_ICON,"mushroom7")
-
-/datum/seed/mushroom/plastic
- name = "plastic"
- seed_name = "plastellium"
- display_name = "plastellium"
- mutants = null
- chems = list("plasticide" = list(1,10))
-
-/datum/seed/mushroom/plastic/New()
- ..()
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom6")
- set_trait(TRAIT_PRODUCT_COLOUR,"#E6E6E6")
- set_trait(TRAIT_PLANT_COLOUR,"#E6E6E6")
- set_trait(TRAIT_PLANT_ICON,"mushroom10")
-
-/datum/seed/mushroom/spore
- name = "sporeshroom"
- seed_name = "corpellian"
- display_name = "corpellian"
- mutants = null
- chems = list("serotrotium" = list(5,10), "mold" = list(1,10))
-
-/datum/seed/mushroom/spore/New()
- ..()
- set_trait(TRAIT_MATURATION,15)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_PRODUCT_ICON,"mushroom5")
- set_trait(TRAIT_PRODUCT_COLOUR,"#e29cd2")
- set_trait(TRAIT_PLANT_COLOUR,"#f8e6f4")
- set_trait(TRAIT_PLANT_ICON,"mushroom9")
- set_trait(TRAIT_SPORING, TRUE)
-
-//Flowers/varieties
-/datum/seed/flower
- name = "harebells"
- seed_name = "harebell"
- display_name = "harebells"
- kitchen_tag = "harebell"
- chems = list("nutriment" = list(1,20))
-
-/datum/seed/flower/New()
- ..()
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_PRODUCT_ICON,"flower5")
- set_trait(TRAIT_PRODUCT_COLOUR,"#C492D6")
- set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
- set_trait(TRAIT_PLANT_ICON,"flower")
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/flower/poppy
- name = "poppies"
- seed_name = "poppy"
- display_name = "poppies"
- kitchen_tag = "poppy"
- chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10))
-
-/datum/seed/flower/poppy/New()
- ..()
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_PRODUCT_ICON,"flower3")
- set_trait(TRAIT_PRODUCT_COLOUR,"#B33715")
- set_trait(TRAIT_PLANT_ICON,"flower3")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/flower/sunflower
- name = "sunflowers"
- seed_name = "sunflower"
- display_name = "sunflowers"
- kitchen_tag = "sunflower"
-
-/datum/seed/flower/sunflower/New()
- ..()
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCT_ICON,"flower2")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFF700")
- set_trait(TRAIT_PLANT_ICON,"flower2")
- set_trait(TRAIT_IDEAL_LIGHT, 7)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/flower/lavender
- name = "lavender"
- seed_name = "lavender"
- display_name = "lavender"
- kitchen_tag = "lavender"
- chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10))
-
-/datum/seed/flower/lavender/New()
- ..()
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_PRODUCT_ICON,"flower6")
- set_trait(TRAIT_PRODUCT_COLOUR,"#B57EDC")
- set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
- set_trait(TRAIT_PLANT_ICON,"flower4")
- set_trait(TRAIT_IDEAL_LIGHT, 7)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.05)
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
-
-/datum/seed/flower/rose
- name = "rose"
- seed_name = "rose"
- display_name = "rose"
- kitchen_tag = "rose"
- mutants = list("bloodrose")
- chems = list("nutriment" = list(1,5), "stoxin" = list(0,2))
-
-/datum/seed/flower/rose/New()
- ..()
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_PRODUCT_ICON,"flowers")
- set_trait(TRAIT_PRODUCT_COLOUR,"#ce0e0e")
- set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
- set_trait(TRAIT_PLANT_ICON,"bush5")
- set_trait(TRAIT_IDEAL_LIGHT, 7)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1)
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
- set_trait(TRAIT_STINGS,1)
-
-/datum/seed/flower/rose/blood
- name = "bloodrose"
- display_name = "bleeding rose"
- mutants = null
- chems = list("nutriment" = list(1,5), "stoxin" = list(1,5), "blood" = list(0,2))
-
-/datum/seed/flower/rose/blood/New()
- ..()
- set_trait(TRAIT_IDEAL_LIGHT, 1)
- set_trait(TRAIT_PLANT_COLOUR,"#5e0303")
- set_trait(TRAIT_CARNIVOROUS,1)
-
-//Grapes/varieties
-/datum/seed/grapes
- name = "grapes"
- seed_name = "grape"
- display_name = "grapevines"
- kitchen_tag = "grapes"
- mutants = list("greengrapes")
- chems = list("nutriment" = list(1,10), "sugar" = list(1,5), "grapejuice" = list(10,10))
-
-/datum/seed/grapes/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"grapes")
- set_trait(TRAIT_PRODUCT_COLOUR,"#BB6AC4")
- set_trait(TRAIT_PLANT_COLOUR,"#378F2E")
- set_trait(TRAIT_PLANT_ICON,"vine")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/grapes/green
- name = "greengrapes"
- seed_name = "green grape"
- display_name = "green grapevines"
- mutants = null
- chems = list("nutriment" = list(1,10), "kelotane" = list(3,5), "grapejuice" = list(10,10))
-
-/datum/seed/grapes/green/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"42ed2f")
-
-// Lettuce/varieties.
-/datum/seed/lettuce
- name = "lettuce"
- seed_name = "lettuce"
- display_name = "lettuce"
- kitchen_tag = "cabbage"
- chems = list("nutriment" = list(1,15))
-
-/datum/seed/lettuce/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,4)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_POTENCY,8)
- set_trait(TRAIT_PRODUCT_ICON,"lettuce")
- set_trait(TRAIT_PRODUCT_COLOUR,"#A8D0A7")
- set_trait(TRAIT_PLANT_COLOUR,"#6D9C6B")
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 8)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.13)
-
-/datum/seed/lettuce/ice
- name = "siflettuce"
- seed_name = "glacial lettuce"
- display_name = "glacial lettuce"
- kitchen_tag = "icelettuce"
- chems = list("nutriment" = list(1,5), "paracetamol" = list(0,2))
-
-/datum/seed/lettuce/ice/New()
- ..()
- set_trait(TRAIT_ALTER_TEMP, -5)
- set_trait(TRAIT_PRODUCT_COLOUR,"#9ABCC9")
-
-//Wabback / varieties.
-/datum/seed/wabback
- name = "whitewabback"
- seed_name = "white wabback"
- seed_noun = "nodes"
- display_name = "white wabback"
- chems = list("nutriment" = list(1,10), "protein" = list(1,5), "enzyme" = list(0,3))
- kitchen_tag = "wabback"
- mutants = list("blackwabback","wildwabback")
- has_item_product = /obj/item/stack/material/cloth
-
-/datum/seed/wabback/New()
- ..()
- set_trait(TRAIT_IDEAL_LIGHT, 5)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,3)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,5)
- set_trait(TRAIT_PRODUCT_ICON,"carrot2")
- set_trait(TRAIT_PRODUCT_COLOUR,"#E6EDFA")
- set_trait(TRAIT_PLANT_ICON,"chute")
- set_trait(TRAIT_PLANT_COLOUR, "#0650ce")
- set_trait(TRAIT_WATER_CONSUMPTION, 10)
- set_trait(TRAIT_ALTER_TEMP, -1)
- set_trait(TRAIT_CARNIVOROUS,1)
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_SPREAD,1)
-
-/datum/seed/wabback/vine
- name = "blackwabback"
- seed_name = "black wabback"
- display_name = "black wabback"
- mutants = null
- chems = list("nutriment" = list(1,3), "protein" = list(1,10), "serotrotium_v" = list(0,1))
-
-/datum/seed/wabback/vine/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#2E2F32")
- set_trait(TRAIT_CARNIVOROUS,2)
-
-/datum/seed/wabback/wild
- name = "wildwabback"
- seed_name = "wild wabback"
- display_name = "wild wabback"
- mutants = list("whitewabback")
- has_item_product = null
- chems = list("nutriment" = list(1,15), "protein" = list(0,2), "enzyme" = list(0,1))
-
-/datum/seed/wabback/wild/New()
- ..()
- set_trait(TRAIT_IDEAL_LIGHT, 3)
- set_trait(TRAIT_WATER_CONSUMPTION, 7)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1)
- set_trait(TRAIT_YIELD,5)
-
-//Everything else
-/datum/seed/peanuts
- name = "peanut"
- seed_name = "peanut"
- display_name = "peanut vines"
- kitchen_tag = "peanut"
- chems = list("nutriment" = list(1,10), "peanutoil" = list(3,10))
-
-/datum/seed/peanuts/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"nuts")
- set_trait(TRAIT_PRODUCT_COLOUR,"#C4AE7A")
- set_trait(TRAIT_PLANT_ICON,"bush2")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
-
-/datum/seed/vanilla
- name = "vanilla"
- seed_name = "vanilla"
- display_name = "vanilla"
- kitchen_tag = "vanilla"
- chems = list("nutriment" = list(1,10), "vanilla" = list(2,8), "sugar" = list(1, 4))
-
-/datum/seed/vanilla/New()
- ..()
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_PRODUCT_ICON,"chili")
- set_trait(TRAIT_PRODUCT_COLOUR,"#B57EDC")
- set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
- set_trait(TRAIT_PLANT_ICON,"bush5")
- set_trait(TRAIT_IDEAL_LIGHT, 8)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.3)
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
-
-/datum/seed/cabbage
- name = "cabbage"
- seed_name = "cabbage"
- display_name = "cabbages"
- kitchen_tag = "cabbage"
- chems = list("nutriment" = list(1,10))
-
-/datum/seed/cabbage/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"cabbage")
- set_trait(TRAIT_PRODUCT_COLOUR,"#84BD82")
- set_trait(TRAIT_PLANT_COLOUR,"#6D9C6B")
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/banana
- name = "banana"
- seed_name = "banana"
- display_name = "banana tree"
- kitchen_tag = "banana"
- chems = list("banana" = list(10,10))
- trash_type = /obj/item/weapon/bananapeel
-
-/datum/seed/banana/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_PRODUCT_ICON,"bananas")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFEC1F")
- set_trait(TRAIT_PLANT_COLOUR,"#69AD50")
- set_trait(TRAIT_PLANT_ICON,"tree4")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 7)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/corn
- name = "corn"
- seed_name = "corn"
- display_name = "ears of corn"
- kitchen_tag = "corn"
- chems = list("nutriment" = list(1,10), "cornoil" = list(3,15))
- trash_type = /obj/item/weapon/corncob
-
-/datum/seed/corn/New()
- ..()
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,20)
- set_trait(TRAIT_PRODUCT_ICON,"corn")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFF23B")
- set_trait(TRAIT_PLANT_COLOUR,"#87C969")
- set_trait(TRAIT_PLANT_ICON,"corn")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/potato
- name = "potato"
- seed_name = "potato"
- display_name = "potatoes"
- kitchen_tag = "potato"
- chems = list("nutriment" = list(1,10), "potatojuice" = list(10,10))
-
-/datum/seed/potato/New()
- ..()
- set_trait(TRAIT_PRODUCES_POWER,1)
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"potato")
- set_trait(TRAIT_PRODUCT_COLOUR,"#D4CAB4")
- set_trait(TRAIT_PLANT_ICON,"bush2")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/onion
- name = "onion"
- seed_name = "onion"
- display_name = "onions"
- kitchen_tag = "onion"
- chems = list("nutriment" = list(1,10))
-
-/datum/seed/onion/New()
- ..()
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"onion")
- set_trait(TRAIT_PRODUCT_COLOUR,"#E0C367")
- set_trait(TRAIT_PLANT_ICON,"carrot")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/soybean
- name = "soybean"
- seed_name = "soybean"
- display_name = "soybeans"
- kitchen_tag = "soybeans"
- chems = list("nutriment" = list(1,20), "soymilk" = list(10,20))
-
-/datum/seed/soybean/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,4)
- set_trait(TRAIT_PRODUCTION,4)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,5)
- set_trait(TRAIT_PRODUCT_ICON,"bean")
- set_trait(TRAIT_PRODUCT_COLOUR,"#EBE7C0")
- set_trait(TRAIT_PLANT_ICON,"stalk")
-
-/datum/seed/wheat
- name = "wheat"
- seed_name = "wheat"
- display_name = "wheat stalks"
- kitchen_tag = "wheat"
- chems = list("nutriment" = list(1,25), "flour" = list(10,30))
-
-/datum/seed/wheat/New()
- ..()
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,5)
- set_trait(TRAIT_PRODUCT_ICON,"wheat")
- set_trait(TRAIT_PRODUCT_COLOUR,"#DBD37D")
- set_trait(TRAIT_PLANT_COLOUR,"#BFAF82")
- set_trait(TRAIT_PLANT_ICON,"stalk2")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/rice
- name = "rice"
- seed_name = "rice"
- display_name = "rice stalks"
- kitchen_tag = "rice"
- chems = list("nutriment" = list(1,25), "rice" = list(10,15))
-
-/datum/seed/rice/New()
- ..()
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,5)
- set_trait(TRAIT_PRODUCT_ICON,"rice")
- set_trait(TRAIT_PRODUCT_COLOUR,"#D5E6D1")
- set_trait(TRAIT_PLANT_COLOUR,"#8ED17D")
- set_trait(TRAIT_PLANT_ICON,"stalk2")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/carrots
- name = "carrot"
- seed_name = "carrot"
- display_name = "carrots"
- kitchen_tag = "carrot"
- chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5), "carrotjuice" = list(10,20))
-
-/datum/seed/carrots/New()
- ..()
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"carrot")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFDB4A")
- set_trait(TRAIT_PLANT_ICON,"carrot")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/weeds
- name = "weeds"
- seed_name = "weed"
- display_name = "weeds"
-
-/datum/seed/weeds/New()
- ..()
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,-1)
- set_trait(TRAIT_POTENCY,-1)
- set_trait(TRAIT_IMMUTABLE,-1)
- set_trait(TRAIT_PRODUCT_ICON,"flower4")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FCEB2B")
- set_trait(TRAIT_PLANT_COLOUR,"#59945A")
- set_trait(TRAIT_PLANT_ICON,"bush6")
-
-/datum/seed/whitebeets
- name = "whitebeet"
- seed_name = "white-beet"
- display_name = "white-beets"
- kitchen_tag = "whitebeet"
- chems = list("nutriment" = list(0,20), "sugar" = list(1,5))
-
-/datum/seed/whitebeets/New()
- ..()
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,6)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"carrot2")
- set_trait(TRAIT_PRODUCT_COLOUR,"#EEF5B0")
- set_trait(TRAIT_PLANT_COLOUR,"#4D8F53")
- set_trait(TRAIT_PLANT_ICON,"carrot2")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/sugarcane
- name = "sugarcane"
- seed_name = "sugarcane"
- display_name = "sugarcanes"
- kitchen_tag = "sugarcanes"
- chems = list("sugar" = list(4,5))
-
-/datum/seed/sugarcane/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"stalk")
- set_trait(TRAIT_PRODUCT_COLOUR,"#B4D6BD")
- set_trait(TRAIT_PLANT_COLOUR,"#6BBD68")
- set_trait(TRAIT_PLANT_ICON,"stalk3")
- set_trait(TRAIT_IDEAL_HEAT, 298)
-
-/datum/seed/rhubarb
- name = "rhubarb"
- seed_name = "rhubarb"
- display_name = "rhubarb"
- kitchen_tag = "rhubarb"
- chems = list("nutriment" = list(1,15))
-
-/datum/seed/rhubarb/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_POTENCY,6)
- set_trait(TRAIT_PRODUCT_ICON,"stalk")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FD5656")
- set_trait(TRAIT_PLANT_ICON,"stalk3")
-
-/datum/seed/celery
- name = "celery"
- seed_name = "celery"
- display_name = "celery"
- kitchen_tag = "celery"
- chems = list("nutriment" = list(5,20))
-
-/datum/seed/celery/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,4)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,8)
- set_trait(TRAIT_PRODUCT_ICON,"stalk")
- set_trait(TRAIT_PRODUCT_COLOUR,"#56FD56")
- set_trait(TRAIT_PLANT_ICON,"stalk3")
-
-/datum/seed/spineapple
- name = "spineapple"
- seed_name = "spineapple"
- display_name = "spineapple"
- kitchen_tag = "pineapple"
- chems = list("nutriment" = list(1,5), "enzyme" = list(1,5), "pineapplejuice" = list(1, 20))
-
-/datum/seed/spineapple/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,10)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,1)
- set_trait(TRAIT_POTENCY,13)
- set_trait(TRAIT_PRODUCT_ICON,"pineapple")
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFF23B")
- set_trait(TRAIT_PLANT_COLOUR,"#87C969")
- set_trait(TRAIT_PLANT_ICON,"corn")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 4)
- set_trait(TRAIT_WATER_CONSUMPTION, 8)
- set_trait(TRAIT_STINGS,1)
-
-/datum/seed/durian
- name = "durian"
- seed_name = "durian"
- seed_noun = "pits"
- display_name = "durian"
- kitchen_tag = "durian"
- chems = list("nutriment" = list(1,5), "durianpaste" = list(1, 20))
-
-/datum/seed/durian/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"spinefruit")
- set_trait(TRAIT_PRODUCT_COLOUR,"#757631")
- set_trait(TRAIT_PLANT_COLOUR,"#87C969")
- set_trait(TRAIT_PLANT_ICON,"tree")
- set_trait(TRAIT_IDEAL_LIGHT, 8)
- set_trait(TRAIT_WATER_CONSUMPTION, 8)
-
-/datum/seed/watermelon
- name = "watermelon"
- seed_name = "watermelon"
- display_name = "watermelon vine"
- kitchen_tag = "watermelon"
- chems = list("nutriment" = list(1,6), "watermelonjuice" = list(10,6))
-
-/datum/seed/watermelon/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_JUICY,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,1)
- set_trait(TRAIT_PRODUCT_ICON,"vine")
- set_trait(TRAIT_PRODUCT_COLOUR,"#3D8C3A")
- set_trait(TRAIT_PLANT_COLOUR,"#257522")
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_FLESH_COLOUR,"#F22C2C")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_IDEAL_LIGHT, 6)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/pumpkin
- name = "pumpkin"
- seed_name = "pumpkin"
- display_name = "pumpkin vine"
- kitchen_tag = "pumpkin"
- chems = list("nutriment" = list(1,6))
-
-/datum/seed/pumpkin/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"vine2")
- set_trait(TRAIT_PRODUCT_COLOUR,"#DBAC02")
- set_trait(TRAIT_PLANT_COLOUR,"#21661E")
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/citrus
- name = "lime"
- seed_name = "lime"
- display_name = "lime trees"
- kitchen_tag = "lime"
- chems = list("nutriment" = list(1,20), "limejuice" = list(10,20))
-
-/datum/seed/citrus/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_JUICY,1)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,15)
- set_trait(TRAIT_PRODUCT_ICON,"treefruit")
- set_trait(TRAIT_PRODUCT_COLOUR,"#3AF026")
- set_trait(TRAIT_PLANT_ICON,"tree")
- set_trait(TRAIT_FLESH_COLOUR,"#3AF026")
-
-/datum/seed/citrus/lemon
- name = "lemon"
- seed_name = "lemon"
- display_name = "lemon trees"
- kitchen_tag = "lemon"
- chems = list("nutriment" = list(1,20), "lemonjuice" = list(10,20))
-
-/datum/seed/citrus/lemon/New()
- ..()
- set_trait(TRAIT_PRODUCES_POWER,1)
- set_trait(TRAIT_PRODUCT_ICON,"lemon")
- set_trait(TRAIT_PRODUCT_COLOUR,"#F0E226")
- set_trait(TRAIT_FLESH_COLOUR,"#F0E226")
- set_trait(TRAIT_IDEAL_LIGHT, 6)
-
-/datum/seed/citrus/orange
- name = "orange"
- seed_name = "orange"
- display_name = "orange trees"
- kitchen_tag = "orange"
- chems = list("nutriment" = list(1,20), "orangejuice" = list(10,20))
-
-/datum/seed/citrus/orange/New()
- ..()
- set_trait(TRAIT_PRODUCT_COLOUR,"#FFC20A")
- set_trait(TRAIT_FLESH_COLOUR,"#FFC20A")
-
-/datum/seed/grass
- name = "grass"
- seed_name = "grass"
- display_name = "grass"
- kitchen_tag = "grass"
- chems = list("nutriment" = list(1,20))
-
-/datum/seed/grass/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,2)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,5)
- set_trait(TRAIT_PRODUCT_ICON,"grass")
- set_trait(TRAIT_PRODUCT_COLOUR,"#09FF00")
- set_trait(TRAIT_PLANT_COLOUR,"#07D900")
- set_trait(TRAIT_PLANT_ICON,"grass")
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/cocoa
- name = "cocoa"
- seed_name = "cacao"
- display_name = "cacao tree"
- kitchen_tag = "cocoa"
- chems = list("nutriment" = list(1,10), "coco" = list(4,5))
-
-/datum/seed/cocoa/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"treefruit")
- set_trait(TRAIT_PRODUCT_COLOUR,"#CCA935")
- set_trait(TRAIT_PLANT_ICON,"tree2")
- set_trait(TRAIT_IDEAL_HEAT, 298)
- set_trait(TRAIT_WATER_CONSUMPTION, 6)
-
-/datum/seed/cherries
- name = "cherry"
- seed_name = "cherry"
- seed_noun = "pits"
- display_name = "cherry tree"
- kitchen_tag = "cherries"
- chems = list("nutriment" = list(1,15), "sugar" = list(1,15), "cherryjelly" = list(10,15))
-
-/datum/seed/cherries/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_JUICY,1)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"cherry")
- set_trait(TRAIT_PRODUCT_COLOUR,"#A80000")
- set_trait(TRAIT_PLANT_ICON,"tree2")
- set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D")
-
-/datum/seed/kudzu
- name = "kudzu"
- seed_name = "kudzu"
- display_name = "kudzu vines"
- kitchen_tag = "kudzu"
- chems = list("nutriment" = list(1,50), "anti_toxin" = list(1,25))
-
-/datum/seed/kudzu/New()
- ..()
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_SPREAD,2)
- set_trait(TRAIT_PRODUCT_ICON,"treefruit")
- set_trait(TRAIT_PRODUCT_COLOUR,"#96D278")
- set_trait(TRAIT_PLANT_COLOUR,"#6F7A63")
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
-
-/datum/seed/diona
- name = "diona"
- seed_name = "diona"
- seed_noun = "nodes"
- display_name = "replicant pods"
- can_self_harvest = 1
- apply_color_to_mob = FALSE
- has_mob_product = /mob/living/carbon/alien/diona
-
-/datum/seed/diona/New()
- ..()
- set_trait(TRAIT_IMMUTABLE,1)
- set_trait(TRAIT_ENDURANCE,8)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,10)
- set_trait(TRAIT_YIELD,1)
- set_trait(TRAIT_POTENCY,30)
- set_trait(TRAIT_PRODUCT_ICON,"diona")
- set_trait(TRAIT_PRODUCT_COLOUR,"#799957")
- set_trait(TRAIT_PLANT_COLOUR,"#66804B")
- set_trait(TRAIT_PLANT_ICON,"alien4")
-
-/datum/seed/shand
- name = "shand"
- seed_name = "Selem's hand"
- display_name = "Selem's hand leaves"
- kitchen_tag = "shand"
- chems = list("bicaridine" = list(0,10))
-
-/datum/seed/shand/New()
- ..()
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"alien3")
- set_trait(TRAIT_PRODUCT_COLOUR,"#378C61")
- set_trait(TRAIT_PLANT_COLOUR,"#378C61")
- set_trait(TRAIT_PLANT_ICON,"tree5")
- set_trait(TRAIT_IDEAL_HEAT, 283)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/mtear
- name = "mtear"
- seed_name = "Malani's tear"
- display_name = "Malani's tear leaves"
- kitchen_tag = "mtear"
- chems = list("honey" = list(1,10), "kelotane" = list(3,5))
-
-/datum/seed/mtear/New()
- ..()
- set_trait(TRAIT_MATURATION,3)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_PRODUCT_ICON,"alien4")
- set_trait(TRAIT_PRODUCT_COLOUR,"#4CC5C7")
- set_trait(TRAIT_PLANT_COLOUR,"#4CC789")
- set_trait(TRAIT_PLANT_ICON,"bush7")
- set_trait(TRAIT_IDEAL_HEAT, 283)
- set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
-
-/datum/seed/telriis
- name = "telriis"
- seed_name = "telriis"
- display_name = "telriis grass"
- kitchen_tag = "telriis"
- chems = list("pwine" = list(1,5), "nutriment" = list(1,6))
-
-/datum/seed/telriis/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"ambrosia")
- set_trait(TRAIT_PRODUCT_ICON,"ambrosia")
- set_trait(TRAIT_ENDURANCE,50)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,5)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,5)
-
-/datum/seed/thaadra
- name = "thaadra"
- seed_name = "thaa'dra"
- display_name = "thaa'dra lichen"
- kitchen_tag = "thaadra"
- chems = list("frostoil" = list(1,5),"nutriment" = list(1,5))
-
-/datum/seed/thaadra/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"grass")
- set_trait(TRAIT_PLANT_COLOUR,"#ABC7D2")
- set_trait(TRAIT_ENDURANCE,10)
- set_trait(TRAIT_MATURATION,5)
- set_trait(TRAIT_PRODUCTION,9)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,5)
-
-/datum/seed/jurlmah
- name = "jurlmah"
- seed_name = "jurl'mah"
- display_name = "jurl'mah reeds"
- kitchen_tag = "jurlmah"
- chems = list("serotrotium" = list(1,5),"nutriment" = list(1,5))
-
-/datum/seed/jurlmah/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"mushroom9")
- set_trait(TRAIT_ENDURANCE,12)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,9)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,10)
-
-/datum/seed/amauri
- name = "amauri"
- seed_name = "amauri"
- display_name = "amauri plant"
- kitchen_tag = "amauri"
- chems = list("zombiepowder" = list(1,10),"condensedcapsaicin" = list(1,5),"nutriment" = list(1,5))
-
-/datum/seed/amauri/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"bush4")
- set_trait(TRAIT_ENDURANCE,10)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,9)
- set_trait(TRAIT_YIELD,4)
- set_trait(TRAIT_POTENCY,10)
-
-/datum/seed/gelthi
- name = "gelthi"
- seed_name = "gelthi"
- display_name = "gelthi plant"
- kitchen_tag = "gelthi"
- chems = list("stoxin" = list(1,5),"capsaicin" = list(1,5),"nutriment" = list(1,5))
-
-/datum/seed/gelthi/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"mushroom3")
- set_trait(TRAIT_ENDURANCE,15)
- set_trait(TRAIT_MATURATION,6)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_POTENCY,1)
-
-/datum/seed/vale
- name = "vale"
- seed_name = "vale"
- display_name = "vale bush"
- kitchen_tag = "vale"
- chems = list("paracetamol" = list(1,5),"dexalin" = list(1,2),"nutriment"= list(1,5))
-
-/datum/seed/vale/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"flower4")
- set_trait(TRAIT_ENDURANCE,15)
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,10)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,3)
-
-/datum/seed/surik
- name = "surik"
- seed_name = "surik"
- display_name = "surik vine"
- kitchen_tag = "surik"
- chems = list("impedrezene" = list(1,3),"synaptizine" = list(1,2),"nutriment" = list(1,5))
-
-/datum/seed/surik/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"bush6")
- set_trait(TRAIT_ENDURANCE,18)
- set_trait(TRAIT_MATURATION,7)
- set_trait(TRAIT_PRODUCTION,7)
- set_trait(TRAIT_YIELD,3)
- set_trait(TRAIT_POTENCY,3)
-
-// Alien weeds.
-/datum/seed/xenomorph
- name = "xenomorph"
- seed_name = "alien weed"
- display_name = "alien weeds"
- force_layer = 3
- chems = list("phoron" = list(1,3))
-
-/datum/seed/xenomorph/New()
- ..()
- set_trait(TRAIT_PLANT_ICON,"vine2")
- set_trait(TRAIT_IMMUTABLE,1)
- set_trait(TRAIT_PRODUCT_COLOUR,"#3D1934")
- set_trait(TRAIT_FLESH_COLOUR,"#3D1934")
- set_trait(TRAIT_PLANT_COLOUR,"#3D1934")
- set_trait(TRAIT_PRODUCTION,1)
- set_trait(TRAIT_YIELD,-1)
- set_trait(TRAIT_SPREAD,2)
- set_trait(TRAIT_POTENCY,50)
-
-// Gnomes
-/datum/seed/gnomes
- name = "gnomes"
- seed_name = "gnomes"
- display_name = "gnomes"
- force_layer = 3
- chems = list("magicdust" = list(5,20))
-
-/datum/seed/gnomes/New()
- ..()
- set_trait(TRAIT_HARVEST_REPEAT,1)
- set_trait(TRAIT_PLANT_ICON,"gnomes")
- set_trait(TRAIT_PRODUCT_ICON,"gnomes")
- set_trait(TRAIT_PRODUCT_COLOUR,"")
- set_trait(TRAIT_FLESH_COLOUR,"")
- set_trait(TRAIT_PLANT_COLOUR,"")
- set_trait(TRAIT_BIOLUM_COLOUR,"#fff200")
- set_trait(TRAIT_MATURATION,8)
- set_trait(TRAIT_PRODUCTION,6)
- set_trait(TRAIT_BIOLUM,1)
- set_trait(TRAIT_YIELD,2)
- set_trait(TRAIT_SPREAD,1)
- set_trait(TRAIT_POTENCY,10)
- set_trait(TRAIT_REQUIRES_NUTRIENTS,0)
- set_trait(TRAIT_REQUIRES_WATER,0)
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 45d74e26fd..3db8840058 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -337,3 +337,6 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
/obj/item/seeds/sifbulb
seed_type = "sifbulb"
+
+/obj/item/seeds/wurmwoad
+ seed_type = "wurmwoad"
diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm
index 39b9dc3ebc..f75d17f63e 100644
--- a/code/modules/hydroponics/seed_storage.dm
+++ b/code/modules/hydroponics/seed_storage.dm
@@ -138,7 +138,8 @@
/obj/item/seeds/wabback = 2,
/obj/item/seeds/watermelonseed = 3,
/obj/item/seeds/wheatseed = 3,
- /obj/item/seeds/whitebeetseed = 3
+ /obj/item/seeds/whitebeetseed = 3,
+ /obj/item/seeds/wurmwoad = 3
)
/obj/machinery/seed_storage/xenobotany
@@ -195,7 +196,8 @@
/obj/item/seeds/wabback = 2,
/obj/item/seeds/watermelonseed = 3,
/obj/item/seeds/wheatseed = 3,
- /obj/item/seeds/whitebeetseed = 3
+ /obj/item/seeds/whitebeetseed = 3,
+ /obj/item/seeds/wurmwoad = 3
)
/obj/machinery/seed_storage/attack_hand(mob/user as mob)
diff --git a/code/modules/hydroponics/seedtypes/amauri.dm b/code/modules/hydroponics/seedtypes/amauri.dm
new file mode 100644
index 0000000000..0ad44e7862
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/amauri.dm
@@ -0,0 +1,15 @@
+/datum/seed/amauri
+ name = "amauri"
+ seed_name = "amauri"
+ display_name = "amauri plant"
+ kitchen_tag = "amauri"
+ chems = list("zombiepowder" = list(1,10),"condensedcapsaicin" = list(1,5),"nutriment" = list(1,5))
+
+/datum/seed/amauri/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"bush4")
+ set_trait(TRAIT_ENDURANCE,10)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,9)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/ambrosia.dm b/code/modules/hydroponics/seedtypes/ambrosia.dm
new file mode 100644
index 0000000000..535d5129a3
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/ambrosia.dm
@@ -0,0 +1,46 @@
+//Ambrosia/varieties.
+/datum/seed/ambrosia
+ name = "ambrosia"
+ seed_name = "ambrosia vulgaris"
+ display_name = "ambrosia vulgaris"
+ kitchen_tag = "ambrosia"
+ mutants = list("ambrosiadeus")
+ chems = list("nutriment" = list(1), "space_drugs" = list(1,8), "kelotane" = list(1,8,1), "bicaridine" = list(1,10,1), "toxin" = list(1,10))
+
+/datum/seed/ambrosia/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_POTENCY,5)
+ set_trait(TRAIT_PRODUCT_ICON,"ambrosia")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#9FAD55")
+ set_trait(TRAIT_PLANT_ICON,"ambrosia")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+
+/datum/seed/ambrosia/deus
+ name = "ambrosiadeus"
+ seed_name = "ambrosia deus"
+ display_name = "ambrosia deus"
+ kitchen_tag = "ambrosiadeus"
+ mutants = list("ambrosiainfernus")
+ chems = list("nutriment" = list(1), "bicaridine" = list(1,8), "synaptizine" = list(1,8,1), "hyperzine" = list(1,10,1), "space_drugs" = list(1,10))
+
+/datum/seed/ambrosia/deus/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#A3F0AD")
+ set_trait(TRAIT_PLANT_COLOUR,"#2A9C61")
+
+/datum/seed/ambrosia/infernus
+ name = "ambrosiainfernus"
+ seed_name = "ambrosia infernus"
+ display_name = "ambrosia infernus"
+ kitchen_tag = "ambrosiainfernus"
+ mutants = null
+ chems = list("nutriment" = list(1,3), "oxycodone" = list(1,8), "impedrezene" = list(1,10), "mindbreaker" = list(1,10))
+
+/datum/seed/ambrosia/infernus/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#dc143c")
+ set_trait(TRAIT_PLANT_COLOUR,"#b22222")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/apples.dm b/code/modules/hydroponics/seedtypes/apples.dm
new file mode 100644
index 0000000000..7044a0c6dc
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/apples.dm
@@ -0,0 +1,62 @@
+//Apples/varieties.
+/datum/seed/apple
+ name = "apple"
+ seed_name = "apple"
+ display_name = "apple tree"
+ kitchen_tag = "apple"
+ mutants = list("poisonapple","goldapple")
+ chems = list("nutriment" = list(1,10),"applejuice" = list(10,20))
+
+/datum/seed/apple/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"apple")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FF540A")
+ set_trait(TRAIT_PLANT_ICON,"tree2")
+ set_trait(TRAIT_FLESH_COLOUR,"#E8E39B")
+ set_trait(TRAIT_IDEAL_LIGHT, 4)
+
+/datum/seed/apple/poison
+ name = "poisonapple"
+ mutants = null
+ chems = list("cyanide" = list(1,5))
+
+/datum/seed/apple/gold
+ name = "goldapple"
+ seed_name = "golden apple"
+ display_name = "gold apple tree"
+ kitchen_tag = "goldapple"
+ mutants = null
+ chems = list("nutriment" = list(1,10), "gold" = list(1,5))
+
+/datum/seed/apple/gold/New()
+ ..()
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,10)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFDD00")
+ set_trait(TRAIT_PLANT_COLOUR,"#D6B44D")
+
+/datum/seed/apple/sif
+ name = "sifbulb"
+ seed_name = "sivian tree"
+ display_name = "sivian pod"
+ kitchen_tag = "apple"
+ chems = list("nutriment" = list(1,5),"sifsap" = list(10,20))
+
+/datum/seed/apple/sif/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,10)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,12)
+ set_trait(TRAIT_PRODUCT_ICON,"alien3")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#0720c3")
+ set_trait(TRAIT_PLANT_ICON,"tree5")
+ set_trait(TRAIT_FLESH_COLOUR,"#05157d")
+ set_trait(TRAIT_IDEAL_LIGHT, 1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/banana.dm b/code/modules/hydroponics/seedtypes/banana.dm
new file mode 100644
index 0000000000..9259318d77
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/banana.dm
@@ -0,0 +1,21 @@
+/datum/seed/banana
+ name = "banana"
+ seed_name = "banana"
+ display_name = "banana tree"
+ kitchen_tag = "banana"
+ chems = list("banana" = list(10,10))
+ trash_type = /obj/item/weapon/bananapeel
+
+/datum/seed/banana/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_PRODUCT_ICON,"bananas")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFEC1F")
+ set_trait(TRAIT_PLANT_COLOUR,"#69AD50")
+ set_trait(TRAIT_PLANT_ICON,"tree4")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/berries.dm b/code/modules/hydroponics/seedtypes/berries.dm
new file mode 100644
index 0000000000..2ad36353fe
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/berries.dm
@@ -0,0 +1,70 @@
+// Berry plants/variants.
+/datum/seed/berry
+ name = "berries"
+ seed_name = "berry"
+ display_name = "berry bush"
+ kitchen_tag = "berries"
+ mutants = list("glowberries","poisonberries")
+ chems = list("nutriment" = list(1,10), "berryjuice" = list(10,10))
+
+/datum/seed/berry/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_JUICY,1)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"berry")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FA1616")
+ set_trait(TRAIT_PLANT_ICON,"bush")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/berry/glow
+ name = "glowberries"
+ seed_name = "glowberry"
+ display_name = "glowberry bush"
+ mutants = null
+ chems = list("nutriment" = list(1,10), "uranium" = list(3,5))
+
+/datum/seed/berry/glow/New()
+ ..()
+ set_trait(TRAIT_SPREAD,1)
+ set_trait(TRAIT_BIOLUM,1)
+ set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#c9fa16")
+ set_trait(TRAIT_WATER_CONSUMPTION, 3)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
+
+/datum/seed/berry/poison
+ name = "poisonberries"
+ seed_name = "poison berry"
+ kitchen_tag = "poisonberries"
+ display_name = "poison berry bush"
+ mutants = list("deathberries")
+ chems = list("nutriment" = list(1), "toxin" = list(3,5), "poisonberryjuice" = list(10,5))
+
+/datum/seed/berry/poison/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#6DC961")
+ set_trait(TRAIT_WATER_CONSUMPTION, 3)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
+
+/datum/seed/berry/poison/death
+ name = "deathberries"
+ seed_name = "death berry"
+ display_name = "death berry bush"
+ mutants = null
+ chems = list("nutriment" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5))
+
+/datum/seed/berry/poison/death/New()
+ ..()
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,50)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#7A5454")
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.35)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/cabbage.dm b/code/modules/hydroponics/seedtypes/cabbage.dm
new file mode 100644
index 0000000000..0ee7fb2693
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/cabbage.dm
@@ -0,0 +1,21 @@
+/datum/seed/cabbage
+ name = "cabbage"
+ seed_name = "cabbage"
+ display_name = "cabbages"
+ kitchen_tag = "cabbage"
+ chems = list("nutriment" = list(1,10))
+
+/datum/seed/cabbage/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"cabbage")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#84BD82")
+ set_trait(TRAIT_PLANT_COLOUR,"#6D9C6B")
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/carrots.dm b/code/modules/hydroponics/seedtypes/carrots.dm
new file mode 100644
index 0000000000..2b8ef7577b
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/carrots.dm
@@ -0,0 +1,17 @@
+/datum/seed/carrots
+ name = "carrot"
+ seed_name = "carrot"
+ display_name = "carrots"
+ kitchen_tag = "carrot"
+ chems = list("nutriment" = list(1,20), "imidazoline" = list(3,5), "carrotjuice" = list(10,20))
+
+/datum/seed/carrots/New()
+ ..()
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"carrot")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFDB4A")
+ set_trait(TRAIT_PLANT_ICON,"carrot")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/celery.dm b/code/modules/hydroponics/seedtypes/celery.dm
new file mode 100644
index 0000000000..c404ed670f
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/celery.dm
@@ -0,0 +1,17 @@
+/datum/seed/celery
+ name = "celery"
+ seed_name = "celery"
+ display_name = "celery"
+ kitchen_tag = "celery"
+ chems = list("nutriment" = list(5,20))
+
+/datum/seed/celery/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,4)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,8)
+ set_trait(TRAIT_PRODUCT_ICON,"stalk")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#56FD56")
+ set_trait(TRAIT_PLANT_ICON,"stalk3")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/cherries.dm b/code/modules/hydroponics/seedtypes/cherries.dm
new file mode 100644
index 0000000000..ece8d793e7
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/cherries.dm
@@ -0,0 +1,20 @@
+/datum/seed/cherries
+ name = "cherry"
+ seed_name = "cherry"
+ seed_noun = "pits"
+ display_name = "cherry tree"
+ kitchen_tag = "cherries"
+ chems = list("nutriment" = list(1,15), "sugar" = list(1,15), "cherryjelly" = list(10,15))
+
+/datum/seed/cherries/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_JUICY,1)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"cherry")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#A80000")
+ set_trait(TRAIT_PLANT_ICON,"tree2")
+ set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/chili.dm b/code/modules/hydroponics/seedtypes/chili.dm
new file mode 100644
index 0000000000..bee50a48bc
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/chili.dm
@@ -0,0 +1,35 @@
+// Chili plants/variants.
+/datum/seed/chili
+ name = "chili"
+ seed_name = "chili"
+ display_name = "chili plants"
+ kitchen_tag = "chili"
+ chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25))
+ mutants = list("icechili")
+
+/datum/seed/chili/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_PRODUCT_ICON,"chili")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#ED3300")
+ set_trait(TRAIT_PLANT_ICON,"bush2")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+
+/datum/seed/chili/ice
+ name = "icechili"
+ seed_name = "ice pepper"
+ display_name = "ice-pepper plants"
+ kitchen_tag = "icechili"
+ mutants = null
+ chems = list("frostoil" = list(3,5), "nutriment" = list(1,50))
+
+/datum/seed/chili/ice/New()
+ ..()
+ set_trait(TRAIT_MATURATION,4)
+ set_trait(TRAIT_PRODUCTION,4)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/citrus.dm b/code/modules/hydroponics/seedtypes/citrus.dm
new file mode 100644
index 0000000000..ebc154aa40
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/citrus.dm
@@ -0,0 +1,46 @@
+/datum/seed/citrus
+ name = "lime"
+ seed_name = "lime"
+ display_name = "lime trees"
+ kitchen_tag = "lime"
+ chems = list("nutriment" = list(1,20), "limejuice" = list(10,20))
+
+/datum/seed/citrus/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_JUICY,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,15)
+ set_trait(TRAIT_PRODUCT_ICON,"treefruit")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#3AF026")
+ set_trait(TRAIT_PLANT_ICON,"tree")
+ set_trait(TRAIT_FLESH_COLOUR,"#3AF026")
+
+/datum/seed/citrus/lemon
+ name = "lemon"
+ seed_name = "lemon"
+ display_name = "lemon trees"
+ kitchen_tag = "lemon"
+ chems = list("nutriment" = list(1,20), "lemonjuice" = list(10,20))
+
+/datum/seed/citrus/lemon/New()
+ ..()
+ set_trait(TRAIT_PRODUCES_POWER,1)
+ set_trait(TRAIT_PRODUCT_ICON,"lemon")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#F0E226")
+ set_trait(TRAIT_FLESH_COLOUR,"#F0E226")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+
+/datum/seed/citrus/orange
+ name = "orange"
+ seed_name = "orange"
+ display_name = "orange trees"
+ kitchen_tag = "orange"
+ chems = list("nutriment" = list(1,20), "orangejuice" = list(10,20))
+
+/datum/seed/citrus/orange/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFC20A")
+ set_trait(TRAIT_FLESH_COLOUR,"#FFC20A")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/cocoa.dm b/code/modules/hydroponics/seedtypes/cocoa.dm
new file mode 100644
index 0000000000..7f7aa31b39
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/cocoa.dm
@@ -0,0 +1,19 @@
+/datum/seed/cocoa
+ name = "cocoa"
+ seed_name = "cacao"
+ display_name = "cacao tree"
+ kitchen_tag = "cocoa"
+ chems = list("nutriment" = list(1,10), "coco" = list(4,5))
+
+/datum/seed/cocoa/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"treefruit")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#CCA935")
+ set_trait(TRAIT_PLANT_ICON,"tree2")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/corn.dm b/code/modules/hydroponics/seedtypes/corn.dm
new file mode 100644
index 0000000000..2a4b2824f8
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/corn.dm
@@ -0,0 +1,21 @@
+/datum/seed/corn
+ name = "corn"
+ seed_name = "corn"
+ display_name = "ears of corn"
+ kitchen_tag = "corn"
+ chems = list("nutriment" = list(1,10), "cornoil" = list(3,15))
+ trash_type = /obj/item/weapon/corncob
+
+/datum/seed/corn/New()
+ ..()
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_PRODUCT_ICON,"corn")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFF23B")
+ set_trait(TRAIT_PLANT_COLOUR,"#87C969")
+ set_trait(TRAIT_PLANT_ICON,"corn")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/diona.dm b/code/modules/hydroponics/seedtypes/diona.dm
new file mode 100644
index 0000000000..be3b80b6bf
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/diona.dm
@@ -0,0 +1,21 @@
+/datum/seed/diona
+ name = "diona"
+ seed_name = "diona"
+ seed_noun = "nodes"
+ display_name = "replicant pods"
+ can_self_harvest = 1
+ apply_color_to_mob = FALSE
+ has_mob_product = /mob/living/carbon/alien/diona
+
+/datum/seed/diona/New()
+ ..()
+ set_trait(TRAIT_IMMUTABLE,1)
+ set_trait(TRAIT_ENDURANCE,8)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,10)
+ set_trait(TRAIT_YIELD,1)
+ set_trait(TRAIT_POTENCY,30)
+ set_trait(TRAIT_PRODUCT_ICON,"diona")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#799957")
+ set_trait(TRAIT_PLANT_COLOUR,"#66804B")
+ set_trait(TRAIT_PLANT_ICON,"alien4")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/durian.dm b/code/modules/hydroponics/seedtypes/durian.dm
new file mode 100644
index 0000000000..8963f4c9ec
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/durian.dm
@@ -0,0 +1,21 @@
+/datum/seed/durian
+ name = "durian"
+ seed_name = "durian"
+ seed_noun = "pits"
+ display_name = "durian"
+ kitchen_tag = "durian"
+ chems = list("nutriment" = list(1,5), "durianpaste" = list(1, 20))
+
+/datum/seed/durian/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"spinefruit")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#757631")
+ set_trait(TRAIT_PLANT_COLOUR,"#87C969")
+ set_trait(TRAIT_PLANT_ICON,"tree")
+ set_trait(TRAIT_IDEAL_LIGHT, 8)
+ set_trait(TRAIT_WATER_CONSUMPTION, 8)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/eggplant.dm b/code/modules/hydroponics/seedtypes/eggplant.dm
new file mode 100644
index 0000000000..c856f0d382
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/eggplant.dm
@@ -0,0 +1,31 @@
+//Eggplants/varieties.
+/datum/seed/eggplant
+ name = "eggplant"
+ seed_name = "eggplant"
+ display_name = "eggplants"
+ kitchen_tag = "eggplant"
+ mutants = list("egg-plant")
+ chems = list("nutriment" = list(1,10))
+
+/datum/seed/eggplant/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_PRODUCT_ICON,"eggplant")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#892694")
+ set_trait(TRAIT_PLANT_ICON,"bush4")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+
+// Return of Eggy. Just makes purple eggs. If the reagents are separated from the egg production by xenobotany or RNG, it's still an Egg plant.
+/datum/seed/eggplant/egg
+ name = "egg-plant"
+ seed_name = "egg-plant"
+ display_name = "egg-plants"
+ kitchen_tag = "egg-plant"
+ mutants = null
+ chems = list("nutriment" = list(1,5), "egg" = list(3,12))
+ has_item_product = /obj/item/weapon/reagent_containers/food/snacks/egg/purple
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/flowers.dm b/code/modules/hydroponics/seedtypes/flowers.dm
new file mode 100644
index 0000000000..2c2ffe13ec
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/flowers.dm
@@ -0,0 +1,108 @@
+//Flowers/varieties
+/datum/seed/flower
+ name = "harebells"
+ seed_name = "harebell"
+ display_name = "harebells"
+ kitchen_tag = "harebell"
+ chems = list("nutriment" = list(1,20))
+
+/datum/seed/flower/New()
+ ..()
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_PRODUCT_ICON,"flower5")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#C492D6")
+ set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
+ set_trait(TRAIT_PLANT_ICON,"flower")
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/flower/poppy
+ name = "poppies"
+ seed_name = "poppy"
+ display_name = "poppies"
+ kitchen_tag = "poppy"
+ chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10))
+
+/datum/seed/flower/poppy/New()
+ ..()
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_PRODUCT_ICON,"flower3")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#B33715")
+ set_trait(TRAIT_PLANT_ICON,"flower3")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/flower/sunflower
+ name = "sunflowers"
+ seed_name = "sunflower"
+ display_name = "sunflowers"
+ kitchen_tag = "sunflower"
+
+/datum/seed/flower/sunflower/New()
+ ..()
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCT_ICON,"flower2")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFF700")
+ set_trait(TRAIT_PLANT_ICON,"flower2")
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/flower/lavender
+ name = "lavender"
+ seed_name = "lavender"
+ display_name = "lavender"
+ kitchen_tag = "lavender"
+ chems = list("nutriment" = list(1,20), "bicaridine" = list(1,10))
+
+/datum/seed/flower/lavender/New()
+ ..()
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_PRODUCT_ICON,"flower6")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#B57EDC")
+ set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
+ set_trait(TRAIT_PLANT_ICON,"flower4")
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.05)
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
+
+/datum/seed/flower/rose
+ name = "rose"
+ seed_name = "rose"
+ display_name = "rose"
+ kitchen_tag = "rose"
+ mutants = list("bloodrose")
+ chems = list("nutriment" = list(1,5), "stoxin" = list(0,2))
+
+/datum/seed/flower/rose/New()
+ ..()
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_PRODUCT_ICON,"flowers")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#ce0e0e")
+ set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
+ set_trait(TRAIT_PLANT_ICON,"bush5")
+ set_trait(TRAIT_IDEAL_LIGHT, 7)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1)
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
+ set_trait(TRAIT_STINGS,1)
+
+/datum/seed/flower/rose/blood
+ name = "bloodrose"
+ display_name = "bleeding rose"
+ mutants = null
+ chems = list("nutriment" = list(1,5), "stoxin" = list(1,5), "blood" = list(0,2))
+
+/datum/seed/flower/rose/blood/New()
+ ..()
+ set_trait(TRAIT_IDEAL_LIGHT, 1)
+ set_trait(TRAIT_PLANT_COLOUR,"#5e0303")
+ set_trait(TRAIT_CARNIVOROUS,1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/gelthi.dm b/code/modules/hydroponics/seedtypes/gelthi.dm
new file mode 100644
index 0000000000..1fa365c875
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/gelthi.dm
@@ -0,0 +1,15 @@
+/datum/seed/gelthi
+ name = "gelthi"
+ seed_name = "gelthi"
+ display_name = "gelthi plant"
+ kitchen_tag = "gelthi"
+ chems = list("stoxin" = list(1,5),"capsaicin" = list(1,5),"nutriment" = list(1,5))
+
+/datum/seed/gelthi/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"mushroom3")
+ set_trait(TRAIT_ENDURANCE,15)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/gnomes.dm b/code/modules/hydroponics/seedtypes/gnomes.dm
new file mode 100644
index 0000000000..2ee0901926
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/gnomes.dm
@@ -0,0 +1,25 @@
+// Gnomes
+/datum/seed/gnomes
+ name = "gnomes"
+ seed_name = "gnomes"
+ display_name = "gnomes"
+ force_layer = 3
+ chems = list("magicdust" = list(5,20))
+
+/datum/seed/gnomes/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_PLANT_ICON,"gnomes")
+ set_trait(TRAIT_PRODUCT_ICON,"gnomes")
+ set_trait(TRAIT_PRODUCT_COLOUR,"")
+ set_trait(TRAIT_FLESH_COLOUR,"")
+ set_trait(TRAIT_PLANT_COLOUR,"")
+ set_trait(TRAIT_BIOLUM_COLOUR,"#fff200")
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_BIOLUM,1)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_SPREAD,1)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_REQUIRES_NUTRIENTS,0)
+ set_trait(TRAIT_REQUIRES_WATER,0)
diff --git a/code/modules/hydroponics/seedtypes/grapes.dm b/code/modules/hydroponics/seedtypes/grapes.dm
new file mode 100644
index 0000000000..e61978e5f0
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/grapes.dm
@@ -0,0 +1,33 @@
+//Grapes/varieties
+/datum/seed/grapes
+ name = "grapes"
+ seed_name = "grape"
+ display_name = "grapevines"
+ kitchen_tag = "grapes"
+ mutants = list("greengrapes")
+ chems = list("nutriment" = list(1,10), "sugar" = list(1,5), "grapejuice" = list(10,10))
+
+/datum/seed/grapes/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"grapes")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#BB6AC4")
+ set_trait(TRAIT_PLANT_COLOUR,"#378F2E")
+ set_trait(TRAIT_PLANT_ICON,"vine")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
+
+/datum/seed/grapes/green
+ name = "greengrapes"
+ seed_name = "green grape"
+ display_name = "green grapevines"
+ mutants = null
+ chems = list("nutriment" = list(1,10), "kelotane" = list(3,5), "grapejuice" = list(10,10))
+
+/datum/seed/grapes/green/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"42ed2f")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/grass.dm b/code/modules/hydroponics/seedtypes/grass.dm
new file mode 100644
index 0000000000..0a94f9707f
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/grass.dm
@@ -0,0 +1,19 @@
+/datum/seed/grass
+ name = "grass"
+ seed_name = "grass"
+ display_name = "grass"
+ kitchen_tag = "grass"
+ chems = list("nutriment" = list(1,20))
+
+/datum/seed/grass/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,2)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_PRODUCT_ICON,"grass")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#09FF00")
+ set_trait(TRAIT_PLANT_COLOUR,"#07D900")
+ set_trait(TRAIT_PLANT_ICON,"grass")
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/jurlmah.dm b/code/modules/hydroponics/seedtypes/jurlmah.dm
new file mode 100644
index 0000000000..61e810b9da
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/jurlmah.dm
@@ -0,0 +1,15 @@
+/datum/seed/jurlmah
+ name = "jurlmah"
+ seed_name = "jurl'mah"
+ display_name = "jurl'mah reeds"
+ kitchen_tag = "jurlmah"
+ chems = list("serotrotium" = list(1,5),"nutriment" = list(1,5))
+
+/datum/seed/jurlmah/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"mushroom9")
+ set_trait(TRAIT_ENDURANCE,12)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,9)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,10)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/kudzu.dm b/code/modules/hydroponics/seedtypes/kudzu.dm
new file mode 100644
index 0000000000..336c205b25
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/kudzu.dm
@@ -0,0 +1,19 @@
+/datum/seed/kudzu
+ name = "kudzu"
+ seed_name = "kudzu"
+ display_name = "kudzu vines"
+ kitchen_tag = "kudzu"
+ chems = list("nutriment" = list(1,50), "anti_toxin" = list(1,25))
+
+/datum/seed/kudzu/New()
+ ..()
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_SPREAD,2)
+ set_trait(TRAIT_PRODUCT_ICON,"treefruit")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#96D278")
+ set_trait(TRAIT_PLANT_COLOUR,"#6F7A63")
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/lettuce.dm b/code/modules/hydroponics/seedtypes/lettuce.dm
new file mode 100644
index 0000000000..ae2830f88a
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/lettuce.dm
@@ -0,0 +1,34 @@
+// Lettuce/varieties.
+/datum/seed/lettuce
+ name = "lettuce"
+ seed_name = "lettuce"
+ display_name = "lettuce"
+ kitchen_tag = "cabbage"
+ chems = list("nutriment" = list(1,15))
+
+/datum/seed/lettuce/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,4)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_POTENCY,8)
+ set_trait(TRAIT_PRODUCT_ICON,"lettuce")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#A8D0A7")
+ set_trait(TRAIT_PLANT_COLOUR,"#6D9C6B")
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 8)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.13)
+
+/datum/seed/lettuce/ice
+ name = "siflettuce"
+ seed_name = "glacial lettuce"
+ display_name = "glacial lettuce"
+ kitchen_tag = "icelettuce"
+ chems = list("nutriment" = list(1,5), "paracetamol" = list(0,2))
+
+/datum/seed/lettuce/ice/New()
+ ..()
+ set_trait(TRAIT_ALTER_TEMP, -5)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#9ABCC9")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/malanitear.dm b/code/modules/hydroponics/seedtypes/malanitear.dm
new file mode 100644
index 0000000000..15b62d23d4
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/malanitear.dm
@@ -0,0 +1,19 @@
+/datum/seed/mtear
+ name = "mtear"
+ seed_name = "Malani's tear"
+ display_name = "Malani's tear leaves"
+ kitchen_tag = "mtear"
+ chems = list("honey" = list(1,10), "kelotane" = list(3,5))
+
+/datum/seed/mtear/New()
+ ..()
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"alien4")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#4CC5C7")
+ set_trait(TRAIT_PLANT_COLOUR,"#4CC789")
+ set_trait(TRAIT_PLANT_ICON,"bush7")
+ set_trait(TRAIT_IDEAL_HEAT, 283)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/mushrooms.dm b/code/modules/hydroponics/seedtypes/mushrooms.dm
new file mode 100644
index 0000000000..ceb6b0a33b
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/mushrooms.dm
@@ -0,0 +1,200 @@
+//Mushrooms/varieties.
+/datum/seed/mushroom
+ name = "mushrooms"
+ seed_name = "chanterelle"
+ seed_noun = "spores"
+ display_name = "chanterelle mushrooms"
+ mutants = list("reishi","amanita","plumphelmet")
+ chems = list("nutriment" = list(1,25))
+ splat_type = /obj/effect/plant
+ kitchen_tag = "mushroom"
+
+/datum/seed/mushroom/New()
+ ..()
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_POTENCY,1)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom4")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#DBDA72")
+ set_trait(TRAIT_PLANT_COLOUR,"#D9C94E")
+ set_trait(TRAIT_PLANT_ICON,"mushroom")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_IDEAL_HEAT, 288)
+ set_trait(TRAIT_LIGHT_TOLERANCE, 6)
+
+/datum/seed/mushroom/mold
+ name = "mold"
+ seed_name = "brown mold"
+ display_name = "brown mold"
+ mutants = null
+
+/datum/seed/mushroom/mold/New()
+ ..()
+ set_trait(TRAIT_SPREAD,1)
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_YIELD,-1)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom5")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#7A5F20")
+ set_trait(TRAIT_PLANT_COLOUR,"#7A5F20")
+ set_trait(TRAIT_PLANT_ICON,"mushroom9")
+
+/datum/seed/mushroom/plump
+ name = "plumphelmet"
+ seed_name = "plump helmet"
+ display_name = "plump helmet mushrooms"
+ mutants = list("walkingmushroom","towercap")
+ chems = list("nutriment" = list(2,10))
+ kitchen_tag = "plumphelmet"
+
+/datum/seed/mushroom/plump/New()
+ ..()
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,0)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom10")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#B57BB0")
+ set_trait(TRAIT_PLANT_COLOUR,"#9E4F9D")
+ set_trait(TRAIT_PLANT_ICON,"mushroom2")
+
+/datum/seed/mushroom/hallucinogenic
+ name = "reishi"
+ seed_name = "reishi"
+ display_name = "reishi"
+ mutants = list("libertycap","glowshroom")
+ chems = list("nutriment" = list(1,50), "psilocybin" = list(3,5))
+
+/datum/seed/mushroom/hallucinogenic/New()
+ ..()
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,15)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom11")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFB70F")
+ set_trait(TRAIT_PLANT_COLOUR,"#F58A18")
+ set_trait(TRAIT_PLANT_ICON,"mushroom6")
+
+/datum/seed/mushroom/hallucinogenic/strong
+ name = "libertycap"
+ seed_name = "liberty cap"
+ display_name = "liberty cap mushrooms"
+ mutants = null
+ chems = list("nutriment" = list(1), "stoxin" = list(3,3), "space_drugs" = list(1,25))
+
+/datum/seed/mushroom/hallucinogenic/strong/New()
+ ..()
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_POTENCY,15)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom8")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#F2E550")
+ set_trait(TRAIT_PLANT_COLOUR,"#D1CA82")
+ set_trait(TRAIT_PLANT_ICON,"mushroom3")
+
+/datum/seed/mushroom/poison
+ name = "amanita"
+ seed_name = "fly amanita"
+ display_name = "fly amanita mushrooms"
+ mutants = list("destroyingangel","plastic")
+ chems = list("nutriment" = list(1), "amatoxin" = list(3,3), "psilocybin" = list(1,25))
+
+/datum/seed/mushroom/poison/New()
+ ..()
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FF4545")
+ set_trait(TRAIT_PLANT_COLOUR,"#E0DDBA")
+ set_trait(TRAIT_PLANT_ICON,"mushroom4")
+
+/datum/seed/mushroom/poison/death
+ name = "destroyingangel"
+ seed_name = "destroying angel"
+ display_name = "destroying angel mushrooms"
+ mutants = null
+ chems = list("nutriment" = list(1,50), "amatoxin" = list(13,3), "psilocybin" = list(1,25))
+
+/datum/seed/mushroom/poison/death/New()
+ ..()
+ set_trait(TRAIT_MATURATION,12)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,35)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom3")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#EDE8EA")
+ set_trait(TRAIT_PLANT_COLOUR,"#E6D8DD")
+ set_trait(TRAIT_PLANT_ICON,"mushroom5")
+
+/datum/seed/mushroom/towercap
+ name = "towercap"
+ seed_name = "tower cap"
+ display_name = "tower caps"
+ chems = list("woodpulp" = list(10,1))
+ mutants = null
+ has_item_product = /obj/item/stack/material/log
+
+/datum/seed/mushroom/towercap/New()
+ ..()
+ set_trait(TRAIT_MATURATION,15)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom7")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#79A36D")
+ set_trait(TRAIT_PLANT_COLOUR,"#857F41")
+ set_trait(TRAIT_PLANT_ICON,"mushroom8")
+
+/datum/seed/mushroom/glowshroom
+ name = "glowshroom"
+ seed_name = "glowshroom"
+ display_name = "glowshrooms"
+ mutants = null
+ chems = list("radium" = list(1,20))
+
+/datum/seed/mushroom/glowshroom/New()
+ ..()
+ set_trait(TRAIT_SPREAD,1)
+ set_trait(TRAIT_MATURATION,15)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,30)
+ set_trait(TRAIT_BIOLUM,1)
+ set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom2")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#DDFAB6")
+ set_trait(TRAIT_PLANT_COLOUR,"#EFFF8A")
+ set_trait(TRAIT_PLANT_ICON,"mushroom7")
+
+/datum/seed/mushroom/plastic
+ name = "plastic"
+ seed_name = "plastellium"
+ display_name = "plastellium"
+ mutants = null
+ chems = list("plasticide" = list(1,10))
+
+/datum/seed/mushroom/plastic/New()
+ ..()
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom6")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#E6E6E6")
+ set_trait(TRAIT_PLANT_COLOUR,"#E6E6E6")
+ set_trait(TRAIT_PLANT_ICON,"mushroom10")
+
+/datum/seed/mushroom/spore
+ name = "sporeshroom"
+ seed_name = "corpellian"
+ display_name = "corpellian"
+ mutants = null
+ chems = list("serotrotium" = list(5,10), "mold" = list(1,10))
+
+/datum/seed/mushroom/spore/New()
+ ..()
+ set_trait(TRAIT_MATURATION,15)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,20)
+ set_trait(TRAIT_PRODUCT_ICON,"mushroom5")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#e29cd2")
+ set_trait(TRAIT_PLANT_COLOUR,"#f8e6f4")
+ set_trait(TRAIT_PLANT_ICON,"mushroom9")
+ set_trait(TRAIT_SPORING, TRUE)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/nettles.dm b/code/modules/hydroponics/seedtypes/nettles.dm
new file mode 100644
index 0000000000..5a1073c6fc
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/nettles.dm
@@ -0,0 +1,35 @@
+// Nettles/variants.
+/datum/seed/nettle
+ name = "nettle"
+ seed_name = "nettle"
+ display_name = "nettles"
+ mutants = list("deathnettle")
+ chems = list("nutriment" = list(1,50), "sacid" = list(0,1))
+ kitchen_tag = "nettle"
+
+/datum/seed/nettle/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_STINGS,1)
+ set_trait(TRAIT_PLANT_ICON,"bush5")
+ set_trait(TRAIT_PRODUCT_ICON,"nettles")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#728A54")
+
+/datum/seed/nettle/death
+ name = "deathnettle"
+ seed_name = "death nettle"
+ display_name = "death nettles"
+ kitchen_tag = "deathnettle"
+ mutants = null
+ chems = list("nutriment" = list(1,50), "pacid" = list(0,1))
+
+/datum/seed/nettle/death/New()
+ ..()
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#8C5030")
+ set_trait(TRAIT_PLANT_COLOUR,"#634941")
diff --git a/code/modules/hydroponics/seedtypes/onion.dm b/code/modules/hydroponics/seedtypes/onion.dm
new file mode 100644
index 0000000000..2123ad2b38
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/onion.dm
@@ -0,0 +1,17 @@
+/datum/seed/onion
+ name = "onion"
+ seed_name = "onion"
+ display_name = "onions"
+ kitchen_tag = "onion"
+ chems = list("nutriment" = list(1,10))
+
+/datum/seed/onion/New()
+ ..()
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"onion")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#E0C367")
+ set_trait(TRAIT_PLANT_ICON,"carrot")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/peanuts.dm b/code/modules/hydroponics/seedtypes/peanuts.dm
new file mode 100644
index 0000000000..cc710d25ca
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/peanuts.dm
@@ -0,0 +1,19 @@
+//Everything else
+/datum/seed/peanuts
+ name = "peanut"
+ seed_name = "peanut"
+ display_name = "peanut vines"
+ kitchen_tag = "peanut"
+ chems = list("nutriment" = list(1,10), "peanutoil" = list(3,10))
+
+/datum/seed/peanuts/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"nuts")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#C4AE7A")
+ set_trait(TRAIT_PLANT_ICON,"bush2")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/potato.dm b/code/modules/hydroponics/seedtypes/potato.dm
new file mode 100644
index 0000000000..8aad55afc6
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/potato.dm
@@ -0,0 +1,18 @@
+/datum/seed/potato
+ name = "potato"
+ seed_name = "potato"
+ display_name = "potatoes"
+ kitchen_tag = "potato"
+ chems = list("nutriment" = list(1,10), "potatojuice" = list(10,10))
+
+/datum/seed/potato/New()
+ ..()
+ set_trait(TRAIT_PRODUCES_POWER,1)
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"potato")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#D4CAB4")
+ set_trait(TRAIT_PLANT_ICON,"bush2")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/pumpkin.dm b/code/modules/hydroponics/seedtypes/pumpkin.dm
new file mode 100644
index 0000000000..916d44e58b
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/pumpkin.dm
@@ -0,0 +1,19 @@
+/datum/seed/pumpkin
+ name = "pumpkin"
+ seed_name = "pumpkin"
+ display_name = "pumpkin vine"
+ kitchen_tag = "pumpkin"
+ chems = list("nutriment" = list(1,6))
+
+/datum/seed/pumpkin/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"vine2")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#DBAC02")
+ set_trait(TRAIT_PLANT_COLOUR,"#21661E")
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/rhubarb.dm b/code/modules/hydroponics/seedtypes/rhubarb.dm
new file mode 100644
index 0000000000..f3ee13ce41
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/rhubarb.dm
@@ -0,0 +1,17 @@
+/datum/seed/rhubarb
+ name = "rhubarb"
+ seed_name = "rhubarb"
+ display_name = "rhubarb"
+ kitchen_tag = "rhubarb"
+ chems = list("nutriment" = list(1,15))
+
+/datum/seed/rhubarb/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,5)
+ set_trait(TRAIT_POTENCY,6)
+ set_trait(TRAIT_PRODUCT_ICON,"stalk")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FD5656")
+ set_trait(TRAIT_PLANT_ICON,"stalk3")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/rice.dm b/code/modules/hydroponics/seedtypes/rice.dm
new file mode 100644
index 0000000000..413c43b9fc
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/rice.dm
@@ -0,0 +1,19 @@
+/datum/seed/rice
+ name = "rice"
+ seed_name = "rice"
+ display_name = "rice stalks"
+ kitchen_tag = "rice"
+ chems = list("nutriment" = list(1,25), "rice" = list(10,15))
+
+/datum/seed/rice/New()
+ ..()
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,5)
+ set_trait(TRAIT_PRODUCT_ICON,"rice")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#D5E6D1")
+ set_trait(TRAIT_PLANT_COLOUR,"#8ED17D")
+ set_trait(TRAIT_PLANT_ICON,"stalk2")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/selemhand.dm b/code/modules/hydroponics/seedtypes/selemhand.dm
new file mode 100644
index 0000000000..5b49728c61
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/selemhand.dm
@@ -0,0 +1,19 @@
+/datum/seed/shand
+ name = "shand"
+ seed_name = "Selem's hand"
+ display_name = "Selem's hand leaves"
+ kitchen_tag = "shand"
+ chems = list("bicaridine" = list(0,10))
+
+/datum/seed/shand/New()
+ ..()
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"alien3")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#378C61")
+ set_trait(TRAIT_PLANT_COLOUR,"#378C61")
+ set_trait(TRAIT_PLANT_ICON,"tree5")
+ set_trait(TRAIT_IDEAL_HEAT, 283)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/soybean.dm b/code/modules/hydroponics/seedtypes/soybean.dm
new file mode 100644
index 0000000000..22329be263
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/soybean.dm
@@ -0,0 +1,17 @@
+/datum/seed/soybean
+ name = "soybean"
+ seed_name = "soybean"
+ display_name = "soybeans"
+ kitchen_tag = "soybeans"
+ chems = list("nutriment" = list(1,20), "soymilk" = list(10,20))
+
+/datum/seed/soybean/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,4)
+ set_trait(TRAIT_PRODUCTION,4)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,5)
+ set_trait(TRAIT_PRODUCT_ICON,"bean")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#EBE7C0")
+ set_trait(TRAIT_PLANT_ICON,"stalk")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/spineapple.dm b/code/modules/hydroponics/seedtypes/spineapple.dm
new file mode 100644
index 0000000000..b8ff58f597
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/spineapple.dm
@@ -0,0 +1,22 @@
+/datum/seed/spineapple
+ name = "spineapple"
+ seed_name = "spineapple"
+ display_name = "spineapple"
+ kitchen_tag = "pineapple"
+ chems = list("nutriment" = list(1,5), "enzyme" = list(1,5), "pineapplejuice" = list(1, 20))
+
+/datum/seed/spineapple/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,10)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,1)
+ set_trait(TRAIT_POTENCY,13)
+ set_trait(TRAIT_PRODUCT_ICON,"pineapple")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FFF23B")
+ set_trait(TRAIT_PLANT_COLOUR,"#87C969")
+ set_trait(TRAIT_PLANT_ICON,"corn")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 4)
+ set_trait(TRAIT_WATER_CONSUMPTION, 8)
+ set_trait(TRAIT_STINGS,1)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/sugarcane.dm b/code/modules/hydroponics/seedtypes/sugarcane.dm
new file mode 100644
index 0000000000..c670500a1d
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/sugarcane.dm
@@ -0,0 +1,19 @@
+/datum/seed/sugarcane
+ name = "sugarcane"
+ seed_name = "sugarcane"
+ display_name = "sugarcanes"
+ kitchen_tag = "sugarcanes"
+ chems = list("sugar" = list(4,5))
+
+/datum/seed/sugarcane/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,3)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"stalk")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#B4D6BD")
+ set_trait(TRAIT_PLANT_COLOUR,"#6BBD68")
+ set_trait(TRAIT_PLANT_ICON,"stalk3")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/surik.dm b/code/modules/hydroponics/seedtypes/surik.dm
new file mode 100644
index 0000000000..8ea521995c
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/surik.dm
@@ -0,0 +1,15 @@
+/datum/seed/surik
+ name = "surik"
+ seed_name = "surik"
+ display_name = "surik vine"
+ kitchen_tag = "surik"
+ chems = list("impedrezene" = list(1,3),"synaptizine" = list(1,2),"nutriment" = list(1,5))
+
+/datum/seed/surik/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"bush6")
+ set_trait(TRAIT_ENDURANCE,18)
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,7)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,3)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/telriis.dm b/code/modules/hydroponics/seedtypes/telriis.dm
new file mode 100644
index 0000000000..47c577b787
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/telriis.dm
@@ -0,0 +1,16 @@
+/datum/seed/telriis
+ name = "telriis"
+ seed_name = "telriis"
+ display_name = "telriis grass"
+ kitchen_tag = "telriis"
+ chems = list("pwine" = list(1,5), "nutriment" = list(1,6))
+
+/datum/seed/telriis/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"ambrosia")
+ set_trait(TRAIT_PRODUCT_ICON,"ambrosia")
+ set_trait(TRAIT_ENDURANCE,50)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,5)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/thaadra.dm b/code/modules/hydroponics/seedtypes/thaadra.dm
new file mode 100644
index 0000000000..209b495c82
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/thaadra.dm
@@ -0,0 +1,16 @@
+/datum/seed/thaadra
+ name = "thaadra"
+ seed_name = "thaa'dra"
+ display_name = "thaa'dra lichen"
+ kitchen_tag = "thaadra"
+ chems = list("frostoil" = list(1,5),"nutriment" = list(1,5))
+
+/datum/seed/thaadra/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"grass")
+ set_trait(TRAIT_PLANT_COLOUR,"#ABC7D2")
+ set_trait(TRAIT_ENDURANCE,10)
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,9)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,5)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/tomatoes.dm b/code/modules/hydroponics/seedtypes/tomatoes.dm
new file mode 100644
index 0000000000..3454d69952
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/tomatoes.dm
@@ -0,0 +1,75 @@
+//Tomatoes/variants.
+/datum/seed/tomato
+ name = "tomato"
+ seed_name = "tomato"
+ display_name = "tomato plant"
+ mutants = list("bluetomato","bloodtomato")
+ chems = list("nutriment" = list(1,10), "tomatojuice" = list(10,10))
+ kitchen_tag = "tomato"
+
+/datum/seed/tomato/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_JUICY,1)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"tomato")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#D10000")
+ set_trait(TRAIT_PLANT_ICON,"bush3")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
+
+/datum/seed/tomato/blood
+ name = "bloodtomato"
+ seed_name = "blood tomato"
+ display_name = "blood tomato plant"
+ mutants = list("killertomato")
+ chems = list("nutriment" = list(1,10), "blood" = list(1,5))
+ splat_type = /obj/effect/decal/cleanable/blood/splatter
+
+/datum/seed/tomato/blood/New()
+ ..()
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000")
+
+/datum/seed/tomato/killer
+ name = "killertomato"
+ seed_name = "killer tomato"
+ display_name = "killer tomato plant"
+ mutants = null
+ can_self_harvest = 1
+ has_mob_product = /mob/living/simple_mob/tomato
+
+/datum/seed/tomato/killer/New()
+ ..()
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#A86747")
+
+/datum/seed/tomato/blue
+ name = "bluetomato"
+ seed_name = "blue tomato"
+ display_name = "blue tomato plant"
+ mutants = list("bluespacetomato")
+ chems = list("nutriment" = list(1,20), "lube" = list(1,5))
+
+/datum/seed/tomato/blue/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#4D86E8")
+ set_trait(TRAIT_PLANT_COLOUR,"#070AAD")
+
+/datum/seed/tomato/blue/teleport
+ name = "bluespacetomato"
+ seed_name = "bluespace tomato"
+ display_name = "bluespace tomato plant"
+ mutants = null
+ chems = list("nutriment" = list(1,20), "singulo" = list(10,5))
+
+/datum/seed/tomato/blue/teleport/New()
+ ..()
+ set_trait(TRAIT_TELEPORTING,1)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#00E5FF")
+ set_trait(TRAIT_BIOLUM,1)
+ set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/vale.dm b/code/modules/hydroponics/seedtypes/vale.dm
new file mode 100644
index 0000000000..166fafcf97
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/vale.dm
@@ -0,0 +1,15 @@
+/datum/seed/vale
+ name = "vale"
+ seed_name = "vale"
+ display_name = "vale bush"
+ kitchen_tag = "vale"
+ chems = list("paracetamol" = list(1,5),"dexalin" = list(1,2),"nutriment"= list(1,5))
+
+/datum/seed/vale/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"flower4")
+ set_trait(TRAIT_ENDURANCE,15)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,10)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,3)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/vanilla.dm b/code/modules/hydroponics/seedtypes/vanilla.dm
new file mode 100644
index 0000000000..a2bc5c8dcf
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/vanilla.dm
@@ -0,0 +1,19 @@
+/datum/seed/vanilla
+ name = "vanilla"
+ seed_name = "vanilla"
+ display_name = "vanilla"
+ kitchen_tag = "vanilla"
+ chems = list("nutriment" = list(1,10), "vanilla" = list(2,8), "sugar" = list(1, 4))
+
+/datum/seed/vanilla/New()
+ ..()
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,5)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_PRODUCT_ICON,"chili")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#B57EDC")
+ set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E")
+ set_trait(TRAIT_PLANT_ICON,"bush5")
+ set_trait(TRAIT_IDEAL_LIGHT, 8)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.3)
+ set_trait(TRAIT_WATER_CONSUMPTION, 0.5)
diff --git a/code/modules/hydroponics/seedtypes/wabback.dm b/code/modules/hydroponics/seedtypes/wabback.dm
new file mode 100644
index 0000000000..8c1e9411f0
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/wabback.dm
@@ -0,0 +1,54 @@
+//Wabback / varieties.
+/datum/seed/wabback
+ name = "whitewabback"
+ seed_name = "white wabback"
+ seed_noun = "nodes"
+ display_name = "white wabback"
+ chems = list("nutriment" = list(1,10), "protein" = list(1,5), "enzyme" = list(0,3))
+ kitchen_tag = "wabback"
+ mutants = list("blackwabback","wildwabback")
+ has_item_product = /obj/item/stack/material/cloth
+
+/datum/seed/wabback/New()
+ ..()
+ set_trait(TRAIT_IDEAL_LIGHT, 5)
+ set_trait(TRAIT_MATURATION,8)
+ set_trait(TRAIT_PRODUCTION,3)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,5)
+ set_trait(TRAIT_PRODUCT_ICON,"carrot2")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#E6EDFA")
+ set_trait(TRAIT_PLANT_ICON,"chute")
+ set_trait(TRAIT_PLANT_COLOUR, "#0650ce")
+ set_trait(TRAIT_WATER_CONSUMPTION, 10)
+ set_trait(TRAIT_ALTER_TEMP, -1)
+ set_trait(TRAIT_CARNIVOROUS,1)
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_SPREAD,1)
+
+/datum/seed/wabback/vine
+ name = "blackwabback"
+ seed_name = "black wabback"
+ display_name = "black wabback"
+ mutants = null
+ chems = list("nutriment" = list(1,3), "protein" = list(1,10), "serotrotium_v" = list(0,1))
+
+/datum/seed/wabback/vine/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_COLOUR,"#2E2F32")
+ set_trait(TRAIT_CARNIVOROUS,2)
+
+/datum/seed/wabback/wild
+ name = "wildwabback"
+ seed_name = "wild wabback"
+ display_name = "wild wabback"
+ mutants = list("whitewabback")
+ has_item_product = null
+ chems = list("nutriment" = list(1,15), "protein" = list(0,2), "enzyme" = list(0,1))
+
+/datum/seed/wabback/wild/New()
+ ..()
+ set_trait(TRAIT_IDEAL_LIGHT, 3)
+ set_trait(TRAIT_WATER_CONSUMPTION, 7)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.1)
+ set_trait(TRAIT_YIELD,5)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/watermelon.dm b/code/modules/hydroponics/seedtypes/watermelon.dm
new file mode 100644
index 0000000000..79ae157295
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/watermelon.dm
@@ -0,0 +1,23 @@
+/datum/seed/watermelon
+ name = "watermelon"
+ seed_name = "watermelon"
+ display_name = "watermelon vine"
+ kitchen_tag = "watermelon"
+ chems = list("nutriment" = list(1,6), "watermelonjuice" = list(10,6))
+
+/datum/seed/watermelon/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_JUICY,1)
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,3)
+ set_trait(TRAIT_POTENCY,1)
+ set_trait(TRAIT_PRODUCT_ICON,"vine")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#3D8C3A")
+ set_trait(TRAIT_PLANT_COLOUR,"#257522")
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_FLESH_COLOUR,"#F22C2C")
+ set_trait(TRAIT_IDEAL_HEAT, 298)
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/weeds.dm b/code/modules/hydroponics/seedtypes/weeds.dm
new file mode 100644
index 0000000000..9a867174b8
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/weeds.dm
@@ -0,0 +1,16 @@
+/datum/seed/weeds
+ name = "weeds"
+ seed_name = "weed"
+ display_name = "weeds"
+
+/datum/seed/weeds/New()
+ ..()
+ set_trait(TRAIT_MATURATION,5)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,-1)
+ set_trait(TRAIT_POTENCY,-1)
+ set_trait(TRAIT_IMMUTABLE,-1)
+ set_trait(TRAIT_PRODUCT_ICON,"flower4")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#FCEB2B")
+ set_trait(TRAIT_PLANT_COLOUR,"#59945A")
+ set_trait(TRAIT_PLANT_ICON,"bush6")
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/wheat.dm b/code/modules/hydroponics/seedtypes/wheat.dm
new file mode 100644
index 0000000000..a657490c15
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/wheat.dm
@@ -0,0 +1,19 @@
+/datum/seed/wheat
+ name = "wheat"
+ seed_name = "wheat"
+ display_name = "wheat stalks"
+ kitchen_tag = "wheat"
+ chems = list("nutriment" = list(1,25), "flour" = list(10,30))
+
+/datum/seed/wheat/New()
+ ..()
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,4)
+ set_trait(TRAIT_POTENCY,5)
+ set_trait(TRAIT_PRODUCT_ICON,"wheat")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#DBD37D")
+ set_trait(TRAIT_PLANT_COLOUR,"#BFAF82")
+ set_trait(TRAIT_PLANT_ICON,"stalk2")
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/whitebeets.dm b/code/modules/hydroponics/seedtypes/whitebeets.dm
new file mode 100644
index 0000000000..3534fcc7ff
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/whitebeets.dm
@@ -0,0 +1,18 @@
+/datum/seed/whitebeets
+ name = "whitebeet"
+ seed_name = "white-beet"
+ display_name = "white-beets"
+ kitchen_tag = "whitebeet"
+ chems = list("nutriment" = list(0,20), "sugar" = list(1,5))
+
+/datum/seed/whitebeets/New()
+ ..()
+ set_trait(TRAIT_MATURATION,6)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,6)
+ set_trait(TRAIT_POTENCY,10)
+ set_trait(TRAIT_PRODUCT_ICON,"carrot2")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#EEF5B0")
+ set_trait(TRAIT_PLANT_COLOUR,"#4D8F53")
+ set_trait(TRAIT_PLANT_ICON,"carrot2")
+ set_trait(TRAIT_WATER_CONSUMPTION, 6)
\ No newline at end of file
diff --git a/code/modules/hydroponics/seedtypes/wurmwoad.dm b/code/modules/hydroponics/seedtypes/wurmwoad.dm
new file mode 100644
index 0000000000..bb4df620a2
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/wurmwoad.dm
@@ -0,0 +1,23 @@
+// Wurmwoad, the Space Spice maker. Totally is actually, 100% literal worms.
+
+/datum/seed/wurmwoad
+ name = "wurmwoad"
+ seed_name = "wurmwoad"
+ display_name = "wurmwoad growth"
+ chems = list("nutriment" = list(1,10), "spacespice" = list(5,15))
+ kitchen_tag = "wurmwoad"
+
+/datum/seed/wurmwoad/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT,1)
+ set_trait(TRAIT_MATURATION,7)
+ set_trait(TRAIT_PRODUCTION,6)
+ set_trait(TRAIT_YIELD,2)
+ set_trait(TRAIT_POTENCY,8)
+ set_trait(TRAIT_PRODUCT_ICON,"eyepod")
+ set_trait(TRAIT_PRODUCT_COLOUR,"#e08702")
+ set_trait(TRAIT_PLANT_COLOUR,"#f1d1d2")
+ set_trait(TRAIT_PLANT_ICON,"worm")
+ set_trait(TRAIT_IDEAL_LIGHT, 1)
+ set_trait(TRAIT_WATER_CONSUMPTION, 8)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
diff --git a/code/modules/hydroponics/seedtypes/xeno.dm b/code/modules/hydroponics/seedtypes/xeno.dm
new file mode 100644
index 0000000000..2b1acd76b0
--- /dev/null
+++ b/code/modules/hydroponics/seedtypes/xeno.dm
@@ -0,0 +1,19 @@
+// Alien weeds.
+/datum/seed/xenomorph
+ name = "xenomorph"
+ seed_name = "alien weed"
+ display_name = "alien weeds"
+ force_layer = 3
+ chems = list("phoron" = list(1,3))
+
+/datum/seed/xenomorph/New()
+ ..()
+ set_trait(TRAIT_PLANT_ICON,"vine2")
+ set_trait(TRAIT_IMMUTABLE,1)
+ set_trait(TRAIT_PRODUCT_COLOUR,"#3D1934")
+ set_trait(TRAIT_FLESH_COLOUR,"#3D1934")
+ set_trait(TRAIT_PLANT_COLOUR,"#3D1934")
+ set_trait(TRAIT_PRODUCTION,1)
+ set_trait(TRAIT_YIELD,-1)
+ set_trait(TRAIT_SPREAD,2)
+ set_trait(TRAIT_POTENCY,50)
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
index b15c84e9a9..ff84956aab 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -588,7 +588,7 @@
//SYNNONO MEME FOODS EXPANSION - Credit to Synnono
/datum/reagent/spacespice
- name = "Space Spice"
+ name = "Wurmwoad"
id = "spacespice"
description = "An exotic blend of spices for cooking. Definitely not worms."
reagent_state = SOLID
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 9adb2558b9..cfac2582e7 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -2674,4 +2674,4 @@
id = "browniemix"
result = "browniemix"
required_reagents = list("flour" = 5, "coco" = 5, "sugar" = 5)
- result_amount = 15
\ No newline at end of file
+ result_amount = 15
diff --git a/code/modules/reagents/reagent_containers/borghypo.dm b/code/modules/reagents/reagent_containers/borghypo.dm
index d8afdf4631..813a79431d 100644
--- a/code/modules/reagents/reagent_containers/borghypo.dm
+++ b/code/modules/reagents/reagent_containers/borghypo.dm
@@ -1,159 +1,200 @@
-/obj/item/weapon/reagent_containers/borghypo
- name = "cyborg hypospray"
- desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment."
- icon = 'icons/obj/syringe.dmi'
- item_state = "hypo"
- icon_state = "borghypo"
- amount_per_transfer_from_this = 5
- volume = 30
- possible_transfer_amounts = null
-
- var/mode = 1
- var/charge_cost = 50
- var/charge_tick = 0
- var/recharge_time = 5 //Time it takes for shots to recharge (in seconds)
- var/bypass_protection = FALSE // If true, can inject through things like spacesuits and armor.
-
- var/list/reagent_ids = list("tricordrazine", "inaprovaline", "anti_toxin", "tramadol", "dexalin" ,"spaceacillin")
- var/list/reagent_volumes = list()
- var/list/reagent_names = list()
-
-/obj/item/weapon/reagent_containers/borghypo/surgeon
- reagent_ids = list("tricordrazine", "inaprovaline", "oxycodone", "dexalin" ,"spaceacillin")
-
-/obj/item/weapon/reagent_containers/borghypo/crisis
- reagent_ids = list("tricordrazine", "inaprovaline", "anti_toxin", "tramadol", "dexalin" ,"spaceacillin")
-
-/obj/item/weapon/reagent_containers/borghypo/lost
- reagent_ids = list("tricordrazine", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin")
-
-/obj/item/weapon/reagent_containers/borghypo/merc
- name = "advanced cyborg hypospray"
- desc = "An advanced nanite and chemical synthesizer and injection system, designed for heavy-duty medical equipment. This type is capable of safely bypassing \
- thick materials that other hyposprays would struggle with."
- bypass_protection = TRUE // Because mercs tend to be in spacesuits.
- reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood")
-
-/obj/item/weapon/reagent_containers/borghypo/Initialize()
- . = ..()
-
- for(var/T in reagent_ids)
- reagent_volumes[T] = volume
- var/datum/reagent/R = SSchemistry.chemical_reagents[T]
- reagent_names += R.name
-
- START_PROCESSING(SSobj, src)
-
-/obj/item/weapon/reagent_containers/borghypo/Destroy()
- STOP_PROCESSING(SSobj, src)
- return ..()
-
-/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+
- if(++charge_tick < recharge_time)
- return 0
- charge_tick = 0
-
- if(isrobot(loc))
- var/mob/living/silicon/robot/R = loc
- if(R && R.cell)
- for(var/T in reagent_ids)
- if(reagent_volumes[T] < volume)
- R.cell.use(charge_cost)
- reagent_volumes[T] = min(reagent_volumes[T] + 5, volume)
- return 1
-
-/obj/item/weapon/reagent_containers/borghypo/attack(var/mob/living/M, var/mob/user)
- if(!istype(M))
- return
-
- if(!reagent_volumes[reagent_ids[mode]])
- to_chat(user, "The injector is empty.")
- return
-
- var/mob/living/carbon/human/H = M
- if(istype(H))
- var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
- if(!affected)
- to_chat(user, "\The [H] is missing that limb!")
- return
- /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity.
- else if(affected.robotic >= ORGAN_ROBOT)
- to_chat(user, "You cannot inject a robotic limb.")
- return
- */
-
- if(M.can_inject(user, 1, ignore_thickness = bypass_protection))
- to_chat(user, "You inject [M] with the injector.")
- to_chat(M, "You feel a tiny prick!")
-
- if(M.reagents)
- var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
- M.reagents.add_reagent(reagent_ids[mode], t)
- reagent_volumes[reagent_ids[mode]] -= t
- add_attack_logs(user, M, "Borg injected with [reagent_ids[mode]]")
- to_chat(user, "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining.")
- return
-
-/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode
- var/t = ""
- for(var/i = 1 to reagent_ids.len)
- if(t)
- t += ", "
- if(mode == i)
- t += "[reagent_names[i]]"
- else
- t += "[reagent_names[i]]"
- t = "Available reagents: [t]."
- to_chat(user,t)
-
- return
-
-/obj/item/weapon/reagent_containers/borghypo/Topic(var/href, var/list/href_list)
- if(href_list["reagent"])
- var/t = reagent_ids.Find(href_list["reagent"])
- if(t)
- playsound(src, 'sound/effects/pop.ogg', 50, 0)
- mode = t
- var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
- to_chat(usr, "Synthesizer is now producing '[R.name]'.")
-
-/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
- . = ..()
- if(get_dist(user, src) <= 2)
- var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
- . += "It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left."
-
-/obj/item/weapon/reagent_containers/borghypo/service
- name = "cyborg drink synthesizer"
- desc = "A portable drink dispencer."
- icon = 'icons/obj/drinks.dmi'
- icon_state = "shaker"
- charge_cost = 20
- recharge_time = 3
- volume = 60
- possible_transfer_amounts = list(5, 10, 20, 30)
- reagent_ids = list("ale", "cider", "beer", "berryjuice", "bitters", "coffee", "cognac", "cola", "dr_gibb", "egg", "gin", "gingerale", "hot_coco", "ice", "icetea", "kahlua", "lemonjuice", "lemon_lime", "limejuice", "mead", "milk", "mint", "orangejuice", "rum", "sake", "sodawater", "soymilk", "space_up", "spacemountainwind", "specialwhiskey", "sugar", "tea", "tequilla", "tomatojuice", "tonic", "vermouth", "vodka", "water", "watermelonjuice", "whiskey", "wine")
-
-/obj/item/weapon/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user)
- return
-
-/obj/item/weapon/reagent_containers/borghypo/service/afterattack(var/obj/target, var/mob/user, var/proximity)
- if(!proximity)
- return
-
- if(!target.is_open_container() || !target.reagents)
- return
-
- if(!reagent_volumes[reagent_ids[mode]])
- to_chat(user, "[src] is out of this reagent, give it some time to refill.")
- return
-
- if(!target.reagents.get_free_space())
- to_chat(user, "[target] is full.")
- return
-
- var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
- target.reagents.add_reagent(reagent_ids[mode], t)
- reagent_volumes[reagent_ids[mode]] -= t
- to_chat(user, "You transfer [t] units of the solution to [target].")
- return
+/obj/item/weapon/reagent_containers/borghypo
+ name = "cyborg hypospray"
+ desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment."
+ icon = 'icons/obj/syringe.dmi'
+ item_state = "hypo"
+ icon_state = "borghypo"
+ amount_per_transfer_from_this = 5
+ volume = 30
+ possible_transfer_amounts = null
+
+ var/mode = 1
+ var/charge_cost = 50
+ var/charge_tick = 0
+ var/recharge_time = 5 //Time it takes for shots to recharge (in seconds)
+ var/bypass_protection = FALSE // If true, can inject through things like spacesuits and armor.
+
+ var/list/reagent_ids = list("tricordrazine", "inaprovaline", "anti_toxin", "tramadol", "dexalin" ,"spaceacillin")
+ var/list/reagent_volumes = list()
+ var/list/reagent_names = list()
+
+/obj/item/weapon/reagent_containers/borghypo/surgeon
+ reagent_ids = list("tricordrazine", "inaprovaline", "oxycodone", "dexalin" ,"spaceacillin")
+
+/obj/item/weapon/reagent_containers/borghypo/crisis
+ reagent_ids = list("tricordrazine", "inaprovaline", "anti_toxin", "tramadol", "dexalin" ,"spaceacillin")
+
+/obj/item/weapon/reagent_containers/borghypo/lost
+ reagent_ids = list("tricordrazine", "bicaridine", "dexalin", "anti_toxin", "tramadol", "spaceacillin")
+
+/obj/item/weapon/reagent_containers/borghypo/merc
+ name = "advanced cyborg hypospray"
+ desc = "An advanced nanite and chemical synthesizer and injection system, designed for heavy-duty medical equipment. This type is capable of safely bypassing \
+ thick materials that other hyposprays would struggle with."
+ bypass_protection = TRUE // Because mercs tend to be in spacesuits.
+ reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood")
+
+/obj/item/weapon/reagent_containers/borghypo/Initialize()
+ . = ..()
+
+ for(var/T in reagent_ids)
+ reagent_volumes[T] = volume
+ var/datum/reagent/R = SSchemistry.chemical_reagents[T]
+ reagent_names += R.name
+
+ START_PROCESSING(SSobj, src)
+
+/obj/item/weapon/reagent_containers/borghypo/Destroy()
+ STOP_PROCESSING(SSobj, src)
+ return ..()
+
+/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+
+ if(++charge_tick < recharge_time)
+ return 0
+ charge_tick = 0
+
+ if(isrobot(loc))
+ var/mob/living/silicon/robot/R = loc
+ if(R && R.cell)
+ for(var/T in reagent_ids)
+ if(reagent_volumes[T] < volume)
+ R.cell.use(charge_cost)
+ reagent_volumes[T] = min(reagent_volumes[T] + 5, volume)
+ return 1
+
+/obj/item/weapon/reagent_containers/borghypo/attack(var/mob/living/M, var/mob/user)
+ if(!istype(M))
+ return
+
+ if(!reagent_volumes[reagent_ids[mode]])
+ to_chat(user, "The injector is empty.")
+ return
+
+ var/mob/living/carbon/human/H = M
+ if(istype(H))
+ var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
+ if(!affected)
+ to_chat(user, "\The [H] is missing that limb!")
+ return
+ /* since synths have oil/coolant streams now, it only makes sense that you should be able to inject stuff. preserved for posterity.
+ else if(affected.robotic >= ORGAN_ROBOT)
+ to_chat(user, "You cannot inject a robotic limb.")
+ return
+ */
+
+ if(M.can_inject(user, 1, ignore_thickness = bypass_protection))
+ to_chat(user, "You inject [M] with the injector.")
+ to_chat(M, "You feel a tiny prick!")
+
+ if(M.reagents)
+ var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
+ M.reagents.add_reagent(reagent_ids[mode], t)
+ reagent_volumes[reagent_ids[mode]] -= t
+ add_attack_logs(user, M, "Borg injected with [reagent_ids[mode]]")
+ to_chat(user, "[t] units injected. [reagent_volumes[reagent_ids[mode]]] units remaining.")
+ return
+
+/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user as mob) //Change the mode
+ var/t = ""
+ for(var/i = 1 to reagent_ids.len)
+ if(t)
+ t += ", "
+ if(mode == i)
+ t += "[reagent_names[i]]"
+ else
+ t += "[reagent_names[i]]"
+ t = "Available reagents: [t]."
+ to_chat(user,t)
+
+ return
+
+/obj/item/weapon/reagent_containers/borghypo/Topic(var/href, var/list/href_list)
+ if(href_list["reagent"])
+ var/t = reagent_ids.Find(href_list["reagent"])
+ if(t)
+ playsound(src, 'sound/effects/pop.ogg', 50, 0)
+ mode = t
+ var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
+ to_chat(usr, "Synthesizer is now producing '[R.name]'.")
+
+/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
+ . += "It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left."
+
+/obj/item/weapon/reagent_containers/borghypo/service
+ name = "cyborg drink synthesizer"
+ desc = "A portable drink dispencer."
+ icon = 'icons/obj/drinks.dmi'
+ icon_state = "shaker"
+ charge_cost = 20
+ recharge_time = 3
+ volume = 60
+ possible_transfer_amounts = list(5, 10, 20, 30)
+ reagent_ids = list("ale",
+ "cider",
+ "beer",
+ "berryjuice",
+ "bitters",
+ "coffee",
+ "cognac",
+ "cola",
+ "dr_gibb",
+ "egg",
+ "gin",
+ "gingerale",
+ "hot_coco",
+ "ice",
+ "icetea",
+ "kahlua",
+ "lemonjuice",
+ "lemon_lime",
+ "limejuice",
+ "mead",
+ "milk",
+ "mint",
+ "orangejuice",
+ "rum",
+ "sake",
+ "sodawater",
+ "soymilk",
+ "space_up",
+ "spacemountainwind",
+ "spacespice",
+ "specialwhiskey",
+ "sugar",
+ "tea",
+ "tequilla",
+ "tomatojuice",
+ "tonic",
+ "vermouth",
+ "vodka",
+ "water",
+ "watermelonjuice",
+ "whiskey",
+ "wine")
+
+/obj/item/weapon/reagent_containers/borghypo/service/attack(var/mob/M, var/mob/user)
+ return
+
+/obj/item/weapon/reagent_containers/borghypo/service/afterattack(var/obj/target, var/mob/user, var/proximity)
+ if(!proximity)
+ return
+
+ if(!target.is_open_container() || !target.reagents)
+ return
+
+ if(!reagent_volumes[reagent_ids[mode]])
+ to_chat(user, "[src] is out of this reagent, give it some time to refill.")
+ return
+
+ if(!target.reagents.get_free_space())
+ to_chat(user, "[target] is full.")
+ return
+
+ var/t = min(amount_per_transfer_from_this, reagent_volumes[reagent_ids[mode]])
+ target.reagents.add_reagent(reagent_ids[mode], t)
+ reagent_volumes[reagent_ids[mode]] -= t
+ to_chat(user, "You transfer [t] units of the solution to [target].")
+ return
diff --git a/html/changelogs/mechoid - hydroupkeep.yml b/html/changelogs/mechoid - hydroupkeep.yml
new file mode 100644
index 0000000000..66b4cea214
--- /dev/null
+++ b/html/changelogs/mechoid - hydroupkeep.yml
@@ -0,0 +1,38 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+#################################
+
+# Your name.
+author: Mechoid
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Adds Wurmwoad, a suspiciously worm-like plant that produces pods of spice."
+ - rscadd: "Adds Wurmwoad to the service borg synthesizer."
+ - bugfix: "Service borgs can work with kitchenware again."
diff --git a/icons/obj/hydroponics_growing.dmi b/icons/obj/hydroponics_growing.dmi
index 9c10859527..52146b3793 100644
Binary files a/icons/obj/hydroponics_growing.dmi and b/icons/obj/hydroponics_growing.dmi differ
diff --git a/icons/obj/hydroponics_products.dmi b/icons/obj/hydroponics_products.dmi
index 6b6b815eb7..af1beb5679 100644
Binary files a/icons/obj/hydroponics_products.dmi and b/icons/obj/hydroponics_products.dmi differ
diff --git a/icons/obj/hydroponics_vines.dmi b/icons/obj/hydroponics_vines.dmi
index 2bad94b350..66aac4a88d 100644
Binary files a/icons/obj/hydroponics_vines.dmi and b/icons/obj/hydroponics_vines.dmi differ
diff --git a/icons/obj/seeds.dmi b/icons/obj/seeds.dmi
index d234aba525..2ed8360e95 100644
Binary files a/icons/obj/seeds.dmi and b/icons/obj/seeds.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 6b5153f039..b586d1fc34 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2212,8 +2212,12 @@
#include "code\modules\hydroponics\grown_inedible.dm"
#include "code\modules\hydroponics\grown_predefined.dm"
#include "code\modules\hydroponics\seed.dm"
+<<<<<<< HEAD:vorestation.dme
#include "code\modules\hydroponics\seed_datums.dm"
#include "code\modules\hydroponics\seed_datums_vr.dm"
+=======
+#include "code\modules\hydroponics\seed_controller.dm"
+>>>>>>> f518a31... Hydro upkeep (#7475):polaris.dme
#include "code\modules\hydroponics\seed_gene_mut.dm"
#include "code\modules\hydroponics\seed_machines.dm"
#include "code\modules\hydroponics\seed_mobs.dm"
@@ -2222,6 +2226,56 @@
#include "code\modules\hydroponics\seed_storage.dm"
#include "code\modules\hydroponics\seed_storage_vr.dm"
#include "code\modules\hydroponics\beekeeping\beehive.dm"
+#include "code\modules\hydroponics\seedtypes\amauri.dm"
+#include "code\modules\hydroponics\seedtypes\ambrosia.dm"
+#include "code\modules\hydroponics\seedtypes\apples.dm"
+#include "code\modules\hydroponics\seedtypes\banana.dm"
+#include "code\modules\hydroponics\seedtypes\berries.dm"
+#include "code\modules\hydroponics\seedtypes\cabbage.dm"
+#include "code\modules\hydroponics\seedtypes\carrots.dm"
+#include "code\modules\hydroponics\seedtypes\celery.dm"
+#include "code\modules\hydroponics\seedtypes\cherries.dm"
+#include "code\modules\hydroponics\seedtypes\chili.dm"
+#include "code\modules\hydroponics\seedtypes\citrus.dm"
+#include "code\modules\hydroponics\seedtypes\cocoa.dm"
+#include "code\modules\hydroponics\seedtypes\corn.dm"
+#include "code\modules\hydroponics\seedtypes\diona.dm"
+#include "code\modules\hydroponics\seedtypes\durian.dm"
+#include "code\modules\hydroponics\seedtypes\eggplant.dm"
+#include "code\modules\hydroponics\seedtypes\flowers.dm"
+#include "code\modules\hydroponics\seedtypes\gelthi.dm"
+#include "code\modules\hydroponics\seedtypes\gnomes.dm"
+#include "code\modules\hydroponics\seedtypes\grapes.dm"
+#include "code\modules\hydroponics\seedtypes\grass.dm"
+#include "code\modules\hydroponics\seedtypes\jurlmah.dm"
+#include "code\modules\hydroponics\seedtypes\kudzu.dm"
+#include "code\modules\hydroponics\seedtypes\lettuce.dm"
+#include "code\modules\hydroponics\seedtypes\malanitear.dm"
+#include "code\modules\hydroponics\seedtypes\mushrooms.dm"
+#include "code\modules\hydroponics\seedtypes\nettles.dm"
+#include "code\modules\hydroponics\seedtypes\onion.dm"
+#include "code\modules\hydroponics\seedtypes\peanuts.dm"
+#include "code\modules\hydroponics\seedtypes\potato.dm"
+#include "code\modules\hydroponics\seedtypes\pumpkin.dm"
+#include "code\modules\hydroponics\seedtypes\rhubarb.dm"
+#include "code\modules\hydroponics\seedtypes\rice.dm"
+#include "code\modules\hydroponics\seedtypes\selemhand.dm"
+#include "code\modules\hydroponics\seedtypes\soybean.dm"
+#include "code\modules\hydroponics\seedtypes\spineapple.dm"
+#include "code\modules\hydroponics\seedtypes\sugarcane.dm"
+#include "code\modules\hydroponics\seedtypes\surik.dm"
+#include "code\modules\hydroponics\seedtypes\telriis.dm"
+#include "code\modules\hydroponics\seedtypes\thaadra.dm"
+#include "code\modules\hydroponics\seedtypes\tomatoes.dm"
+#include "code\modules\hydroponics\seedtypes\vale.dm"
+#include "code\modules\hydroponics\seedtypes\vanilla.dm"
+#include "code\modules\hydroponics\seedtypes\wabback.dm"
+#include "code\modules\hydroponics\seedtypes\watermelon.dm"
+#include "code\modules\hydroponics\seedtypes\weeds.dm"
+#include "code\modules\hydroponics\seedtypes\wheat.dm"
+#include "code\modules\hydroponics\seedtypes\whitebeets.dm"
+#include "code\modules\hydroponics\seedtypes\wurmwoad.dm"
+#include "code\modules\hydroponics\seedtypes\xeno.dm"
#include "code\modules\hydroponics\spreading\spreading.dm"
#include "code\modules\hydroponics\spreading\spreading_growth.dm"
#include "code\modules\hydroponics\spreading\spreading_response.dm"