9 Commits
Author SHA1 Message Date
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
BatrachophrenoandGitHub 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
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
WildkinsandGitHub 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
BatrachophrenoandGitHub 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
FluffyandGitHub 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
FluffyandGitHub 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
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
FluffyandGitHub a965645d51 Port+Changelog (#16291) 2023-05-28 20:45:02 +00:00