22965 Commits
Author SHA1 Message Date
VMSolidusandGitHub 3b6d0f20ec Light Sensitivity Refactor (#22386)
The last time the Light Sensitivity code was changed, I remarked in a
review that "This should probably be a component so that its code isn't
being run on every mob forever". Well I've gotten around to doing that
myself, except I figured out it's even better off as an Element in this
situation rather than a Component. So this is now my first time adding
Elements to the repo. It turns out they're really awesome when paired
with signals.

This PR removes the hardcoded check for the light senstivity and dark
phobia traits from the Life() path, replacing them instead with two
Elements which hook into the pre-existing signal used to handle vision
updates for human mobs. I've mainly done this to help cut down on the
overwhelmingly high cost of the Life() codepath, which is currently one
of the most expensive paths we have.

While I was at it with refactoring these two, I noticed that there
wasn't a trait selection for either of them, so I added selections for
both traits to the disabilities tab so that players can opt-in to being
light sensitive or afraid of the dark!

<img width="318" height="336" alt="image"
src="https://github.com/user-attachments/assets/a1e60e83-d899-44df-8ea3-0cd5a87c231c"
/>
2026-05-18 19:21:19 +00:00
VMSolidusandGitHub e8d1eedc11 Zavod Heavy Hardsuit (#22397)
This PR adds a new very menacing Zavodskoi hardsuit for the uplink. 

<img width="145" height="135" alt="image"
src="https://github.com/user-attachments/assets/191bfc8d-b1e7-424e-b475-9b19fd6379f9"
/>

<img width="433" height="477" alt="image"
src="https://github.com/user-attachments/assets/5864aa55-cebe-45c2-b5b8-a820cf5ba1ca"
/>

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| icons/obj/item/clothing/rig/zavodheavy.dmi | rem_ratsuken (discord) |
CC-BY-SA-3.0 |
2026-05-18 19:21:13 +00:00
374e220be6 Hardsuit interface overhaul (#22403)
**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>
2026-05-18 19:21:11 +00:00
BatrachophrenoandGitHub 9d6b304ac7 [IDB Ignore] Centralize HUD icon file location (#22464)
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.
2026-05-18 19:19:40 +00:00
VMSolidusandGitHub 6a7e13762b Ship Projectiles Hard Del (#22473)
Fix for a hard del caused by overmap projectiles failing to clear their
walk cycle and timers consistently. This hard delete is relatively rare,
except in any kind of event involving ship combat....
2026-05-18 19:19:23 +00:00
VMSolidusandGitHub be6b35485d Psi-Protect Pills (#22449)
requires #22442 

This PR adds the new Psi-Protect pills required by the current Lemurian
Sea lore arc. They can be obtained exclusively via the psychiatric
medicine selection, and are a new prescription drug marketed by Zeng-Hu
Pharmaceuticals as a solution for ADPI exposure that doesn't require a
more invasive implant.

When taken, these pills provide 10 minutes of temporary protection from
telepathy, as well as a reduction in psi-sensitivity.

In the loadouts:

<img width="312" height="72" alt="image"
src="https://github.com/user-attachments/assets/2dc3a0bd-1d8e-4913-819b-b30fd5718d27"
/>

Spawning in:

<img width="914" height="98" alt="image"
src="https://github.com/user-attachments/assets/79223fe0-56f3-4fbc-9a1f-7afdaa87baa8"
/>

Messages playing when taking the pill
 
<img width="602" height="55" alt="image"
src="https://github.com/user-attachments/assets/2175b5bd-3b7f-47ee-957d-54154bc27197"
/>

Verifying in testing that the component correctly attaches

<img width="504" height="278" alt="image"
src="https://github.com/user-attachments/assets/f65a2d48-0337-47d2-ad79-fce548a07ab9"
/>

And verifying that component TTD is set, as well as Signals are being
correctly registered.

<img width="512" height="692" alt="image"
src="https://github.com/user-attachments/assets/31416703-1c59-47f7-bc80-36329d43905a"
/>
2026-05-18 19:18:23 +00:00
FyniandGitHub f5a2b6aef2 Adjusts Respawn Message (#22457)
Changes the message that appears when you respawn - given an update ot
the rules, it was slightly out of date.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
2026-05-18 19:18:14 +00:00
HaydenandGitHub c4705531f0 Enable find and refresh on browser windows (#22462)
Regression from BYOND versions <=515 because find/refresh was always
enabled on browser windows even when it wasn't supposed to be.

Enable find (Ctrl+F) and refresh (F5) on browser windows.
2026-05-18 19:18:02 +00:00
VMSolidusandGitHub d2d613294a Fixed Read Mind Runtimes (#22390)
Fixes a runtime error with Read Mind that was caused by byond having a
different order of operations for ternary operators than I normally
expect. Seriously it's kinda dumb.
2026-05-15 17:13:36 +00:00
052c9a0d53 Commune can send popups of paper & photo contents (#22295)
Commune can now send snapshot popups of paper & photo contents to
targets, similar to how Show-Held-Item can let others see the items'
contents. This was originally planned for the initial PR and only didn't
make it in because I didn't know how to get the functionality. There's
more unique psi-sensitivity interactions in this.

There is a 45% chance for psi-deaf targets to even get the photo popup.
Photo scribbles fittingly appear scrambled to the psi-deaf.
<img width="969" height="232" alt="image"
src="https://github.com/user-attachments/assets/84105c37-6c1d-4da2-83bb-738ce6651977"
/>

On the chance psi-deaf even get the photo popup, there is a 60% chance
the photo will be in greyscale.
<img width="476" height="195" alt="image"
src="https://github.com/user-attachments/assets/030407b7-ce51-4b20-a1e2-6eb93fb21be7"
/>


Psi-sensitive targets receiving a paper popup will have it translated
based on what the sender understands. This is a fun form of translation
because it's possible for the target to _not_ understand a written
language they actually know simply because the sender doesn't.

<img width="1411" height="656" alt="image"
src="https://github.com/user-attachments/assets/9d4fe196-2593-4535-b062-bbdfa8e1e819"
/>


There is also a QoL adjacency check for writing scribbles on photos now
because it bugged me I needed to use both hands while testing.

NEW: If a psi-deaf target doesn't get it in greyscale, they may also get
photos with randomized colors

<img width="443" height="444" alt="image"
src="https://github.com/user-attachments/assets/f9a1f1c0-a6af-4d1e-95e3-260231d57643"
/>
 
This can seriously reframe some photos. Lots of fun with possible
misunderstandings. Both the above and below are the same photo with
Skrell blood, but the above looks like vaurca blood while the below one
doesn't look to even have blood at first glance.
 
<img width="444" height="447" alt="image"
src="https://github.com/user-attachments/assets/166b40f2-6ed7-49af-95e1-989ffbb69e60"
/>

---------

Signed-off-by: runecap <43975590+runecap@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-05-15 17:13:33 +00:00
1f9b926ed7 Tool Qualities Framework (#22380)
This PR adds a framework for Tool Qualities. This is done via adding a
new Tool Quality Container Component, which allows any arbitrary datum
to have tool qualities, which can be checked for by other systems as
desired. These are handled as key/value pairs in an associative list,
allowing atoms to have different quality levels as a given tool, such as
being a "level 3 crowbar" and a "level 1 hammer" at the same time.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-05-15 16:49:58 +00:00
FabianK3andGitHub 1829b480ae Fix persistent papers text insertion (#22458) 2026-05-14 00:41:15 +02:00
6243253ff4 Removes xenomorph from code and Vaurcae (#22412)
title. requested by realmcode from vaurca lore

---------

Signed-off-by: FearTheGabby <martinezgabby576@gmail.com>
Co-authored-by: senorsapo <70925284+senorsapo@users.noreply.github.com>
2026-05-11 18:18:41 +00:00
VMSolidusandGitHub 114499f3f9 Tenacity Skill (#22408)
This PR adds a new Combat skill largely designed for non-combat
characters called Tenacity. It's fairly analagous to traits like Will to
Live from Shadowrun. Ranks in this skill make a character take a little
bit longer to "bleed out in crit", but do nothing to actually change how
hard they are to take down in combat. Effectively this means that ranks
put in this skill give you a little bit more of a buffer of time to be
picked up by a paramedic and rescued.

For actual combat characters it's very undesireable since it does
nothing to actually help win you fights, so this skill is largely more
to serve as an option for characters outside of security who don't
actually want to spend any points on direct combat capabilities. All of
the numerical modifiers from the skill are rather small, and make use of
pre-existing signal hooks that I've made previously for Brainmed to
allow component based modifiers to organ code.

<img width="1069" height="243" alt="image"
src="https://github.com/user-attachments/assets/92d6c19a-a0f2-4cc8-b490-df4538fd2b3d"
/>
2026-05-11 18:13:29 +00:00
SierraKomodoandGitHub 565787dae6 Welding goggles render over bandanas (#22414)
Port of a 'fix' I made on baystation some time back.

Before:
<img width="81" height="89" alt="dreamseeker_JD60oIjWBj"
src="https://github.com/user-attachments/assets/bab4fc4a-96ea-4719-b318-e9ebb0f99dda"
/>

After:
<img width="89" height="88" alt="dreamseeker_FwOnslm1q7"
src="https://github.com/user-attachments/assets/e6d4da4b-2269-4cc5-9cf7-ac4c73bfc993"
/>
2026-05-11 18:13:06 +00:00
c#min7andGitHub 62593e66de Reade and New Gibson Origin Updates (#22415)
a bunch of changes to Reade and New Gibson origin stuff following lore
expansions
2026-05-11 18:13:04 +00:00
KanoandGitHub 4285cc90ea Fixes flashlight lighting direction mismatch when dropped (#22417)
## About PR

Makes it so lighting system recognizes the direction flashlight is
facing when dropped, so it no longer defaults to south

The reasoning behind this method is,


https://github.com/Aurorastation/Aurora.3/blob/38a5988115e33594fcc9e9fafd08d474bbf76967/code/datums/components/overlay_lighting.dm#L503-L509

items don't update their directions when held and carried around, and
`set_dir()` is where the signal is sent which system listens to

also removes an unused var
2026-05-11 18:13:03 +00:00
BatrachophrenoandGitHub 58b01cf856 Various fire bugfixes (#22431)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22384.
Fixes https://github.com/Aurorastation/Aurora.3/issues/22389.
changes:
  - bugfix: "Fixes turf fires not spreading."
  - bugfix: "Fixes atmos fires not consistently igniting."
  - bugfix: "Fixes dead mobs burning forever."
  - bugfix: "Fixes fire_act() runtimes for multiple objects."
2026-05-11 18:12:58 +00:00
FabianK3andGitHub 8855bdd0dc Fix persistent supplies (#22435)
# Summary

This PR fixes the carry logic and persistence register of persistent
supply packages.

## Changes

- Fixed proc path of additional pickup checks that was still pointing at
only delivery packages.
- Fixed eager location check on persistence register. Objects finalize
will do the same, but this will allow objects to be brought to the
Horizon with persistence registered.
2026-05-11 18:12:57 +00:00
BatrachophrenoandGitHub 7a059fcec2 Monkeys and Golems No Longer Spawn With Hair (#22440)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22424.
changes:
  - bugfix: "Hairstyles no longer rendered on monkeys or golems."
2026-05-11 18:12:56 +00:00
Cody BrittainGitHubGeneralCamo <n/a>
a9796a01e6 Resolve a runtime related to TGUI alert modals being deleted (#22443)
Caught by sentry, was an easy fix though as lists already handle this
correctly.

Co-authored-by: GeneralCamo <n/a>
2026-05-11 18:12:54 +00:00
cb84b4953b Properly delete tgui alert buttons (#22402)
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-05-09 08:44:07 +00:00
BatrachophrenoandGitHub 898f43970f Make blobs no longer immortal (#22427)
See title.
2026-05-08 21:21:01 +00:00
FabianK3andGitHub 9f59d9dec5 Bugfix persistence of items in inventories and persistent charge card location (#22426)
# Summary

This PR fixes two bugs with persistent items, trash and the persistent
charge card.

## Changes

- Fixed the prevention of trash in inventories becoming persistent also
preventing any items on characters becoming persistent.
- Fixed persistent charge card location on init. If the card is not in
an command area, it will be moved into the XO office, if it is in a
command area, it will stay there.
2026-05-07 20:31:08 +00:00
runecapandGitHub 9d67a6afbf Wearing Shaper gear removes Hive name and color from Hivenet. (#22311)
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.
2026-05-07 00:16:43 +00:00
6d56134174 Brings back representative objectives (#22396)
fixes representative objectives not being sent after dual representative
offices were added. they now appear in-hand, instead of being faxed, bc
i am not adding a claim system to the offices

additionally, reformats the objectives letter and includes a
confidential notice

while I was here, I also re-did all of the Megacorp / Biesel objectives

---------

Signed-off-by: c#min7 <sadkermit01@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
2026-05-07 00:16:17 +00:00
VMSolidusandGitHub 57f346a965 Emp Damage Hotfix (#22413)
Some of the prosthetics weren't ticking down EMP damage, which was
because they had overrides of Process() that weren't correctly passing
in the SPT value needed by the tick_surge_damage(seconds_per_tick) proc.
2026-05-06 11:07:13 +00:00
FyniandGitHub 0337f64993 The Eye Opens - Part 2 (#22394)
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>
2026-05-05 01:25:18 +00:00
328c56be11 Arc feature - Persistent supplies (#22368)
# Summary

This PR adds persistent supply packages and a specialized charge card
for lore arcs.
Both can only be created using admin permissions and are not intended
for general availability.

## Changes

- Added a new package type, persistent supplies.
- Abstracted existing orion deliveries for shared code.
- Added a new persistent charge card variant.
- Added exceptions and specific logging for new card variant.

## Notes

Depends on PR #22367. Specific merge order not relevant.

Icons by @Fyniiy.

Relevant information for the current arc can be found on the forum
thread [Operation Deep
Dive](https://forums.aurorastation.org/topic/22921-all-crew-thread-operation-deep-dive/).

---------

Signed-off-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-05-05 01:25:06 +00:00
582d213b8d Some Misc Bugfixes (#22225)
This PR fixes a few bugs that were recently reported both by players and
by our new bug monitoring system. An AI agent (specifically Gemini 3)
was used to do some of the code diving process, while the fixes were
tested and verified myself manually. Yes I have actually verified the
fixes in this PR in testing.

The swap to Calculus methods for organ EMP was done by me, no AI. I love
Calculus to much to let a bot do it for me. In particular my fix to
organ EMP was to make it so that EMP damage is handled directly as
"number of fractional seconds the EMP will last", and that they tick
down cleanly per second. I did this because after fixing mechanical
organs not doing ANY EMP effects at all, I tested them and discovered
that the EMP effects were extremely underwhelming. They were like, "Your
screen only briefly filling with static for like 2 ticks", and "your
heart skips a single beat", which was lame and nonthreatening.
Significantly more fun is making the static last for N number of
seconds, and for the Heart to fail to pump for N number of seconds (very
life threatening!)

The new organ EMP handling vars are per-organ rather than a define, so
if we want there to be different EMP times for hearts vs eyes, that's
totally doable. Just make the heart have a larger recovery rate, or the
eyes have a smaller recovery rate.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
2026-05-03 17:07:44 +00:00
VMSolidusandGitHub 06db06a46e Hivebot Beacon Testfail Fix (#22382)
I got annoyed with the Hivebot beacon causing me a test fail 3 times in
a row, so I decided to fix it myself. I've done so by:

1. Reworked hivebots to use a weakref to their beacon. No more circular
references.
2. Removed the stupid signal registries on qdeling spam, it's no longer
necessary since there's no longer a circular reference.
3. Fixed a stacktrace in the beacon calling the same function twice.
4. Made the beacon generate its smoke cloud when KILLED rather than when
DELETED (kill calls delete on a timer), so that it can no longer spawn
stupid smoke effects during the unit tests.
5. Made the beacon clear its giant lists of references to a bunch of
turfs when deleted.
2026-05-03 17:03:09 +00:00
SleepyGemmyandGitHub 7999ae9a2d Who and Staff Who Tweaks (#22361)
tweaks the who and staff who interfaces and adds missing column titles.
2026-04-30 11:48:11 +00:00
SierraKomodoandGitHub f8d967ddf9 Add colorable tajara fancy uniforms (#22332)
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).
2026-04-30 00:59:50 +00:00
0c719c6b99 Updates Unwind wording (#22365)
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-04-30 00:59:34 +00:00
4e3d5c42a5 Ops restock pack changes (#22351)
- rscadd: "Added several new restock packs avaiable from the operations
ordering console."
  - balance: "Rebalanced the prices of the restock packs."
  - rscadd: "Made the restock packs come with cargo access locks."
  - rscadd: "Restock packs are now actual boxes that can be opened."
- rscadd: "The commissary restock crate was moved to the operations
loading bay."
- rscadd: "The toy shelf can now also hold cap gun mags, card packs,
card boxes and music cartridges."

---------

Signed-off-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-29 20:08:49 +00:00
Casper3667andGitHub 36d442beb8 Makes the ops handling fee a percentage, removes supplier fee, ability to remove approved orders and bugfixes (#22350)
- qol: "Reduced the crate fee when making operation orders."
 - bugfix: "Fixed the wording in some of the operation programs."
 - bugfix: "Fixed the delivery app showing deliveries it shouldn't."
- bugfix: "The cargo control program now properly display status
messages."
- balance: "Supplier fee was set to 0 for all current suppliers,
eliminating the 20 credit charge per supplier."
- balance: "The operations order handling fee has been turned into a
percentage charge instead, and reduced to 5% by default instead of a
flat 20 credits."
- rscadd: "It is now possible to reject orders that have been approved
but not shipped or paid for."
2026-04-29 18:08:00 +00:00
Casper3667andGitHub 035a3a5657 Fixed that PDAs showed as damage when they were not (#22378)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22377
2026-04-28 23:49:37 +00:00
SierraKomodoandGitHub 5913873b80 Fix missing map program overlay for PDAs (#22353)
Fixes PDA sprites missing an overlay when the map program is loaded.
Sprites drawn by myself based on the DOOM automap and a very poor
attempt to model the E1M1 entry room.


https://github.com/user-attachments/assets/3a2d8c2f-9ff7-4f46-a63a-c38cf52f3615

- Fixes #22250
2026-04-28 23:42:39 +00:00
Cody BrittainandGitHub 149d4205d3 Remove light sensitivity from Gadpathurians (#22342)
<img width="556" height="81" alt="image"
src="https://github.com/user-attachments/assets/bf5ef9e3-9c83-4aea-a2a4-de04a78b4c59"
/>
This shouldn't have been added in the first place. This resolves it
since Gadpathurians don't make sense to have it.
2026-04-28 23:42:16 +00:00
BatrachophrenoandGitHub ed7df070f3 Add light meters to the autolathe (#22330)
Adds light meters to the autolathe and fixes their inhand sprites.
2026-04-28 23:41:57 +00:00
KanoandGitHub fed4f81d7c Ports some hairstyles from Shiptest (#22324)
## About PR

Ports 4 hairstyles (hair_bun_short3, hair_ponytail_spiky,
hair_ponytail_simple, hair_parted_short) from Shiptest. "hair_bun_loose"
is derived from "hair_ponytail_simple". Colour palette is adjusted to
the modern grayscale colours we use

Ponytails and bun hairstyle was made by thearbiber, credits to them! I
wasn't able to track the author of "hair_parted_short"

This also replaces old sprites of "Ponytail, Spiky" and "Parted, Short"

## Images

<img width="896" height="616" alt="image"
src="https://github.com/user-attachments/assets/565e8b8d-9e9d-4057-a275-654a48c4bb24"
/>


### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/human_face/hair.dmi (hair_bun_short3, hair_ponytail_spiky,
hair_ponytail_simple, hair_parted_short) | thearbiber (Shiptest) |
CC-BY-SA 3.0 |
2026-04-27 18:49:37 +00:00
BatrachophrenoandGitHub 34ebbcd67a NanoUI Conversions - DNA Analyzer & Engines Control (#22326)
changes:
  - refactor: "Migrates DNA Analyzer NanoUI to TGUI."
  - refactor: "Migrates Engines Control NanoUI to TGUI."
- qol: "DNA Analyzer reports now provide the date and time the scan was
produced."
- bugfix: "Ship computers no longer function after their power is cut."
  
Before/After images:
<img width="540" height="683" alt="dna_analyzer"
src="https://github.com/user-attachments/assets/b1199467-74e5-4b08-a0d6-3a052142baa0"
/>
<img width="776" height="696" alt="engines_control"
src="https://github.com/user-attachments/assets/cea796cf-34f5-43dd-897f-f5435ff7f120"
/>
2026-04-27 18:49:22 +00:00
20780b3502 Voidtamer ship additions + Tamed Carp (#22318)
Does primarily three things:

- Adds a new dock to the voidtamer ship so ships like the spark can
actually dock
- Adds a new armored carp, basically a reskinned dog that voidtamers can
have
- Minor fixes in the voidtamer ship

---------

Signed-off-by: Yonnimer <31339047+Yonnimer@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-27 00:13:29 +00:00
VMSolidusandGitHub aa2afd0039 Revert "Materials And Stack Harddel" (#22364)
Reverts Aurorastation/Aurora.3#22313

Somehow made a race condition that causes the protolathe to delete
stacks if and only if the stack would have been "finished" by fully
placing the stack in the protolathe.
2026-04-27 00:13:14 +00:00
VMSolidusandGitHub 2f3276ba0d Remove Unused Circuit Boards (#22322)
Removes a bunch of unused circuit boards that corresponded to machinery
that didn't exist in the game anymore. These would turn up in spawners
on offsites and in random contents crates regularly, essentially
"wasting" the spawns.
2026-04-27 00:13:03 +00:00
SleepyGemmyandGitHub 8464424c7e Death and Unconscious Messages (#22321)
adds a death message, changes the brain damage message to output in the
chat, and tweaks the unconscious message to display in a chat examine
box.

death
<img width="820" height="38" alt="image"
src="https://github.com/user-attachments/assets/caff6bf0-1f8f-49fa-a763-98b7c8b0afc6"
/>

brain damage
<img width="820" height="58" alt="image"
src="https://github.com/user-attachments/assets/94eb57a5-244f-4f89-81ba-24923214ee0d"
/>

unconscious
<img width="820" height="58" alt="image"
src="https://github.com/user-attachments/assets/2e384f8a-86a9-4624-ae57-138d85747846"
/>
2026-04-27 00:12:56 +00:00
SleepyGemmyandGitHub e1627a12e2 Role Access List Rename (#22231)
renames the basic role access list to "job_access" to make its purpose
clearer and removes the unused expanded access list since we only use
the former. it should also help prevent confusion when adding access to
roles.

server config should be updated.
2026-04-26 19:59:53 +00:00
VMSolidusandGitHub 4379dd2c1b Surgery Soft Requirement Refactor (#22314)
Skills being based on "Hard Requirements" absolutely suck, and I wasn't
happy with the surgery code being essentially hardcoded around them. So
this PR refactors surgery to use soft requirement checks, based on
modifiers to the success rate probability. Surgeries still state what
skills (if any) they require and at what level, but rather than blocking
the surgery, it instead imposes a penalty(or bonus) on the success
chance based on how much the user's surgical skill differs from the
required level. This actually stacks with the penalties for "non ideal
tools", so if you're completely unskilled in surgery and you attempt to
make an incision with a shard of glass, you're going to have an
extremely hard time.

Individual surgeries also can define how much the success rate is
modified by "skill diff", with the more advanced "surgeon exclusive"
surgeries having extremely large potential modifiers.

I have also added a signal based check for modifiers, which the Morale
component now hooks into. This can also allow for other components,
implants, drugs, etc to modify the surgery chances in the future.

I have manually tested this PR and verified by examining debug
breakpoints in VSCode that the system correctly applies its modifiers.
2026-04-26 19:57:59 +00:00
BatrachophrenoandGitHub fffc406aae Deprecation of DNA Modifier UI, AME, misc NanoUI templates, and _old spritefiles. (#22320)
Lead-up to final push on NanoUI conversion; AME was removed (w approval
from Matt), DNA modifier will not be converted to Nano at this time, a
heap of templates and associated unused sprite files also removed.
2026-04-26 19:55:31 +00:00
BatrachophrenoandGitHub 9a496cb57b Openspace mimics stop lingering (#22344)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22296

This appears to have been caused by an excessively long timer delay in
the destruction of the 'mimic' object created when an AM is viewable
from above through an openspace turf. Now, when transitioning up a
staircase or ladder to a higher z-level, mimics of yourself and any
objects you may have been pulling are no longer still visible for 10
seconds.

I do not know exactly why the original timer was set for so long.

I did not detect any performance issues or harddels when testing it
(knocking a bunch of random holes in the the 2nd floor of runtime and
setting a bunch of greimorians loose on the 1st floor so that their
openspace mimics would be continually created and destroyed.
2026-04-26 14:10:23 +00:00