From 476326496576670fc2740a01607af1af09a1814d Mon Sep 17 00:00:00 2001 From: Casey Date: Thu, 3 Feb 2022 01:28:55 -0500 Subject: [PATCH] Merge pull request #12128 from TheObserver-sys/XenoBotanyPass1 Xenobotany Pass 1 (Of who knows how many) --- code/modules/hydroponics/grown.dm | 22 +++++++++++++--- code/modules/hydroponics/seed.dm | 4 +-- code/modules/hydroponics/seed_packets.dm | 9 +++++++ .../modules/hydroponics/seedtypes/ambrosia.dm | 26 +++++++++++++++++-- code/modules/hydroponics/seedtypes/chili.dm | 18 +++++++++++-- code/modules/hydroponics/seedtypes/grass.dm | 19 +++++++++++++- code/modules/hydroponics/trays/tray_tools.dm | 3 +++ code/modules/reagents/reagents/medicine.dm | 19 ++++++++++++++ 8 files changed, 109 insertions(+), 11 deletions(-) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index f1bdc5bb50..23029971c4 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -88,11 +88,11 @@ descriptors |= "radioactive" if(reagents.has_reagent("amatoxin") || reagents.has_reagent("toxin")) descriptors |= "poisonous" - if(reagents.has_reagent("psilocybin") || reagents.has_reagent("space_drugs")) + if(reagents.has_reagent("psilocybin") || reagents.has_reagent("space_drugs") || reagents.has_reagent("earthsblood")) descriptors |= "hallucinogenic" - if(reagents.has_reagent("bicaridine")) + if(reagents.has_reagent("bicaridine") || reagents.has_reagent("earthsblood")) descriptors |= "medicinal" - if(reagents.has_reagent("gold")) + if(reagents.has_reagent("gold") || reagents.has_reagent("earthsblood")) descriptors |= "shiny" if(reagents.has_reagent("lube")) descriptors |= "slippery" @@ -181,7 +181,7 @@ var/obj/item/weapon/cell/potato/pocell = new /obj/item/weapon/cell/potato(get_turf(user)) if(src.loc == user && istype(user,/mob/living/carbon/human)) user.put_in_hands(pocell) - pocell.maxcharge = src.potency * 10 + pocell.maxcharge = src.potency * 200 pocell.charge = pocell.maxcharge qdel(src) return @@ -289,6 +289,20 @@ qdel(src) return + if(seed.kitchen_tag == "carpet") + user.show_message("You shape some carpet squares out of \the [src] fibers!", 1) + for(var/i=0,i<2,i++) + var/obj/item/stack/tile/carpet/G = new (user.loc) + for (var/obj/item/stack/tile/carpet/NG in user.loc) + if(G == NG) + continue + if(NG.get_amount() >= NG.max_amount) + continue + NG.attackby(G, user) + to_chat(user, "You add the newly-formed carpet to the stack. It now contains [G.get_amount()] tiles.") + qdel(src) + return + if(seed.get_trait(TRAIT_SPREAD) > 0) to_chat(user, "You plant the [src.name].") new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(get_turf(user),src.seed) diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 017abf52b4..e30fb01c9c 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -741,9 +741,9 @@ if(GENE_BIOCHEMISTRY) P.values["[TRAIT_CHEMS]"] = chems P.values["[TRAIT_EXUDE_GASSES]"] = exude_gasses - traits_to_copy = list(TRAIT_POTENCY, TRAIT_SPORING, TRAIT_BENEFICIAL_REAG, TRAIT_MUTAGENIC_REAG, TRAIT_TOXIC_REAG) + traits_to_copy = list(TRAIT_POTENCY, TRAIT_BENEFICIAL_REAG, TRAIT_MUTAGENIC_REAG, TRAIT_TOXIC_REAG) if(GENE_OUTPUT) - traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM) + traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM,TRAIT_SPORING) if(GENE_ATMOSPHERE) traits_to_copy = list(TRAIT_HEAT_TOLERANCE,TRAIT_LOWKPA_TOLERANCE,TRAIT_HIGHKPA_TOLERANCE) if(GENE_HARDINESS) diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 08eea609bf..29b31ebc57 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -86,6 +86,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds) /obj/item/seeds/chiliseed seed_type = "chili" +/obj/item/seeds/ghostchiliseed + seed_type = "ghostchili" + /obj/item/seeds/plastiseed seed_type = "plastic" @@ -227,6 +230,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds) /obj/item/seeds/ambrosiadeusseed seed_type = "ambrosiadeus" +/obj/item/seeds/ambrosiagaiaseed + seed_type = "ambrosiagaia" + /obj/item/seeds/ambrosiainfernusseed seed_type = "ambrosiainfernus" @@ -263,6 +269,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds) /obj/item/seeds/grassseed seed_type = "grass" +/obj/item/seeds/carpetseed + seed_type = "carpet" + /obj/item/seeds/cocoapodseed seed_type = "cocoa" diff --git a/code/modules/hydroponics/seedtypes/ambrosia.dm b/code/modules/hydroponics/seedtypes/ambrosia.dm index 535d5129a3..6a6dda8a14 100644 --- a/code/modules/hydroponics/seedtypes/ambrosia.dm +++ b/code/modules/hydroponics/seedtypes/ambrosia.dm @@ -24,7 +24,7 @@ seed_name = "ambrosia deus" display_name = "ambrosia deus" kitchen_tag = "ambrosiadeus" - mutants = list("ambrosiainfernus") + mutants = list("ambrosiainfernus", "ambrosiagaia") 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() @@ -43,4 +43,26 @@ /datum/seed/ambrosia/infernus/New() ..() set_trait(TRAIT_PRODUCT_COLOUR,"#dc143c") - set_trait(TRAIT_PLANT_COLOUR,"#b22222") \ No newline at end of file + set_trait(TRAIT_PLANT_COLOUR,"#b22222") + +/datum/seed/ambrosia/gaia + name = "ambrosiagaia" + seed_name = "ambrosia gaia" + display_name = "ambrosia gaia" + kitchen_tag = "ambrosiagaia" + mutants = null + chems = list ("earthsblood" = list(3,5), "nutriment" = list(1,3)) + +/datum/seed/ambrosia/gaia/New() + ..() + set_trait(TRAIT_HARVEST_REPEAT,0) + set_trait(TRAIT_MATURATION,10) + set_trait(TRAIT_WATER_CONSUMPTION,6) + set_trait(TRAIT_NUTRIENT_CONSUMPTION,6) + set_trait(TRAIT_WEED_TOLERANCE,1) + set_trait(TRAIT_TOXINS_TOLERANCE,1) + set_trait(TRAIT_PEST_TOLERANCE,1) + set_trait(TRAIT_BIOLUM,1) + set_trait(TRAIT_BIOLUM_COLOUR,"#ffb500") + set_trait(TRAIT_PRODUCT_COLOUR, "#ffee00") + set_trait(TRAIT_PLANT_COLOUR,"#f3ba2b") \ No newline at end of file diff --git a/code/modules/hydroponics/seedtypes/chili.dm b/code/modules/hydroponics/seedtypes/chili.dm index bee50a48bc..8a93d5b786 100644 --- a/code/modules/hydroponics/seedtypes/chili.dm +++ b/code/modules/hydroponics/seedtypes/chili.dm @@ -5,7 +5,7 @@ display_name = "chili plants" kitchen_tag = "chili" chems = list("capsaicin" = list(3,5), "nutriment" = list(1,25)) - mutants = list("icechili") + mutants = list("icechili", "ghostchili") /datum/seed/chili/New() ..() @@ -32,4 +32,18 @@ ..() set_trait(TRAIT_MATURATION,4) set_trait(TRAIT_PRODUCTION,4) - set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") \ No newline at end of file + set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") + +/datum/seed/chili/ghost + name = "ghostchili" + seed_name = "ghost chili" + display_name = "ghost chili plants" + kitchen_tag = "ghostchili" + mutants = null + chems = list("condensedcapsaicin" = list (3,10), "nutriment" = list (1,25)) + +/datum/seed/chili/ghost/New() + ..() + set_trait(TRAIT_MATURATION,6) + set_trait(TRAIT_PRODUCTION,3) + set_trait(TRAIT_PRODUCT_COLOUR,"#eaecec") \ No newline at end of file diff --git a/code/modules/hydroponics/seedtypes/grass.dm b/code/modules/hydroponics/seedtypes/grass.dm index 0a94f9707f..d8629a00ae 100644 --- a/code/modules/hydroponics/seedtypes/grass.dm +++ b/code/modules/hydroponics/seedtypes/grass.dm @@ -3,6 +3,7 @@ seed_name = "grass" display_name = "grass" kitchen_tag = "grass" + mutants = list("carpet") chems = list("nutriment" = list(1,20)) /datum/seed/grass/New() @@ -16,4 +17,20 @@ 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 + set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + +/datum/seed/grass/carpet + name = "carpet" + seed_name = "carpet" + display_name = "carpet" + kitchen_tag = "carpet" + mutants = null + chems = list("nutiment" = list(1,10)) + +/datum/seed/grass/carpet/New() + ..() + set_trait(TRAIT_YIELD,7) + set_trait(TRAIT_PRODUCT_ICON,"grass") + set_trait(TRAIT_PRODUCT_COLOUR,"#9e2500") + set_trait(TRAIT_PLANT_COLOUR,"#ee4401") + set_trait(TRAIT_PLANT_ICON,"grass") \ No newline at end of file diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index cedcc3f8b9..3e5bd91b6a 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -275,6 +275,9 @@ if(get_trait(TRAIT_TELEPORTING)) data["trait_info"] += "The fruit is temporal/spatially unstable." + if(get_trait(TRAIT_SPORING)) + data["trait_info"] += "It occasionally releases reagent carrying spores into the atmosphere." + if(exude_gasses && exude_gasses.len) for(var/gas in exude_gasses) var/amount = "" diff --git a/code/modules/reagents/reagents/medicine.dm b/code/modules/reagents/reagents/medicine.dm index 479eaa4f46..c8ac604ba7 100644 --- a/code/modules/reagents/reagents/medicine.dm +++ b/code/modules/reagents/reagents/medicine.dm @@ -1534,3 +1534,22 @@ metabolism = REM * 0.002 overdose = REAGENTS_OVERDOSE * 0.25 scannable = 1 + +/datum/reagent/earthsblood + name = "Earthsblood" + id = "earthsblood" + description = "A rare plant extract with immense, almost magical healing capabilities. Induces a potent psychoactive state, damaging neurons with prolonged use." + taste_description = "honey and sunlight" + reagent_state = LIQUID + color = "#ffb500" + overdose = REAGENTS_OVERDOSE * 0.50 + + +/datum/reagent/earthsblood/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + M.heal_organ_damage (4 * removed, 4 * removed) + M.adjustOxyLoss(-10 * removed) + M.adjustToxLoss(-4 * removed) + M.adjustCloneLoss(-2 * removed) + M.druggy = max(M.druggy, 20) + M.hallucination = max(M.hallucination, 3) + M.adjustBrainLoss(1 * removed) //your life for your mind. The Earthmother's Tithe. \ No newline at end of file