Commit graph

1253 commits

Author SHA1 Message Date
SlamBamActionman
0d616cf6df
Universal uplink codes (#38712)
* Halfway commit

* Finishing commit, maybe?

* Fix test, update ringtone UI to look nicer

* Fix command, add failsafe

* Documentation

* Can we just mark ValidatePrototypeId as obsolete please

* I'm too tired and my bones hurt

* Change uplink code generation method

* Move RingerAccessUplinkComponent to Server, because cheat clients could make use of it

* Fix uplink implant changes, review changes, repair broken serialization.

* cleanup and master merge

* forgot the Linq

* Linqd

* Our store system is pretty goddamn awful wow

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-04 19:46:43 +00:00
Moony
be9b2fbb88
Remove unused space worldgen. (#43428)
* Remove my unmaintained feature.

* Cut world loaders.

* Cut unused pool.
2026-04-03 18:40:21 +00:00
Moony
d42adbf05d
Gametest Part 2: Preliminary refactor every test to use GameTest as the framework. (#43207)
* Pass 1.

* i'm FREE

* Prevent hangups.

* okay fine here's an attribute for settings, will polish later and prolly remove the overridable thing.

* sigh.

* fix singular trigger bug so LatheTest doesn't flake.

* Remove SystemAttribute usage.

* Poke

* I used the shotgun. You know why? Cause the shot gun doesn’t miss, and unlike the shitty hybrid taser it stops a criminal in their tracks in two hits. Bang, bang, and they’re fucking done. I use four shots just to make damn sure. Because, once again, I’m not there to coddle a buncha criminal scum sucking f------, I’m there to 1) Survive the fucking round. 2) Guard the armory. So you can absolutely get fucked. If I get unbanned, which I won’t, you can guarantee I will continue to use the shotgun to apprehend criminals. Because it’s quick, clean and effective as fuck. Why in the seven hells would I fuck around with the disabler shots, which take half a clip just to bring someone down, or with the tazer bolts which are slow as balls, impossible to aim and do about next to jack shit, fuck all. The shotgun is the superior law enforcement weapon. Because it stops crime. And it stops crime by reducing the number of criminals roaming the fucking halls.

* Change the faulty store test into two tests, one of which is ignored for failing.
2026-04-01 16:06:26 +00:00
Tayrtahn
067bd9f43c
Fix TrackingIssueAttribute blocking orgs/repos containing numbers (#43369)
Fix TrackingIssueAttribute blocking orgs/repos containing numbers
2026-03-28 10:29:55 +00:00
slarticodefast
b582f2e156
cleanup GasPrototype and some other atmos code (#43318)
* cleanup

* fix some localizations

* fix typo

* review and test fix

* rename

* minus one

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-03-28 04:15:41 +00:00
Moony
9adb10d791
GameTest part 1 (#43182)
* Ports much of GameTest, minus all the WIP stuff.

* remark.

* EnsureCVar now adds test properties.

* Some cleanup and functionality.

* Ignore broken test. Needs fixed eventually. Also explicit context config.

* TrackingIssue attribute.

* oops

* Pair config attribute.

* Remove SystemAttribute in favor of using the EntitySystemManager dependency collection.

* Ensure idleness.

* More tests for tests.

* More specific failure catching tests.

* Reverse attribute resolution order so suite-wide attributes happen first.

* Get rid of AffectedProperties again because I need to refactor PoolSettings for that.

* Poke

* Final cleanup pass.

* Update Content.IntegrationTests/Fixtures/Attributes/RunOnSideAttribute.cs

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

* Update Content.IntegrationTests/Fixtures/Attributes/Side.cs

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

* Update Content.IntegrationTests/NUnit/Utilities/ITestExtensions.cs

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

* Fixes.

* shut up nunit.

* Make TrackingIssue a bit strict on purpose, so people don't put junk here.

* Update Content.IntegrationTests/Tests/GameTestTests/DisconnectedDependencyTest.cs

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

* Address.

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
2026-03-27 19:08:47 +00:00
Moony
ec8f1d7ea4
Add test result archiving to our test actions + Test fixes (#43175)
* Add test result archiving to our test actions.

* heck.

* Don't waste tremendous amounts of storage.

* Fix ReagentDataTest.

* Reduce retention and increase compression on integration output.

* Back to 7 days, depend on RT instead.

* Poke.

* Fix linter.

* til.

* Actually send YAMLLinter's pair messages into the void.
2026-03-17 17:17:22 +00:00
Kyle Tyo
116e09e1cc
Fix bug blocking character saves for species without hair. (#43170)
* Update ServerDbBase.cs

* Update ServerDbBase.cs

* Update ServerDbSqliteTests.cs

* :grumble grumble grumble:

* tests

* Update ServerDbSqliteTests.cs

* commit

* forgot this.

* relocation.

* nope, not doing that lmao

* Update ServerDbSqliteTests.cs

* test rerun

* GAAAAAA

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* Update ServerDbSqliteTests.cs

* GAAAAAA

* go fish
2026-03-15 15:55:42 +00:00
Centronias
38f7800370
Single item cargo orders are delivered in Parcel Wrap instead of crates (#40834)
* - rework a bunch of cargo orders to not send a crate with just one thing
  - instead sends the item, wrapped
- add ability for cargo orders to wrap the item ordered in parcel wrap
- cargo order name and descriptions are now localization strings, but still 99.99% of the time just get that info from the entity they're spawning
- small refactor to how cargo orders move around in cargo code so that the actual order proto is kept around longer
- small rework to certain restock cargo orders to halve the cost and number of items received in one order

* oop

* Suffering

* Arbitrary containers for cargo products

* I ran the tests locally and they passed, github please rerun :)

* massage Slarti's work into this.
Mainly by taking the API wrapping ability out back with the rifle q-q

* testfail fake

* wow `_applyingState` is useful, I wonder where I should've been using that in other PRs before :^)

* pr comments

* tfw the hook doesn't update the submodule

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

Co-authored-by: āda <ss.adasts@gmail.com>

* PR comments

* fixies

* Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs

* Update Content.Shared/ParcelWrap/Systems/ParcelWrappingSystem.WrappedParcel.cs

* fix wrapped parcel entity name + audio

* Actually read PR comments

* Apply suggestions from code review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: āda <ss.adasts@gmail.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-03-15 13:45:46 +00:00
Princess Cheeseballs
a1d7406bf2
Move a metric fuckton of AtmosphereSystem to Shared. (#42989)
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fix the tests I broke

* Remove methods that the client shouldn't be calling. Hamburger.

* light cleanup for now

* review

* whoop

* docs updates and misc changes

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-03-14 08:53:49 +00:00
Moony
03d5c4c685
Removes a test that handles engine behavior in content. (#43228) 2026-03-13 20:08:55 +00:00
Centronias
30c28b5833
Make test runnable on windows in debug config again (#43227)
tfw ur fs isn't posix compliant
2026-03-13 19:59:41 +00:00
Moony
229ce3e3f0
Refactor MobThresholds and Stamina tests. (#43156)
Add 561 more tests.
2026-03-10 20:12:56 +00:00
Moony
b07fc5f4c1
Reactions test cleanup. (#42979)
* Make TryAllReactionsTest use a scrounged reagent list.

* naming

* Poke
2026-03-10 19:56:30 +00:00
Moony
be8bd66f67
Refactor construction tests (#43155)
Introduce 2681 more tests.
2026-03-10 19:56:23 +00:00
Moony
5eba73c5d8
Refactor Device Linking tests. (#43157)
* Add 416 more tests.

* fixes.
2026-03-10 19:56:13 +00:00
Moony
b01d2ec5cb
Refactor explosion prototype tests. (#43158)
Add 9 more tests.
2026-03-10 19:56:10 +00:00
Moony
8e0a27199a
Refactor guide entry tests. (#43159)
* Add 204 more tests.

* better plan.
2026-03-10 18:22:17 +00:00
Moony
601e572188
Make map tests more fine-grained. (#42977)
* Make map tests more fine-grained.

* ..typo.

* fix example

* exclude Empty.

* Adjust a scrounger test & fix it.

* It does respect ignored prototypes, after I realized making it do so was really easy.

* Fix it for real this time.

* General scrounger enhancements for a GameRules test set.

* Fix linter for real.

* Address reviews.
2026-03-08 22:27:45 +00:00
pathetic meowmeow
b2b547b806
Initial decoupling pass on Damageable (#43103)
* Initial decoupling pass on Damageable

* ope

* e

* mroaw

* ok sure on the medibot thing

* no medibot bounds

* okidooks

* arcryox era

* cryox moment
2026-03-07 04:13:50 +00:00
Tayrtahn
19c8221e8b
Add borg construction interaction test (#42359)
* Add test of borg construction.

* Return Validated when in validation mode.

* Update Content.IntegrationTests/Tests/Construction/Interaction/BorgConstruction.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-03-01 22:28:46 +00:00
slarticodefast
210fae0ffe
Raise SolutionChangedEvent and SolutionContainerChangedEvent when handling SolutionComponent states (#42814)
raise event on client + comp access
2026-02-27 21:27:56 +00:00
pathetic meowmeow
e361944ef6
Make DamageSpecifier serializable (#43049)
* pt1 damageable refactor

* fixes

* thusd unused

* sparse damagespecifiers

* fix thongs

* aaaaaa

* fix tests

* de-crash
2026-02-27 06:20:13 +00:00
Errant
8315eaab7e
Revert "Cleanup Antag Selection Logic a Lot" (#43041)
Revert "Cleanup Antag Selection Logic a Lot (#42673)"

This reverts commit c2f986ea8b.
2026-02-26 18:36:48 +00:00
Centronias
4751c7981f
Add missing test pair cleanup to SharedGasSpecificHeatsTest (#42763)
* add SharedGasSpecificHeatsTest testpair cleanup

and make it nonparallel because sometimes the basic tests blast through so fast that the pairs are reused before they're read (or something? I honestly don't know, but making it non-parallel fixed issues I was seeing)

* Apply suggestion from @Centronias
2026-02-17 18:15:10 +00:00
B_Kirill
c086acbc34
Cleanup warnings: CS0114, CS0414, CS9107 (#42859)
* Cleanup warnings: CS0114, CS0414, CS9107

* I shouldn't trust IDE autocorrection
2026-02-10 14:07:45 +00: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
TytosB
271252c003
New high pop station - Serpentcrest (#38991)
* syndicate station holy fuck

* I LOVE CONTENT INTEGRATION TESTS

* AHHHHH

* beacons

* minor tweaks

* tweaks

* heisenfuck

* by the nine im tweaking

* fuckin bazgina idk

* many changes

* i forgor

* bingle

* emergency emergency locker

* Components

* bongle

* fuckin

* many tweaks

* abc

* tweaks

* savedasmapfuck

* beacons

* tweaks type shit

* fixes

* small tweaks

* post test hotfix

* atmos fix

* more fixes

* cargo shuttle rotation

* updates

* FOUR FUCKING PIXELS

* goob feedback

* Christmascrest

* no more boxer is boxover

* adjustments

* uhhhh

* fake jordans

* more tweaks

* oh lawd im tweakin

* rhys yappin

* typo

* idk fuckin alot

* signs my beloathed

* maintsover

* touches

* damn mutt.

* its beacover

* christmas is cancelled.

* playtest ajustments

* review
2026-02-09 06:50:15 +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
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
pathetic meowmeow
6e84e72e78
Fix markings colour setting (#42771) 2026-02-03 18:45:25 +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
a0e6d0553a
Atmos GetAirflowDirections API (#42668) 2026-02-01 11:55:50 -08: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
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
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
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
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
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
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
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
slarticodefast
28a4a548b6
Add integration test for drains (#41190)
* drain test

* fix linter fail
2026-01-15 17:53:30 +00:00