6357 Commits

Author SHA1 Message Date
ScarKy0
2320d257d5 [Stable] Fix metabolism shuffle (#42795)
* yeah

* move up

* fssaf

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-02-04 23:55:28 -08:00
Princess Cheeseballs
8474396c80 [STAGING] Fix Hardsuit Helmets dropping on being gibbed. (#42703)
* bullshit

* sdasdsas

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-31 20:14:14 +01: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
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
pathetic meowmeow
4e9a456591 Drop ICharacterProfile/ICharacterAppearance interfaces (#42661) 2026-01-26 20:15:44 +00:00
Marlyn
fd0f525927 Fixes Opporozidone Instarot issues (#42472)
Removes a vestigial shutdown handler

When opporozidone removes the RottingComponent, the PerishableComponent's
RotNextUpdate is set to 0 - and then it undergoes a period of catch-up to
the current time. If the entity is susceptible to rot in that interval, it'll
accumulate 2 minutes 30 seconds worth of rot, per second.

This gets worse the longer the server has been running, as there's a greater value
in _timing.CurTime to catch up to. This handler seems to be vestigial from the
MiasmaSystem and does not seem to be necessary for anything anymore.
2026-01-26 15:30:21 +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
B_Kirill
a237493841 Prevent picking up chameleon projector disguises via context menu (#42656) 2026-01-26 13:48:16 +00:00
Princess Cheeseballs
a35a48c351 Fix sound issues with arti crusher. (#42406)
AAAAAAAAAAAAAAAAAAAAA

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-26 11:54:45 +00:00
roryflowers
ab2cefaa7f restore tritium fire energy to reenable maxcaps (#42641)
Co-authored-by: Rory Flowers <roryflowers@github>
2026-01-26 00:24:22 +00:00
Connor Huffine
e6dedb87a6 Add EditorHidden member to ContentTileDefinition (#42564)
Add EditorHidden member
2026-01-25 22:17:44 +00:00
SlamBamActionman
8789577085 Add an option for hold-to-attack in settings (#42596)
* Initial commit

* Separate ranged and melee

* Move to controls tab
2026-01-25 22:15:33 +00:00
InsoPL
f6a06db1fc Translation fix: insulated verbs (#42617)
* feat

* only clothing

* fix

* Revert "fix"

This reverts commit 858c3f8827.

* fix

* reversal

* removed double namespace

* ehhh

* wrong robust toolbox

* typo
2026-01-25 22:11:00 +00:00
B_Kirill
ae5f8d0a6c Fix emergency shuttle authorization bypass via ID rename (#42640) 2026-01-25 21:59:50 +00:00
B_Kirill
2977d89f3e Cleanup warnings: CS0168, CS0414, CS8321 (#42623) 2026-01-24 20:35:41 +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
deathride58
f3db27da10 Fixes grappling hook audio infinitely looping (#42588)
Fixes a regression with grappling hook sounds by reverting a last-minute commit
2026-01-23 01:30:02 +00:00
Julian Giebel
bcd3612730 Add feedback popups (#41352)
* Commit

* add the form post

* dv

* fixes

* Change wording

* Address review

* wording change

* Added some stuff

* New format

* bruh

* thanks perry!

* yes

* More fixes!

* typo

* Add a command to show the list, improve the UI slightly, split up command names

* Fix UI controller

* Add better comment

* Get rid of weird recursive thing

* Cleanup

* Work on moving feedback popups out of simulation

* Move round end screen subscription to feedback ui controller

* Finish moving feedback popups out of simulation

* Fix _ as parameter

* Clean up FeedbackPopupUIController

* Clean up commands

* Fix prototype yaml

* Fix openfeedbackpopup command description

* Update Resources/Locale/en-US/feedbackpopup/feedbackpopup.ftl

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

* Address reviews

* Address reviews

* Fix FeedbackPopupPrototype.cs using empty string instead of string.empty

* Address some more of the reviews, style nano is still trolling sadly

* Fix feedback popup styling

* Fix PopupPrototype ID field not having a setter

* Address reviews

* Add label when no feedback entries are present

Change link button to not show when no link is set

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
2026-01-22 22:19:54 +00:00
deathride58
5d2988d5ff Grappling rework - Grappling hooks are now physics-driven (#42409)
* Grappling rework - Grappling hooks are now physics-based

* still have no idea wtf is going on with portals but fixed a few bugs + cleanup

* bonus fixes + prep for optional-but-recommended engine PR

* dropkicking a stray comment outta here

* makes the impulses actually take into account the fucking relays, makes reeling cancel if the rope's already too short, and tweaks values

* reviews + cleanup + makes ungrapple behavior a bit more consistent
joint removal was removed from ungrapple because it mispredicts either way, and breaks grappling hooks attached to the grappling gun (always good to leave possibilities like that open)

* adds a hack to work around grids not caring about waking cross-grid joints

* makes use of dirtyfield(), defenestrates magic number

* y'know it'd probably be better if we were like actually awake before we made commits

* null-coalesce instead of if statement

* two changes

* dont datafield and fix up for sound overrides

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-22 22:15:01 +00:00
pathetic meowmeow
6f8242c1fc Simplify hands UI code (#42534)
* Simplify hands UI code

* i remembered about SortedHands in the component

* minor cleanup

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-22 21:31:45 +00:00
SabreML
e9be97dee0 Colour picker, palettes, & other spraypainter stuff (#41943)
* The stuff

* Valid check

* Spraypaintable decals don't actually seem to use `ZIndex`

* Don't need this

* datafield fix and button swap

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-22 17:33:21 +00:00
ScarKy0
1a0b108bdd Force-prying crit borgs opens borg panel (#42460)
yeah
2026-01-22 09:44:31 +00:00
ArtisticRoomba
1b1cb64d24 Power Consumers Rebalance: Simple Dynamic Power Loading (#41961)
* initial commit

* misc additions and fixes

* final tests and additions

* cleanup 1

* fix tests and add a test

* fix tests AGAIN

* abject horror and misery

* cleanup

* cleanup 2

* address some issues
2026-01-21 04:05:44 +00:00
pathetic meowmeow
0ec9975e4f Fix hideable humanoid layers (#42553)
* Fix hideable humanoid layers

* test maintenance coin

* clean return

* voxes can no longer have human beards

* voxes fixes

* voxing out

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 22:24:09 +00:00
Velken
fb82cadc9f "Fix RCD light spam, bypass of indestructible tiles and some plating fixes" - Tile Stacking got merged, time to bring back the RCD fix (#42556)
* No more light spam, and some plating fixes

* fixed test
2026-01-20 21:48:30 +00:00
ScarKy0
cf19062414 Fix handheld grinder and reaction mixer audio stacking (#42498)
* yeah

* AAAAAAAAAAAAAAAAAAAAAAA

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 21:11:40 +00:00
pathetic meowmeow
4216e29fdb Fix sexed organs (#42554) 2026-01-20 20:58:44 +00:00
osjarw
892209db01 Medibot doAfter and some other improvements (#32932)
* Medibot doAfter and some other improvements

* Clean-up

* Review fixes

* the army of medibots chasing someone is really funny

* misc cleanup

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-01-20 20:37:51 +00:00
Velken
59e10d2854 Tile Stacking - attempt 2 (#42543)
* WORK IN PROGRESS 1

* ITS ALIVE, ALIVE!!!!

* clean up

* WIP 1

* fix small oversight

* big diff of doom

* added CVAR to tile history stack size

* component time

* filescoped namespaces + remove redundant nametag

* fix silly little mistakes

* typo

* TileStacksTest

* bweeeeeeh :P

* nuke cvar

* :3

* WIP2025

* Fix submodule

* It's beginning to look a lot like Christmas

* It's the Most Wonderful Time of the Year

* tiny fix

* fixed extra spacing on yaml

* slightly improve tilestacking test

* Part 1 out of 2 (part 2 tomorrow)

* Part 2

* add a simple tile construction test for tilestacking

* guh

* address reviews (no documentation yet)

* documentation be upon ye

* remove extra spaces

* prediction fix

* dirt

* oops :p

* attempt to make this suck less

* am never doing a PR that touches explosion system ever again

* small fix

* maybe a bit better now?

* more cleanup

* one last cleanup for me

---------

Co-authored-by: Killerqu00 <killerqueen1777@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 20:35:47 +00:00
pathetic meowmeow
efb6c68ac8 Fix humanoid profile voice being broken (#42550)
Fix humanoid appearance voice being broken
2026-01-20 19:13:51 +00:00
InsoPL
b86b6e0ff0 Examination verb for insuls (#42444)
* feat

* only clothing

* fix

* Revert "fix"

This reverts commit 858c3f8827.

* fix

* reversal

* removed double namespace
2026-01-20 15:46:49 +00:00
B_Kirill
7f7f3b6ef1 Fix MagicMirror UI (#42544) 2026-01-20 11:59:58 +00:00
pathetic meowmeow
8cf744ec55 Visual nubody (humanoid appearance refactor) (#42476)
* initial visual nubody

* oops overlay

* im so pheeming rn

* conversion...

* tests

* comeback of the underwear

* oops eyes

* blabbl

* zeds

* yaml linted

* search and visible count constraints

* reordering

* preserve previously selected markings colors

* fix test

* some ui niceties

* ordering

* make DB changes backwards-compatible/downgrade-friendly

* fix things again

* fix migration

* vulpkanin markings limit increase

* wrapping

* code cleanup and more code cleanup and more code cleanup and more code cleanup and

* fix slop ports

* better sampling API

* make filter work + use the method i made for its intended purpose

* fix test fails real quick

* magic mirror cleanup, remove TODO

* don't 0-init the organ profile data

* remove deltastates

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-20 07:07:53 +00:00
Princess Cheeseballs
fa9173c0ec Traitor Chemicals Rebalance (#42484)
very small list of changes overall

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-19 22:17:10 +00:00
ArtisticRoomba
966f244048 Adjust various traitor explosives (#42477)
* adj explosions

* yuuup

* next release

* cleanup and EMP changes

* minibomb revert, wait until gib experiment

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-19 21:54:12 +00:00
DDDragoni
76c09a6b1a Thieving beacons automatically set coordinates when unfolded. (#42520)
Thieving beacons set coordinates when unfolded
2026-01-19 09:02:22 +00:00
Vasilis The Pikachu
ff9798a0ca Merge remote-tracking branch 'upstream/stable' into stable-merge-2026-01-17-2 2026-01-18 22:37:45 +01:00
pathetic meowmeow
f068cd885b Fix inventory contents not being dropped on gibbing (#42504) 2026-01-18 21:08:15 +00:00
Vasilis The Pikachu
ca07d6be49 Revert "Allow station tiles to be placed on solid ground and other platings. (#38898)"
This reverts commit 418b2b70b0.

Maintainer vote decided to vote this out due to code quality issues. The original contributor is aware and will get help from a maintainer to reintroduce it
2026-01-18 21:53:21 +01:00
Vasilis The Pikachu
e247ea5850 Revert "Fix RCD light spam, bypass of indestructible tiles and some plating fixes (#42432)"
This reverts commit 7d58e42ade.

Required to revert 418b2b70b0 via maintainer vote due to code quality issues.
2026-01-18 21:53:21 +01:00
pathetic meowmeow
d0c2734dad Nubody (#42419)
* Nubody

* fix test fails

* gibbing

* lung test returns

* doc comment

* hand organ test

* giblet test

* yaml formatting

* returning

* relocate

* trimming

* re-smite

* oops thusd tweak

* arachnids have slower metabolism i guess

* never mind the old behaviour is bad actually

* rider whyyy

* style changes and allat

* fix collision

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-01-17 00:39:35 +00:00
Velken
8a59ead61e Admin Anomaly Scanner (#42443)
* admin anom scanner

* improvement

* green

* sprite
2026-01-16 22:08:52 +00:00
Nemanja
d2ac15c76f Fix flatpacker exploit ignoring board costs (#42445)
Fix flatpacks ignoring costs and board requirements
2026-01-16 00:22:24 +00:00
ScarKy0
897a2d40bc Add Mortar and Handheld Juicer (#42019)
* init

* API

* testing

* review

* return

* good enough, fix later

TODO:
Proper prototype
DoAfter
Sounds

* "proper" prototype

TODO
DoAfter
Sprite

* proper protos, mortar sprite

* juicer sprites

TODO:
Juicer sounds
Makeshift crafting recipes
Add regular to vendors

* sprite tweak

* juicing sound, cleanup, construction

* vendors

* line end

* attribution newline

* small balance tweak

* Let it be known id never webedit

* meta

* item size

* review

* handhelds

* partial review

* cache solution, looping

* graph

* review

* popup

---------

Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
2026-01-16 00:19:42 +00:00
B_Kirill
b14964398b Camera map (#39684)
* Camera map

* I hope this helps

* Review 1

* Review 2

* Review 3

* Review 4

* Review 5

* Colorblind mode support

* Review 6

* Change design

* Map wire

* Logic fix

* Fix a terrible mistake

* Fix

* Fix 2

* Small rename

* More fix

* Better removal

* And another fix

* Will it work?

* It is literally pointless

* some small things
2026-01-15 21:21:55 +00:00
Velken
7d58e42ade Fix RCD light spam, bypass of indestructible tiles and some plating fixes (#42432)
* No more light spam, and some plating fixes

* fixed test
2026-01-15 20:22:54 +00:00
ScarKy0
c7e8bbbf87 Add Paper Centrifuge (#42040)
* init

* sound

* sprite, half functional construction

* proper recipe

* oops

* loop sound

* inhands

* review

* review squared
2026-01-15 19:45:20 +00:00