Additional hydroponics QoL + additions (#20836)

This implements a bunch of little QoL improvements and a few substantial
expansions in hydroponics intended to deepen the job's interactions with
hydroponics mechanics.

- Adds k'ois spores to hydroponics! Note these are only available in
hydroponics proper, the seed storage machine for the garden has been
split into a separate subtype that does not contain k'ois. This is
packaged with a small hazardous containment chamber to safely grow
dangerous crops, in addition to a decontamination area and a hazmat
closet. K'ois is something the kitchen is continually in demand of, and
it is the sole foodstuff of an entire species - I don't see why
hydroponics wouldn't be able to grow it.
- D1 hydroponics now has the same atmos equipment for changing the
temperature of trays as xenobotany, allowing you to take air from distro
and change its temperature across two separate reservoirs feeding into
trays. Different crops grow optimally at different temperatures, this
lets hydroponicists engage with this mechanic.
- A bunch of misc code QoL changes, including shifting the crates in
hydroponics from mapping to code.
- Makes empty first-aid kits spawn with a minimum of 16 storage space.
Previously, the storage you'd see in empty first aid kits was well, well
below how much actual first-aid kits with prefilled contents had.
- Expanded hydroponicist maintenance access a little, so they can now
access the garden and hangars through adjacent maints.
- Seed storage machines have cranberry seeds now.
- A few more items are in the biogenerator, in the interest of making
the hydroponicist a better generalist.
- Shifted around some of the contents of the biogenerator to prioritise
more important stuff, including moving flags to the bottom of the list.
The only item actually removed is the money bag - I'm not sure what use
you'd find for that.
- Adds autoinjectors and autoinhalers to the hydroponicist's herbalism
crate.


![image](https://github.com/user-attachments/assets/fdac2923-b112-4e9d-b9f3-dbab125d7382)


![image](https://github.com/user-attachments/assets/f04a2480-7643-4d49-a46f-610f8495e691)
This commit is contained in:
hazelrat
2025-06-22 18:08:56 +00:00
committed by GitHub
parent 06d3307b1e
commit 3198e4e9ea
6 changed files with 952 additions and 631 deletions
+37 -87
View File
@@ -1,8 +1,10 @@
/datum/seed_pile
var/name
var/amount
var/datum/seed/seed_type // Keeps track of what our seed is
var/list/obj/item/seeds/seeds = list() // Tracks actual objects contained in the pile
/// Keeps track of what our seed is
var/datum/seed/seed_type
/// Tracks actual objects contained in the pile
var/list/obj/item/seeds/seeds = list()
var/ID
/datum/seed_pile/New(obj/item/seeds/O, ID)
@@ -35,8 +37,10 @@
var/screen_y = 700
var/list/datum/seed_pile/piles = list()
/// The seeds the machine begins with.
var/list/starting_seeds = list()
var/list/scanner = list() // What properties we can view
/// What properties we can view.
var/list/scanner = list()
/obj/machinery/seed_storage/Initialize()
. = ..()
@@ -350,92 +354,38 @@
/obj/item/seeds/whitebeetseed = 3,
/obj/item/seeds/wulumunushaseed = 2,
/obj/item/seeds/xuiziseed = 3,
/obj/item/seeds/ylpha = 2
/obj/item/seeds/ylpha = 2,
/obj/item/seeds/cranberryseed = 2,
)
/obj/machinery/seed_storage/xenobotany
name = "Xenobotany seed storage"
/obj/machinery/seed_storage/garden/hydroponics
name = "Hydroponics seed storage"
scanner = list("stats", "produce", "soil", "temperature", "light")
starting_seeds = list(
/obj/item/seeds/aghrasshseed = 3,
/obj/item/seeds/ambrosiavulgarisseed = 3,
/obj/item/seeds/appleseed = 3,
/obj/item/seeds/amanitamycelium = 2,
/obj/item/seeds/bananaseed = 3,
/obj/item/seeds/bellpepperseed = 3,
/obj/item/seeds/berryseed = 3,
/obj/item/seeds/blackraspberryseed = 3,
/obj/item/seeds/blizzard = 3,
/obj/item/seeds/blueberryseed = 3,
/obj/item/seeds/blueraspberryseed = 3,
/obj/item/seeds/cabbageseed = 3,
/obj/item/seeds/carrotseed = 3,
/obj/item/seeds/chantermycelium = 3,
/obj/item/seeds/cherryseed = 3,
/obj/item/seeds/chiliseed = 3,
/obj/item/seeds/chickpeas = 3,
/obj/item/seeds/cocaseed = 3,
/obj/item/seeds/cocoapodseed = 3,
/obj/item/seeds/coffeeseed = 3,
/obj/item/seeds/cornseed = 3,
/obj/item/seeds/dirtberries = 2,
/obj/item/seeds/dynseed = 3,
/obj/item/seeds/replicapod = 3,
/obj/item/seeds/earthenroot = 2,
/obj/item/seeds/eggplantseed = 3,
/obj/item/seeds/eki = 3,
/obj/item/seeds/fjylozyn = 3,
/obj/item/seeds/garlicseed = 3,
/obj/item/seeds/glowshroom = 2,
/obj/item/seeds/grapeseed = 3,
/obj/item/seeds/grassseed = 3,
/obj/item/seeds/guamiseed = 2,
/obj/item/seeds/gukheseed = 3,
/obj/item/seeds/koisspore = 3,
/obj/item/seeds/lemonseed = 3,
/obj/item/seeds/libertymycelium = 2,
/obj/item/seeds/limeseed = 3,
/obj/item/seeds/mossseed = 2,
/obj/item/seeds/mtearseed = 2,
/obj/item/seeds/mintseed = 3,
/obj/item/seeds/nettleseed = 2,
/obj/item/seeds/onionseed = 3,
/obj/item/seeds/oracleseed = 3,
/obj/item/seeds/orangeseed = 3,
/obj/item/seeds/peaseed = 3,
/obj/item/seeds/peanutseed = 3,
/obj/item/seeds/peppercornseed = 3,
/obj/item/seeds/plastiseed = 3,
/obj/item/seeds/plumpmycelium = 3,
/obj/item/seeds/poppyseed = 3,
/obj/item/seeds/potatoseed = 3,
/obj/item/seeds/pumpkinseed = 3,
/obj/item/seeds/qlortseed = 2,
/obj/item/seeds/raspberryseed = 3,
/obj/item/seeds/reishimycelium = 2,
/obj/item/seeds/riceseed = 3,
/obj/item/seeds/richcoffeeseed = 3,
/obj/item/seeds/sarezhiseed = 3,
/obj/item/seeds/seaweed = 3,
/obj/item/seeds/serkiflowerseed,
/obj/item/seeds/soyaseed = 3,
/obj/item/seeds/sthberryseed = 3,
/obj/item/seeds/strawberryseed = 3,
/obj/item/seeds/sugarcaneseed = 3,
/obj/item/seeds/sunflowerseed = 3,
/obj/item/seeds/sugartree = 2,
/obj/item/seeds/shandseed = 2,
/obj/item/seeds/teaseed = 3,
/obj/item/seeds/tobaccoseed = 3,
/obj/item/seeds/tomatoseed = 3,
/obj/item/seeds/towermycelium = 3,
/obj/item/seeds/vanilla = 3,
/obj/item/seeds/watermelonseed = 3,
/obj/item/seeds/wheatseed = 3,
/obj/item/seeds/whitebeetseed = 3,
/obj/item/seeds/wulumunushaseed = 3,
/obj/item/seeds/xuiziseed = 3,
/obj/item/seeds/ylpha = 2
)
screen_x = 1000
screen_y = 700
/obj/machinery/seed_storage/garden/hydroponics/Initialize()
starting_seeds = src.starting_seeds.Copy() + list(
/obj/item/seeds/libertymycelium = 2,
/obj/item/seeds/koisspore = 3,
/obj/item/seeds/glowshroom = 2,
/obj/item/seeds/nettleseed = 2
)
return ..()
/obj/machinery/seed_storage/garden/xenobotany
name = "Xenobotany seed storage"
scanner = list("stats", "produce", "soil", "temperature", "light")
screen_x = 1000
screen_y = 700
/obj/machinery/seed_storage/garden/xenobotany/Initialize()
starting_seeds = src.starting_seeds.Copy() + list(
/obj/item/seeds/libertymycelium = 2,
/obj/item/seeds/cocaseed = 3,
/obj/item/seeds/koisspore = 3,
/obj/item/seeds/amanitamycelium = 2,
/obj/item/seeds/glowshroom = 2,
/obj/item/seeds/nettleseed = 2
)
return ..()