31 Commits

Author SHA1 Message Date
Batrachophreno eebb8b971c Materials Repath (#22388)
Soft-ish port of https://github.com/NebulaSS13/Nebula/pull/540. Except
we call them singletons.

Repaths all materials as singletons instead of datums, and replaces
material defines from strings to paths so that we can just run
GET_SINGLETON instead of needing to use SSMaterials. This is Step One.

This PR has no player-facing changes.

changes:
  - refactor: "Repaths /material to /singleton/material."
- refactor: "Replaces all material string defines to path defines,
replacing SSmaterials procs w/ GET_SINGLETON instead."
- refactor: "Removes all material var edited objects from all maps,
adding new presets where necessary."
- refactor: "Updates recipes unit test to run all recipes against all
material singletons."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: kano-dot <bhutanlikanoxy@gmail.com>
2026-07-10 18:45:58 +00:00
Batrachophreno 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00
Batrachophreno 0a8e73af8d Binary atmos devices alt-click toggle fix, space heater feedback text fix (#22328)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22246
changes:
- bugfix: "Binary atmos devices are again able to be toggled on/off by
alt-clicking them."
- bugfix: "Temp control units now display correct 'turned on/off'
balloon text when toggled."
2026-04-24 21:42:08 +00:00
Arrow768 80945f374c Atmos GUI Update (#22121)
Updates the atmos GUIs using Claude Code

Oxygen Regenerator:
<img width="380" height="320" alt="image"
src="https://github.com/user-attachments/assets/25da98e9-b1d0-4cec-b7bf-254c0997481d"
/>


Air Alarm:
<img width="381" height="609" alt="image"
src="https://github.com/user-attachments/assets/0d8bba24-8eb0-4571-b69f-15f3c694e7b2"
/>
<img width="381" height="609" alt="image"
src="https://github.com/user-attachments/assets/68b94262-8456-4e43-b8b0-b44c8004da77"
/>
<img width="380" height="580" alt="image"
src="https://github.com/user-attachments/assets/21df1247-12f8-4bf4-af57-081bef33552e"
/>
<img width="380" height="580" alt="image"
src="https://github.com/user-attachments/assets/4217f40c-f549-4c8f-91ee-acfddfd58c6a"
/>
<img width="380" height="580" alt="image"
src="https://github.com/user-attachments/assets/ea44abae-5167-47e5-b352-b45b0fd8d102"
/>
<img width="270" height="156" alt="image"
src="https://github.com/user-attachments/assets/acc3bb15-3876-4957-a38f-6d86abb12605"
/>

Atmos Alert Computer:
<img width="400" height="400" alt="image"
src="https://github.com/user-attachments/assets/dfd0da2d-2bd6-4818-b82f-25baee9bbf45"
/>

Omni Filter:
<img width="430" height="360" alt="image"
src="https://github.com/user-attachments/assets/9f19c7a7-abaa-4bdb-8ae3-016c54ae5c05"
/>


Omni Mixer:
<img width="430" height="360" alt="image"
src="https://github.com/user-attachments/assets/48c79763-a45b-4e74-bb01-e51c1944fa9d"
/>

---------

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-04-11 12:00:10 +00:00
Arrow768 13fa715edd Pump GUI Update (#22100)
Updates the GUI of the Atmos Pumps to include a normalized flow rate
(normalized to 1ATM and 20C) and measurement functionality.

---------

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-03-29 02:08:38 +00:00
Batrachophreno eb6c7ff844 Update TEG NanoUI to TGUI, rename TEG to Stirling engine (#21933)
As title. TEGs are basically just thermopiles IRL; a Stirling engine
more accurately reflects its functionality.
<img width="551" height="303" alt="image"
src="https://github.com/user-attachments/assets/eb0f0c73-c1cc-4a04-85bc-13a413d8ac48"
/>

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-03-02 09:41:29 +00:00
Wildkins e1770df81e Lag War Day 4: Under Pressure, High Voltage (#21878)
Replace /datum/gas_mixture/proc/return_pressure with XGM_PRESSURE(xgm)
macro. Having such a relatively simple statement contributing proc
overhead to procs called millions of times is ridiculous

Rename /datum/gas_mixture/proc/zburn to react, deleting the old react
which was just an alias for it. Free proc overhead

Turn check_combustibility into a macro CHECK_COMBUSTIBLE(is_cmb, xgm).
also rewrite it slightly so that it only needs to do one pass. Its a bit
nasty so I apologize for that, but speeeeed.

Delete most powernet and obj/machinery/power procs for handling power,
replacing them with macros. The fact that we were unironically calling a
draw_power() on APCs to call draw_power() on their terminals to call
draw_power() on their powernet every single process tick was insane.

Turn `between` into a macro alias for clamp() since the param order is
different

turn `Percent` into a macro AS_PCT

Rewrite significant chunks of update_canmove so its not quite as
horrifying of a proc and hopefully doesn't eat the entire mob subsystem
every movement now
2026-02-27 00:35:41 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Batrachophreno 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
SleepyGemmy 5f9201fdf0 Transferred Typo Fixes (#20879)
this PR fixes transferred being spelled as "transfered".
2025-06-25 21:10:01 +00:00
naut d63d63d78c Visual / layering fixes (#19547)
Package of a few visual changes to make things prettier-er. Also added a
helper for mapping purposes.

  - bugfix: "Carpets now show proper edges again."
- bugfix: "Fixed layering of several map items, like disposal pipes,
that were previously buried underneath turfs in the map editor (and were
invisible as a result)."
- bugfix: "Fixed observer sprites occasionally going underneath certain
objects. Their layering has been fixed."
- bugfix: "Reinforced plastic tables now show up correctly in the map
editor."
- rscadd: "Added a special 'lock' door helper that automatically locks
doors underneath it so mappers don't have to edit variables/icon states
manually."


![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/53d97049-0104-491a-9a56-4d677afec536)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/a26c9cf6-1ea9-4654-bc5c-954c878efda3)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/6dbee17e-6a24-4cc9-b194-4c46530020be)

Fixes #18762 
Fixes #18840 
Fixes #19101
2024-06-29 09:02:23 +00:00
Fluffy 7fb282adf0 Refactored the machinery operable procs (#19274)
Refactored the machinery operable procs into a single one, DMDoc'd, SDMM
marked, made more readable.
Fixed suspension field generator not being able to be used as it was not
checking the power cell for operability.

Fixes #19249
2024-05-31 21:23:30 +00:00
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
Cody Brittain 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
Cody Brittain ddb14f4036 Planes & Layers part 1: The Re-Layering Redux (#18741)
This is part 1 of a project to, eventually, bring the render planes
system from /tg/ and bay into Aurora. This is a prerequisite and blocker
for many things the development team and community want to have, and
this was long overdue.

Many objects have been re-assigned layers, which are now thoroughly
defined. Maps have had their custom layer defines purged, as we should
be moving away from this in favor of saner definitions in the base
items.

This should be a test-merge due to the sheer amount of layers changed,
which will very likely create issues that I cannot possibly discover and
debug in a reasonable amount of time myself.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-04-01 14:50:27 +00:00
Fluffy 1b40dbce82 Updated the sound system (#18724)
* sdaf

* sdaf

* sdfa

* sadf

* sfda

* gfd

* reduce thrusters volume

* sdafsadsdaf

* sdfa

* Reduced some sound ranges and made some/more not ignore walls for loops

* health analyzers too

* ivdrip adjustment

* most tools now use play_tool_sound to have the sound played, reduced range for it
2024-03-25 20:40:36 +00:00
DreamySkrell 6437fe3f13 Supply and scrubber pipe connectors and pumps (#18571)
* a

* 4

* 45

* 6

---------

Co-authored-by: DreamySkrell <>
2024-03-04 09:25:35 +00:00
Fluffy 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
Matt Atlas 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
Cody Brittain 34d6e6b08a Binary Atmospherics TGUI port (#17037)
* Ports binary atmospherics stuff to TGUI

* Finish port to TGUI

* RM now obsolete NanoUI files
2023-08-10 11:03:53 +00:00
Fluffy a965645d51 Port+Changelog (#16291) 2023-05-28 20:45:02 +00:00
Cody Brittain 958a3494e5 Two new pipe types (Redux) (#16141)
* Added two new pipes: Fuel and Auxiliary Pipes

* Added a `cycle_to_external_air` tag to airlock controllers, which allows exterior air to be cycled out of an air lock through separate vents.

* Retrofitted the Spark and Intrepid with the new pipes, and the externally cycled air.

* CL

* Allow pressure tanks to attach to all pipes.

* RM stray pixels

* Update code/game/machinery/pipe/construction.dm

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

* rm unused states

* Fix misalignment

* Add remaining pipes to RFD, and correct a few omissions

* Fix airlocks not changing their state properly, and ensure that docking -always- forces airlocks to externally cycle.

* Remove externally cycled airlock from the Spark

* CL

* Add enough pressure to the Intrepid auxiliary line to ensure both airlocks can be pressurized consistently.

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-04-10 17:36:08 +00:00
Alberyk 834ab29ce1 Revert "Added two new pipes: Fuel and Auxiliary Pipes, and added a new Airlock mode to cycle external air. (#16083)" (#16138)
This reverts commit 329e4da321.
2023-03-28 01:51:23 +00:00
Cody Brittain 329e4da321 Added two new pipes: Fuel and Auxiliary Pipes, and added a new Airlock mode to cycle external air. (#16083)
* Added two new pipes: Fuel and Auxiliary Pipes

* Added a `cycle_to_external_air` tag to airlock controllers, which allows exterior air to be cycled out of an air lock through separate vents.

* Retrofitted the Spark and Intrepid with the new pipes, and the externally cycled air.

* CL

* Allow pressure tanks to attach to all pipes.

* RM stray pixels

* Update code/game/machinery/pipe/construction.dm

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

* rm unused states

* Fix misalignment

* Add remaining pipes to RFD, and correct a few omissions

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-03-27 20:57:47 +00:00
SleepyGemmy 5179dad83e Removes Old Deprecated Stuff (#15241) 2023-01-02 14:27:29 +01:00
Wildkins bb04ba3f87 Typecheck all return_air calls (#15363) 2022-12-19 12:19:41 +01:00
SleepyGemmy e8cc93d643 Fixes Some Atmospherics Oversights (#15311) 2022-12-14 19:21:58 +01:00
Mykhailo Bykhovtsev 372629de43 Atmospheric machines max power rating buff (#15229) 2022-12-07 11:54:19 +01:00
Wowzewow (Wezzy) 8593ac9e5d TEG resprite (#14705) 2022-10-22 22:30:59 +02:00
Wowzewow (Wezzy) eafa547b5c Ports use_tool proc from /tg/ (#13411) 2022-05-23 14:39:00 +02:00
Wildkins a4461a17af Implement Bay's SSmachinery and power usage updates, further unclogging the toilet (#13910) 2022-05-16 18:50:16 +02:00