9654 Commits

Author SHA1 Message Date
Leah
0e86bd45bd Identity Mask now updates equipped Agent ID name (#42772)
* add identity mask updating agent id functionality

* fix indentation

* add check for voice mask item

* use ChangeIDName field instead

* Minor cleanup

* remove trycomp

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2026-02-13 21:42:16 +00:00
Pieter-Jan Briers
b47db86189 Remove bad accents (#42880)
These are just bad bloat content that doesn't even work properly or has obvious issues if you look at it too closely. Remove.

Removed:
* Dwarvish
* Italian
* German (word replacements only)
* Southern
* Cowboy (I have a friend from Texas who hates it)
* Pirate (trait removal, hat still works)
2026-02-12 15:42:34 +01:00
Leah
b90c9e4dcf fix: cleaning evidence off a person no longer reveals their true identity (#42868)
fix cleaning evidence revealing your true identity
2026-02-11 22:16:10 +00:00
ArtisticRoomba
1f82b9eb8e Fix gas filter always outputting 20C filtered gas (#42876)
ingenious!
2026-02-10 10:10:45 +00:00
Vasilis The Pikachu
752ff799eb Me when rider does not commit my change 2026-02-09 22:20:11 +01:00
Vasilis The Pikachu
8e2c01bb74 Merge remote-tracking branch 'upstream/stable' into stable-hotfix-merge-26-02-09 2026-02-09 22:16:04 +01:00
pathetic meowmeow
4abdcf7a73 Ensure profile loading only returns valid species (#42842)
* Ensure profile loading only returns valid species

* punt conversion logic outside of the database
2026-02-09 21:30:20 +01:00
MidoriKurage
a01e7dcf40 fix: APC sprites stuck in fully drained states on round start (#42852)
* Fix APC incorrect charge state caused by race condition on map startup

* fix: Defer the update from ChargeChangedEvent to next tick
2026-02-09 12:59:43 +00:00
InsoPL
676492e667 Thermal vision overlay for admins (#42812)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* admin button

* cleanup

* sandoboxenabled

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-09 01:06:46 +00:00
Matt Idzik
45a5d5b1d9 Fixed containment fields dying even when one side still had power (#41006)
* Containment fields only die if both sides lose power

Currently, if either side of a containment field loses power,
the field dies, even if the other side is still powered. This commit
changes the behavior to only destroy the field if neither side
of the field has enough power.

* discard

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-07 12:39:07 +00:00
Super
993c316b6c Emitters now give alerts if interfered with. (#39513)
* tesloose alert

* forgot to remove this when I removed naming the unlocker

* and these too...

* migrate to Entity<T> and clarify emitter lines

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-07 11:46:59 +00:00
Dmitry
ff3076aa13 fixing firelocks (#37523)
* fixing fire locks

* ouch

* Revert "fixing fire locks"

This reverts commit d7c8f9a6e58daf4ba0ec58c38b951613574294bb.

* lol

* opts

---------

Co-authored-by: Dmitry <57028746+dimm00n@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-07 10:20:38 +00:00
slarticodefast
d72a59f6b7 Predict holoprojectors and add an integration test for them (#41569)
* cleanup

* fix fixtures

* prediction

* fix test

* review

* fix svalinn visuals

* fix chargers

* fix portable recharger and its unlit visuals

* fix borgs

* oomba review

* fix examination prediction

* predict holosign
2026-02-07 10:17:20 +00:00
InsoPL
eca952e846 Optical thermal scanner implementation (#42613)
* revert of the revert

* tests

* changes

* more fun

* test

* ccvvvar

* works but bad

* now its better

* more fixes

* more cleanup

* cleaning

* last fixes before move to glasses activ

* x

* glasses only

* working

* fix toolbox

* cleanup

* ThermalByte added

* small fix

* small optimalisations

* float bux fix

* comments add

* more comments

* more comments

* last fix

* revert cvar delete

* wrong blue shades

* cvar refactor

* Update Content.Shared/Atmos/EntitySystems/SharedGasTileOverlaySystem.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* Update Content.Client/Atmos/Overlays/GasTileDangerousTemperatureOverlay.cs

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>

* tweak to TryGetTemperature comment

* Factors are now const

* renames

* Interface for ThermalByte

* tile color  vaccum and more comments

* saving yeeted

* integration test

* rename and cleanup

* fix

* cleanup

* switch

* UT fix (hopefully)

* small bug+ rename

* vaccum limit  + space is now invalid

* typo

* typo

* fix

* cleanup

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-06 10:30:19 +00:00
ArtisticRoomba
a229bc26a8 Fix gas filter math (#42801)
* fix gas filter math
i'm just a stunning genius aren't i

* yeah i can do it better
2026-02-05 08:19:18 +00:00
Princess Cheeseballs
c2f986ea8b Cleanup Antag Selection Logic a Lot (#42673)
* commit god

* don't log an error every time we try to turn a nonghost into an antag cause that shit is optional...

* asdsasdsasd

* Saltern is load bearing

* doesn't even break anything

* don't all caps the comment, add more detail

* review

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* make them return the antag entity

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-02-05 05:35:41 +00:00
Kowlin
81dc1af6de Minor spelling correction in admin logging (#42784) 2026-02-04 12:36:37 +00:00
veprolet
222021dcc8 Make volumetric devices respect their pressure limits (#35211)
* Make volumetric pump limits inclusive

* Make volumetric devices respect pressure limits

* Improve pressure limit calculation comments

* Fix negative gas transfer in filters

* Extract to API

---------

Co-authored-by: veprolet <>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-02-04 10:28:45 +00:00
Marchy
a7a2ee6225 Adding logs for ImmovableRodSystem Interactions for admin panel (#42769)
Adding logs for ImmovableRodSystem for admin panel
2026-02-04 07:27:20 +00:00
Centronias
d448f0454e Make StatusEffectsSystem's cache an instance field (#42762)
make statuseffectsystem's cache not static
2026-02-03 05:38:26 +00:00
pathetic meowmeow
08bbc11972 Clean up Marking data structure, add tests for Zombie transformation (#42756)
* Clean up Marking data structure, add tests for Zombie transformation

* empty

* AAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-02-03 03:13:26 +00:00
ArtisticRoomba
1fa968e341 Atmospherics DeltaPressure Bulk Processing (#41553) 2026-02-01 20:43:45 -08:00
Crude Oil
ce97c45dc2 Admin log new state on emitter toggle (#42736)
log new state on emitter toggle
2026-02-01 21:46:57 +00:00
ArtisticRoomba
a0e6d0553a Atmos GetAirflowDirections API (#42668) 2026-02-01 11:55:50 -08:00
Samuka
728f3eac2a Sent fax now tells where it was sent from (#41108)
* Make fax tell where the fax is from

* make the line shorter

* localization

* fix fax machine not knowing where the fax is from

* fix popup saying PeerSelector

* name is now get from the known fax list

* shorter to fit in more papers

* send the sender not the destination

* add time to info displayed

* nuke [ViewVariables(VVAccess.ReadWrite)]

* update submodule

* use RoundDuration() instead

* ops, this was needed
2026-02-01 17:57:18 +00:00
Myra
9a47e0f61d Stable merge (#42732) 2026-02-01 16:20:45 +01:00
Princess Cheeseballs
e533921cb2 Entity Table Probabilities API (#41920)
* push

* fix

* push

* abstract and more accurate

* new abstract method I guess

* that table does not explode

* webedit major

* Update Content.Shared/EntityTable/ValueSelector/BinomialNumberSelector.cs

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* big ass merge conflicts

* sadas

* review

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-02-01 00:41:32 +00:00
Princess Cheeseballs
769075e929 [STAGING] Fix Diona not transferring their minds to their nymphs when gibbing. (#42699)
2 line fix

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-31 20:13:58 +01:00
Thinbug
9393d624d7 Ghost types (#37949)
* Empty commit

* yeah thingi

* added a GetHighestDamageTypes thingi to the DamageableSystem

* no idea why those files names are different only in github so just in case readding them

* yeah doing that

* first steps of moving the logic somewhere nicer

* still plenty to do

* gosh such a mess but getting progress done

* small fixie push

* big mess of bunch of stuff

* dealing with a conflict and fixing the random numbers

* testing if github will update now

* dealing with the other conflict

* github please update i beg you

* dealing with more conflicts

* hopefully this fixes it

* fixing conflicts again

* cleaning up stuffies

* sprite fixie

* general cleanup

* doing the small fixies first

* getting rid of the new event, gotta handle ashing next

* adding spaces to comments before i forget

* handling ashing

* think that did it?

* small fixies

* more small fixies

* last batch of quickie fixies before i gotta handle the bigger stuff

* last bunch of fixies i do understand

* small bit of progress yknow may as well yeah

* renaming and moving stuff to shared

* comment fixiees

* saving damage in a new component instead of in MindComponent

* protoid's and dict usage instead of the previously ickier methods

* small fixie before biggie fixie

* more fixies im slepy gosh

* thinkie that should fixie it

* smoothed the damage storage systeem so its less repetitive and icki and now itss cooler and i can go eepy

* lots of stuffies x3

* first step of getting git to detect my file name changes

* thinkie that should fixie it

* fixies

* just getting rid of the merge conflict, will check damageable later

* small thingies first

* more small stuffiees

* now all of the sprites have at leeast a 0

* dirtying the lastbody comp

* more fixies

* small thingi first

* another small fixie and a minor sprite fixie

* rng fixie

* moving the damage storage system to shared

* smoothing out code thats likely to be replaced soon but its good to do for now

* just showing progress bcus yis

* general progress stuffies mhm

* pushie

* small cleanup

* general progress :3

* in progress push for helpie

* proper pushie with progress and workies

* removed unnecessary usage of the storedamage component

* minor fixiees

* extra comments

* replaced a couple strings for ProtoId's

* gibbing related fixies :3
2026-01-30 23:16:03 +00:00
Velken
801b024e65 [Admin] Made admin log be high if the buyer is not from expected faction for a store. (#42687)
* more admin qol prs

* mistakes were made at 3am

* mindshield check and cleanup

* address reviews

* typo
2026-01-29 18:40:06 +00:00
SlamBamActionman
407664a536 Add Cyborg crew indicator (#37038)
* Initial commit

* Include uncertain crew and make it work for AI

* Add new definition to Silicon Rules 8

* Update based on review

* Remove Cluwne from job list

* ProtoIdify

* Update and also make monkey/corgi show IDs

* Remove unnecessary property

* Remove redundant code

* Carrrrd

* cleanup

* Nicer code

* Update to fix the spawn bug + agent ID

* Fix new icons

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-01-29 06:59:06 +00:00
Marchy
1f8365fe9d Log Criminal Status changes for admin panel (#42691)
Adding adming logger to log criminal status changes
2026-01-29 05:50:16 +00:00
Vanessa
ceb175c92d Health Analyzer Reactivation (#42608)
Health Analyzer reactivation
2026-01-28 08:27:22 +00:00
Velken
7d7ca77837 [FIX] Fix spacing explosions ignoring indestructible flag in stacked tiles (#42682)
* bald man broke my tiles

* move it around

* shrink it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-28 00:22:28 +00:00
Princess Cheeseballs
479579e86a Remove Visitor Shuttles (Real) and also cleanup the event rule system to not break when I try to do this. (#41915)
* shelve

* halfway there

* borgar

* just pass TimeSpan.Zero????

* better API

* no more TODO

* comment

* some fixes

* Gonna make a new PR for this I guess shrug

* add quark back, cleanup some stuff

* add syndie pod back

* one final change

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-27 22:47:18 +00:00
Dmitry
eb763886cd fixing the handling of the RespiratorComponent without checking (#42665)
* the correction itself

* it will be more adequate

* doc

* not log - not debug

* ohhh
2026-01-26 22:17:52 +00:00
pathetic meowmeow
4e9a456591 Drop ICharacterProfile/ICharacterAppearance interfaces (#42661) 2026-01-26 20:15:44 +00:00
B_Kirill
093257280b Fix InstrumentSystem.Update exception when deleting band lead (#42331) 2026-01-26 15:52:56 +00:00
Ohelig
256ecd3c46 Refresh gas canister UI on canister startup (#42616)
* Refresh UI on canister startup

* Rework DirtyUI to not fail during tests on fake canisters

* Feedback from Discord
2026-01-26 14:47:04 +00:00
ScholarNZL
044aa4c8dc Add Part Assembly and Temprature Construction Validations for Dev builds (#41396)
Resolves 43194; part ass. and temp con. validation
2026-01-26 05:55:54 +00:00
Pieter-Jan Briers
7b1ed2bd29 Remove duplicate loc getstring calls (#42648)
guh
2026-01-25 23:02:57 +00:00
Winkarst-cpu
11ac6966d9 Fix: Make votes force select maps (#42426)
* Fix

* Add safe guard
2026-01-25 22:22:12 +00:00
B_Kirill
6daca9bd96 GasLeak and PowerGridCheck rules components cleanup (#42624) 2026-01-25 22:06:03 +00:00
B_Kirill
ae5f8d0a6c Fix emergency shuttle authorization bypass via ID rename (#42640) 2026-01-25 21:59:50 +00:00
Pieter-Jan Briers
1682ad243f Update RT to 271.2.0 (#42646) 2026-01-25 19:09:24 +00:00
B_Kirill
2977d89f3e Cleanup warnings: CS0168, CS0414, CS8321 (#42623) 2026-01-24 20:35:41 +00:00
Samuka
7c03f61e31 Admin log now shows who called or recalled evac (#41557)
* admin log now shows who called or recalled evac

* ops

* named parameters

* show in player search

* ops, forgot 2

* when did this happen?
2026-01-24 19:00:37 +00:00
Princess Cheeseballs
76801bd8b2 Tweak Traitor Uplink - The Rest of the Uplink (#42582)
* jaws of death

* I hate YAML

* open the gate

* I forgot about this one

* I forgor

* Fix croissant

* this didn't work actually rip

* made lights look better and undo on the boxing gloves

* small change

* Update Resources/Prototypes/Entities/Clothing/Hands/gloves.yml

Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>

* baguette contraband, eat your evidence.

* suffix

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
2026-01-24 00:11:19 +00:00
Pieter-Jan Briers
29b7fc4463 Stable to master (#42599)
Ban database refactor (#42495)

* Ban DB refactor seems to work at a basic level for PostgreSQL

* New ban creation API

Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).

* Make the migration irreversible

* Re-implement ban notifications

The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.

* Fix some split query warnings

* Implement migration on SQLite

* More comments

* Remove required from ban reason

SS14.Admin changes would like this

* More missing AsSplitQuery() calls

* Fix missing ban type filter

* Fix old CreateServerBan API with permanent time

* Fix department and role ban commands with permanent time

* Re-add banhits navigation property

Dropped this on accident, SS14.Admin needs it.

* More ban API fixes.

* Don't fetch ban exemption info for role bans

Not relevant, reduces query performance

* Regenerate migrations

* Fix adminnotes command for players that never connected

Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.

* Great shame... I accidentally committed submodule update...

* Update GDPR scripts

* Fix sandbox violation

* Fix bans with duplicate info causing DB exceptions

Most notably happened with role bans, as multiple departments may include the same role.
2026-01-23 15:34:23 +01:00
pathetic meowmeow
ff1af35afb Replace metabolism groups with metabolism stages (#42172)
* Replace metabolism groups with metabolism stages

* return to return

* killed

* yaml linted

* yaml linted again

* margarine

* bugfixes and balancing tweaks
2026-01-23 01:50:33 +00:00