Latex gloves (and by extension, nitrile and all other child items) had a
75% chance to leave fingerprints. This reduces that chance to zero.
While some impressions can be left by these gloves in real life, it is a
counterintuitive behavior for the purposes of the game (and we have
enough of those to memorize elsewhere anyways).
Fixes several runtimes from the past few weeks, some additional material
repath regressions, and the fact that if I shoot you with a stream of
ionized deuterium particles, it doesn't riddle you with cancer.
changes:
- bugfix: "Fixes emergency shields runtiming when hit by thrown
objects."
- bugfix: "Fixes several stale global list runtimes."
- bugfix: "Fixes several health percentage checks that could use unset
initial health values."
- bugfix: "Fixes additional materials regressions in INDRA code."
- bugfix: "Fixes invalid fuel injector depletion math."
- bugfix: "Makes accelerated particles apply radiation damage to living
mobs they pass through."
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>
Life() was wasting a bunch of processing time on "Every hardsuit
forever" regardless of if it was equipped or not. Additionally Life()
was responsible for double-processing hardsuits, which is extremely
improper. Since hardsuits are being moved to SSprocessing instead of
SSmobs, which has a different tickrate, I went ahead and tick
differentiated them to make sure that nothing will break.
Adds a variety of loadout origin items from Reade and New Gibson.
_All sprites by Alsoandanswer/Wezzy._
---
**New Gibsonite Uranium Glass Accessories:**
- Adds a bracelet, ring, and necklace that are an emissive green.
- Only selectable by characters with the New Gibson origin, incl. Tau
Ceti Skrell and Tau Ceti IPCs (for lack of New Gibson-specific
skrell/ipc origins).
<img width="965" height="101" alt="accessories"
src="https://github.com/user-attachments/assets/4a235dee-28ce-485f-931d-4913853a22ef"
/>
---
**Readic Personalised Breath Mask:**
- Adds a recolourable breath mask with an oni mask-like design.
- Only selectable by characters with the Reade origin.
<img width="1331" height="107" alt="mask"
src="https://github.com/user-attachments/assets/ef500fed-bf0f-4b22-a037-0a21938e2928"
/>
---
**Reade Extreme Racing Jackets:**
- Adds an extreme racing jacket with a bi-colour design and various
decals that can be selected.
- The jacket has an action that temporarily hardens the wearer against
heat/near-void conditions for 1 to 2 minutes (though only covers the
torso and so cannot replace a soft/voidsuit).
- Only selectable by characters with the Reade or New Gibson origins,
incl. Tau Ceti Skrell and Tau Ceti IPCs (for lack of New Gibson-specific
skrell/ipc origins).
<img width="1393" height="97" alt="jacket"
src="https://github.com/user-attachments/assets/20ec051e-3fe5-49b0-ace3-5159ec8a9938"
/>
Coloured Example:
<img width="654" height="309" alt="image"
src="https://github.com/user-attachments/assets/0fc81d89-c1b3-452a-87c7-374cc1e6dd18"
/>
---
**New Gibsonite Voidsuit and Modkit:**
- Adds a sleek/high-tech engineering/ops voidsuit to contrast against
the lower tech ones.
- A modkit to convert engineering/atmospheric/mining/hangartech
voidsuits is available in the loadout.
- Has human, skrell, and tajara variants.
- A unathi variant has also been sprited but is not available ingame.
- Only selectable by characters with the New Gibson, incl. Tau Ceti
Skrell (for lack of New Gibson-specific skrell/ipc origins)
<img width="1625" height="110" alt="suit"
src="https://github.com/user-attachments/assets/330db8cd-2bc2-4745-a720-6a0409b97332"
/>
Unused vars take up memory and worsen proc overhead. By far the worst
offenders to this are vars on /atom and /mob since they more or less
globally stack lots and lots and lots and lots of proc overhead. So I'm
cleaning up unused vars on these to save resources. I also noted several
vars that are excellent candidates for making components or elements.
When I'm not drowning in school work anymore, their time is numbered.
Mfw every space carp forever has a CCIA record, no wonder mobs are
laggy.
- renames/redescs/etc existing stuff to fit new TCAF lore
- lots of 4 years defunct TCFL stuff has been deleted or
repathed/renamed
- the tcfl peacekeeper ship that was soft-removed has been deleted
- the uniforms has also been modified and have had the necessary amount
of blue added. essentially i kitbashed the old TCFL uniforms with the
new TCAF uniforms
i probably missed a lot of tcfl stuff still.
---------
Signed-off-by: c#min7 <sadkermit01@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
On one fateful day when I was playing security I spotted an Idris unit
wearing a white coat. It was all great and good until it turned and the
white changed from white to an ugly grey. This could not stand, someone
should do something with that awful sprite.
Then I remembered I'm a spriter, so here we go.
> - imageadd: "Resprited Idris Unit coats. Brown Idris Unit coats are
now teal."
NEW sprites on the top, old (current) on the bottom.
<details>
<summary>Black Idris Unit coats: </summary>
<img width="2048" height="1024" alt="black coats"
src="https://github.com/user-attachments/assets/1afb2d20-93c4-46fd-a800-13ef20631e74"
/>
</details>
<details>
<summary>White Idris Unit coats: </summary>
<img width="2048" height="1024" alt="white coats"
src="https://github.com/user-attachments/assets/ddbe6c03-42f3-49bd-b780-82344161f969"
/>
</details>
Brown Idris Unit coats were redone to be teal to comply with the Idris
palette.
<details>
<summary>Teal Idris Unit coats: </summary>
<img width="2048" height="1024" alt="teal coats"
src="https://github.com/user-attachments/assets/fb1b3824-9bf0-44ff-a519-a92497590eee"
/>
</details>
<hr>
This is how the coats looked at the time this PR was posted.
<details>
<summary>First iteration black Idris Unit coats: </summary>
<img width="3072" height="1536" alt="black Idris unit coat"
src="https://github.com/user-attachments/assets/2f4ad7d8-617f-4ef9-aef0-618b690abdb1"
/>
</details>
<details>
<summary>First iteration white Idris Unit coats: </summary>
<img width="3072" height="1536" alt="white Idris unit coat"
src="https://github.com/user-attachments/assets/37b06fb7-a6bd-4577-a372-91892ae6f518"
/>
</details>
<details>
<summary>First iteration teal Idris Unit coats: </summary>
<img width="3072" height="1536" alt="teal Idris unit coat"
src="https://github.com/user-attachments/assets/d739db17-dc0a-4083-935f-d6651e65c5b0"
/>
</details>
<hr>
This PR is NOT related to me making an IPC whitelist application. Trust
me.
Have an Idris day!
Part 3 of the Mob Destroy Refactor, this time going through the entire
list of every ref stored up to a mob/human, and (attempting) to verify
and cleanup every possible circular ref. This PR also fixes some
mistakes made with cleaning up UI elements, namely that tgui's really
don't like it when you qdel them, and screen objects also weren't always
clearing their own references if Qdel'ed directly. There were several
niche situations too where circle refs might be retained by a mob. I
also found an issue where static lights were only cleaned up on
/atom/movable/ but actually existed farther up the chain on /atom. I
don't know if any /atoms that aren't /atom/movable ever get static
lights, but the fact that they can be needs to be correctly accounted
for.
I can't possibly have gotten all of them, but this is every single one I
could find after 3 hours of work.
Adds a Ceres Lance beret, armor, and new uniform in preparation for
future CL events.
Also modifies the Ceres Lance crate to contain these items and carry a
more diverse weapon mix for merc rounds and ease of spawning during
event rounds..
---------
Signed-off-by: TheStryker <thestryker289@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
Re-creation of https://github.com/Aurorastation/Aurora.3/pull/21046 to
skip merge conflict hell. Brings us modern TGUI.
**ALTERNATE TITLE: TGUI HELLSCAPE PR
ABANDON ALL HOPE YE WHO ENTER HERE**
- [x] Migrate build tools (javascript -> typescript, bun for package
management).
- [x] Upgrade all TGUI dependencies and associated root files to
TG-congruent versions (axios, babel, dompurify, eslint, highlight,
marked, prettier, sass, source-map, stacktrace-parser, typescript).
- [x] InfernoJS -> React migrations
- [x] React cleanup and polish (migrate all remaining .js files to
appropriate .ts or .tsx filetype, all remaining hooks, linting, error
corrections, etc.)
- [ ] Test all remaining TGUI interfaces
Refactoring the entire destroy proc path from Mob Human all the way down
to Atom while trying to find the causes for the damn mob human hard
deletes. This PR comprehensively reorganizes every single stray
snowflake var used by /atom/ all the way to /mob/living/carbon/human,
and makes sure that every var that COULD store a reference, is now
cleared during the entirety of the Mob Destroy() parent hierarchy.
This may very well be the end of the lag war.
In total, I've hunted down and cleared 39 hanging references between
/atom and /mob/living/carbon/human
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Adds clothing item versions of some existing shirts that were previously
only in the undershirt selection next to underwear.
Mostly graphic t-shirts.
Also adds a cropped tank top, modified from the existing tank top.
Various fixes and cleanups for hardsuits following the rework.
changes:
- bugfix: "Adds additional safety checks to hardsuit deployment logic to
better handle boot checks."
- bugfix: "Hardsuit Health Analyzer module works again."
- rscadd: "Adds 'Retract All Parts' verb for hardsuits."
- rscdel: "Removes Vitals Scanner module; hardsuits which had this
module by default have had it replaced with the Health Analzyer module."
- rscdel: "Removes hardsuit Maneuvering Jets onmob sprites."
So in the effort to make it so badges display on belts, I have gazed
upon the ever so slightly better looking investigator badge and wondered
why aren't all security badges like that. So now they are like that.
Also they display on belts now.
From the changelog:
> - imageadd: "Tweaked the sprites for security badge accessories and
added belt sprites for them."
The change (left is what is being changed to right, which is what is
contained in the PR):
<img width="2048" height="1024" alt="badges and things (just badges)"
src="https://github.com/user-attachments/assets/fd0925dd-f094-47d8-afc2-1ab54ed8420c"
/>
The Outer Eyes opens its eyes for diversity hires.
Okay, originally I did not make species variants (and an obj sprite for
the helmet) in https://github.com/Aurorastation/Aurora.3/pull/22394, and
I do not have a good explanation for why beside saying I was lazy, so
here they are. Also a suit cycler for easy spawning.
From the changelog:
> - rscadd: "Added species variants to the Outer Eyes voidsuit."
> - rscadd: "Added an Outer Eyes suit cycler."
> - imageadd: "Added a proper object sprite to the Outer Eyes voidsuit
helmet."
<img width="1536" height="1536" alt="diversity"
src="https://github.com/user-attachments/assets/762a88dc-9e47-494d-a064-a8b5764c390c"
/>
**Silence,
Violence.**
Changes:
- Added various clothing shortcuts. You can now Alt-Click to adjust
layers, Alt-Shift-Click to remove accessories, etc. on most clothings.
- Tweaked inventory HUD icon frames to process shortcut clicks
(Alt-Click and Shift-Alt-Click for now). This means you no longer have
to click specifically on item icons to use shortcuts.
- Moved a block of code to where it belongs, minor code improvements.
There might cases where the new shortcuts collide with already present
snowflake shortcut interactions on certain items, i tweaked the ones i
stumbled into but there might be more
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.
Small handful of obj/item size adjustments for common sense, QoL, and
standardization.
changes:
- balance: "Decreases size of Dosimeter from Normal to Small."
- balance: "Decreases size of Bomb Defusal Wirecutters and Music
Cartridge from Small to Tiny."
- balance: "Increases size of Airlock Electronics from Tiny to Small
(matches other circuitboards)."
**Summary**
Converts hardsuit NanoUI to TGUI and overhauls much of the associated UI
and module code.
The conversion alone is what necessitated quite a bit of cleanup of our
11-year-old hardsuit code, for which I leaned heavily upon tg's
implementation of MODsuits. Therefore, this is a PARTIAL (???) port of
both https://github.com/tgstation/tgstation/pull/59109 and
https://github.com/tgstation/tgstation/pull/77022. While a lot of
wonderful code and UI design was ported 1:1 (for which I am grateful!),
our hardsuits are still NOT MODsuits. Most of our back-end remains the
same.
Fixes https://github.com/Aurorastation/Aurora.3/issues/22071
changes:
- refactor: "Migrates Hardsuit NanoUI to TGUI."
- refactor: "Updates Hardsuit module type definitions, configuration
data, many misc other functions for the purpose of the UI refactor
(general utility and readability improvements)."
- balance: "Hardsuits now passively consume a small amount of energy
while online, even when retracted."
- balance: "Hardsuit boots can no longer be retracted without also
retracting the chest piece first."
- balance: "Mounted hardsuit storage module max space increased from 9
to 14."
- balance: "Plasma cutter (standalone and mounted) damage increased and
range decreased by 50% each."
- soundadd: "Adds several new sounds for hardsuit use (attribution
located w/ files)."
- code_imp: "Makes power_wattage_readable() a global proc and adds
power_joules_readable()."
- code_imp: "Lots of misc DMdoc updates."
- bugfix: "Synthetic Charging Stations now charge hardsuit power cells
as intended."
**Old UI**
<img width="804" height="1321" alt="Screenshot 2026-05-04 135705"
src="https://github.com/user-attachments/assets/f01957a0-7cec-4fcc-b862-c9dfde0dcc43"
/>
**New UI**
<img width="998" height="782" alt="Screenshot 2026-05-04 174658"
src="https://github.com/user-attachments/assets/ad402902-d489-435a-9c16-82150ed82618"
/>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/rig_modules.dmi (mounted-plasmacutter)|
[Ghostsheet](https://github.com/ghostsheet) | CC-BY-SA |
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Moves all HUD screen object icon files from various scattered locations
to icons/hud. No changes made to any icon_states in this PR, no
player-facing changes. Part of larger icon organization work and in
preparation for action button rework.
Mechanically representing its pre-existing lore and description.
Mechanical description added on the item too.
<img width="416" height="97" alt="image"
src="https://github.com/user-attachments/assets/e70da937-30ab-42f3-bf85-5a8da5accddf"
/>
NEW:
Shaper Helmet now also removes Hive name when physically speaking.
<img width="330" height="65" alt="image"
src="https://github.com/user-attachments/assets/a56af02c-0494-4589-bf15-4d59f6d0767e"
/>
NEWER: Helmet affects visible name and messages. It ignores worn ID for
obvious reasons, but some Shapers may hide their ID while talking to
other Vaurcae.
<img width="533" height="225" alt="image"
src="https://github.com/user-attachments/assets/da85914d-52bc-4036-9616-66e479794fa3"
/>
Full Preimminent Shapers should wear robes and helmet with TTS accent to
be as anonymized as possible. Parts of your carapace that peek through
can be easily hidden as well.
NEWEST: Robes and helmet functionality have been swapped, as it makes
more sense for the robes that cover you up to remove from physical
messages.
Silence,
Violence,
Adds the Outer Eye voidsuit, and gear loadouts featuring it for antags
to use. Outer Eyes enforcers favour Xanan weapons, reflected in the
loadout. While human only for now, I hope to add variants for a few
species shortly.
Also adjusts the typo which meant the exclusionists / hoplan gear in the
uplink didn't work since it was right there. Sorry for the two in one, I
knew if I left it until after this merged I would forget.
SPRITES ARE BY THE WONDERFUL @ElorgRHG!
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
Adds loadout entries for colorable variants of the tajaran fancy uniform
and fancy uniform with skirt.
<img width="320" height="1000" alt="kWG2Cynbbm"
src="https://github.com/user-attachments/assets/49d030b9-7bd5-4598-b3df-6139f5c45911"
/>
<img width="320" height="1000" alt="0OiS9w55Mm"
src="https://github.com/user-attachments/assets/3167f319-e89e-48d5-b418-82f5abbd3965"
/>
Sprites are just recolored/grayscaled versions of the existing sprites.
Also, I had to change the default option for the loadout entry because
the accent color button only shows up if the default option has accent
colors.
Also has variants for gold buttons vs silver buttons. I'm told
apparently there's a way to have a third colorable option but I couldn't
find it and I've already spent 5+ hours today working on a character
then PRing this for that character.
I just want blue. I'm sorry (Not really).
Fixes https://github.com/Aurorastation/Aurora.3/issues/22291
changes:
- bugfix: "Fixes black shorts being invisible."
- bugfix: "Removes old grey jean obj defs (no sprites and not used in
server)."
- bugfix: "Removes two empty unused sprite icon_states from shorts.dmi"
Adds:
- Dosimeter, keeps track of how many rads a person has absorbed as well
as showing the dose after armour.
- Adds a message to shelter in maint to the supermatter explosion.
- Adds a flag that makes damage not apply to robotic limbs, useful for
preventing radiation burns to metal parts. Should also be added to
chemicals that deal brute damage, such as arithrazine and the the burns
from chemical exposure to chlorine, but that's another PR.
- Added radiation resistance values to makeshift armour. As it only
covers the chest, this isn't very useful, but better than nothing.
Balance:
- Re-scaled radiation damage.
- Radiation now maxes out at 1000, from the previous 100.
- Radiation damage when at maximum rads is converted directly into burn
damage.
- Radiation sources decay slowly, so all the old numbers were maxing
people's radiation values instantaneously.
- Re-scaled organ damage from radiation. Previously you would take no
organ damage till 75% rads, then lose your liver almost immediately. Now
organ damage ramps up from 500-1000, with 750-1000 being about 1/3rd the
organ damage of 75-100.
- Added debilitating, but not lethal, effects to moderate and high
radiation levels. Lots of pain events instead of straight damage.
- Reduced speed and stamina for high radiation doses.
- Hyronalin and Arithrazine both remove much more radiation.
The intent: People should now be able to work in low radiation zones,
without using the radiation suit for short periods of time.
The geiger counter is no longer an 'if this is ticking you are at max
rads' detector.
With the engineering voidsuit, 75% rads, I could stand next to a charged
supermatter ~50rads a second, for about 2 minutes before I hit lethal
radiation levels.
If people stay in a radiation zone, or are exposed to extreme radiation
100+ rads a second, radiation is much more lethal, but not by just
killing your organs. Conventional medicine will help a lot.
---------
Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
fixes watches referring to bluespace during the roundend timer, ashtrays
not having a examine hint about emptying vs putting it into a disposal,
and ashtrays not giving a feedback message when trying to empty a empty
one.
fixes#22209 and fixes#22215.
closes#2951
Oh my god this was the oldest confirmed still active bug in the entire
issue tracker, and it's 9 years old. This bug was reported originally in
2017 and was never fixed. Uhhh. Hell.
This makes it so that pAIs can actually control a hardsuit via an
installed IIS Module. The thing that module was meant to do 9 years ago.
Done after talks with Catsin/taj lore.
The tesla rig has been removed from the golden deep submap and replaced
with more available rigs, and the rig now requires a military grade
tesla spine to function.
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>
Adds the PRA submarine coat, available in the loadout for Tajara
characters under the "tajara coat" category.
Sprites taken from shiptest and modified by @CatsinHD, with an extra
modification by me.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: Fyniiy <=>
The /tg/-style movespeed_modifier datums were not incorporated into the
original smooth movement PR. While
https://github.com/Aurorastation/Aurora.3/pull/22043 restores that
functionality, the original values no longer feel good now that we're on
smooth movement. This PR halves ALL movespeed_modifier/slowdown datums,
with the exception of species-native, as a baseline before more
individual adjustments are made.