22805 Commits

Author SHA1 Message Date
FenodyreeAv 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
VMSolidus 5d59e4aabc Kill Export Processing Cost (#22816)
This PR clears another server performance culprit, the Cargo Elevator.
It turns out that there was an unchecked processing call in Cargo
Exports, that would permanently increase the servers' proccessing cost
per tick for each and every single unique type sold. With this PR,
exports clear themselves from the processing list once their cost/time
recovers to its original value after being sold. They then re-add
themselves to processing once sold to start the price recovery.
2026-07-11 14:33:54 +00:00
VMSolidus 963a74711b Timer Processing Cleanup (#22821)
<img width="1144" height="599" alt="image"
src="https://github.com/user-attachments/assets/675f645e-23c7-4c5b-905c-6ab259676fb3"
/>

Not a single one of these timers are doing anything, but they occupy
processing time. This PR makes them not do that. When you activate a
timer, they start processing. When the timer finishes, it stops
processing. No need for it to linger in the processing queue
indefinitely. There's like a hundred of these things on live.
2026-07-11 14:33:47 +00:00
Batrachophreno 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
Batrachophreno 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
VMSolidus 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
c#min7 0c335b1c33 reade racing jacket loadout option fix (#22792)
- there was a duplicate leather jacket selection entangled with the
reade jacket selection cause i made a silly pathing mistake that i
missed
2026-07-10 16:53:42 +00:00
FabianK3 50eb01db6e Lobby track and background machine ambience (#22789)
# Summary

This PR adds a new grim spatial sound track to the lobby track list +
lemurian sea sector and adds an ambience loop tracks to vents+scrubbers
as well as SMES's.

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

| Path | Original Author | License |
| --- | --- | --- |
| sound/music/lobby/spatial_audio.ogg | [spatial audio 2 by
BadWolf23/freesound.org](https://freesound.org/people/BadWolf23/sounds/723957/)
| CC BY 4.0 |
| sound/machines/ventilation_humming.ogg | [humming machinery by
Lewooz/freesound.org](https://freesound.org/people/Lewooz/sounds/545952/)
| CC0 1.0 |
| sound/machines/electrical_humming.ogg |
[SFX_GEOFON-HUM-ELECTRICAL-BOARD_4824_01 by
pblzr/freesound.org](https://freesound.org/people/pblzr/sounds/785942/)
| CC0 1.0 |

**Changes made to original sounds:**

- Added fadein/out to spatial_audio, reduced volume, corrected file
metadata (author, trackname, comment).
- Cut background noise in ventilation_humming, shortened soundfile,
corrected file metadata (author, trackname, comment).
- Shortened electrical_humming soundfile, corrected file metadata
(author, trackname, comment).
2026-07-09 21:04:01 +00:00
VMSolidus 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
Matt Atlas 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
Fyni 8494a3146f Delicious in Lemurian - Part 1 (#22787)
- Adds Psiren meat
- Tentacles can be easily gotten, a proper butcher is needed to get
rings of body meat.
- The meat is extremely dangerous, consume at your own peril.
- Recipes will be added later, when the Horizon learns some (soon(tm))
- Maybe these future recipes won't cause you health problems.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
2026-07-09 20:17:58 +00:00
Wowzewow (Wezzy) be107bd534 Michael Wave : Emissives (#22794)
Fixes microwave emissives by updating them to the new system
2026-07-09 00:47:28 +00:00
runecap 441ef5805d Splits Pilot: SpaCecRaft intO three levelS and Adds Piloting Education BacKgrounds (#22673)
These were some of the first given feedback for skills, so I may as well
implement it.

Piloting is now split into three levels like other skills which note
what pilot class of vessel you may comfortably pilot.
(Familiar) **Shuttle Pilot** is for all landables: Spark, Canary,
Intrepid, the Quark, and the like are all equal under it.
(Trained) **Class II Pilot** covers most ships, which are "overmap-only"
and unable to land or dock.
(Professional) **Class IV Pilot** covers only the Horizon normally, but
design-wise extends to whatever is the main player ship, or for anything
massive

**Antags get Professional Pilot, so they can always do ship hijack
gimmicks without worry.**

As a convenience to make Bridge personnel stand out, Professional/Class
IV Pilots can deduce their current overmap coordinate from examining
space on help intent for 3s. There's no way to directly link to the
overmap, so on the backend, this ability briefly references an existing
ship console.

### Design

Class II and IV are pre-existing terms in-lore, used on the Interstellar
Travel page to refer to civilian size classes.
With how important each level of piloting is, they cost _+4 points_ each
instead of going 2 -> 4 -> 8. This lets there exist the occasional pilot
character from any background, but it's _always_ an investment and
piloting the Horizon stays hard without training.
As Familiar currently costs 6 points, this is effectively a 2-point buff
for most cases as you'll rarely have to pilot non-shuttles.
(**EDIT**: Piloting levels are now 4 -> 8 -> 10 so there's a bit of
flexibility to have an extra skill for Professional Pilots from
Expeditionary Trade)

#### The _**real meat**_ of this PR...
is that you can now attempt to pilot vessels a level higher than you
with penalties, so there's now a failure spectrum should you manage to
access an adjacent-class ship rather than always being hard-locked. The
penalties affect acceleration, slowing, turning, and rolling. They're
most extreme for Shuttle and Class IV to represent how clueless an
unlicensed pilot would be and how complex the Horizon realistically is
to operate.

With smart usage of autopilot, you can actually find a way to travel
normal-ish. I think this is a fun interaction to have for underskilled
characters, and makes autopilot actually have a use as it otherwise
kills you. Maybe Bridge personnel can give lessons to Class II pilots
with it.

### Piloting Education Backgrounds

Coming are THREE piloting education backgrounds: Flight Academy, Fleet
Training, and Expeditionary Trade.

#### ALL GET _Familiar Electrical Engineering,_ _Familiar Atmospheric_

(EDIT: Flight Academy is now the only background that gets Familiar
Mechanical Engineering, this makes them stand out as being notably
handy/utility-ready for emergencies, but other backgrounds can still
easily match them with points.
Fleet Training has Tenacity down to Trained for character variety,
though tenacity is very slight buffs and hard to notice.
Expeditionary Trade now uses Familiar Firearms over Familiar Armed
Combat as it's more immediately important.)

Electrical Engineering now lets you use a power cell on an unpowered
ship console to give it emergency battery life based on the charge. This
helps with cases of being stranded from an APC broken by a meteor, a
high-capacity cell can give 10m or more based on Electrical level. I may
expand this bypass mechanic to all consoles in the future.
Atmospherics skill has no implementation currently, but dealing with
breaches or cycling on shuttles is too important.

Flight Academy - BC, XO, Captain
*Professional Piloting, Trained Leadership, Familiar Mechanical
Engineering*
> "You are at least 25 years of age, with the best navigation training
the Spur can offer, vessel handiness in a pinch, and the know-how for
reining in or assuring passengers for the voyage."

Flight Academy has Leadership honestly just because I didn't want Fleet
Training to look too good, and because I think they can rock the "this
is your pilot speaking" in a cool way. Bridge personnel are usually the
ones that have to wraggle people on away sites, especially during
events.
Mechanical Engineering allows them to make machine frames of ship
consoles in emergencies.


Fleet Training - BC, XO, Captain 
*Professional Piloting, Trained Firearms, Trained Tenacity*
> "You are at least 25 years of age, with the most extensive navigation
training possible and military discipline to back it up. You're a steady
shot in emergencies and, damn it-- You. Go. Down. With. The. Ship."

This was made because a player informed me many BC and XOs choose
military backgrounds, and the +4 points design would prevent that. Fleet
Training isn't the same as Military Training, but having all of Piloting
gives you 6 points free to match MT if wanted. The high Tenacity is
primarily for surviving in ship combat, where you'll probably
bleed/suffocate to death.

Expeditionary Trade - Miners, Xenology roles, OM, RD
*Familiar Piloting, Familiar Firearms, Familiar Medicine*
> "You've developed trade skills for a career of expeditions. You are at
home in a shuttle piloting to and from for an average day's work. You
can even hit a shot or tend to wounds when things eventually get
unsafe."

This is for Miner and Xenoarch primarily. An expedition is just any
journey with an objective, all roles revolving around piloting shuttles
to an objective needs to be able to hold their own if they ever find
carp or have an accident, especially since they'll likely be alone.

#### MISC stuff

corrected shaper gear comments I left wrong

Hotwiring piloting consoles now checks for Familiar in Electrical
Engineering. Its visible emote also now looks identical to attempting an
emergency bypass at first glance, so you can sneakily attempt one with
an unpowered console.

The Doctor of Psychology education background now gives Trained in
Leadership. This was intended to be uncommented, but the person forgot
to do it.

Research Directors now need to have Familiar/Shuttle Pilot. According to
the Guide to Piloting wikipage, they're supposed to be able to fly the
Intrepid and Quark for expeditions, and likely mirroring how the OM can
fly the Spark, but an RD can spawn completely incapable of piloting
currently.

---------

Signed-off-by: runecap <43975590+runecap@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-07-08 17:13:18 +00:00
FenodyreeAv 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
VMSolidus 84836d35f2 More Transparent Skills (#22746)
So one of the most important 'features' of the Skills System is that
Skills are supposed to have a fairly interconnected web of **Opportunity
Costs** against each other. EG: Points spent in Surgery are points not
spent in Xenobiology and vice versa.

A significant problem with this however is that from the start we were
very wishy-washy about having skills actually tell the players what they
do, and were intentionally refraining from telling the players the
actual numbers behind them. This creates a few major problems:

1. It creates a knowledge difference between players who can code-dive
to find out what the skills do, and those who can't, effectively turning
skills into the same problem as "Secret Chem Recipes".
2. It prevents players from making informed decisions about how they
build their characters.
3. It turns out players are extremely unlikely to put points into a
skill if they don't know what it does.
4. It sabotages the "Opportunity Cost" factor of skills. If a player
doesn't know that Xenobiology for instance has some niche uses for their
role, they won't ever consider taking it over something more 'useful'
like Surgery.

There is also a side issue that players generally tend to overwhelmingly
despise skills that are 'reverse ordered', giving them penalties if they
don't buy the skill. They feel like this punishes them for not picking
something. In the case of Firearms/Unarmed/Armed my hands are tied right
now because of how the combat system is (not) balanced. But I can at
least fix that for the Mech piloting skill with some clever small tweaks
to the math. Players currently strongly don't like the new mech movement
because the non-forward directions tend to be too punishing. So I'm
tweaking the Pilot: Mechs math to be more player-friendly by actually
improving the handling experience of mechs.

The bulk of this PR is of course making as many skills as possible fully
transparent about what they do. Wherever possible, Skills now openly
state what they modify, and by how much at a given rank.

<img width="1270" height="982" alt="image"
src="https://github.com/user-attachments/assets/9619f2fa-8dd6-4021-8482-43a1f76f33f4"
/>
2026-07-07 14:14:04 +00:00
c#min7 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
VMSolidus 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
VMSolidus 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
Matt Atlas b5314566d5 Adds Round Canonicity to the game, and makes Storytellers able to edit round canonicity. (#22775)
To clear up when a round is canon, what type of canonicity it is and
what exactly it entails, canonicity information has been added to the
game. Through the Canon Panel, players can now see what exactly the
current round's rules on character deaths, antags, and character
interactions are. Additionally, this lets developers actually know
_when_ exactly a round is canon, which will be very useful for
persistence.

Storytellers and admins can change the canonicity of the round in the
panel as well.

Some examples:
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/e71d2b18-0741-4bc0-aa98-979bb696d8a6"
/>
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/29486039-7625-4443-af2e-3ac982727e5c"
/>
<img width="400" height="600" alt="image"
src="https://github.com/user-attachments/assets/7522f5f0-4d4e-4bae-906e-2b07067af3a5"
/>

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
2026-07-04 22:31:07 +00:00
Wowzewow (Wezzy) 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
ASmallCuteCat 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
Casper3667 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
Batrachophreno fd0935eb5a Radio Stations (#22760)
Radio station configuration for several sectors
2026-07-01 10:31:51 +00:00
VMSolidus d132d79a4c Make Psirens A Bit Tankier (#22761)
Requested by Fyni.
2026-07-01 10:31:49 +00:00
Benjamin cb3bec1c33 Fixes silicon overmap view (#22720)
This PR adds a set_machine call to the base ship computer's attack_ai
procs, allowing AIs and borgs to view the overmap without their view
immediately being reset by the next life() call.

Fixes #22467
2026-07-01 10:31:38 +00:00
Casper3667 c11af798d3 Tweaks the messages for the psi-protect and mind blankers (#22758)
Mind blankers and psi-protect pills now display messages roughly every 2
minutes and 1 min respectively.
Mind blankers have a random chance for the message to also display on
the screen, as they're more invasive, being implants, but also safer.
A warning timer was also added for seizures from psi-protect, so people
have a short moment to react in.
2026-06-29 18:58:26 +00:00
Matt Atlas f081d8cdad Antagonists can now see what antags there are and how many + rev tweaks. (#22757)
Antagonists can now see what other types of antagonists there are and
how many in the Status tab.

Additionally, the Captain now receive this blurb when spawning in a
gamemode that contains revs:

> You are a Captain in a Revolution round!
> Remember that you are supposed to comply with all orders from SCC
Command. Although you may not spawn as a Loyalist, you are the person on
the ship that is most beholden to Central Command orders.
> This is both due to your status in the hierarchy of the SCC, and also
to allow the gamemode as a whole to work. Only very extreme factors may
justify you not joining the Loyalists. If this is the case, confirm it
with admins via adminhelp first!

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-26 18:19:39 +00:00
Matt Atlas 1e59fa2fc4 Removes defunct darksight variables and gives unathi the darksight they were supposed to have. (#22654)
Human sight:
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/416cdd31-f27b-4b98-a900-38402f4b8279"
/>

Unathi sight:
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/ab95c66d-a077-4c28-9d21-c24c11b2f716"
/>

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-24 13:18:09 +00:00
Casper3667 5d4a64a35a Fixes that smoking while drinking causes hallucinations (#22759)
As per the title. Nicotine, being a subtype of mental meds, previously
caused hallucinations if a person was drunk while smoking.
2026-06-23 16:37:15 +00:00
ASmallCuteCat 8cb3827c42 Renames the round-ending admin secrets to something much less questionable (#22669)
The admin commands to set off events that end the round (Supermatter
cascade and Summon Narsie) were in a category with a problematic name

(redid the PR after i broke it with a bad merge oops)
2026-06-22 13:55:04 +00:00
FenodyreeAv 788861ba12 Nerfs human shields (#22670)
Human shields are no longer a 100% chance to block any frontal damage.

The opposite arm, legs and head are always exposed and can hit despite
the human shield, though this comes with the additional miss-chance from
targeting limbs.

Additionally, destroyed limbs allow shots to damage both the hostage and
the hostage taker when hit.

This doesn't make the situation much better for the hostage, but it does
mean that carrying around a corpse as a shield in combat is no longer
viable.

Size also matters, a Ta holding up a human as a shield isn't going to
get much cover.

<img width="1390" height="325" alt="image"
src="https://github.com/user-attachments/assets/cfe61f99-89bb-428d-9f96-4b1fff32c646"
/>


https://github.com/user-attachments/assets/593acc65-f327-4058-ba8d-9bb596a43d3b
2026-06-22 13:54:03 +00:00
c#min7 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
FenodyreeAv 012a05ff79 Allows robot organs to die (#22739)
Fixes robot organs continuing to process after death.

Stops this:
<img width="790" height="331" alt="image"
src="https://github.com/user-attachments/assets/5f8db817-0a8d-4263-90f4-74a18da78d9a"
/>
2026-06-22 13:52:28 +00:00
Yonnimer 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
VMSolidus acdbcad005 Xenobiology Cross Skill Interactions (#22643)
This PR adds new Cross-Skill Interactions for both Cooking and
Xenobiology, the latter of which now provides a new Situational Skill
Modifier.

Cooking Skill now causes animals butchered by the character to drop
additional meat. A pretty simple small interaction that doesn't change
much in the grand scheme of things.

Xenobiology has gained two new interactions, aimed at making it a skill
"potentially useful" for players who think their character might be
fighting Space Fauna. The first is that it provides a melee damage
modifier (which can offset the penalties from low melee skill), but only
when attacking Space Fauna (that aren't player controlled). Normally
direct damage modifiers are very hard to balance as a consequence of
brainmed, but since this applies exclusively to a PVE interaction, the
balance concerns are significantly lessened. Its second new interaction
is to situationally modify the amount of butchering products gained from
Space Fauna (and only Space Fauna).

Particularly in the case of Xenobiology, this helps position the skill
in such a way that it provides Opportunity Cost for characters in
Cooking, Mining, and Security (to a much lesser extent, given they
almost never engage carp in melee). If points spent in Xenobiology helps
a miner fight off space fauna, then points spent in Surgery are not
points they're spending on being better at fighting carp. Almost all of
the skills in general should have care put into making sure that they
can provide viable Opportunity Cost against other skills in their same
category. Cross-Skill Interactions like this are an incredibly effective
method of doing so.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-06-19 18:21:03 +00:00
VMSolidus 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
VMSolidus 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
FenodyreeAv 1c6938707c Updates Keycard Authentication Device to TGUI (#22652)
Updates the keycard swipe console to TGUI.

Did this to practice on something simple.
Mostly copied from #20880 

The few things I'm unsure of:
<Button
                 content="Dispense"

Was flagged as depreciated so I changed it to

               <Button
                  color="bad"
                  onClick={() =>
act('select_event', { event: 'Emergency Evacuation' })
                  }
                > 

I relied quite a lot on the autocomplete so hopefully there's no huge
problems.

<img width="633" height="402" alt="image"
src="https://github.com/user-attachments/assets/df8be821-947c-48cc-a289-31b658c967e1"
/>
2026-06-19 17:35:54 +00:00
Matt Atlas 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
CatsinHD 5c7a012e8b File Manager Refresh (#22649)
- Abstracts edit and rename function in the File Manager.
- Files are now edited in the program and not a separate input box.
- File editor now has an editor toolbar with formatting buttons and
keybind functionality.
- File descriptions can now be edited.
- Forms can now be downloaded into a computer's file manager as a text
file.
- File browser now shows a file description.
- Fixed an issue where copying to/from a USB would throw an error
because it didn't read the ID of the device being held.

I was planning to add folder functionality, but that requires far more
work since we store our files directly into the hard drive, which does
file manipulation. Meaning, in order to add folders, I'd need to
completely redo how hard drives and the file structure works. I'll
tackle that later.

CCIA Forms currently generate the entire form, which can be edited
without reservation. This is fine, however a future PR may be viable for
converting forms to use limited edit-access on fields to streamline the
form-filling process. That or just adding the ability for files to
display [field] properly.

Forms tested by Fabian :)

- [x] Fix ID check for copying programs to/from work devices
- [x] Add editor/formatting functionality
- [x] Test Forms functionality (unless an ultra cool dev can for me :) )
- [x] Add description box for editing
- [x] Add actually good formatting to editing
- [x] Misc bugtesting with encrypting, decrypting
- [x] Fix USB files sticking in browser after USB is removed

<details><summary>Video</summary>
<p>


https://github.com/user-attachments/assets/c6c666de-18fd-41a0-9751-3961aeda48fc

</p>
</details>

---------

Signed-off-by: CatsinHD <31459154+CatsinHD@users.noreply.github.com>
2026-06-19 17:05:40 +00:00
VMSolidus 0625b841c3 Surgery Speed Modifiers (#22472)
This PR "gently refactors" surgery doafter timers to be deterministic
and variable. Instead of being simply a random number of seconds between
an upper and lower bounds, surgeries now have a base amount of time they
take to perform (in fractional seconds). This doafter time can then be
modified via signal interactions, such as coming from components.

The Morale component, Surgery skill, Anatomy skill, and Xenobiology
skill all have had signal hooks for surgery speed added, while the
latter two are uniquely conditional signal modifiers. Anatomy only
provides its modifier if the target's species matches your own, while
Xenobiology only applies its modifier if the target is an alien. Morale
can situationally either give a bonus or a penalty depending on your
current amount of morale points.

So to offset that this is now significantly more variable and that 4
different sources of bonus surgical speed exist, I've actually made the
base surgery times always on the upper end of what their previous
doafter duration range was, so surgeries are in general slower if you
aren't taking advantage of specializing in it.

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-06-19 16:47:29 +00:00
Greenjoe12345 bf341bfd4d Splits Psi-protect pills into their own loadout selection (#22597)
Moves the psi-protect pills out of the psych medicine selection to their
own selection. Allows characters to continue to bring their normal
medicine prescription but also select the psi-protect pills.
2026-06-19 16:47:02 +00:00
Wowzewow (Wezzy) ba22d4386b Adds Grupo Amapola Uniforms to Medical and Desc Fix (#22710)
- rscadd: "Adds Grupo Amapola uniforms to the medical selections."
  - bugfix: "Fixes Grupo Amapola description."
2026-06-19 16:08:35 +00:00
FenodyreeAv 6e7e0c2326 Nerfs painkillers (#22711)
Sets the NO_PAIN threshold to 200, instead of 100. Meaning painkiller
values above 100 are necessary to ignore all pain effects.
This is necessary because:
- CE_PAINKILLER stacks additively.
- Mobs get given adrenaline every time they are hit.
- Adrenaline gives between 15 and 5 CE_PAINKILLER.
- Inaprovaline (10), Perconol (35), Mortaphenyl (50), Synaptizine (30),
Adrenaline (15-5).
- There was no reason to use more powerful painkillers with worse side
effects, when easy to obtain, longer lasting painkillers do the same
job.

Removes CE_ADRENALINE, which was poorly named, only used for Synaptizine
and didn't use the desired movespeed
modification pathways.

Reduces Synaptizine's painkilling value from 30 to 10.
Synaptizine cancels stuns, cancels all other painkiller side effects and
10u of it lasts an hour.
It is still the best combat drug in the game even with these nerfs.

Slight buff to oxycomorphine, to make sure that it doesn't tick down and
can consistently keep analgesic above 200.

Slight buff to mortaphenyl. This means the painkilling effect of antag
stims will remain the same, but for a shorter duration. Also makes it
more useful to doctors.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
2026-06-19 16:08:12 +00:00
FenodyreeAv 222505f244 Fixes modular laser basic focusing lens (#22721)
changes:
- bugfix: "Fixes the base focusing lens for modular lasers not having
reliability."
2026-06-19 16:08:10 +00:00
VMSolidus 206bb29d52 Final Mob Destroy Audit (#22728)
I've audited the entire destroy path between datum and human, this time
paying attention to byond's built-in vars to make sure that the built-in
refs are correctly being cleared. I've also gone and corrected some
null-access mistakes, which are most prominently caused by as anything
casts not being null checked, since as anything allows null entries in a
list to be read.

By far the worst offender I've found was the lack of clearing of the
atom.underlays var, which contains a list of refs. And when searching
for uses of this var across the repo, I've discovered it's associated
with an overwhelming majority of the remaining objects still in the hard
del trackers.
2026-06-19 14:18:33 +00:00
Batrachophreno f1ac588b71 Lemurian Sea hotfixes (#22731)
changes:
- rscadd: "Adds some additional grates to the Horizon's D2 Medical for
traction in zero-g."
  - rscdel: "Removes ADPI sound effects."
  - bugfix: "Fixes inflated Gravity Anomaly timing values."
  - bugfix: "Fixes ADPI line retrieval."
  - qol: "Reduces screenshake strength globally by 33%."
2026-06-19 12:51:12 +00:00
Casper3667 7a99813dd0 The Case Dossier program (#22703)
This adds the case dossier program. A program intended for investigators
to use for their cases, with the ability to record evidence, photos,
documents, people and their notes on a case. The rest of security is
able to view cases in the program, but not edit them.
Additionally, the forensic skill was added to evidence bags and photos,
allowing a person to add the time, place and the person using them,
mainly intended to be used with the case dossier program.
Fibers and prints can now be gathered from objects inside evidence bags,
to avoid contamination.
Also fixed some bugs with taking photos of certain objects, such as
airlocks.


https://github.com/user-attachments/assets/92a880e9-9032-46d4-88c0-43d45b64f979
2026-06-19 04:36:07 +00:00
Casper3667 45372d6f97 Adds the Orion theme and a couple of small changes to the cargo programs (#22655)
The orion theme has arrived! This theme is intentionally not using the
orion colors, as I couldn't get them to look good and I found this theme
to feel better for the warehouse aesthetic.
Other changes include:
- It is now possible to clear the currently selected/viewed order in the
cargo control and cargo delivery programs.
- The cargo delivery program was fixed to not crash if you clicked
overview or pay before selecting an order
- It is now possible to pick a theme for the program selection screen
(see last image) for modular computers. This is currently only used for
the operations delivery tablets.
- The cargo delivery program can print invoices, if the modular computer
has a nanoprinter. One was given to the delivery tablet in the HT
locker.

<img width="800" height="800" alt="image"
src="https://github.com/user-attachments/assets/4f2de8dd-9e94-4898-9907-c97a53084771"
/>
<img width="800" height="800" alt="image"
src="https://github.com/user-attachments/assets/afc841ca-a257-4cd0-9d9d-654ba6abe8f6"
/>
<img width="800" height="800" alt="image"
src="https://github.com/user-attachments/assets/7d2e757e-79fb-4100-a373-9a378d18d6ec"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/bc2da18b-1a5c-463e-a63c-a79b10de20b0"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/441e3479-71b0-4898-a5f0-14f6441ebf97"
/>
<img width="575" height="700" alt="image"
src="https://github.com/user-attachments/assets/25e95e1a-3b1d-4a5b-bc8f-dc01ba07c107"
/>
<img width="620" height="800" alt="image"
src="https://github.com/user-attachments/assets/f68f6954-f077-40c7-b57d-d65e16b897ae"
/>
<img width="575" height="700" alt="image"
src="https://github.com/user-attachments/assets/879d97d3-e5ed-499b-9e15-5459e16ee38e"
/>
<img width="400" height="500" alt="image"
src="https://github.com/user-attachments/assets/ae7b4123-b556-438e-8d55-a826611f00bf"
/>

---------

Co-authored-by: Batrachophreno <batrochophreno@gmail.com>
2026-06-18 20:02:49 +00:00
VMSolidus 1728de60d2 Silicon Psionics Fix (#22725)
I was unaware that Silicons were somehow considered a valid target for
psionics this whole time.
2026-06-18 14:11:03 +00:00