Commit Graph
50791 Commits
Author SHA1 Message Date
Casper3667andGitHub f31aeb6595 Misc disposal fixes (#22666)
Stickers can no longer be attached to disposal machinery or conveyors,
to prevent further issues with throwing them there.
The disposal outlet sprite was set to face the wrong direction when
expelling items, for two of its directions. This was fixed.
The disposal UI constantly reopening itself was fixed.
And a set of disposal systems were added to runtime for easier
debugging.
<img width="344" height="385" alt="image"
src="https://github.com/user-attachments/assets/ff93f3e9-bfa7-480c-9d6b-c501b02ca51a"
/>
2026-06-11 10:47:14 +00:00
FenodyreeAvandGitHub 73fb9c139e R&D console only updates on material shortage (#22651)
Every time you print an item in the protolathe or circuit printer, it
scrolls back up to the top.
Printing multiple items is hell, especially as there is no bulk print
option.

This makes the UI only update if there isn't enough material to finish a
print.

This isn't the ideal solution, because the Material Amount doesn't
update unless you click the R&D console again.
<img width="318" height="99" alt="image"
src="https://github.com/user-attachments/assets/02e07ae6-b9ad-4538-af80-3a11b8778459"
/>
However the material amount doesn't even give a readout of what the
materials are, so this value is useless anyway.

Also means buttons won't be greyed out as the material to print them
runs out, but this is fine because if you press a button without enough
material to print it, the UI will immediately update and grey it out.
This does scroll you up to the top, but it's much better than having it
happen EVERY time.

Best solution would be to update it to TGUI, but I just tried that and
gave up almost immediately. So this is a stopgap.
2026-06-11 10:44:41 +00:00
BenjaminandGitHub 52a066371a Fixes borg/drone lights and adds some emissives. (#22602)
This PR fixes the intent-based lights and emissives on silicons
(borgs/drones). It also adds an emissive to the combat shielding robot
module, since it seems logical for that module to have it, and adds a
slight emissive to robots in emergency power mode to differentiate
between the out-of-power and disabled states.

Due to issues with tables in particular, a drone's emissives will be
disabled when it hides to prevent through-table emissive displays.

Robots with various states below:
Top: dead/out of power
Bottom: normal/hidden drone/unhidden drone/milborg with shield
<img width="391" height="149" alt="image"
src="https://github.com/user-attachments/assets/87da7210-4670-4fc2-8d4a-b53f1f2aec49"
/>
2026-06-10 17:11:33 +00:00
hazelratandGitHub 4c8c231672 Shifts the teleporter to D2 (#22583)
As title. It now fills that little empty area that is currently
maintenance. Intended to be hyper-visible, given how important it is for
everyone to know where the teleporter is given its present importance
for expeditions and odysseys.

Its airlock can be bolted open, if it's desirable to keep the teleporter
open in the absence of active staffing.

Ideally we wouldn't be so reliant on teleporting people around, but for
now it deserves some visibility.

<img width="288" height="256" alt="image"
src="https://github.com/user-attachments/assets/591765cc-d1d7-4464-bec9-f48503740360"
/>
2026-06-10 16:14:59 +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
Casper3667andGitHub 96d4bf69c2 Fixes that plants lose their harvest if the harvesting action is interrupted (#22675)
The early return caused the tray to lose the harvest status without
giving anything. This fixes that.

Who thought it was a good idea to split the harvest status from the
plant it is harvested from?
2026-06-10 16:09:57 +00:00
CatsinHDandGitHub db39ca3383 OM office adjustments (#22600)
Makes adjustments to the OM office in an effort to bring it closer in
line to what is expected from the other Command offices.
- Adds a chair for guests to face the OM, rather than being forced to
awkwardly stand or sit far away at a comfy chair.
- Gives the OM the comfy command chair, rather than a generic roller
chair.
- Replaces the drinks machine with a fax machine.
- Where the fax machine once was, buttons for controlling the: Interior
door, exterior door, hangar lockdown, department lockdown, and window
tint.
- The table and comfy chairs are shifted down a tile, the disposals
moved to the end of the table, and a coffee machine added.
- Fixed the disposals unit using an "Up" disposal tube and not a trunk.
<img width="724" height="543" alt="image"
src="https://github.com/user-attachments/assets/83729a66-fcbf-4b0c-b207-3636a6bb5f89"
/>
2026-06-09 14:16:18 +00:00
FenodyreeAvandGitHub 9660728803 Makes cult constructs immune to pain (#22635)
changes:
- balance: "Makes constructs immune to pain damage. It used to deal
damage at 1/2 value."

I watched a cult juggernaut get two shot by stinger grenades, these are
PVP mobs, they shouldn't take pain as damage.
2026-06-09 10:58:04 +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
Matt AtlasandGitHub d055bc63e5 Fix tgui popout menus (#22661) 2026-06-08 23:08:07 +02:00
Casper3667andGitHub 0c08e73820 Fixes education age restriction and max skill level in educated skills (#22645)
The education age restriction now applies to tajara and unathi as well.
The max skill level was supposed to be unlocked in educated skills, but
was being accidentally locked to only the skill level the education
gave. This meant someone uneducated could sometimes get even higher
skill than an educated person, by spending skill points.
The three combat skill ranks were reduced to trained level as their max.
It was not possible for players to get higher before, and 3 was already
the baseline. If a professional is ever implemented for antags or
similar, it can be set back again then.
Doctor of Pharmacy was reduced to only need 25 years old, due to both
the description and that the pharmacist job has that age requirement
too.

fixes https://github.com/Aurorastation/Aurora.3/issues/22376
fixes https://github.com/Aurorastation/Aurora.3/issues/22286
fixes https://github.com/Aurorastation/Aurora.3/issues/22232 kinda. It
was already fixed, but more fixing on restrictions also reported on it.
fixes https://github.com/Aurorastation/Aurora.3/issues/22610
2026-06-08 10:49:03 +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
FenodyreeAvandGitHub 987a08bf87 Fixes a modlaser improvement exploit and an upgrade bug (#22646)
Added an on_hit signal, instead of using the target in post_fire.
This fixes cheesing upgrades by standing behind a wall and shooting at a
target you will never hit.

Moved improvement cap from a define, onto the base object.
This fixes some components continuing to eat improvement potential, even
when they are fully upgraded.

Fixes Ions dealing damage in addition to EMPing their target. Also
reduced the max number of shots when an Ion emitter is fitted.
2026-06-08 10:44:15 +00:00
hazelratandGitHub 37698ded3d Horizon area sprites + shield-less exterior area (#22594)
Fills in a lot of the blanks in the area icon states on the Horizon with
new sprites. Looks neater in SDMM.

Adds a new exterior/no_shields area, which is exclusively used for the
wings and around the starboard thrusters, around which shields will not
generate. This is pulled off in what I hope is a non-demanding way. This
is used to resolve that funny issue with starboard propulsion's wide
arcing shield, and to force shields on D3 to be taut to the walls.

The regular exterior area is retained wherever we want there to be
shields around EVA catwalks.

<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/4826b32f-34e2-44ab-b0be-f9fee9622fc8"
/>

<img width="1056" height="896" alt="image"
src="https://github.com/user-attachments/assets/cde72fa6-41eb-4c2a-b843-9959359ca505"
/>
2026-06-07 20:01:03 +00:00
KanoandGitHub 809cd63eb8 Fixes blend overlays (#22644)
## About PR

Fixes a function that was used to allow some objects to smooth with
directional modifiers, seemingly removed a long time ago in a large
optimisation pr

Currently only the windows, window frames and grilles use this

## Images

<details><summary>Before</summary>
<p>
<img width="799" height="728" alt="Screenshot_44"
src="https://github.com/user-attachments/assets/3e1fa330-67a0-4d94-bd27-b75dfe50370b"
/>
</p>
</details> 

<details><summary>After</summary>
<p>
<img width="800" height="730" alt="Screenshot_43"
src="https://github.com/user-attachments/assets/75f07164-6172-49ea-a46f-8f7bb8b9edee"
/>
</p>
</details>
2026-06-07 10:19:15 +00:00
BatrachophrenoandGitHub cde601b021 TGUI Fixes, Did You Think I Was Done Edition (#22641)
Fixes https://github.com/Aurorastation/Aurora.3/issues/15357
Fixes https://github.com/Aurorastation/Aurora.3/issues/22459
Fixes https://github.com/Aurorastation/Aurora.3/issues/22593
Fixes https://github.com/Aurorastation/Aurora.3/issues/22634

changes:
- bugfix: "Restores chat highlight background color selection
functionality (PR #20701)"
  - bugfix: "Restores customizable chat message retention settings."
  - bugfix: "Updates recommended vscode extension config file."
- bugfix: "Corrects some mismapped and missing scss files as well as
removing temporary working files leftover in PR."
- bugfix: "Fixes silicons/AI being unable to interact remotely with
shield capacitor and shield generator machinery."
- bugfix: "Fixes gene data disks produced by xenobotany's
lysis-isolation centrifuge machine not displaying gene names."
  - bugfix: "Makes AI remote access to machinery TGUIs more consistent."
- bugfix: "Fixes the Sensors interface not displaying sensor machinery's
current health."
- bugfix: "Fixes the Sensors interface displaying strange values for
current range."
- bugfix: "Fixes modular computer software displaying device themes
instead of explicit software themes."
  - bugfix: "Fixes MC tab links."
  - spellcheck: "Fixes a typo in the TGUI fatal error message."
2026-06-07 00:16:53 +02:00
lewandGitHub bef246dc8a adds shellcheck to ci/cd (#22616)
ci/cd script to shellcheck .sh files and make sure they're executable as
part of cicd so it fails loud with the specific problem if Permissions
Issue 2 The Revengeance happens again
2026-06-06 10:23:52 +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
BatrachophrenoandGitHub 3b3575a8ff And yet more TGUI hotfixes (#22636)
Continuing to patch these as they're reported. Do not merge yet, waiting
until there are a few more finished testing.

Fixes https://github.com/Aurorastation/Aurora.3/issues/22630
Fixes https://github.com/Aurorastation/Aurora.3/issues/22633

changes:
- bugfix: "Fixes SmartFridge interface crashing with stored items due to
malformed image rendering."
- bugfix: "Forces chat pane to re-render immediately when filters are
changed."
2026-06-06 09:56:29 +00:00
BatrachophrenoandGitHub cbd3ab0da2 More TGUI Hotfixes (#22632)
changes:
- bugfix: "Fixes LateJoin and Manifest interfaces not displaying
department colors by creating a shared component for both interfaces to
use."
- bugfix: "Fixes the Manifest interface not displaying colors for crew
status."
  - bugfix: "Fixes status composer not allowing AIs to view TGUIs."
  - bugfix: "Fixes inline icons in alt-click atom viewer."
  - bugfix: "Fixes PDA light toggle icon not appearing."
  - bugfix: "Fixes autolathe category view not filtering items."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2026-06-05 23:22:00 +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 a867823505 More TGUI Hotfixes (#22628)
This PR will remain open/WIP for a short period of time for me to add
more bugfixes to it as they are reported.

changes:
- bugfix: "Fixes LateJoin and Manifest interfaces not displaying
department colors by creating a shared component for both interfaces to
use."
- bugfix: "Fixes the Manifest interface not displaying colors for crew
status."
2026-06-05 21:31:54 +00:00
BatrachophrenoandGitHub 0676bdc5bc TGUI Hotfixes 1 (#22619)
changes:
- bugfix: "Fixes TGUI windows having their dimensions provided from
datum init being overridden."
  - bugfix: "Increases say window width."
  - bugfix: "Re-enables spellcheck in tgui-say."
2026-06-05 20:27:58 +00:00
BatrachophrenoandGitHub 97fda09300 Potential tgchat fix (#22617) 2026-06-05 20:55:17 +02:00
BatrachophrenoandGitHub a799bc3f4b NIGHTMARE NIGHTMARE (#22615) 2026-06-05 18:39:58 +02:00
BatrachophrenoandGitHub 4604c8c682 Kitchensink 2 (#22613) 2026-06-05 18:26:51 +02:00
5d7d7f7e2f The ongoing permissions denied disaster of 2026 (#22609)
well let's try to fix this

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-05 18:18:43 +02:00
BatrachophrenoandGitHub 84d0301ed5 Test CR LF file ending (#22608) 2026-06-05 17:32:57 +02:00
Matt AtlasandGitHub 8b2b28943e Revert "File extension" (#22607)
Reverts Aurorastation/Aurora.3#22606
2026-06-05 16:57:10 +02:00
BatrachophrenoandGitHub abb56fe830 File extension (#22606)
Rename build to build.sh

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2026-06-05 16:39:58 +02: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
Changelogs 5c74b702a8 Automatic changelog compile [ci skip] 2026-06-05 03:35:20 +00:00
Casper3667andGitHub 55b8cc8767 Fixes health scanning not working for ghosts (#22589)
fixes https://github.com/Aurorastation/Aurora.3/issues/22584
2026-06-04 21:50:32 +00:00
FabianK3andGitHub 8a67a8d0cd Revert "Refactor do-not-merge CI check to run on merge queue" (#22595)
Reverts Aurorastation/Aurora.3#22444

GitHub actions are being funny, this apparently doesn't work like that.
2026-06-04 12:50:33 +00:00
FabianK3andGitHub 0328d7f88c Refactor do-not-merge CI check to run on merge queue (#22444)
# Summary

This PR updates the CI check running on labels like 'changes required'.

## Changes

- Refactors DNM CI check to run on merge queue events only instead of
open PRs to avoid confusion on the state of the PR code-wise.

This is an iteration of #22436
2026-06-04 09:44:19 +00:00
VMSolidusandGitHub cb981d44ce Mindblanker Tweaks (#22553)
This was kind of a harsh mechanic to surprise players with, and turns
out it doesn't feel that great to tell them "Surprise your skill points
don't matter here". So this PR tweaks the "Empathy Penalty" from
Mindblanker and PsiProtect pills to 'only' cut the morale modifier from
those skills in half, rather than fully negating it.
2026-06-04 09:43:58 +00:00
2bc651205a Decreases the TC-cost of shotgun slugs (#22563)
Shotguns are very cool but they sadly do not perform that well.

Shotguns are overshadowed by all other weapon types (SMGs, ARs and even
some pistols), and the only viable ammunition that makes shotguns viable
(slugs) is incredibly expensive to get as an antag.

This PR adds a new ammunition box to the uplink that includes 8 slugs
for only 2 TC, and also reduces the TC cost of the assault shotgun's
magazines to more reasonable amounts.

---------

Co-authored-by: bovvv <kavbest11@gmail.com>
2026-06-04 09:42:25 +00:00
Changelogs 96f67ce524 Automatic changelog compile [ci skip] 2026-06-04 03:50:25 +00:00
VMSolidusandGitHub e9744f091c Fix Some More Mob Deletions (#22588)
Fixes a few cases I missed of references that should have been nulled
instead of deleted.
2026-06-03 23:30:10 +02:00
VMSolidusandGitHub bf1196e6f1 High Gun Skill Fix (#22587)
This fixes a math error that caused sufficiently high firearms skill to
wrap back around to less accurate guns. The fix is pretty simple, if the
calculated dispersion (in degrees) is a negative number, it instead
becomes 0. The dispersion math downstream of this effectively treats
dispersion as a magnitude, meaning -15 degrees of dispersion was the
same thing as 15 degrees, when the intended interaction was "Having -15
degrees of dispersion offsets the penalty from less accurate guns".
2026-06-03 18:20:24 +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
c#min7andGitHub fb3189f542 New Reade accent icon (#22562)
switches out the Reade accent icon for a new one.
instead of random purple splotches, we have the light blue gas giant

<img width="32" height="10" alt="reade"
src="https://github.com/user-attachments/assets/7d770100-7531-40d9-89d7-08c7b9e434b4"
/>



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

| Path | Original Author | License |
| --- | --- | --- |
| icons/accent_tags.dmi _reade_ | louiseisnthome | CC0 |
2026-06-03 16:37:37 +00:00
504913cfc8 Anatomy Skill take 2 (#22481)
A continuation of https://github.com/Aurorastation/Aurora.3/pull/22354
with permission from the original author.

The primary changes between the two are more things being visible with
no skill as well as some changes to how arterial bleedings are shown.
Also a custom pain message if you touch yourself somewhere that hurts,
like with broken bones.


Original PR description:
> This PR provides a relatively simple first implementation for the
Anatomy skill, which I have intended to be more broadly useful for any
character, beyond just medical characters. The first use of Anatomy
skill is for when examining your own injuries, your ranks in the skill
determine both the time it takes to self-examine, as well as the quality
of the information provided. Previously the injury check was
instantaneous, now it takes 5 seconds to perform at its baseline, and
all the way down to 1.25 seconds at maximum rank in the skill.
> 
> No ranks in Anatomy:
> <img width="368" height="198" alt="image"
src="https://github.com/user-attachments/assets/4aeff600-caf2-4bcb-9b58-a1ce236d8405"
/>
> High ranks in Anatomy:
> <img width="621" height="216" alt="image"
src="https://github.com/user-attachments/assets/807f0a2a-14b1-4c59-97b0-b2d5aa0f7268"
/>

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Signed-off-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-06-03 16:29:05 +00:00
FenodyreeAvandGitHub f66007e324 Modlaser fixes (#22550)
Fixes the easy stuff from: #22545

The only real balance change, dropped improvement per variable by 50%.
Should have been like this from the start, but I mistakenly assumed no
one would even reach close to the cap.

Makes repairs with welders go through .use_tool, fixes not needing
welding goggles and adds nice sparky visuals.
Much more robust handling of improvable variables, negatives don't break
improvement assignment now.
Fixes improvement cap, missed a *100 to convert from decimal to
percentage.
Fixes improvement potential being assigned to things that couldn't be
upgraded.
Fixes the Gatling mod upgrading fire delay (pretty useless on something
with a 3 second warmup)
Fixes the weapon analyzer print out showing completely incorrect
numbers.
Fixes the weapon analyzer eating your combitool and being
indestructible.
Gives some more feedback on why things can and can't be upgraded.
2026-06-03 15:24:32 +00:00
lewandGitHub 6a88cb3a19 Fixes bold/italics rendering in emotes and saved chatlog MIME type (#22577)
format_emote has to come first, otherwise it will re-encode the markup
into literals. however, the langchat_message does not want to have
format_emote called on it. ergo, we have to either process the markup
twice, once for each path, or we have to accept that one of the two will
not support bold/italics. the perf from doing it twice is completely
inconsequential

<img width="299" height="150" alt="image"
src="https://github.com/user-attachments/assets/4a34a0ae-6895-4275-be53-586820fd5b7d"
/>


- bugfix: "Saved chat logs are now written with the correct text/html
file type."
- bugfix: "Emote markup like *bold* and /italics/ once again renders in
chat instead of showing literal tags."
2026-06-03 15:24:15 +00:00
VMSolidusandGitHub 7df972f470 Worms Hard Del (#22569)
Simple fix for the Worm King spamming hard deletes.
2026-06-03 15:16:05 +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
lewandGitHub 7799ea7355 Probably fixes most of the random map test failures (#22571)
ran tests on a loop for like 2 hours while i was doin bits and had no
failures. granted this one will immediately fail for some other
indiscernible reason im sure

1. generate_landing() creates a clearing landmark which has a
late_initialize() to qdel anything it overlaps with. usually it doesn't
overlap with things, but if there's a failure to find an appropriate
landing site, it will just pop it down anywhere. this means it happens
significantly more on more compact sites, like the listening outpost
which seems to fail frequently
2. test runs before gc tick so qdelled stuff has a null location and is
still found `in world`
3. tests loop for `door in world` and find doors at a null location,
which obviously has a null turf, so the test fails
4. in the firedoor test this causes a runtime too because of a missing
assertion

there are probably more reasons map tests fail given they've been
failing for years but this seems to fix a major cause of them

- code_imp: "Door tests skip qdeleted doors, so they should no longer
intermittently fail when landing zone generation clears a ruin."
2026-06-03 15:15:08 +00:00