From 68a37c64fac092949c979fe32b7bb7bb941c7c39 Mon Sep 17 00:00:00 2001 From: Mechoid Date: Wed, 16 Sep 2020 16:38:43 -0700 Subject: [PATCH] Hydro upkeep --- .../kitchen/cooking_machines/_appliance.dm | 61 +- .../kitchen/cooking_machines/container.dm | 19 +- code/modules/hydroponics/seed_datums.dm | 1544 ----------------- code/modules/hydroponics/seed_packets.dm | 3 + code/modules/hydroponics/seed_storage.dm | 6 +- code/modules/hydroponics/seedtypes/amauri.dm | 15 + .../modules/hydroponics/seedtypes/ambrosia.dm | 46 + code/modules/hydroponics/seedtypes/apples.dm | 62 + code/modules/hydroponics/seedtypes/banana.dm | 21 + code/modules/hydroponics/seedtypes/berries.dm | 70 + code/modules/hydroponics/seedtypes/cabbage.dm | 21 + code/modules/hydroponics/seedtypes/carrots.dm | 17 + code/modules/hydroponics/seedtypes/celery.dm | 17 + .../modules/hydroponics/seedtypes/cherries.dm | 20 + code/modules/hydroponics/seedtypes/chili.dm | 35 + code/modules/hydroponics/seedtypes/citrus.dm | 46 + code/modules/hydroponics/seedtypes/cocoa.dm | 19 + code/modules/hydroponics/seedtypes/corn.dm | 21 + code/modules/hydroponics/seedtypes/diona.dm | 21 + code/modules/hydroponics/seedtypes/durian.dm | 21 + .../modules/hydroponics/seedtypes/eggplant.dm | 31 + code/modules/hydroponics/seedtypes/flowers.dm | 108 ++ code/modules/hydroponics/seedtypes/gelthi.dm | 15 + code/modules/hydroponics/seedtypes/gnomes.dm | 25 + code/modules/hydroponics/seedtypes/grapes.dm | 33 + code/modules/hydroponics/seedtypes/grass.dm | 19 + code/modules/hydroponics/seedtypes/jurlmah.dm | 15 + code/modules/hydroponics/seedtypes/kudzu.dm | 19 + code/modules/hydroponics/seedtypes/lettuce.dm | 34 + .../hydroponics/seedtypes/malanitear.dm | 19 + .../hydroponics/seedtypes/mushrooms.dm | 200 +++ code/modules/hydroponics/seedtypes/nettles.dm | 35 + code/modules/hydroponics/seedtypes/onion.dm | 17 + code/modules/hydroponics/seedtypes/peanuts.dm | 19 + code/modules/hydroponics/seedtypes/potato.dm | 18 + code/modules/hydroponics/seedtypes/pumpkin.dm | 19 + code/modules/hydroponics/seedtypes/rhubarb.dm | 17 + code/modules/hydroponics/seedtypes/rice.dm | 19 + .../hydroponics/seedtypes/selemhand.dm | 19 + code/modules/hydroponics/seedtypes/soybean.dm | 17 + .../hydroponics/seedtypes/spineapple.dm | 22 + .../hydroponics/seedtypes/sugarcane.dm | 19 + code/modules/hydroponics/seedtypes/surik.dm | 15 + code/modules/hydroponics/seedtypes/telriis.dm | 16 + code/modules/hydroponics/seedtypes/thaadra.dm | 16 + .../modules/hydroponics/seedtypes/tomatoes.dm | 75 + code/modules/hydroponics/seedtypes/vale.dm | 15 + code/modules/hydroponics/seedtypes/vanilla.dm | 19 + code/modules/hydroponics/seedtypes/wabback.dm | 54 + .../hydroponics/seedtypes/watermelon.dm | 23 + code/modules/hydroponics/seedtypes/weeds.dm | 16 + code/modules/hydroponics/seedtypes/wheat.dm | 19 + .../hydroponics/seedtypes/whitebeets.dm | 18 + .../modules/hydroponics/seedtypes/wurmwoad.dm | 23 + code/modules/hydroponics/seedtypes/xeno.dm | 19 + .../Chemistry-Reagents-Food-Drinks.dm | 2 +- code/modules/reagents/Chemistry-Recipes.dm | 2 +- .../reagents/reagent_containers/borghypo.dm | 359 ++-- html/changelogs/mechoid - hydroupkeep.yml | 38 + icons/obj/hydroponics_growing.dmi | Bin 19556 -> 20863 bytes icons/obj/hydroponics_products.dmi | Bin 9875 -> 10159 bytes icons/obj/hydroponics_vines.dmi | Bin 18093 -> 18093 bytes icons/obj/seeds.dmi | Bin 8263 -> 8642 bytes vorestation.dme | 54 + 64 files changed, 1891 insertions(+), 1716 deletions(-) delete mode 100644 code/modules/hydroponics/seed_datums.dm create mode 100644 code/modules/hydroponics/seedtypes/amauri.dm create mode 100644 code/modules/hydroponics/seedtypes/ambrosia.dm create mode 100644 code/modules/hydroponics/seedtypes/apples.dm create mode 100644 code/modules/hydroponics/seedtypes/banana.dm create mode 100644 code/modules/hydroponics/seedtypes/berries.dm create mode 100644 code/modules/hydroponics/seedtypes/cabbage.dm create mode 100644 code/modules/hydroponics/seedtypes/carrots.dm create mode 100644 code/modules/hydroponics/seedtypes/celery.dm create mode 100644 code/modules/hydroponics/seedtypes/cherries.dm create mode 100644 code/modules/hydroponics/seedtypes/chili.dm create mode 100644 code/modules/hydroponics/seedtypes/citrus.dm create mode 100644 code/modules/hydroponics/seedtypes/cocoa.dm create mode 100644 code/modules/hydroponics/seedtypes/corn.dm create mode 100644 code/modules/hydroponics/seedtypes/diona.dm create mode 100644 code/modules/hydroponics/seedtypes/durian.dm create mode 100644 code/modules/hydroponics/seedtypes/eggplant.dm create mode 100644 code/modules/hydroponics/seedtypes/flowers.dm create mode 100644 code/modules/hydroponics/seedtypes/gelthi.dm create mode 100644 code/modules/hydroponics/seedtypes/gnomes.dm create mode 100644 code/modules/hydroponics/seedtypes/grapes.dm create mode 100644 code/modules/hydroponics/seedtypes/grass.dm create mode 100644 code/modules/hydroponics/seedtypes/jurlmah.dm create mode 100644 code/modules/hydroponics/seedtypes/kudzu.dm create mode 100644 code/modules/hydroponics/seedtypes/lettuce.dm create mode 100644 code/modules/hydroponics/seedtypes/malanitear.dm create mode 100644 code/modules/hydroponics/seedtypes/mushrooms.dm create mode 100644 code/modules/hydroponics/seedtypes/nettles.dm create mode 100644 code/modules/hydroponics/seedtypes/onion.dm create mode 100644 code/modules/hydroponics/seedtypes/peanuts.dm create mode 100644 code/modules/hydroponics/seedtypes/potato.dm create mode 100644 code/modules/hydroponics/seedtypes/pumpkin.dm create mode 100644 code/modules/hydroponics/seedtypes/rhubarb.dm create mode 100644 code/modules/hydroponics/seedtypes/rice.dm create mode 100644 code/modules/hydroponics/seedtypes/selemhand.dm create mode 100644 code/modules/hydroponics/seedtypes/soybean.dm create mode 100644 code/modules/hydroponics/seedtypes/spineapple.dm create mode 100644 code/modules/hydroponics/seedtypes/sugarcane.dm create mode 100644 code/modules/hydroponics/seedtypes/surik.dm create mode 100644 code/modules/hydroponics/seedtypes/telriis.dm create mode 100644 code/modules/hydroponics/seedtypes/thaadra.dm create mode 100644 code/modules/hydroponics/seedtypes/tomatoes.dm create mode 100644 code/modules/hydroponics/seedtypes/vale.dm create mode 100644 code/modules/hydroponics/seedtypes/vanilla.dm create mode 100644 code/modules/hydroponics/seedtypes/wabback.dm create mode 100644 code/modules/hydroponics/seedtypes/watermelon.dm create mode 100644 code/modules/hydroponics/seedtypes/weeds.dm create mode 100644 code/modules/hydroponics/seedtypes/wheat.dm create mode 100644 code/modules/hydroponics/seedtypes/whitebeets.dm create mode 100644 code/modules/hydroponics/seedtypes/wurmwoad.dm create mode 100644 code/modules/hydroponics/seedtypes/xeno.dm create mode 100644 html/changelogs/mechoid - hydroupkeep.yml 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 9c10859527d990350a778aae2d788f126b2a85fd..52146b3793e1553cfb840df1e07ad008579c8332 100644 GIT binary patch delta 20358 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 Sq-lNt0000LBpMnXvi6s1&JV5FopBHakm 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 Q3HpbYnx1NvvUSA&0gB#~LjV8( diff --git a/icons/obj/hydroponics_vines.dmi b/icons/obj/hydroponics_vines.dmi index 2bad94b350dc2c77ab7c3ca60bd816aee1c4bf0c..66aac4a88d6ebd73bd846a751c4995cbc7319ea0 100644 GIT binary patch delta 35 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 literal 8263 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 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"