From e00a0700b175a8eae9a15901f3f0e548de8fbf32 Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Wed, 10 Feb 2021 15:35:26 -0700 Subject: [PATCH] #3 --- code/modules/hydroponics/grown/ambrosia.dm | 1 + code/modules/hydroponics/grown/banana.dm | 41 +++++++++++++++++++ code/modules/hydroponics/grown/berries.dm | 4 +- code/modules/hydroponics/grown/cannabis.dm | 12 +++--- code/modules/hydroponics/grown/cereals.dm | 4 +- code/modules/hydroponics/grown/citrus.dm | 11 +++-- .../hydroponics/grown/cocoa_vanilla.dm | 3 +- code/modules/hydroponics/grown/corn.dm | 1 + code/modules/hydroponics/hydro_chemreact.dm | 12 +++--- code/modules/hydroponics/hydroponics.dm | 9 ++-- code/modules/hydroponics/seed_extractor.dm | 4 +- .../research/designs/biogenerator_designs.dm | 40 +++++++++--------- 12 files changed, 96 insertions(+), 46 deletions(-) diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm index e8402520..b8480a19 100644 --- a/code/modules/hydroponics/grown/ambrosia.dm +++ b/code/modules/hydroponics/grown/ambrosia.dm @@ -49,6 +49,7 @@ seed = /obj/item/seeds/ambrosia/deus name = "ambrosia deus branch" desc = "Eating this makes you feel immortal!" + foodtype = VEGETABLES | ANTITOXIC icon_state = "ambrosiadeus" filling_color = "#008B8B" wine_power = 50 diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index cc66e188..81318f8f 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -27,6 +27,12 @@ juice_results = list(/datum/reagent/consumable/banana = 0) distill_reagent = /datum/reagent/consumable/ethanol/bananahonk +/obj/item/reagent_containers/food/snacks/grown/banana/generate_trash(atom/location) + . = ..() + var/obj/item/grown/bananapeel/peel = . + if(istype(peel)) + peel.grind_results = list(/datum/reagent/consumable/banana_peel = seed.potency * 0.2) + /obj/item/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) user.visible_message("[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) @@ -120,6 +126,41 @@ desc = "A peel from a bluespace banana." icon_state = "banana_peel_blue" +//Banana Spider. +/obj/item/seeds/banana/exotic_banana + name = "pack of exotic banana seeds" + desc = "They're seeds that grow into banana trees. However, those bananas might be alive." + icon_state = "seed_exoticbanana" + species = "exoticbanana" + icon_grow = "banana-grow" + plantname = "Exotic Banana Tree" + product = /obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable + mutatelist = list() + genes = list(/datum/plant_gene/trait/slip) + +/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable + seed = /obj/item/seeds/banana/exotic_banana + name = "banana spider" + desc = "You do not know what it is, but you can bet the clown would love it." + icon_state = "exoticbanana" + list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2) + foodtype = GROSS | MEAT | RAW | FRUIT + grind_results = list(/datum/reagent/blood = 20, /datum/reagent/liquidgibs = 5) + var/awakening = 0 + +/obj/item/reagent_containers/food/snacks/grown/banana/banana_spider_spawnable/attack_self(mob/user) + if(awakening || isspaceturf(user.loc)) + return + to_chat(user, "You decide to wake up the banana spider...") + awakening = 1 + + spawn(30) + if(!QDELETED(src)) + var/mob/living/simple_animal/banana_spider/S = new /mob/living/simple_animal/banana_spider(get_turf(src.loc)) + S.speed += round(10 / max(seed.potency, 1), 1) + S.visible_message("The banana spider chitters as it stretches its legs.") + qdel(src) + // Other /obj/item/grown/bananapeel/specialpeel //used by /obj/item/clothing/shoes/clown_shoes/banana_shoes name = "synthesized banana peel" diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index ec7fcef6..80792538 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -261,7 +261,7 @@ seed = /obj/item/seeds/strawberry name = "strawberry" icon_state = "strawberry" - filling_color = "#7FFF00" - juice_results = list("strawberryjuice" = 0) + filling_color = "#E50D31" + juice_results = list(/datum/reagent/consumable/strawberryjuice = 0) tastes = list("strawberries" = 1) wine_power = 20 diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index a7e571d7..fcde38fd 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -14,12 +14,9 @@ icon_dead = "cannabis-dead" // Same for the dead icon genes = list(/datum/plant_gene/trait/repeated_harvest) mutatelist = list(/obj/item/seeds/cannabis/rainbow, - /obj/item/seeds/cannabis/death, - /obj/item/seeds/cannabis/white, - /obj/item/seeds/cannabis/ultimate) + /obj/item/seeds/cannabis/death) reagents_add = list(/datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.35) // gives u the munchies - /obj/item/seeds/cannabis/rainbow name = "pack of rainbow weed seeds" desc = "These seeds grow into rainbow weed. Groovy." @@ -27,7 +24,7 @@ species = "megacannabis" plantname = "Rainbow Weed" product = /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow - mutatelist = list() + mutatelist = list(/obj/item/seeds/cannabis/ultimate) reagents_add = list(/datum/reagent/toxin/mindbreaker = 0.15, /datum/reagent/toxin/lipolicide = 0.35) rarity = 40 @@ -38,7 +35,7 @@ species = "blackcannabis" plantname = "Deathweed" product = /obj/item/reagent_containers/food/snacks/grown/cannabis/death - mutatelist = list() + mutatelist = list(/obj/item/seeds/cannabis/white) reagents_add = list(/datum/reagent/toxin/cyanide = 0.35, /datum/reagent/drug/space_drugs = 0.15, /datum/reagent/toxin/lipolicide = 0.15) rarity = 40 @@ -61,6 +58,7 @@ species = "ocannabis" plantname = "Omega Weed" product = /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/green) mutatelist = list() reagents_add = list(/datum/reagent/drug/space_drugs = 0.3, /datum/reagent/toxin/mindbreaker = 0.3, @@ -105,6 +103,7 @@ seed = /obj/item/seeds/cannabis/death name = "death cannabis leaf" desc = "Looks a bit dark. Oh well." + foodtype = VEGETABLES | TOXIC icon_state = "blackcannabis" wine_power = 40 @@ -112,6 +111,7 @@ seed = /obj/item/seeds/cannabis/white name = "white cannabis leaf" desc = "It feels smooth and nice to the touch." + foodtype = VEGETABLES | ANTITOXIC icon_state = "whitecannabis" wine_power = 10 diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index c5a7e079..1d1309ac 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -33,6 +33,7 @@ icon_state = "seed-oat" species = "oat" plantname = "Oat Stalks" + rarity = 10 //Not really new, just better product = /obj/item/reagent_containers/food/snacks/grown/oat mutatelist = list() @@ -45,7 +46,7 @@ filling_color = "#556B2F" bitesize_mod = 2 foodtype = GRAIN - grind_results = list(/datum/reagent/consumable/flour = 0) + grind_results = list(/datum/reagent/consumable/flour = 0.5) //So when it grinds it has 50% more flour tastes = list("oat" = 1) distill_reagent = /datum/reagent/consumable/ethanol/ale @@ -81,6 +82,7 @@ species = "meatwheat" plantname = "Meatwheat" product = /obj/item/reagent_containers/food/snacks/grown/meatwheat + rarity = 40 mutatelist = list() /obj/item/reagent_containers/food/snacks/grown/meatwheat diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index 61c81aa2..b220956a 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -29,6 +29,7 @@ seed = /obj/item/seeds/lime name = "lime" desc = "It's so sour, your face will twist." + foodtype = FRUIT | ANTITOXIC icon_state = "lime" filling_color = "#00FF00" juice_results = list(/datum/reagent/consumable/limejuice = 0) @@ -61,6 +62,7 @@ juice_results = list(/datum/reagent/consumable/orangejuice = 0) distill_reagent = /datum/reagent/consumable/ethanol/triple_sec + //3D Orange /obj/item/seeds/orange_3d name = "pack of extradimensional orange seeds" @@ -68,7 +70,7 @@ icon_state = "seed-orange" species = "orange" plantname = "Extradimensional Orange Tree" - product = /obj/item/reagent_containers/food/snacks/grown/citrus/orange + product = /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d lifespan = 60 endurance = 50 yield = 5 @@ -80,14 +82,14 @@ reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/haloperidol = 0.15) /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d - seed = /obj/item/seeds/orange + seed = /obj/item/seeds/orange_3d name = "extradminesional orange" desc = "You can hardly wrap your head around this thing." icon_state = "orang" filling_color = "#FFA500" juice_results = list(/datum/reagent/consumable/orangejuice = 0) - distill_reagent = /datum/reagent/consumable/ethanol/triple_sec - tastes = list("polygons" = 1, "oranges" = 1) + distill_reagent = /datum/reagent/toxin/mindbreaker + tastes = list("polygons" = 1, "bluespace" = 1, "the true nature of reality" = 1) /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d/pickup(mob/user) . = ..() @@ -112,6 +114,7 @@ icon_grow = "lime-grow" icon_dead = "lime-dead" genes = list(/datum/plant_gene/trait/repeated_harvest) + mutatelist = list(/obj/item/seeds/firelemon) reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05) /obj/item/reagent_containers/food/snacks/grown/citrus/lemon diff --git a/code/modules/hydroponics/grown/cocoa_vanilla.dm b/code/modules/hydroponics/grown/cocoa_vanilla.dm index 4ea247f4..0229f655 100644 --- a/code/modules/hydroponics/grown/cocoa_vanilla.dm +++ b/code/modules/hydroponics/grown/cocoa_vanilla.dm @@ -10,6 +10,7 @@ maturation = 5 production = 5 yield = 2 + instability = 20 growthstages = 5 growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi' icon_grow = "cocoapod-grow" @@ -99,4 +100,4 @@ . =..() reagents.clear_reagents() reagents.add_reagent(/datum/reagent/toxin/bungotoxin, seed.potency * 0.10) //More than this will kill at too low potency - reagents.add_reagent(/datum/reagent/consumable/nutriment, seed.potency * 0.04) \ No newline at end of file + reagents.add_reagent(/datum/reagent/consumable/nutriment, seed.potency * 0.04) diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index 691cbb83..b9108e51 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -38,6 +38,7 @@ throwforce = 0 throw_speed = 3 throw_range = 7 + grind_results = list(/datum/reagent/cellulose = 10) /obj/item/grown/corncob/attackby(obj/item/grown/W, mob/user, params) if(W.is_sharp()) diff --git a/code/modules/hydroponics/hydro_chemreact.dm b/code/modules/hydroponics/hydro_chemreact.dm index 9d39f067..7c89909a 100644 --- a/code/modules/hydroponics/hydro_chemreact.dm +++ b/code/modules/hydroponics/hydro_chemreact.dm @@ -58,7 +58,7 @@ var/total_transferred = S.get_reagent_amount(/datum/reagent/plantnutriment/endurogrow) if(total_transferred >= 20) myseed.adjust_potency(-round(total_transferred / 10)) - myseed.adjust_yield(round(total_transferred / 20)) + myseed.adjust_yield(-round(total_transferred / 20)) myseed.adjust_endurance(round(total_transferred / 30)) else to_chat(user, "The plants don't seem to react...") @@ -68,7 +68,7 @@ if(total_transferred >= 20) myseed.adjust_weed_chance(round(total_transferred / 10)) myseed.adjust_weed_rate(round(total_transferred / 20)) - myseed.adjust_production(round(total_transferred / 30)) + myseed.adjust_production(-round(total_transferred / 30)) else to_chat(user, "The plants don't seem to react...") @@ -252,11 +252,11 @@ adjustWeeds(-rand(1,5)) if(S.has_reagent(/datum/reagent/medicine/adminordrazine, 5)) switch(rand(100)) - if(66 to 100) + if(66 to 100) mutatespecie() - if(33 to 65) + if(33 to 65) mutateweed() - if(1 to 32) + if(1 to 32) mutatepest(user) else - to_chat(user, "Nothing happens...") \ No newline at end of file + to_chat(user, "Nothing happens...") diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index fd684a1e..fcfcf0f9 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -51,7 +51,7 @@ for (var/obj/item/stock_parts/manipulator/M in component_parts) rating = M.rating maxwater = tmp_capacity * 50 // Up to 400 - maxnutri = (tmp_capacity * 5) + 10 // Up to 50 Maximum + maxnutri = tmp_capacity * 5 // Up to 40 Maximum /obj/machinery/hydroponics/Destroy() if(myseed) @@ -223,7 +223,7 @@ if(prob(5)) // On each tick, there's a 5 percent chance the pest population will increase adjustPests(1 / rating) else - if(waterlevel > 10 && reagents.total_volume > 0 && prob(10)) // If there's no plant, the percentage chance is 10% + if(waterlevel > 10 && nutrilevel > 0 && prob(10)) // If there's no plant, the percentage chance is 10% adjustWeeds(1 / rating) // Weeeeeeeeeeeeeeedddssss @@ -510,8 +510,6 @@ else if(transfer_amount) // Droppers, cans, beakers, what have you. visi_msg="[user] uses [reagent_source] on [target]" irrigate = 1 - // Beakers, bottles, buckets, etc. - if(reagent_source.is_drainable()) if(irrigate && transfer_amount > 30 && reagent_source.reagents.total_volume >= 30 && using_irrigation) @@ -534,6 +532,9 @@ if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/pill)) qdel(reagent_source) lastuser = user + + H.applyChemicals(S, user) + S.clear_reagents() qdel(S) H.update_icon() diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index 63b96632..6073fcdf 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -52,9 +52,9 @@ /obj/machinery/seed_extractor/RefreshParts() for(var/obj/item/stock_parts/matter_bin/B in component_parts) - max_seeds = 1000 * B.rating + max_seeds = initial(max_seeds) * B.rating for(var/obj/item/stock_parts/manipulator/M in component_parts) - seed_multiplier = M.rating + seed_multiplier = initial(seed_multiplier) * M.rating /obj/machinery/seed_extractor/examine(mob/user) . = ..() diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index a08aa6fc..cb0b2e78 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -77,22 +77,6 @@ make_reagents = list(/datum/reagent/plantnutriment/robustharvestnutriment = 10) category = list("initial","Botany Chemicals") -/datum/design/end_gro - name = "30u Enduro Grow" - id = "end_gro" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) - make_reagents = list(/datum/reagent/plantnutriment/endurogrow = 30) - category = list("initial","Botany Chemicals") - -/datum/design/liq_earth - name = "30u Liquid Earthquake" - id = "liq_earth" - build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 30) - make_reagents = list(/datum/reagent/plantnutriment/liquidearthquake = 30) - category = list("initial","Botany Chemicals") - /datum/design/ammonia name = "10u Ammonia" id = "ammonia_biogen" @@ -109,12 +93,28 @@ make_reagents = list(/datum/reagent/saltpetre = 10) category = list("initial","Botany Chemicals") -/datum/design/mutagen //This is here because I'd like it if botany wouldn't rely on chemical dispensers to make fancy things - name = "5u Unstable Mutagen" +/datum/design/end_gro + name = "30u Enduro Grow" + id = "end_gro" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 30) + make_reagents = list(/datum/reagent/plantnutriment/endurogrow = 30) + category = list("initial","Botany Chemicals") + +/datum/design/liq_earth + name = "30u Liquid Earthquake" + id = "liq_earth" + build_type = BIOGENERATOR + materials = list(MAT_BIOMASS = 30) + make_reagents = list(/datum/reagent/plantnutriment/liquidearthquake = 30) + category = list("initial","Botany Chemicals") + +/datum/design/mutagen //This is here because I'd like it if botany wouldn't completely rely on chemical dispensers to make fancy things + name = "10u Unstable Mutagen" id = "fabricated_mutagen" build_type = BIOGENERATOR - materials = list(MAT_BIOMASS = 80) - make_reagents = list(/datum/reagent/toxin/mutagen = 5) //suffer + materials = list(MAT_BIOMASS = 75) + make_reagents = list(/datum/reagent/toxin/mutagen = 10) //suffer category = list("initial","Botany Chemicals") /datum/design/weed_killer