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