22 Commits
Author SHA1 Message Date
Casper3667andGitHub 86bdb7de70 Fixes plants dying in soil and open hydroponics trays (#21679)
The light for the plants was being counted as double their value,
meaning a light level of 4 would be considered light level 8 by the
plant, thus being vastly outside its preferred range
2025-12-21 17:22:04 +00:00
94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
WildkinsandGitHub 290032afc7 Turn hydroponics get and set_trait into defines (#21404)
Hydroponics tray processing is a massive chunk of machinery processing
for no good reason, I have a sneaking suspicion that this is due to proc
overhead on get_trait, as process can call it upwards of 30 times per
tick per tray.

Realistically most of the things that are traits should instead be
variables, but that's a refactor for someone with more time.
2025-09-28 12:09:49 +00:00
hazelratandGitHub d8c991674f Hydroponics Overhaul: the Atmos Update (#21059)
### What does this achieve?

This overhauls hydroponics to integrate atmospherics mechanics more
heavily, with the hope of establishing the foundations of much more
significant mechanical depth to what has been a very shallow job for a
very long time.

Currently, this is limited to the preferences and tolerances system -
hydroponics is now comprised of five 'reservoirs' of segmented portions
of the pipe system connected to trays, with a gas heater and cooler to
change temperature across the entire system, and you can cut off each
reservoir with valves to separate it from the rest and maintain its
current temperature.

Five tiers, each with a trait, have been implemented for the different
heat ideals of different plants. Plants from Adhomai and Moghes are the
most environmentally extreme, and cannot be grown outside of drastically
low and high temperatures respectively, limiting them to hydroponics
proper, whereas colder and warmer terrestrial plants can be grown at
room temperature but will grow much slower than if they were within
their preferences. **This means there will be plants that outright
cannot be grown in the garden.**

With this, hydroponics becomes an atmos puzzle. If you need to grow
nothing but mushrooms you'll probably send every tray cold, but if you
need a diversity of different temperature ranges you'll have to
fine-tune your setup and routine to have everything within their
preferences. Once you're done growing mushrooms off one reservoir, you
may turn the heat in it up so you can grow citrus, etc etc.

This also solves several bugs and makes a lot of QoL changes, the full
changelog will list everything.

<img width="608" height="320" alt="image"
src="https://github.com/user-attachments/assets/12e53224-d9be-4e69-9c48-6185d3303a14"
/>

<img width="384" height="608" alt="image"
src="https://github.com/user-attachments/assets/1a0c2b0c-8ad6-4f5c-b992-2e78035ab52d"
/>

<img width="640" height="512" alt="image"
src="https://github.com/user-attachments/assets/1cf837d1-3db5-440a-a465-071841febaea"
/>


### What about the mapping?

Atmos has been integrated into every hydroponics tray in the mapping
changes, rather than only on D1 like at present, to support the new
mechanics. I've moved as much stuff up to D2 as I could fit, in the
interest of getting players to the more visible and socially viable spot
rather than hiding in their basement. D1 is now exclusively intended as
a storage area, laboratory, and now has an expanded Hazardous Specimens
unit.

### To-do before review

- [x] Ensure that chefs can still do alien-specific menus without a
hydroponicist, now that they can't necessarily grow their stuff in the
garden - loadout produce box, maybe?
- [x] Remap xenobotany
- [x] Review whether every alien crop can still grow on its respective
in-game exoplanet - Adhomai might be okay? (Adhomai is essentially fine,
Moghes will need work before we go back into the sector)
- [x] Make sure the yield_mod interactions aren't explosive.

### Known issues

1. Yes, the examine on hydroponics trays is huge. In the long-term, IMO
this should probably be a TGUI.
2. The TGUI on seed storage units is clunky, this is also on the to-do
list for the future.
3. The logic for calculating growth is bad, it's very RNG-skewed.
Another thing for later.
4. Atmos mechanics like these can be pretty opaque to players, so this
will certainly require a wiki update shortly after merge describing
exactly what steps you should take to operate the new atmos equipment.
2025-08-02 19:58:04 +00:00
hazelratandGitHub 8e3d52f5ee Hydroponics tweaks #4 (#21016)
See changelog for the full list, several little QoL things coming off
https://github.com/Aurorastation/Aurora.3/pull/20890.

The most notable mechanical change is that, if outside of their light of
heat tolerances (or otherwise afoul whatsoever of the handle_environment
proc), plants will stop growing. This is to avoid the awkward
interaction of a plant being grown at completely improper temperatures
or light levels still managing to mature before it dies.

Makes hydroponicists spawn with full belts at roundstart. Engineers do
and machinists do, it just cuts down on a little roundstart begrudgery.

Includes light and heat preferences on seed packets!
<img width="633" height="118" alt="image"
src="https://github.com/user-attachments/assets/4ac4b728-072a-4510-bb52-c9e5ed76c6a5"
/>

Coming up next will be extended descriptions explaining the mechanics
somewhere visible to players, once
https://github.com/Aurorastation/Aurora.3/pull/20923 is in.
2025-07-23 16:27:34 +00:00
4d5d2c340e Expands hydroponics temperature/light mechanics (#20890)
This is sorta bulky on the changes since it includes a lot of shuffled
documentation, so I'll try to thoroughly summarise here.

- Introduces 'preferential' temperature and light values to plants. This
means that, while a plant is _within_ 5K and 2 lumens of their ideal
heat and ideal light, they will grow faster than otherwise. In the
current implementation, the base growth is a 15% chance of age being
increased, plus another 15% if you're within preferential temps, and
another 5% if within preferential lumens for a maximum of 35%. This is
intended to incentivise engaging with temperature mechanics to grow
plants with unusual requirements.
- This is different to the existing tolerance values, which instead
check whether the plant is _outside_ of them - if they are, it damages
them. Tolerances cause the plant to die if they're too far from their
ideals, preferences cause the plant to grow faster if they're very close
to their ideals. The range of preferences should always be inside
tolerances.
- To work better with this, the ideals of a few kinds of plant have been
tweaked. Mushrooms, Adhomian plants, and molluscs will all **not** be in
their preferences at room temperature - they will need to be cooled,
which can currently be done in D1 hydroponics. A few warmer plants, such
as sugarcane, will need to be warmed up to reach their preferences.
- None of these will go outside of their tolerances at room temperature
- they won't die, they'll just grow slower.
- Most plants will be within all their preferences without any action by
the gardener.

There's also a few assorted QoL changes to hydrotrays, see the
changelog.

---------

Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-07-12 18:21:31 +00:00
hazelratandGitHub 83bfc31aab Adds a stasis setting to hydroponics trays (#20842)
As title. The stasis setting can be enabled with a multitool if the lid
is down, and prevents the tray from processing - it can't die, but it
also can't grow. I've sprited a little overlay so you know which trays
are under stasis.

This is intended to give hydroponicists more levity with leaving
hydroponics without having to worry about their plants dying while
they're gone.


![image](https://github.com/user-attachments/assets/19358e75-221a-4f17-a0b3-2a8d07992f0d)

![image](https://github.com/user-attachments/assets/87fcb95a-6899-41ed-9109-3a0c619517f2)
2025-06-22 18:08:48 +00:00
FluffyandGitHub 86f8d6fd4f Movement update v2 (#20548)
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
2025-03-22 11:38:05 +00:00
FluffyandGitHub 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
FluffyandGitHub 4538e2a7cc Fix indentations (#17481)
* cbt

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fsadffsda sad

* sadfasd

* jhn

* dsfa

* saf

* safsad

* sda
2023-10-05 10:15:58 +00:00
WildkinsandGitHub a4461a17af Implement Bay's SSmachinery and power usage updates, further unclogging the toilet (#13910) 2022-05-16 18:50:16 +02:00
MenownandWerner 3efd3c4c2b Fun with Plants: Ft - Pitbull Worldwide (#5760)
Soil Plots:
- Can be created with three sandstone blocks.
- Can be removed with shovels or minispades. Has a timer that delays the construction and deconstruction.
- On spawn, soil plots do not contain water, or nutrient, requiring some initial start-up instead of just rebuilding the plot to get more water and nutrient.

Hydroponics trays:
- Received a minor buff -> No weeds. Hydroponic trays do not face issue from weeds irl. This will add incentive to using them outside readily available and constructable soil plots.
- Retaining of warning light for toxin levels and pest levels on the trays.
- Added NT dummy failsafe because people are killing their plants because they don't realize they require setting of lights. Default light is now set to five on each closed tray.

Point of the PR:
- Add incentive to use sandstone bricks to create planting beds if desired, keep incentive to use hydroponic trays as well as give them change to bring in line to more realistic standards for how hydroponic trays function.
- Prevent people from killing their plants through general lack of knowledge while providing a simple basic light setting that will at least slow decay of any closed system plants.
- Add some difficulty to initial upkeep of soil plots, while also preventing misuse through demolishing to obtain further water and nutrient.
2018-12-15 12:38:31 +01:00
LordFowlandErki e656f2743c [Ready For Review] Unapologetic Vaurca Buffs II: Attack of the K'ois (#4083)
Implements Black K'ois
Implements K'ois Mycosis
Implements Black K'ois Mycosis
Buffs K'ois' healing properties for Vaurca
Vaurca can now control where they bite
2018-01-27 17:52:30 +02:00
LordFowlandLohikar 2ac73351b8 Unapologetic Vaurca Buffs (#3949) 2017-12-12 13:15:45 -06:00
Lohikarandskull132 0db557ac29 machinery_process() & auto_use_power efficiency tweaks (#2657)
changes:

Machinery now uses machinery_process() instead of process(), allowing machines to be put into SSprocessing-style lists in addition to the machinery list.
Automatic power calculations now involve less proc-calls.
2017-06-12 19:09:36 +03:00
Kelenius 10915eae24 Merge branch 'dev' into ofChemistryAndStuff
Conflicts:
	code/game/objects/effects/chem/chemsmoke.dm
	code/modules/customitems/item_defines.dm
	code/modules/projectiles/guns/launcher/syringe_gun.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/pill.dm
	maps/exodus-1.dmm
2015-05-15 11:28:05 +03:00
GinjaNinja32 3fc9d89163 Fixes vines not being vines. 2015-05-12 01:56:51 +01:00
Kelenius 317abc6b79 Merge branch 'dev' into ofChemistryAndStuff
Conflicts:
	code/datums/recipe.dm
	code/game/machinery/bots/farmbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/objects/effects/chem/chemsmoke.dm
	code/game/objects/effects/effect_system.dm
	code/game/objects/items/toys.dm
	code/game/objects/items/weapons/extinguisher.dm
	code/game/objects/items/weapons/mop.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/organs/organ_internal.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/Chemistry-Reagents.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/pill.dm
	code/modules/reagents/reagent_containers/spray.dm
	maps/exodus-1.dmm
2015-04-28 10:49:26 +03:00
Zuhayr 1070a8f63c Adds weedkiller smoke checks to hydro trays and spreading plants. 2015-04-01 07:25:09 -07:00
Zuhayr 23b93e7540 Added tray lighting verb. 2015-02-22 17:34:41 +10:30
Zuhayr fdf0360a69 Collapsing all fruit into one object type. Refactoring reagent grinder and removing juicer. WIP. 2015-02-04 10:55:33 +10:30
Zuhayr 93cf4f73c5 More work on the vine system, fixing multiple bugs. 2015-02-04 10:52:48 +10:30