37 Commits
Author SHA1 Message Date
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
Matt AtlasandGitHub 3837112bd1 Revert "Fix missing pixels in new hairstyle" (#20854)
bad merge
2025-06-17 02:33:31 +02:00
BatrachophrenoandGitHub 156620ad4f Fix missing pixels in new hairstyle (#20828)
See title- the new haircuts leave two pixels of the head uncovered, this
fixes that. My bad, know better testing now... :(
2025-06-16 22:16:59 +00:00
hazelratandGitHub 9f25ba5ed1 Spore packets no longer have a seed packet under their overlay (#20804)
Resolves an issue causing the 'random' icon in seeds.dmi to appear
underneath overlays, causing them to seem to be underneath spores and
eggs.


![image](https://github.com/user-attachments/assets/c88a17e3-f7f5-4c8d-9d9d-b570822c1ef4)

There's probably a better way to do this, but from what I've been able
to determine there's no way for a seed to generate without having
overlays to make up for the naturally blank icon state.
2025-06-11 09:51:53 +00:00
Wowzewow (Wezzy)andGitHub f046ebe584 Borg Bag Fixes and Refactors (#20578)
Fixes #19603
Fixes #20558

- bugfix: "Fixes plant bags - now uses storage_slot system, along with
other bag subtypes."
  - bugfix: "Borgs can interact with tables again."
  - refactor: "Refactors make_exact_fit to be a binary variable."
- refactor: "Refactors storage items to use make_exact_fit instead of
arbitrary max_storage_space values."
- refactor: "Refactors storage items to use defines for storage space."
  - bugfix: "Fixes monkey cube boxes having superfluous overlay."
  - rscadd: "Updates the progress bar toggle message."
- qol: "Objects that rotated 90 degrees in storage no longer rotate in
storage slots."
 
<img width="732" alt="dreamseeker_qRVkIlYN78"
src="https://github.com/user-attachments/assets/1226ed22-52c1-4965-a1b4-2290e56a2ab3"
/>
2025-03-12 09:12:27 +00:00
FluffyandGitHub a3a4d46fa7 Hitby refactor (#19624)
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
2024-07-28 20:52:08 +00:00
DreamySkrellGitHubDreamySkrell <>
5ae3436695 Tret Industrial Complex + Away Site Exoplanet Generation (#19054)
![image](https://github.com/Aurorastation/Aurora.3/assets/107256943/38e68d9f-8ab4-414b-bbf2-ac107e943172)

![image](https://github.com/Aurorastation/Aurora.3/assets/107256943/896f8448-42be-49d3-8e1f-58e4a1569b10)


![image](https://github.com/Aurorastation/Aurora.3/assets/107256943/889d0e0c-b2cd-4c8f-9a2c-4eff90586d61)

![image](https://github.com/Aurorastation/Aurora.3/assets/107256943/b9cd0ae4-25f5-44ee-9298-48a46cb46399)

![image](https://github.com/Aurorastation/Aurora.3/assets/107256943/6f4b5f75-3c29-4486-b808-7bc13c36807c)

---------

Co-authored-by: DreamySkrell <>
2024-06-02 01:49:11 +00:00
9983fca311 Update SSOverlays (ported from Baystation) (#19051)
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.

This brings an updated system from Baystation, hopefully with speed
increases.

Should be testmerged, ideally with #18895.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-05-01 07:46:27 +00:00
4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
ce5ac79e3c Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function

* Fix various issues

* Update code/modules/mob/examinations.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Add required define vars

* Update code/game/objects/items/stacks/wrap.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-09-09 08:07:36 +00:00
JohnWildkinsandGitHub cbf8930bb7 VueUI Vending Machines III: Revenge of the Spritesheets (#10311)
It's #10197 and #10240 again, except this time using spritesheets from #10272.

Also fixes issues with coin interactions / premium items, and some other minor tweaks.
2020-10-31 11:00:28 +02:00
JohnWildkinsandGitHub 421c5e9946 Revert "VueUI Vending Machines (#10240)" (#10265)
Here we go again.
2020-10-15 21:22:46 -03:00
JohnWildkinsandGitHub 1c5a775051 VueUI Vending Machines (#10240) 2020-10-15 18:01:45 +02:00
GeevesandGitHub d155132fa1 Aquaponics and Molluscs (#10067) 2020-10-03 13:48:29 +02:00
Wowzewow (Wezzy)andGitHub 307c214541 makes w_class use defines (#9848) 2020-09-06 17:37:56 -03:00
MarinaGryphonandGitHub f060df8b24 Cooking Update: Cooking Moona (#9454) 2020-09-02 10:49:14 +02:00
AlberykandGitHub 8463300224 Cold War Arc Release: Hearts of Plasteel Edition (#8585) 2020-04-05 16:31:56 +02:00
AlberykandErki 199da5f41c Adds more skrell stuff (#6991)
-adds some skrell items to the loadout
-adds an unique jumpsuit to the jargon consular officer
-adds some new skrell markings
-adds a new sprite for a skrell holy book
-adds a new skrell plant
-adds some new skrell related drinks
2019-09-17 21:53:51 +03:00
VTCobaltbloodandErki a0045fdb86 A new skrellian plant, and associated stuff (#6340)
Adds dyn, a Skrellian herb. Renowned as a medicine, its juice has mild anti-toxin properties identical to how powerful tea was before Burger nerfed it; lower than tea because Arrow considered old tea to be too OP, and any beverages made from it do too. Seeds are available both in the garden and hydroponics, and the plant may occasionally contain actual dylovene in it.
The new drinks are the raw juice of the herb, a tea (1 juice to 4 water), and an icy/fizzy iced tea thing (1 juice to 2 ice to 2 soda water). The last comes as a soda can in the vendor, and a carton of juice is available at the bartender's boozemat.
This is the first in a series of PRs expanding upon skrellian cuisine/drinks.
2019-05-02 00:44:53 +03:00
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
AlberykandWerner a190c5bde5 Bug fixes -botany, robotics and random events (#5614)
* Bug fixes.

* Fixes more bugs.

* Adds changelog

* Fixes two more issues.
2018-11-16 18:20:40 +01:00
AlberykandWerner e950f6b5fd Add new chemicals (#5168)
Adds new drugs:
-Red Nightshade: a drug that induce a berserk-like status, you see only red, can smash windows, stuns go away slower and etc
-Paxazide: a medicine that induces pacifism on the target, like the mutation
-Spectrocybin: a hallucinogenic that has a small chance of giving a glipse of the other hidden to mere mortals, can be found in a mushroom variety

Adds a new secret chem:
-Bottled Lightning: causes a tesla zap when in contact with someone's blood or when splashed on the ground

Also removes some broken/unused plants.
2018-08-30 20:09:08 +02:00
AlberykandWerner eb63c1d178 Food and seed update: the tobacco fixing (#5020)
-adds tobacco, peppercorn, onion and garlic seeds
-adds new cooking recipes, sprites from baystation and polaris
2018-08-02 01:10:25 +02:00
AlberykandWerner 0238893f18 Adds more tajaran cuisine (#4845)
This pr adds some dishes, plants and drinks based on the tajaran lore. The meat and clams can't really be found anywhere right now, as they are supossed to be ordered from cargo.

Also fixes some foods having proteins for no reason and adds a new frappe sprite.

Sprites made by dronz, brainos, and some others were found in the vgstation and tgstation codebases.
2018-06-14 21:41:05 +02:00
BurgerLUAandErki aad698be53 Mental Medication Additions (#4648)
The less controversial tweaks
Tweaked the metabolism rate of mental medication to reflect their intended values. Reduced the dosage threshold to suppress traumas to reflect their intended values.

Syringe (drugs) now contains truth serum.

Cardox is now slightly poisonous, and can directly remove phoron from blood when consumed. Cardox can now remove phoron in the air when applied to turfs.

A secure box of loyalty implants, hextrasenil pills, and cardox grenades are now located in the vault.

The vault now contains some misc emergency gear that a head of staff can access in case of a dire situation. Current gear are loyalty implants, expensive cardox grenades, and Hextrasenil pills.
2018-05-13 17:39:56 +03: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
AlberykandLohikar 25c805de1c Adds more food recipes (#3544) 2017-10-07 00:41:29 -05:00
LohikarandLordFowl f6dc33a465 Newmap - SMC, Openturf, Arrivals Controller, and Mine Turf Improvements (#1958)
* Replace SSingulo with SScalamity; processing cleanup
- SScalamity now handles blobs as well as singularity-types.
- Processing subtypes have been simplified to not require a stop_processing definition.

* this is probably important

* Remove cascade disabling SSgarbage

* Fixed a bug where dust() did not qdel the target mob

* Misc fixes

* Fix decals surviving break-to-plating

* Subsystem flag tweaks

* Apparently subsystems are new'd before config is.

* Fix paper icons

* Speculative fix for insane lag

* Better machinery stat

* Make organs not use SSoverlay

* Misc bugfixes & tweaks

* Nightmode fixes

* Changelog for SMC

* Port /tg/'s improved MC crash handling

* Add some more SS Recover() procs

* supply_controller -> SScargo

* More New() -> Initialize()

* pAI and robot construction overlays

* Fix cargo unit tests

* Merge the DMM Suite's atom/New() into atoms_init

* Lighting pre-baking

* Lighting initialization logging

* Fix some bad SS init orders

* Fix SSlighting logging; rename Processes to MC

* Speculative fix for insane GC lag

* Prebaked openturf/icon_smooth & fix lighting prebake

* SS init status; SSatoms LATEQDEL

* Fix bug with MC init stat panel

* Fix parallax

* Misc

* Ignore SS_NO_DISPLAY during init

* apparently this is important

* REEEEEE

* Image GC fixes; broadcaster radio-new sanity

* RCON Cleanup

* Move pAI recruiter into subsystem

* Move global solars list into sun subsystem

* Make chickens not use a global

* Demote SSdisposals to SS_BACKGROUND; garbage-debug cleanup

* Speed up space init a little

* Fix bad timer flags on floor drying

* Subsystem panic-restart verb for mins

* Explosion speedup

* Minor subsystem & MC logging tweaks

* SSopenturf improvements

* Make pipenet actually initialize (whoops)

* Minor tweaks

* Implement lighting rounding

* comments are hard okay

* Minor lattice tweaks

* Fix some timer issues & better closet init

* Timer sanity

* Request console tweaks + Storage init sanity

* Minor SSmachiner RCON improvements

* Further reduce world-start timer count

* Standardize subsystem logging

* Garbage hard delete profiling from /tg/

* Timer hang detection & recovery

* Log machines that sleep in process() and fuck up SSmachinery

* Fix an issue with external airlocks sleeping in process()

* Failsafe logging

* Minor tweaks

* Revert "Request console tweaks + Storage init sanity"

This reverts commit 98d3579e35.

* Re-implement RC changes

* Fix SQL FT saving

* Fix SSmachinery sleep in disposals

* Minor SS tweaks

* Paper fixes

* Blood drying fixes

* Merge gameticker and SSticker

* Minor global list init cleanup

* Lagcheck biogenerator & bags

* Tweak SScargo init order; RIG Initialize()

* Caching tweaks

* Remove rogue comma

* Initialize fixes

* Lighting destroy cleanup

* Fix emagging airlocks

* Initial SSicon implementation

* Tweaks & Fixes

* Fire + Air alarm queued icon updates

* Overlays + Queued icon cleanup

* Runtime & background fixes

* Kill some meaningless set statements

* Kill some image qdels

* Bump up lighting rounding val

* Fix adv. scanner destroy runtimes

* Remove unneeded icon update limiting

* Move icon smoothing into helpers

* Show a warning if DM 510 compiles without memory leak hack enabled

* Re-organize subsystems & MC defines a little

* Airlock SFX

* Log of Changes

* Make SSicon_update disable itself when not doing anything

* Fix respawn verb runtime when used early in server-init

* Add more information to MC's stat_entry()

* Replace direct refernces to gcDestroyed with QDEL* macros

* plant_controller -> SSplants

* More plant tweaks

* Add more humor to changelog

* Move parallax globals into SSparallax

* Lighting responsiveness tweaks

* Fix parallax init order & better MC init panel stat

* Make mobs GC

* More overlays + Remove intercom spawn()

* SSfast_process; make pinpointers not use spawn-recursion to process
Also made the SM Cascade beach process with SSprocessing instead of a spawn loop.

* Update changelog

* Mob GC tweaks

* Del() cleanup

* Fix insomniac ZAS connection edges

* Minor pAI cleanup

* Convert more things to SSoverlay; fix duplicated overlay in field gens

* SM Bluespace turf tweaks

* Update SSgarbage debug globals list

* Human-type qdel tweaks

* Subsystem suspension; stat_entry improvements

* SQL Statistics cleanup

* Fix runtimes with ambrosia

* More disable() -> suspend(); fix nightmode again

* Human qdel fix; minor tweaks

* Update turbolift to work with StonedMC

* Make lifts use timers instead of a subsystem

* Make SSassets start earlier

* Convert the radio controller into a subsystem

* Fix some missing CHECK_TICKs in asteroid generation

* MC stat tweaks; make shouldnt_see a typecache

* Kill some redundant debug-controller entries

* radio_controller -> SSradio

* Better SSgarbage hard-del logging from /tg/ upstream

* Logging tweaks + GELF

* Misc client caching improvements

* Slime SSoverlay

* Oven icon fixes

* Implant fixes
- Death implants will no longer spam Common on death of user.
- Death implants should handle a deleted user better.

* Holder tweaks + Welding tool Initialize()

* Fix some bad subsystem logging

* Fix suit cooling units spawning without cells

* Starlight tweaks

* Gibber infinite gib fix

* More SSoverlay stuff

* Make crates use CUT_OVERLAY_IN

* Make SSarrivals suspend instead of disable

* Make openturf use split/phased tick checks

* Speculative fix for unwet timer runtimes

* Blood overlay tweaks/fixes

* Update crusher to play nice with SMC + SSoverlay

* Openturf improvements and fixes

* Minor turbolift tweaks

* Lighting performance improvements + ChangeTurf tweaks

* this is probably important

* Fix wall weld noises on changeturf

* More ChangeTurf tweaks

* Explosion tweaks

* Pre-game lobby tweaks

* Openturf tweaks

* Prevent admins from starting the game before init finishes

* Fix Travis

* Kill an unused var

* Fix ChangeTurf runtimes on openturfs

* Fixes

* Browser datum fixes, asset caching

* Update changelog

* Changelog

* Lobby tweaks

* Ticker tweaks; kill ticker var

* Further lobby tweaks

* Cascade tweaks

* air_master -> SSair

* Reduce overhead from radio autosay

* alarm_manager -> SSalarm

* bomb_processor -> SSexplosives

* corp_regs -> SSlaw

* ZAS overlay fixes

* Small wall icon optimization

* Fix effects master

* Assembly tweaks

* Megavend fixes

* Shuttle fixes

* Camera alert performance improvements

* Fix some world.log spam from lighting overlays

* Fix some Initialize() procs

* Openspace responsiveness tweaks

* Make HE pipes animate through openturfs

* Kill a spawn
2017-05-02 14:40:40 -04:00
LordFowl c7ca0887e7 Vaurca Changes
Various vaurca-based changes, as detailed in the changelogs.
2016-05-05 19:10:05 -04:00
Zuhayr ef50918b9c Hackfix for #8588 2015-03-24 12:46:07 +10:30
Zuhayr c5e2feb5f1 Merge with dev. 2015-02-05 20:24:06 +10:30
Zuhayr 5890fa3c4b Added plant controller. 2015-02-05 15:53:20 +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