Commit Graph

22569 Commits

Author SHA1 Message Date
FabianK3 4e4c4c4905 Fix admin spawn verb (#22178)
# Summary

This PR adds a argument check to the spawn verb to prevent server lag
caused by searching all atoms.

## Changes

- Added length check to admin Spawn verb.
2026-04-13 12:30:43 +00:00
VMSolidus ba0bb16435 Some Projectile Code Cleanup (#22217)
Cleaning up some memory leaks due to projectiles. This one I've actually
made by hand.
2026-04-12 22:20:07 +00:00
VMSolidus ea0063a4d4 Stop Drugs Spam (#22197)
closes #22119

Drugs are just ungodly spammy in general, this PR puts a stop to that by
limiting the rate at which your chat can be flooded with "YOU FEEL
AWESOME!" messages.

<img width="1248" height="632" alt="image"
src="https://github.com/user-attachments/assets/3ecc81fa-4bd6-4422-b55b-7d07bbe2498e"
/>
2026-04-12 22:19:50 +00:00
VMSolidus 04234f70d0 Revenge Of The Pants (#22205)
I have actually tested this PR to verify it. Thanks to Sentry for
finally giving me the data point needed to figure out where the hell the
bug was coming from. It turns out the culprit for The Pants Hard Delete
was people accidentally saving Abstract Pants in their loadout, which
would immediately produce a runtime error when the game attempts to add
them to the chargen dummy.

<img width="655" height="560" alt="image"
src="https://github.com/user-attachments/assets/6b4028a2-0661-4479-a9a5-03cc7157e5f7"
/>
2026-04-12 22:19:40 +00:00
VMSolidus 3acc659bbd Simple Hostile HardDel Cleanup (#22208)
<img width="1919" height="985" alt="image"
src="https://github.com/user-attachments/assets/f10f6e84-65e3-4a73-b977-4017aca5169a"
/>

I have also actually tested this PR. This PR cleans up Hostile Mob code,
removing **several** hard del conditions that were universal across all
hostile mobs, as well as a few individually specific simple mobs that
weren't cleaning up overlay images correctly. While I was at it, I
removed some verifiably unused vars from hostile mobs.
2026-04-12 22:19:38 +00:00
VMSolidus c5a8107322 BST Hard Dels (#22212)
Another PR for Bluespace Techs, this time swapping them to hold a
weakref to their original mob. There's a ton of code in BSTs that can
create race conditions with all their associated Destroy() procs, so
swapping them to weakref methods should significantly cut down on that.
2026-04-12 22:19:35 +00:00
VMSolidus 1a1a875bdb Revenge Of The Instruments (#22213)
Take 2

<img width="320" height="149" alt="image"
src="https://github.com/user-attachments/assets/21e45078-ef69-4b3c-8b50-208800b82558"
/>

It somehow got even worse over time.

<img width="311" height="164" alt="image"
src="https://github.com/user-attachments/assets/882d9a8e-16f1-4172-9c7b-f741d5bede8d"
/>

And now I have finished fixing it by hand and testing to verify that my
fixes work.


https://github.com/user-attachments/assets/0106593b-4b3f-4e7d-88f0-86c4b22571ff

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-12 22:19:33 +00:00
runecap ba9f358d65 Commune can now be used on adjacent objects to store & later send a mental image of their icon and examine (#22171)
Initially inspired by Show-Held-Object, hence the branch name, but this
doesn't actually make a hyperlink for it.

With a mental image stored, Commune can also be activated to "warp" and
(ONLY) add to the image's description or clear a previous warp.
Everything here is already canon (encouraged, actually
https://wiki.aurorastation.org/index.php/Skrell#Telepathy | "Telepathy
is versatile, and you can convey IMAGES, sounds, emotions, and
sensations along with regular speech.)" and technically mechanically
possible, just done through "You see X" phrasing in normal Commune.

Slightly unique sensitivity checks for low targets having a 60% chance
to not even get the icon and separate, varying amounts of scrambling for
object name, note description, and warp description. Standard targets
will get a blue message that can pass as an actual examine at a glance
Low-Sensitivity (and sender's message)
<img width="758" height="160" alt="image"
src="https://github.com/user-attachments/assets/39235fc4-91dc-4d73-ba26-90f116068ea2"
/>
Standard
<img width="765" height="140" alt="image"
src="https://github.com/user-attachments/assets/a1778983-1208-47bd-a4a7-0fac6e428cc4"
/>
High/Psion (and a warped description)
<img width="656" height="83" alt="image"
src="https://github.com/user-attachments/assets/a6a2dcac-6db0-4627-8c53-c837241907ba"
/>

---------

Signed-off-by: runecap <43975590+runecap@users.noreply.github.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-04-12 12:52:59 +00:00
Batrachophreno 1e250373b1 Fixes light sensitivity origin traits behaviors not firing (#22172)
Light sensitivity traits (either to excess of light or absence of light)
were not firing, because they were tucked behind a 0.1% chance prob for
an unrelated spooky noise proc if you're in pitch black.

Did some testing and found a prob value that was infrequent but not
absent. Also added a little visual effect for the light-sensitive one
(similar to v minor flash, which is 1 eye dmg that immediately heals & a
very brief translucent grey overlay).
2026-04-12 12:52:50 +00:00
sentry[bot] 0dcc582f1b Fix human damage pain check (#22206)
* Please describe the intent of your changes in a clear fashion.
Fixes
[SERVER-PROD-8](https://sentry.io/organizations/aurorastation/issues/7404514309/).
The issue was that: Mob's `adjustHalLoss` compares HUD `pain` object to
integer, instead of organ's numeric `pain`.

- Corrected pain check from local 'pain' variable to 'E.pain' when
healing damage.
- Ensures the pain attribute of the specific entity 'E' is referenced.

This fix was generated by Seer in Sentry, triggered by Werner. 👁️ Run
ID: 13169977

Not quite right? [Click here to continue debugging with
Seer.](https://sentry.io/organizations/aurorastation/issues/7404514309/?seerDrawer=true)

* Please make sure that, in the case of mapping changes, you include
images of these changes in the PR's description.
* Please make sure to mark your PR as wip or review required by making a
comment with !wip or !review required
* If you include sprites/sounds/... (assets) that you have not created
yourself specify the license and original author below.
* Ensure that you also credit them in the appropriate location /
changelog as specified in the contributor guidelines

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/example.dmi | ExamplePerson (Example Station) | CC0 |

---------

Signed-off-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: sentry[bot] <39604003+sentry[bot]@users.noreply.github.com>
Co-authored-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
2026-04-11 23:52:47 +02:00
VMSolidus 68892b7fb0 Implanted HUD Flicker Fix (#22191)
closes #22079 
closes #21945

This bug was also my fault, and it happened when I decoupled organ
processing from the life() tick to prevent organs being processed twice.
Since Huds were generated during the Life() tick, but implants were
adding the Hud during Process(), a flicker occured whenever they fired
out of sync, with the Life() tick erasing the hud and Process() adding
it back. To significantly cut down on the time complexity of having to
iterate and fire every HUD producing implant and component during
Life(), I've instead reworked it into a Signal that permits the HUD
implants to inject hud elements into the Life() codepath dynamically.

Here is the fix in action now.


https://github.com/user-attachments/assets/18ccc80d-cb5f-4fd7-9ad5-28c91acf6ca5
2026-04-11 14:24:34 +00:00
VMSolidus 2012165f72 CCIA Universal Translator (#22192)
closes #22082

This PR makes it so that reading faxes via the admin commands bypasses
the language system, effectively giving Admins and CCIA a universal
translator for faxes.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-11 13:13:51 +00:00
VMSolidus 5029d5a81b Instrument Memory Leak Hotfix (#22199)
<img width="325" height="156" alt="image"
src="https://github.com/user-attachments/assets/32814c7b-e068-4ac2-863c-3d58ad337dff"
/>

1. **INTERNAL SCREAMING**
2. **EXTERNAL SCREAMING**
2026-04-11 13:13:46 +00:00
VMSolidus 5ef0219ae0 Fix Ancient IIS Module Bug (#22198)
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.
2026-04-11 13:13:30 +00:00
Arrow768 0ccd900aac Library Update (#22120)
Updates the Library to TGUI and the new DBCore

The GUI was created using Claude Code

Public Library Computer
<img width="652" height="501" alt="image"
src="https://github.com/user-attachments/assets/eba1841a-5784-4fe4-b337-6a9e9503bb58"
/>


Library Management Computer:
Inventory Page:
<img width="750" height="605" alt="image"
src="https://github.com/user-attachments/assets/e4f38fcb-7299-4baf-a8a2-0974297a544c"
/>

Check Out Page with Book Picker active:
<img width="750" height="607" alt="image"
src="https://github.com/user-attachments/assets/e9189157-1617-4535-a053-942b17378614"
/>

Library Order Page with pagination:
<img width="747" height="598" alt="image"
src="https://github.com/user-attachments/assets/07d3abaf-5a16-4229-8ab8-e64e2f73de24"
/>

Emag action:
<img width="752" height="602" alt="image"
src="https://github.com/user-attachments/assets/285cd4bf-0ed3-4cf2-a9cb-4469e6466ad0"
/>

Book Uploader:
<img width="747" height="602" alt="image"
src="https://github.com/user-attachments/assets/b4b648ab-59e4-48f1-90a3-77e8440f01e4"
/>

And its orderable instantly:
<img width="750" height="602" alt="image"
src="https://github.com/user-attachments/assets/1c1c21fa-28fd-42fe-82b5-1c859cd74fdf"
/>

---------

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-04-11 12:21:13 +00:00
VMSolidus cfdcac3453 Colorblind Traits Fix (#22193)
closes #22159

This PR fixes the colorblind traits so that they actually apply to
characters.

<img width="1919" height="988" alt="image"
src="https://github.com/user-attachments/assets/06f06796-40fe-494c-a19e-45c226a41d63"
/>
2026-04-11 12:14:47 +00:00
VMSolidus 96d0ab85f1 Point Blank Guns Fixes (#22195)
closes #22065
closes #22107

This PR fixes some bugs with point blank gunfire that made it not work
as intended. It's now possible to shoot someone on the same tile as you
(such as a Human Shield Hostage) if you click on them directly,
otherwise your bullets will bypass them by shooting in the direction you
declare. You can also no longer shoot people who have a one way glass
window between you and them, the bullet will hit the glass first.

Finally, you can also no longer accidentally shoot yourself if you
sprint forwards in the same direction you are shooting (by running into
your own bullets).

Basically, you can now take a human shield, use them as cover, and then
when security tries to run in you can execute the human shield by
clicking on their head.

Yes, you can also still shoot yourself if you deliberately click on your
own sprite. Suicide by gun still works.


https://github.com/user-attachments/assets/fbfe0eea-03ee-419a-b9ae-c08af79c1e15
2026-04-11 12:12:21 +00:00
VMSolidus 86bf8c1f8b Posibrain Fixes (#22196)
closes #21982
closes #21705

<img width="465" height="394" alt="image"
src="https://github.com/user-attachments/assets/6ae35510-73c5-46e8-b624-a83e71dca603"
/>

This PR fixes the longstanding IPC med rework bug whereby surgically
removing a posibrain would just delete it. Also fixes a bug where it
wasn't possible to join as a posibrain ghost role.
2026-04-11 12:10:16 +00:00
FenodyreeAv d3fdea4b99 Fixes the healthdoll not showing robot limbs, or updating when pain goes away. (#22190)
Adds some signals to update the HUD when necessary.

The only one which will fire every tick is in remove_pain, which will
now only fire if there is pain to remove.

The extra update in robotize is necessary because robotize is called
after Initialize, so robot limbs were being set to the wrong colour.

Fixes: #22186
2026-04-11 12:03:52 +00:00
VMSolidus 488f43c2d3 LED Collar Bugfix (#22184)
This PR just fixes LED collars not emitting light when attached to
clothing.


https://github.com/user-attachments/assets/949f8355-db8d-41ec-b645-f1e7f0cec7db
2026-04-11 12:01:54 +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
VMSolidus 66b4453d84 Pants Hard Del (#22175)
Pants references weren't being nulled from humans with pants. I have no
idea how this was around for so long.
2026-04-10 18:55:40 +00:00
FabianK3 7174467756 Radiation refactor (#22158)
# Summary

This PR refactors radiation values and cleans up custom radiation values
without a definition.
This also fixes #22155.

## Changes

- Update ARMOR_RAD_STRONG 75 -> 70, now fits RAD_LEVEL_VERY_HIGH.
- Update radiation level defines:
  - NONE         = 0
  - VERY_LOW     = 1 (old LOW)
  - LOW          = 10
  - MODERATE     = 25
  - HIGH         = 40
  - VERY_HIGH    = 70 (old value was 100)
  - EXTREME      = 100
  - CATASTROPHIC = 120
- Update a couple of rad values to their respective define name (with
minor implicit balancing).
- Remove the super awkward/LRP hairloss with high radiation exposure.
2026-04-09 15:56:45 +00:00
Casper3667 8bc224d453 Enforces that the tesla rig requires a military tesla spine to work (#22154)
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.
2026-04-08 15:55:26 +00:00
CatsinHD 7c4cd46fa3 Kalkii Dynhvah's custom submariner coat (#22104)
Adds Kalkii Dynhvah's custom PRA submariner coat as per
[https://forums.aurorastation.org/topic/22881-kalkii-dynhvahs-submariner-coat/](https://forums.aurorastation.org/topic/22881-kalkii-dynhvahs-submariner-coat/).

Please do not merge until #22094 is merged, as this custom item is a
sub-type. It won't like, break anything but just to reduce issues.

Sprites were created by me, modified/based on Ebin-Halcyon's Honorable
Vanguard Battlecoat from Shiptest found in this PR:
https://github.com/shiptest-ss13/Shiptest/pull/2281
2026-04-08 15:53:17 +00:00
VMSolidus 7d15ceb8d5 freelook hard del (#22169)
This fixes a hard del on freelook eyes, which are used by some antag
items and building blueprints.

<img width="377" height="152" alt="image"
src="https://github.com/user-attachments/assets/5b1f9b00-88ba-44e1-9888-abf37e59195d"
/>

The hard del was caused by eye/freelook/Destroy() deleting a **holder**
for references before its parent eye/Destroy() could use that holder to
correctly clear its references.

eye/Destroy() calls release(owner)

<img width="189" height="90" alt="image"
src="https://github.com/user-attachments/assets/2864debe-15aa-4974-84b1-bc308a886e8f"
/>

which can only correctly release a reference in the visualnet var if it
wasn't already null. But the freelook was nulling it before it could be
correctly deconstructed.

<img width="364" height="257" alt="image"
src="https://github.com/user-attachments/assets/cc5c3010-42e7-4620-924e-564116e7b590"
/>
2026-04-08 15:53:07 +00:00
VMSolidus a290281d14 Fix Improper Destroys (#22166)
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>
2026-04-08 15:52:13 +00:00
Casper3667 f0688891dc Fixes ID cards being left behind by the residential lifts (#22162)
Adds a new var to the uninstall component that defaults to true. We only
disable it if we're trying to delete the id card too, such as by the
deleting the pda in the residential lift.
2026-04-08 15:51:35 +00:00
Fyni f65412bc9c Adds the PRA Submariner Coat (#22094)
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 <=>
2026-04-07 21:54:33 +00:00
VMSolidus 2af48cf40e fix observer hard del (#22165)
The Planemasters Update gave observers a hud reference to store, but no
Destroy() method was added for them to clear this reference when
despawning, which caused a hard del. Pretty simple fix.
2026-04-07 20:40:58 +00:00
FenodyreeAv e8944e087d Modular laser fixes and nerfs (#22147)
**Fixes the bugs found on the recent nations round.**

- Fixed firedelay doing nothing on modlasers with the shotgun lens. Also
fixed the existing laser shotgun as a side effect. Fixes #22141 and
Fixes #22137
- Fixes the shotgun lens not having any dispersion.
- Fixes bluespace capacitors not teleporting you on a failure.
- Fixes phoron capacitors not hurting the user when they explode.
- Fixes messages about malfunctions not displaying to the user.
- Fixes a bunch of bugs related to repairing components
- Stops components getting qdeled but leaving their references on all
other components, breaking them if reused.

**Nerfs a few of the most problematic things.**

- Cut the damage of the blaster projectile by 20% and reduced it's AP
from 60 to 35, also drops it's incendiary value to 1.
This projectile was FAR more powerful than any other, ignored all armour
and set the user on fire without a damage penalty.
With this change, lasers are now better on unarmoured targets, the
blaster is better on 40+ armour, so Heavy and Specialist Ablative.

- Added an immediate electric shock to the user (and anyone within one
tile if the capacitor is unstable enough).
The previous low level failures all irradiated the user. This did more
damage in the long term, but didn't affect the outcome of any fights and
was easy to negate with suits.
The tesla shock is obvious to everyone nearby, causes immediate pain and
the gun to be dropped if the capacitor is overcharged.
This makes minor failures a significant factor mid fight, especially on
powerful guns.

- Makes the phoron capacitor directly damage the hand holding it when it
explodes.
This capacitor can be built with phoron and uranium, which both spawn at
roundstart, though uranium isn't accessible.
It's therefore the most common capacitor, and the second most powerful.
This increases downside a lot, in addition to the explosion being fixed,
it will break the hand that fires it when it malfunctions.
If the capacitor is unstable, such as in a 60 damage monster, it will
gib the hand that fires it on malfunction.


**Tweaks, aimed at making the guns easier to understand, repair and
test**

- Adds a locker and boxes of modlaser parts. Not mapped in, but easy to
spawn for testing.
- Adds big red warning messages, visible to everyone nearby, explaining
what happened to the gun, who was holding it and how bad the malfunction
was.
- Made the lenses repairable with glass, or reinforced glass. The
nanopaste cost of a repair was more than 50x the cost of just printing a
new lens.
2026-04-07 20:08:41 +00:00
VMSolidus 3348558d80 IPC Limb Hard Del Fix (#22164)
Another smallish hard del fix, this time for external organs. Turns out
it really is pretty important that Destroy() procs need to close with
return ..() instead of open with . = ..()

I made this after watching an IPC ghostrole leave a round via cryo, and
then triggered 3s worth of hard dels all at once.

<img width="406" height="774" alt="image"
src="https://github.com/user-attachments/assets/096c084e-6953-4eb5-a708-0fa7018890d6"
/>
2026-04-07 20:01:10 +00:00
FenodyreeAv 5f06d51da3 Projectile piercing fix (#22157)
Fixes the fact that no projectiles could pierce.
Uses the bitflags introduced in the projectile refactor.
Only some heavy rifle bullets and most ship weapons will pierce.
This also indirectly fixes how anemic all the non-explosive ship weapons
were.

This should probably also check armour piercing, the armor on a mob and
have some values tweaked for some weapons, but I wanted to keep this a
pure bugfix, so the numbers are exactly as they were before this was
broken.

Lore people might want to check their weapons to decide what they should
pierce, how much and how often.



https://github.com/user-attachments/assets/538a3a21-a796-4a81-ba53-6f91addd6785
2026-04-07 14:52:10 +00:00
Kano 3043bf536d Adds whiteboards and gives a new UI to barsigns and its subtypes (#22133)
## About PR

Sprites made by @KingOfThePing! 
Adds whiteboards to following areas:

- CE and RD office (portable)
- Expedition EVA storage (portable)
- Intrepid flight deck (portable)
- Xenoarcheology presentation room
- Engineering breakroom
- Kitchen (as an alternative to holo-menu)

Whiteboards are also available in cargo console in the recreation tab
As an addition whiteboards can be mapped in with preset overlays and
written contents
This PR also changes sign selection list menu for barsigns and its
subtypes with a tgui image menu

## Images

<img width="699" height="534" alt="image"
src="https://github.com/user-attachments/assets/7b3de94c-76e4-491d-802c-ae9a31501805"
/>

<details><summary>video sample</summary>
<p>


https://github.com/user-attachments/assets/24de419c-e155-4623-9d08-0ff6c0b7d228

</p>
</details> 

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/whiteboard.dmi & icons/obj/whiteboard_portable.dmi |
KingOfThePing | CC BY-SA 3.0 |
| sound/effects/whiteboard_scribble_1.ogg,
sound/effects/whiteboard_scribble_2.ogg,
sound/effects/whiteboard_scribble_3.ogg | freesound_community
(https://pixabay.com/sound-effects/film-special-effects-marker-whiteboard-squeak03-83059/)
| Pixabay Licence |
2026-04-06 19:03:01 +00:00
Batrachophreno 3a24560dcf Callistean/Europan Origins Fix (#22151)
Adds missing new singletons from Sol origins list

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2026-04-05 17:12:41 +00:00
Yonnimer 9104dbf26b Dionae Geras Speedbuff (#22143)
From testing roughly the same distance, this is how long it took each
species to make it

Geras - 8.49
Coeus - 4.1s
G2 - 6.31
Human - 3.97
Unathi - 4.67

Geras Dionae, while slower than Coeus and humans, should not be this
slow, almost 2.2x slower than a human is by default, which is
near-unplayable, especially given the current balance of Dionae as being
pretty weak. This PR changes it so, from the same distance, Dionae are
roughly 1.5 slower than humans, taking 5.76s. This can be looked at
again in the future when Dionae are in a better place balance wise, but
a weak species with a near-unplayable speed aint a good combo.
(the rotate room thing was from me fugging up and doing something to the
wrong branch)

---------

Signed-off-by: Yonnimer <31339047+Yonnimer@users.noreply.github.com>
2026-04-05 16:21:22 +00:00
VMSolidus a436fa65a6 More Mech Damage Feedback (#22118)
This PR adds some new "Damage Feedback" interactions to mechs, which I'm
adding in response to what I think is player perception of mechs being
invincible. Previously mech manipulators and torsos had no actual
mechanics for damage states, and having 0 damage on a mechs arms was
functionally the same thing as having 100 damage, so long as the arm
wasn't completely destroyed.

This PR changes that by making it so that mech manipulators have a
chance to fail (loudly and visibly) on use with a probability that
varies based on how much damage the arms have taken. Additionally,
there's also now a mechanic for mech ejections and hatch opening to fail
if the torso has taken sufficient damage, with chances that also vary
based on how much damage said torso has taken. In both cases, the mech
plays audible and visual effects to indicate to the players involved
that it is being hindered by damage.


https://github.com/user-attachments/assets/934e4561-1fda-4c47-9770-438960834aa9

Yes this does mean that you can smash someone's hatch closed, to a point
you'll need a welder to get them out.

<img width="772" height="181" alt="image"
src="https://github.com/user-attachments/assets/75f98060-7c4c-468b-bd31-e6c4ec4c0be2"
/>
2026-04-04 22:27:01 +00:00
Batrachophreno d313f70906 Not THAT Slow - Update Movespeed Modifiers for Smooth Movement (#22127)
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.
2026-04-04 22:25:48 +00:00
Batrachophreno 5644bb4a74 Split Jupiter Origins, Add Origin Traits (Europa, New Gibson) (#22136)
Approved by lore (Schwann, Sammy).

changes:
- refactor: "Splits the Jupiter origin into three: ('Jupiter', 'Jupiter,
Callisto', 'Jupiter, Europa')."
- balance: "Characters with the Europa origin gain the Cold Resistance
and Light Sensitivity traits."
- balance: "Characters with the New Gibson origin gain the Cold
Resistance trait."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2026-04-04 22:24:02 +00:00
FenodyreeAv d5f4da3e39 Fixes explosions only damaging the chest (#22145)
Explosions used to randomly pick a limb, based on the weighted list of
their size, then do a little damage to every limb.
This broke when un-targetted damage was defaulted to the torso.

This restores the random organ and fixes DAMAGE_FLAG_DISPERSED to
disperse damage.
2026-04-04 22:23:46 +00:00
Batrachophreno 7f95886215 Modmin verb organization (#22123)
Modmin QOL stuff.

changes:
- qol: "Adds tooltips to Player Panel buttons and better scales default
window size."
- qol: "Improves some verb subcategorization, mostly for modmin verbs."
2026-04-03 14:22:14 +00:00
Cody Brittain 0f91d90eab Added large boxes to cardboard crafting (#22126)
As the title says.
2026-04-03 14:21:46 +00:00
Casper3667 b95da0a5a2 Fixes id cards being stuck in RFID removed from modular computers (#22132)
When the RFID slot is removed from a modular computer, it now ejects the
id card in it. This occurs for example when it is destroyed by various
means.

---------

Signed-off-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-04-02 12:53:49 +00:00
FearTheGabby 2e8c1483a9 Elevates hats/headwear for Vaurca Workers/Warriors (#22113)
<img width="314" height="666" alt="image"
src="https://github.com/user-attachments/assets/a766dc88-337e-4edf-a019-7867a51518de"
/>
<img width="314" height="666" alt="image"
src="https://github.com/user-attachments/assets/ae3102c9-497c-4019-8a7e-04acd30cdc3b"
/>
No guarantee of it playing perfectly with every hat item, but it still
plays a lot better with most of them.
2026-04-01 11:56:13 +00:00
Batrachophreno 01292fcad4 Magclaws (#22122)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22096

changes:
- bugfix: "Sudden strong airflow now checks for more than just shoes
with NO_SLIP (like active magboots) when determining whether to knock
people over."

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-04-01 10:13:31 +00:00
Casper3667 a772f72fee Fixes sec revolver lethals (#22129)
I did a small fuckup by not doublechecking stats. This makes them equal
to the .45 pistols.
2026-04-01 10:12:55 +00:00
Batrachophreno 71c18374db Bugfixes - Slowdowns, Sofa spinning, Turbolift squishing, and more (#22043)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21669
Fixes https://github.com/Aurorastation/Aurora.3/issues/21951
Fixes https://github.com/Aurorastation/Aurora.3/issues/21972
Fixes https://github.com/Aurorastation/Aurora.3/issues/22077

changes:
- bugfix: "All movespeed_modifier slowdown data now applied correctly
post-smooth movement PR. IE: active magboots, duffel bags, etc. again
slow you down."
  - bugfix: "Sofas no longer able to be rotated while anchored."
- bugfix: "Attempting to use crowbars, fire axes, hammers on airlocks
while in the Hurt intent will now make you attack the airlock."
- bugfix: "Fixes graphical bug with open lid graphics for crates painted
in any engineering color variants."
- bugfix: "Individual butterfly knife parts are no longer larger than
butterfly knives themselves."
- bugfix: "Elevators that squish mobs (any type of mob/living) will now
appropriately gib instead of just quietly deleting them."
- rscadd: "Miniature fusion reactor explosions now use subsystem
radiation instead of manually applying rad damage to all mobs in range."
2026-03-30 18:44:39 +00:00
Fyni d883a05005 Adds the stafylia gyro (#22102)
Adds the stafylia gyro, THE authentic taste of Assunzione fast food!

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
2026-03-30 09:07:25 +00:00
Batrachophreno f9a3ae76d8 Fixes submariner's beanie being invisible (#22109)
Icon_state typo. Fixed.
2026-03-29 02:16:28 +00:00
FenodyreeAv e1929a46c8 Fixes Grab bugs and makes Grabs harder for third parties to break (#22108)
These changes are intended to prevent red grabs (neck grabs) being
broken so easily.
It also makes blue grabs very slightly harder to break, by stopping
people from pulling grabbed mobs.

Firstly, the grabbed mobs were not being moved along with their grabber
sometimes.
This happened when the grabber was force moved (such as by a pull, or
another grab or being walked into on harm intent), in which case the
grab that breaks was resolved purely by which had Process called on it
first.

Secondly, you can now no longer pull either the grabber, or the grabbed
mob. This prevents blue-grabs being broken by someone walking up and
pulling either person away, bypassing the Resist mechanic.

Thirdly, a red-grabbed mob cannot be pulled or grabbed by anyone else.
This means the only way to break a red-grab is to disarm the grabber,
stun the grabber, or throw the grabber more than 2 tiles.



https://github.com/user-attachments/assets/9d392229-4544-4546-ae8d-bdfc835fda19

I touched mob, living and mob_movement for this, because the grab checks
were so spread out. I'm not particularly comfortable with having done
that!
I've tested pretty extensively and it seems like nothing broke, but it's
hard to find edge cases without lots of clients and lots of grabs.
2026-03-29 02:09:18 +00:00