Commit Graph
8932 Commits
Author SHA1 Message Date
FenodyreeAvandGitHub affab40530 Hardsuit bugfixes (#22848)
The closest thing to a balance change is the hardsuit boots being
deployable without the chestpiece again.

The SFX can be moved with the recent update to armour sounds if someone
wants, but the slowdown is a heavy enough penalty to discourage it.

- bugfix: "Fixed the Retract All Hardsuit Parts verb, by making hardsuit
boots retractable with the chestpiece deployed, at a heavy slowdown"
- bugfix: "Fixed the stealth system module not decloaking when the user
fires a gun or hits a mob."
- bugfix: "Fixed being able to instantly remove your hardsuit if it had
a storage module in it."
- bugfix: "Fixed mounted energy guns being stuck in taser mode. Also
extends support to other guns with multiple firemods."
  - bugfix: "Fixed most hardsuit modules not having an on-mob sprite."
- bugfix: "Fixed synthetic chargers not charging the hardsuit, if the
wearer was an IPC."
- bugfix: "Fixed the hardsuit UI not updating when toggling jetpack
stabalizers."
- bugfix: "Fixed the advanced hacking tool searching the wearer's entire
contents to see if it had been dropped every tick."
2026-07-17 11:32:03 +00:00
Wowzewow (Wezzy)andGitHub 53a02f5776 Fixes crowbar name (#22845)
This was stupid.

- bugfix: "Crowbars are just called crowbars now. The old name 'pocket
crowbar' has been removed. Because they can't fit in pockets."
2026-07-17 11:32:00 +00:00
hazelratandGitHub 637b519140 Integrates Axiom & Salamasian lore to accents and origins (#22837)
Integrates the new fluff for Axiom and the Salamasians, as seen
[here](https://wiki.aurorastation.org/index.php/Axiom), into the server.
Adds a new culture for Axiom IPCs. Removes all mentions of 'Orepit' from
the codebase.

Also adds new accent tags for each origin. I'd really much rather have
the sprites depict environments rather than flags, but I'm at a creative
deficit right now - can always edit to be more substantial later.

<img width="236" height="125" alt="image"
src="https://github.com/user-attachments/assets/c4cee6fd-984b-4873-9303-7e3fd5a8ab8f"
/>

Human origin:

<img width="987" height="617" alt="image"
src="https://github.com/user-attachments/assets/2e5de35b-509e-4b2e-8214-70d3af2fc8e8"
/>

Synthetic origin:

<img width="996" height="536" alt="image"
src="https://github.com/user-attachments/assets/862ec8f4-3607-422c-97b0-5c205a0f1836"
/>

Also adds Salamasian flags to the loadout. Sprites courtesy of Ill
Fated!

<img width="404" height="204" alt="image"
src="https://github.com/user-attachments/assets/3109c269-76a5-4d42-b3d6-1ab5dd1d5e0f"
/>
2026-07-17 11:31:52 +00:00
962f62612e Adds a tactical rescue axe for security and antags. (#22839)
Adds a cool-looking subtype of the rescue axe for security and antags.
Spawns by default in security officer and head of security lockers. It
has also been added to some antag preps (mercs, burglars, raiders) and
to the uplink (tools section, 1 BC). Sprite by TheStryker.

<img width="366" height="276" alt="image"
src="https://github.com/user-attachments/assets/c034e454-60e0-4d0b-a5ff-fd1c22f4075f"
/>

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-07-17 11:06:52 +00:00
ASmallCuteCatandGitHub 982afded46 Adds a sign, and applicable sprite, to indicate that an area is shielded against the Radiation Storm event. (#22676)
Modders/Mappers resource for now. Does as the title says. The sprite's
in, the sign's coded, but I didn't actually place any of these around
the ship.
2026-07-14 20:07:48 +00:00
VMSolidusandGitHub e117ef3f87 Nuke Limb Processing (#22814)
<img width="1549" height="857" alt="image"
src="https://github.com/user-attachments/assets/3830233d-0635-4942-b2aa-024651e6cffa"
/>

Limbs make up roughly half of the "Per additional player" processing
overhead, while Organs make up most of the other half.
Not every organ is an easy candidate for "Event-only processing", but
external limbs are significantly easier to do so.

So this PR makes it so that External Limbs no longer require Processing
unless an event happens that would justify them requiring processing.
Which SIGNIFICANTLY reduces the overall additional cost to the
Processing subsystem per player that joins the server.

Oh and I also made the Appendix and Kidneys not require constant
processing. The Appendix will only process if it is hit by an
Appendicitis event, and the Kidneys will only process if they are either
damaged, or you get poisoned.
2026-07-12 20:45:24 +00:00
BatrachophrenoandGitHub 1c8c0c2221 Bugfix pile (#22823)
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."
2026-07-12 18:06:28 +00:00
FenodyreeAvandGitHub a4da3a8885 Fixes the shield check not defaulting to hit (#22806)
The result was meant to default to hit, it instead was just null.

Tested on shield-less people this time.


https://github.com/user-attachments/assets/bd0f9db5-1a29-46cd-9421-1c232cae0c9d
2026-07-11 15:47:28 +00:00
VMSolidusandGitHub 5627e02e93 Kill Gas Tank Processing (#22810)
This PR nukes the single largest and most common source of unnecessary
Process() calls, the Air Tanks. Air tanks now dynamically add and remove
themselves from processing only when actually required (such as by being
actively used) or they contain a "reactive" gas mixture.

Gas tanks made up the overwhelming majority of all process calls, and
without them always being on, the Processing subsystem becomes extremely
cheap.

<img width="394" height="33" alt="image"
src="https://github.com/user-attachments/assets/a973b863-56ad-46f6-ac34-e3cd479dd76d"
/>

I have also tested gas tanks to make sure that they still work, being
chargable, dischargable, able to breathe from them, and that opening the
valve works. All 4 actions add the gas tank to processing. When the
actions are finished, the tank exits processing.

<img width="686" height="388" alt="image"
src="https://github.com/user-attachments/assets/e91c96d3-9031-4720-8e21-aa4d4afa84fc"
/>
2026-07-11 14:32:59 +00:00
2122b216ab Stickers now only have a 10% chance of staying persistent, and only save for 2 days. (#22795)
Sticker spam makes the map really ugly and they're way too easy to come
by, so people can keep spamming offices and stuff constantly. This makes
them not be as much of an eyesore while still sticking around sometimes.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-07-11 13:45:23 +00:00
BatrachophrenoandGitHub ec530578f6 Materials repath stuff (#22815)
Some regression cropped up somewhere that made fabrication systems
break- adds a bunch of helpers to deal with.
2026-07-10 23:37:13 +00:00
eebb8b971c Materials Repath (#22388)
Soft-ish port of https://github.com/NebulaSS13/Nebula/pull/540. Except
we call them singletons.

Repaths all materials as singletons instead of datums, and replaces
material defines from strings to paths so that we can just run
GET_SINGLETON instead of needing to use SSMaterials. This is Step One.

This PR has no player-facing changes.

changes:
  - refactor: "Repaths /material to /singleton/material."
- refactor: "Replaces all material string defines to path defines,
replacing SSmaterials procs w/ GET_SINGLETON instead."
- refactor: "Removes all material var edited objects from all maps,
adding new presets where necessary."
- refactor: "Updates recipes unit test to run all recipes against all
material singletons."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: kano-dot <bhutanlikanoxy@gmail.com>
2026-07-10 18:45:58 +00:00
VMSolidusandGitHub 2e61d8fd15 Kill Hardsuit Processing (#22809)
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.
2026-07-10 17:05:20 +00:00
VMSolidusandGitHub 30fb0f69a0 Processing Audit Part 1 (#22803)
Oh look at that, every modular computer in existence was always
processing at all times, regardless of if it was actually needed.
There's a couple more small examples I caught in my first pass, but all
of the rest are very low incidence. There are of course a very large
number of modular computers at any one point in time.
2026-07-09 21:03:42 +00:00
FabianK3andGitHub 25d8b2e6ae Fix C4 explosive residual effect (#22804)
# Summary

This PR fixes the residual visual effect after a C4 explosive detonated.
2026-07-09 21:03:33 +00:00
Matt AtlasandGitHub 7a609f1ad7 Revert "Fixes energy shield bugs and adds colour change as they take damage" (#22805)
Breaks humans taking damage
2026-07-09 23:03:12 +02:00
KanoandGitHub b9072c2ff2 QoL changes for loreconsoles (#22784)
## About PR

- Adds a looping sound for the lore consoles which can be heard in a 11
tile radius in 6 second intervals. The loop stops once a human mob has
interacted with the console

- Removes abstract macro from loreconsole base types, since these are
intended to be spawned

- Slightly decreased font size of the body text so it feels less like
you're in your 60s and this is the font size of your phone

- Fixed being able to interact with power reliant loreconsoles without
power

## Images



https://github.com/user-attachments/assets/69c94128-d84a-426b-bc8c-27d94c5974cb



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

| Path | Original Author | License |
| --- | --- | --- |
| sound/machines/data_ping.ogg | Timbre
(https://freesound.org/people/Timbre/sounds/444876/) | CC BY-NC 4.0 |
2026-07-08 19:40:29 +00:00
e63355d56c Brings the bar and kitchen closer together, turns service into less of a dead end (#22719)
A much-less "Honey, I Overhauled The Horizon" remap of Service which
brings the Bar and Kitchen closer together, while also opening up the
Service part of the ship so that it's less of a dead end hallway and
more of someplace where crew can hang out.

The bar remains its own room, but shutters and dividers between the bar
and the kitchen allow for easier cooperation between the two sides.

idk how to put it on the changelog but major props and credit to
Hazelrat for helping with hydroponics, decor, and details on this
rework, couldn't have done it alone

---------

Co-authored-by: Hazelrat <ric.whe.don@gmail.com>
2026-07-08 14:00:21 +00:00
FenodyreeAvandGitHub 2aa26dd3c3 Fixes energy shield bugs and adds colour change as they take damage (#22748)
Energy shields weren't updating their sprite when they overloaded.
Only one held shield was ever checked for block chance.

Adds a colour change from red to blue as the shield power gets lower.
Also adds it's current strength to the examine text.


https://github.com/user-attachments/assets/9f378084-f529-4138-bcaf-5e5e66f5377a
2026-07-08 12:17:56 +00:00
c#min7andGitHub bd18c72d58 Reade and New Gibson Origin Items (#22776)
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"
/>
2026-07-07 14:13:54 +00:00
VMSolidusandGitHub 75dfa30013 More Atom Cleanup (#22777)
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.
2026-07-07 14:13:51 +00:00
VMSolidusandGitHub d190233527 Various Incomplete Destroy Fixes (#22788)
I've had extended logging for Incomplete Destroys for about 2 weeks now,
so there's the promised PR that fixes each and every single poisoned
destroy that was recorded in the past 2 weeks by the sentry logs.
2026-07-07 14:13:46 +00:00
Wowzewow (Wezzy)andGitHub 25ed9d1fb7 ZZZhao's Custom Items (#22771)
https://forums.aurorastation.org/topic/22978-zz-zhaos-epauleted-greatcoat/

https://forums.aurorastation.org/topic/22977-zz-zhaos-self-portrait/

already been approved pls give green checkmark ty
2026-07-02 14:37:27 +00:00
c98625dcfe Investigations Facelift (#22713)
Some QOL changes and mapping tweaks to Investigations and Forensics.

The Crime Scene kits now spawn in the investigators office, another
interrogation room has been added, Evidence Storage is larger and more
organized, Forensics and Autopsy have been neatened and enlarged.

The janitor closet in Security has been removed to make room for the
changes.

There's now a new decorative structure, the Evidence Shelf, with
included sprite (credit goes to the original creator of the Retail Shelf
sprite, I just added the impression of cardboard boxes onto it)

---------

Signed-off-by: ASmallCuteCat <neofelisnebulosa128@gmail.com>
Co-authored-by: TGW <CasperMC@hotmail.dk>
Co-authored-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
2026-07-01 10:32:00 +00:00
Casper3667andGitHub d753470fe5 Adds operations/hangar tech voidsuits to EVA storage (#22727)
Hangar techs job description has expanded enough, that they have some
expectation to do EVA work. As such, they now get a voidsuit. As a part
of this, hangar techs also have EVA access now.
Credits to Wezzy for the sprites.

<img width="776" height="461" alt="image"
src="https://github.com/user-attachments/assets/208e89d1-13f1-4c94-9d8b-b88e4bce050a"
/>
<img width="450" height="133" alt="image"
src="https://github.com/user-attachments/assets/d7ecb558-e490-400e-a6d1-3cd5314c7873"
/>
<img width="376" height="110" alt="image"
src="https://github.com/user-attachments/assets/b98b409f-c799-4215-8a54-4c3776258c41"
/>
<img width="402" height="140" alt="image"
src="https://github.com/user-attachments/assets/4ea004b6-e278-4f87-8311-91ca4d18564c"
/>


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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/clothing/voidsuit/station/operations.dmi | Wezzy | CC0 |
2026-07-01 10:31:54 +00:00
hazelratandGitHub 162cf14fa3 Portable cooler tweaks + sprite fix (#22762)
Modified the name and description of the portable cooling unit to
reflect its importance for keeping synthetics alive after their coolers
get shot up, and fixed its on-mobs not appearing on characters' backs.
Now you can see when someone is wearing it!

<img width="208" height="137" alt="image"
src="https://github.com/user-attachments/assets/d768d31b-d0aa-4fb8-8a67-4e1817355f6e"
/>
2026-06-26 18:19:32 +00:00
FenodyreeAvandGitHub babc31f94e Fixes HTML interfaces (R&D console) not updating when buttons on their UI are pressed (#22742)
changes:
- bugfix: "Fixes HTML interfaces not updating when a user hits a UI
button."
2026-06-22 17:35:34 +00:00
60d09f31b1 TCAF expansion/rework stuff (#22717)
- 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>
2026-06-22 13:53:32 +00:00
YonnimerandGitHub 35a8154ed0 Adds a voidtamer-unique lantern (#22716)
Includes a new voidic lantern for the voidtamer ship crew and as a
loadout item for the culture

It's a buffed lantern able to barely sustain a dionae, its a little
stong but only locked to the one specific culture and ship by default,
i'm not sure if it'll spawn in the warehouse tbh, but it's fine if it
does

---------

Signed-off-by: Yonnimer <31339047+Yonnimer@users.noreply.github.com>
2026-06-20 14:07:06 +00:00
VMSolidusandGitHub 662fecfc79 Bump axios from 1.16.0 to 1.16.1 in /tgui (#22733)
<img width="805" height="386" alt="image"
src="https://github.com/user-attachments/assets/5e88984b-41fa-449a-98d2-729e93207741"
/>
2026-06-19 18:07:25 +00:00
VMSolidusandGitHub a67a6ae94a Various Null Access Fixes (#22730)
<img width="1420" height="776" alt="image"
src="https://github.com/user-attachments/assets/d33c4ce2-9c5b-48c3-ac8b-5edfee51c7e0"
/>

Just a few fixes for some various runtime errors and two hard del
triggers on the Sentry logs.
2026-06-19 17:57:37 +00:00
2f4a8d6f3d Fixes pain and announcement font size. (#22681)
title, h2 and manual font size brokey

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-19 17:23:07 +00:00
VMSolidusandGitHub 1c6f0d938b More Morale Effects (#22552)
Having had a chance to observe player behavior around morale during
events, it's become clear to me that the current actual mechanical
effects of morale are too small for anyone to notice, as it seems I
undershot their effects too much. Additionally, I realized from
experiencing it myself that the duration of the Leadership buff in
particular was too short to be able to last throughout a single combat
encounter, as there's a surprising amount of downtime in our event
combats. Plus the travel time eats into that timer.

So this PR does a few things to make Morale a bit more impactful and
noticeable. The first is to increase the pre-existing effects (other
than unarmed combat chances) by 50%. Players will never actually have
100% of the modifiers provided by the nature of these math equations,
and they tend to in-practice only go into fights with between 20% and
50% modifiers. The second part of this PR is adding two more
interactions for it, both for Engineering/Science and Hydroponics
characters. These being crafting speed and plant harvesting efficiency.
That should help make the effects more enticing to have for non-combat
characters.
2026-06-18 19:59:08 +00:00
FenodyreeAvandGitHub ab65965c5c Fixes guns being unwielded by mousing over the inventory UI (#22712)
Fixes #22036 

changes:
- bugfix: "Fixed guns getting unwielded when mousing over UI elements."
- bugfix: "Fixed mob_can_equip using M as mob, instead of mob/M. Also
adds its parameters to all its children."


https://github.com/user-attachments/assets/0f427609-3cfc-4c71-b817-44a8d2c6350d
2026-06-16 19:21:38 +00:00
KanoandGitHub 8255989fd9 Makes step trigger throwers recognize their direction (#22685)
## About PR

Removes the hardcoded `direction` var from throwers and instead uses
`dir`, so we no longer have to varedit these

Also removes some commented out code and turns some comments into dmdocs
2026-06-16 13:05:45 +00:00
062f8c46ae Adds stiring glasses with spoons for moodlets (#22585)
Shaking coffee in the shaker was silly.
Now you can stir your coffee to make people happy.

<img width="1379" height="165" alt="image"
src="https://github.com/user-attachments/assets/9ad5e514-f66e-43d5-b4e9-b8a3122a7f21"
/>

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-06-13 20:53:48 +00:00
FenodyreeAvandGitHub a78a6796b5 Makes rechargers buildable, deconstructable and upgradable (#22657)
Adds circuit boards and parts for rechargers and wall rechargers.
Rechargers can be built, deconstructed and upgraded. Wall rechargers can
only be upgraded.
The required parts can be printed in R&D.

<img width="1086" height="613" alt="image"
src="https://github.com/user-attachments/assets/9deb7917-4c59-4149-b1db-85e53b0447d3"
/>
2026-06-13 20:53:46 +00:00
BatrachophrenoandGitHub 0c7ab8baa7 Lemurian Sea (#22686)
changes:
  - refactor: "Refactors Gravity Generator UI from HTML to TGUI."
- rscadd: "Adds sector-based modifier var 'overmap_hazards_multiplier'
for generating total overmap hazard count."
  - soundadd: "Adds new Lemurian Sea 'welcome' announcements."
- rscadd: "Added Lemurian Sea gravitic anomalies as overmap hazards and
random events."
  - rscadd: "Adds ADPI/The Voices."
- rscadd: "Adds ADPI Panel for modmins to send ADPI messages to a single
character or all characters from their respective pools, or custom
messages."
- balance: "Vaurca Hivenet communication, the Hivenet Manifest, and
Hivenet Echoes are now disabled while the ship is in Lemurian Sea
sectors."
2026-06-13 16:25:49 +00:00
Matt AtlasandGitHub a11c25bef6 Adds a bigger C4 for adminspawn. (#22687) 2026-06-12 23:04:25 +02:00
lewandGitHub 11a9a2d644 Multi-Languages: a complete Saycode rewrite (#22637)
Rewrites Saycode and Langchat to add support for multiple languages in
one message, including audible emotes.

<img width="1139" height="338" alt="image"
src="https://github.com/user-attachments/assets/25e26932-7a6e-4c54-ab74-56fffb92ecad"
/>

Here's some samples to explain how to mix languages.

<img width="422" height="26" alt="image"
src="https://github.com/user-attachments/assets/e1b176cc-8625-4dc9-83c8-a053d3f310e6"
/>

`Languages ,2 can be mixed ,3 like this.`

<img width="540" height="21" alt="image"
src="https://github.com/user-attachments/assets/19156c67-4670-4d7a-84d7-26e527de2676"
/>

`!explains, ,2Emotes work too. ,0The text will get auto-quoted.`

<img width="592" height="18" alt="image"
src="https://github.com/user-attachments/assets/cfc31c5c-2383-41c8-82be-b36836339321"
/>

`,3Most languages ,0can be ,2mixed ,1arbitrarily, ,3any number of
,0times.`

<img width="636" height="20" alt="image"
src="https://github.com/user-attachments/assets/388b4f9d-192a-4374-ac31-bbd4e4e5dfe4"
/>

`,2Emotes. ,eAnd he nods. ,3They don't have to come first anymore.`

There are some exceptions. The exceptions are currently anything with
any of the flags `SIGNLANG`, `HIVEMIND`, `PRESSUREPROOF`,
`KNOWONLYHEAR`. Exceptions work the same as current languages do: they
must be the first language in the message. If so, they prevent switching
into any other language mid-message; if they're not first, they just
wont trigger.

They're exceptions currently because there's not really a clean way that
I or the people I asked for help on this one to make them look nice.
`SIGNLANG` for example doesn't scramble text, it shows it's own `
gestures a lengthy message.` text for those that don't understand. Could
we just replace every instance of sign language with that if somebody
doesn't understand? Probably. It would look pretty awful though. e.g.
`Alina Eskelinen says, "Hello." Alina Eskelinen gestures a short
message.`

This definitely needs testmerging because it more or less rewrites the
entire pipeline surrounding `say`. The `say` code itself had to be
rewritten to support the multiple languages, as well as all the existing
plumbing for listeners receiving messages. In return though, it's
significantly more straightforward and hopefully by extension easier for
people to add to in the future.

Primarily, instead of having four different `hear_say`, `hear_radio`,
`hear_sleep`, etc., routes for messages to come through, every single
audible message is received by `hear_message`, which is responsible for
figuring out how clear the message is (is the radio damaged? is it a
whisper we're eavesdropping on?), who needs to receive it in their
chatbox, formatting it correctly for each listener, and finally if any
npc or object within range needs to react to it in some way, like a
parrot or a mech.

changelog:
- rscadd: "Adds code-switching: you can now speak in multiple languages
in the same message."
- rscadd: "Adds audible emotes to the language list. They can be
triggered with ,e."
  - rscdel: "Removes SSrunechat."
- refactor: "Rewrote langchat in order to support multiple languages and
partial comprehension."
- refactor: "Rewrote a vast majority of all saycode and the code
responsible for displaying saytext to clients."
- bugfix: "Sleeping mobs are no longer able to understand all
languages."
- bugfix: "Langchat now correctly shows the appropriate comprehension
for all viewers rather than all viewers sharing the comprehension of the
last viewer."
- bugfix: "Languages which are supposed to be invisible when not
understood no longer appear as scrambled overhead text."

Forgive me whoever has to review this. Biggest areas that have room for
error is stuff like a borer inside someone's head, and Dionae stuff. Old
langchat had odd exceptions for those and I was forced to rewrite it
entirely, but I think I got it all back to how it was working before.
2026-06-11 10:47:26 +00:00
FenodyreeAvandGitHub a29fff6630 Fixes boozeomat description (#22653)
changes:
  - bugfix: "Fixes the booze-o-mat's description."
2026-06-10 16:11:03 +00:00
2a4bd89042 Adds non-voidsuit Ceres Lance armor. (#22642)
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>
2026-06-09 10:55:48 +00:00
BatrachophrenoandGitHub 1b05577bdf TGUI Hotfixes, Oh God Am I The TGUI Guy Now Edition (#22648)
changes:
- bugfix: "Restores the Modular Computer access cable header button for
connecting to IPCs and machinery."
- bugfix: "Fixes display issues in the Robotics interface's
<collapsible> elements."
- bugfix: "Fixes in-chat feedback text provided by the Cyborg Analyzer
(organ name and status now both inline)."
  - bugfix: "Crew Manifest PDA app now filters out off-ship personnel."
- bugfix: "Fixes Autolathe TGUI appending search- and category- filtered
recipes instead of recomputing the list with those filters."
- bugfix: "Fixes runtime when ghost opens dedicated camera console UI."
- code_imp: "Update some defs referencing 'supply' department to
'operations'."
- refactor: "Standardizes all interface search bars to use the native
'SearchBar' component."
- refactor: "AtmosAlarmControl interface now correctly auto-sorts alarms
by alert status."
2026-06-08 10:45:31 +00:00
c#min7andGitHub fbe11c6579 IPC Suit Cooler Size + Power Tweaks (#22581)
This allows IPC suit coolers to fit inside of bags and be more easily
used as a first response tool for IPCs who have had their coolers shot
out, whether it be an IPC keeping one in their bag for
self-stabilisation or a machinist lugging one around when responding to
a call.

The battery that spawns in suit coolers was reduced to a heavy-duty
power cell (from 30,000 power storage to 15,000), and the maximum
discharge rate was increased by 85%.
- When cooling a cooler-less IPC, it lasts roooghly 10 minutes, which is
still plenty long enough for 90% of incidents and only becomes
problematic on expeditions.
- Under more ordinary EVA conditions, it still lasts ages.

Upgrading power cells is incredibly worthwhile, x2ing (high) or x4ing
(super) or x6ing (hyper) these durations.
2026-06-06 10:00:08 +00:00
Casper3667andGitHub 3cf0d1607e A bunch of smaller bugfixes (#22618)
Fixes:
- https://github.com/Aurorastation/Aurora.3/issues/22592
- https://github.com/Aurorastation/Aurora.3/issues/22369
- https://github.com/Aurorastation/Aurora.3/issues/22398
- https://github.com/Aurorastation/Aurora.3/issues/22358
- https://github.com/Aurorastation/Aurora.3/issues/22432
- https://github.com/Aurorastation/Aurora.3/issues/22591
- https://github.com/Aurorastation/Aurora.3/issues/22411
- And the sound when putting items into metal briefcases, crime scene
kits and pill bottles
- As well as the sprites for the two boonie hats for taj
2026-06-05 21:32:01 +00:00
BatrachophrenoandGitHub 0d92359da7 Bun, Inferno->React migration (#22529)
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
2026-06-05 15:55:22 +02:00
a52729c105 The Eye Opens - Part 2.5.5 (#22572)
- Adds a modkit to the Outer Eyes antag crates, so none human baddies
can adjust their suit easily.
- Adds the Outer Eyes Enforcer outfit, to allow admins and storytellers
to create Enforcers quickly.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
2026-06-05 10:12:57 +00:00
f759aebad3 Ports TG attack animations. (#22319)
https://github.com/user-attachments/assets/0af58b65-552e-48c2-ab97-56ebf0794127

To-do:

- [x] Simple mobs
- [ ] Icon angles for most icons
- [x] Attack effects for kicking/biting/etc

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-05 10:12:43 +00:00
cf585ef505 Ship combat rework (#22566)
Makes ship combat significantly more destructive (and a bit deadlier),
especially with non-explosive projectiles.

**Additions:**
- A shell that penetrates a solid (dense) structure will cause spalling.
This spall does 2-30 damage, depending on range and has a high embed
chance. These embedded chunks are large enough to be ripped out by hand.
(But you probably shouldn't). The pilot's suit has 30 ballistic armor,
so a prepared bridge crew can survive a lot of spall.
- Adds a gun that shoots any ship weapon that admins can spawn. Useful
for testing, or for adminbus where they don't want to have to spawn a
whole overmap ship.
- Made several structures destructible, vending machines, computer
frames, grilles (these were just bugged) and watertanks (and their
children). These structures could just block infinite shots and were
common enough to serve as effective armor for the horizon. These now
spawn shrapnel (of their material if it's set), in addition to sheets of
steel when destroyed.
- Added support for negative maim chance. This allows chosen projectiles
to be prevented from decapitating. No more accidentally gibbing the
bridge crew's heads. (Unless they get hit with something really really
big).

**Balance:**
- All non-explosive anti ship rounds got significant buffs. Typically
2-3x Anti-Material numbers.
- Armour piercing anti-ship rounds got massively increased penetration
stats. Typically 4-8 from 1-2.
- Doors now get destroyed in less hits, if they are hit by anti-material
projectiles. Hits to destroy -= Antimaterial / 2
- Francisca frag shells now shoot less fragments but deal more damage.
394 projectiles for every shot was a bit laggy, now it's only 280.

**Shields:**
Shields now take more power. 13-14 megawatts for a 10 strength shield.
Just inside the ship's generation capacity with both the INDRA and
Supermatter running.

Instead of deleting any projectile they are hit by, shields now have
different failure modes.
- Firstly, a piercing projectile has it's penetration reduced by the
shield strength. Eg A shot that would go through 10 walls, only
penetrates 4 after going through a 6 strength shield.
- Secondly, a projectile has it's damage multiplied by 1 - shield
strength / 10, then has shield strength subtracted from it's damage. Eg.
A damage 100 projectile, hitting a 5 strength shield, has it's damaged
reduced to 50, (100 * 0.5), then to 45. (50-5)
- Thirdly, an explosive projectile (that does not penetrate per the
first step) does not explode, but instead deals it's full damage to the
shield.

Hits to the shield now also damage the field itself, not just the shield
tile. As such, a very big hit on the shield can bring the whole thing
down, requiring an engineer to reset it.

Shields can now be upgraded with research components. Additionally,
shield generators can now support more than one capacitor. The
roundstart capacitor on the Horizon is only good enough to support a 6
strength shield.
The upgrades increase efficiency, strength loss over time and charge
speed.

**Overmap Targetting**
Previously, shells would spawn within 20 tiles of their target and aim
directly forwards. This was bugged for shots with burst, which would
instead all aim inwards and mostly miss. This is the reason the Grauwolf
(in addition to the explosion bug below) and Fransisca felt so useless,
only one of every shell in a burst would hit.

Shots now spawn at the map edge, based on the orientation of the
projectile and ship. Diagonals are now accounted for.
Shots are then aimed directly at the target selected on the console,
with 3 degrees of dispersion.

**Bugfixes:**
- Fixes lots of explosions that didn't pass a turf to the explosions
subsystem. This caused the explosion not to happen if the thing hit got
qdeled before the subsystem could get the turf to spawn the explosion
on.
- Embedded shrapnel no longer gets the initial projectile name, this
prevents it getting named shrapnelshrapnel.
- Fixes a bunch of projectile piercing bugs, mostly with grilles and
windows. Shots now go past window frames without hitting them.
- Fixes shields not having a click delay when attacked.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-06-03 16:52:13 +00:00
VMSolidusandGitHub 201592f6bd Mob Destroy Refactoring (#22573)
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>
2026-06-03 15:15:56 +00:00