```
- refactor: "Updates the Computer Fabricator to TGUI"
- refactor: "Updates the Instruments to TGUI"
- refactor: "Updates the Geo Scanner to TGUI"
- refactor: "Updates the Stacking Machine to TGUI"
- refactor: "Updates the Robotics Console to TGUI"
- refactor: "Updates the Requests Console to TGUI"
- refactor: "Updates the Synthesizer/Instrument main panel to TGUI"
- refactor: "Updates the Nuclear Bomb control panel to TGUI"
- rscadd: "Requests Console messages are now typed (Assistance Request, Supply Request, Information, Reply); the type is shown in the recipient's log, audible alert, and PDA notification."
- rscadd: "Reconstructs the Synthesizer's Virtual Environment Editor (was broken since added — its NanoUI template never existed). The Custom environment preset that depends on it is gated behind a new musical_config.can_use_custom flag (default off, matching prior behavior)."
- bugfix: "Fixes the Autolathe UI re-opening after every print job."
- bugfix: "Fixes the Song Editor's currently-playing line indicator not advancing during playback."
- bugfix: "Fixes a class of bugs where TGUI windows for the Air Alarm, Portable Turret, Mining Vendor, Mineral Processor, Tank Dispenser, Helm Console, all Chemistry machines, and Suit Cycler would force themselves back open after every action, even when the player had closed them."
- bugfix: "Fixes the spatial sound system silently dropping every sound that used the 'None' (-1) environment id or a 23-element custom environment list. The validator was rejecting both as invalid, so synthesizer notes played with Custom or None mode produced no audible output at all."
- admin: "Adds two requests consoles and two fax machines to the bridge on the runtime test map."
```
Claude Opus 4.7 has been used during the creation of this PR
---------
Signed-off-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
We think the culprit behind this one was VSCode autofilling Destroy()
with . = ..()
which is improper. There's a **surprising** number of improper order
Destroy() procs in the repo, so I might as well get all of them in one
pass. Several of these files are associated with currently known hard
dels, such as the modular computer and organ related dels. More than a
couple were my own mistakes, since the Destroy() or Removed() . = ..()
behavior on signal registering objects also prevents the signal from
being unregistered, which similarly creates a hard del.
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Many, many, many items have inhand sprites in their .dmis but for
whatever reasons do not display them in-game. This PR:
1. Updates many item definitions to point to their already-existing
inhands correctly. This consists largely of held tools, but also gas
tanks and jetpacks mounted in the suit storage slot.
2. Adds a few codersprites made by me for objects with either missing
inhands or poorly matching mishands (IE, the tape recorder, which has a
black case, reused the white inhand sprites of the health analyzer). The
new sprites are modified or recolored variations of other inhand sprites
from our repo, except for circuitboards which are new.
<img width="444" height="400" alt="image"
src="https://github.com/user-attachments/assets/7f107b9a-fe24-4e31-8f16-4d34768ee117"
/>
3. Adds inhand sprites for Inflatables and Inflatable Boxes made by
Tomixcomics.
<img width="424" height="101" alt="image"
src="https://github.com/user-attachments/assets/434107c4-8577-49a2-a58e-d6b014c03933"
/>
4. Ports inhand sprites for the Hydraulic Rescue Tool from tg's Jaws of
Life.
<img width="224" height="94" alt="Screenshot 2026-02-07 172931"
src="https://github.com/user-attachments/assets/070c7956-f6a8-4fb5-870f-10c64afcc8b3"
/>
5. Some additional cleanup while in the area. The 'analyzer' has been
renamed the 'gas analyzer' to be consistent with the other analyzer
objects, standardized icon_state naming conventions where I saw
oddballs, updated code docs to use DMDocs when in the area, etc.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
I spent the entirety of today's event looking at hard dels with my new
digital minions. This was *nearly* every Hard Del that came up during
2/7/2026's event. It turns out that AI is extremely well suited to
hunting down circular references like this across an entire repo. This
PR was made with Antigravity-Gemini3Pro.
I have not yet tested this PR.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
Adds the Adhomian instrument, p'rrama to the game. Turns out it has had
an icon sitting around in the tajara items dmi for years but no actual
code.
Adds the shillelagh (now renmaed to Maikahar) (Adhomian walking stick)
and Tajaran dogtags to the Tajaran loadout section.
Adds the Adhomian hunting coat to the Taj coat selection.
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.
---------
Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
## About The Pull Request
OpenDream is adding `usr` and `args` to the `SoftReservedKeyword`
pragma: https://github.com/OpenDreamProject/OpenDream/pull/2307
This PR renames `var/usr` to `var/user` and `var/args` to
`var/arguments`.
## Why It's Good For The Game
This pragma is currently set as an error on Aurora, because using
internal var names for declared var names is cringe.
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.
This is based on, and should only be merged after, #19847
Fixed all datum[index] accesses, they are considered undocumented
behavior and fail from 515.1641.
Flipped the OpenDream pragma for the above to emit an error instead of a
warning.
Hopefully restricting them to off-duties and passengers will prevent
them from being all too overused (might'd be a bit weird to bring your
old guitar with you to work every single day).
---------
Signed-off-by: 4000daniel1 <95170823+4000daniel1@users.noreply.github.com>
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
* 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
* pain
* sadfas
* sdfa
* sdfasf
* sfa
* sdf
* might the lord have mercy on our soul
* i cri everidai
* adeste fideles
* sdf
* where will this lead, what's coming next, from your inventions
* dear lord
* gjvhk
* i cri everidai
* fsgf
* sdfa
* sdaf
* hiuhi
* 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>
* Refactored do_after to use a flag-based system for options
* More flags
* Ditto
* Use the HAS_FLAG macro
* do_after pass
* Fix burning paper code
* Resolve issues from Fluffy's code reviews
* .
* I wanna set the universe on fire
* dfsaaf
* setup
* dir issue?
* dsf
* Perhaps the script
* saf
* cry
* pain
* sdfas
* Try reintroduction of tag-matcher
* Failed
* Tries to suppress dotnet compile warnings
* Like this maybe?
* woopsie
* Damn pathings
* Hate
* Pragmas
* unlint?
* Maybe?
* GDI
* Redundant ifdef removed and changelog
* Did I forgot the tag matcher, or it was still broken?
* Yea no that script is still broken
* Removed tag-matcher as requested
* *sigh*
* test
* bro what?
* hope
* just fixing the input
* Let's see if we catch it...