Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
535 commits
Select commit Hold shift + click to select a range
1b50111
Weather entities (#41427)
TheShuEd Mar 8, 2026
24382dd
Automatic changelog update
PJBot Mar 8, 2026
4cdef6a
Patch for engine ComponentFilter (#43168)
moonheart08 Mar 10, 2026
8e0a271
Refactor guide entry tests. (#43159)
moonheart08 Mar 10, 2026
b01d2ec
Refactor explosion prototype tests. (#43158)
moonheart08 Mar 10, 2026
5eba73c
Refactor Device Linking tests. (#43157)
moonheart08 Mar 10, 2026
be8bd66
Refactor construction tests (#43155)
moonheart08 Mar 10, 2026
87a3787
Add exception tolerance to SharedDoAfterSystem. (#43088)
moonheart08 Mar 10, 2026
b07fc5f
Reactions test cleanup. (#42979)
moonheart08 Mar 10, 2026
229ce3e
Refactor MobThresholds and Stamina tests. (#43156)
moonheart08 Mar 10, 2026
c83077f
Update `NodeHelpers` and `Node.GetReachableNodes` to use `Entity<Tran…
Tayrtahn Mar 10, 2026
700e901
Add a basic API to `JukeboxSystem` (#42896)
Tayrtahn Mar 11, 2026
5f030ee
Atmos YAML-defined gas flammability, flammability API (#43165)
ArtisticRoomba Mar 11, 2026
f3bb1be
Vent Hordes (#43047)
ScarKy0 Mar 11, 2026
d547adc
Automatic changelog update
PJBot Mar 11, 2026
67b0e89
Add DB Config to development.toml (#43036)
Geekyhobo Mar 12, 2026
012ffe5
Add banning to server api (#43205)
Simyon264 Mar 12, 2026
38cd873
Revert "Support for melee weapon user overrides" (#43106)
slarticodefast Mar 12, 2026
03f1963
Update RT to 273.0.0 (#43130)
Tayrtahn Mar 13, 2026
d902843
Wrapped parcels can go into mail carts (#43226)
Centronias Mar 13, 2026
30c28b5
Make test runnable on windows in debug config again (#43227)
Centronias Mar 13, 2026
03d5c4c
Removes a test that handles engine behavior in content. (#43228)
moonheart08 Mar 13, 2026
d6f1e97
Automatic changelog update
PJBot Mar 13, 2026
a915930
[Fix] Silicon Ion Law Scramble Text (#43229)
Velken Mar 13, 2026
dcbe5e0
Automatic changelog update
PJBot Mar 13, 2026
a1d7406
Move a metric fuckton of AtmosphereSystem to Shared. (#42989)
Princess-Cheeseballs Mar 14, 2026
58cab10
fix bottle reagent localization (#43208)
TaserTheFox Mar 14, 2026
e105237
Automatic changelog update
PJBot Mar 14, 2026
2cbc857
Fix missing word from emitter alerts (#43225)
CroilBird Mar 14, 2026
e49d36a
Make EntityTableSpawner spawn relative to grid instead of map (#43234)
SnappingOpossum Mar 14, 2026
fe8f5f2
Add a holy light effect to bible healing (#43189)
themias Mar 14, 2026
23aa4c9
Automatic changelog update
PJBot Mar 14, 2026
6e33382
Automatic changelog update
PJBot Mar 14, 2026
93dccc3
Content-side IRobustRandom cleanup. (#43231)
moonheart08 Mar 14, 2026
fbed18b
Cleanup warnings: CS0168, CS0414 (#43198)
B-Kirill Mar 14, 2026
4ab475a
On Exo, fixed power for AI North and South external cameras (#43143)
Suenrg Mar 14, 2026
4e6bf98
Automatic changelog update
PJBot Mar 15, 2026
193c0dc
CachedResources for GasTileDangerousTemperatureOverlay (#43032)
insoPL Mar 15, 2026
05b6ec1
Update Credits (#43241)
github-actions[bot] Mar 15, 2026
d5ed6aa
Refactor: Gas tile overlay split (#42881)
insoPL Mar 15, 2026
3caea16
Move ID card name/title length limit to server (#43237)
Tayrtahn Mar 15, 2026
60ce454
Update ruined_prison_ship.yml (#43242)
DiegoLob0 Mar 15, 2026
57d8210
Revert "Remove salv stuff from mothership (#43007)"
ScarKy0 Mar 15, 2026
f796cef
remove changelog
ScarKy0 Mar 15, 2026
38f7800
Single item cargo orders are delivered in Parcel Wrap instead of crat…
Centronias Mar 15, 2026
c99d94c
Automatic changelog update
PJBot Mar 15, 2026
c51a7ea
Refactor Ion Law string generation (#42629)
Velken Mar 15, 2026
116e09e
Fix bug blocking character saves for species without hair. (#43170)
VerinSenpai Mar 15, 2026
651b70f
Automatic changelog update
PJBot Mar 15, 2026
bd96c0e
Revert "Remove salv stuff from mothership (#43007)" (#43249)
ScarKy0 Mar 15, 2026
2736c45
Predict reagent grinder (#42815)
slarticodefast Mar 15, 2026
bc0ce07
Automatic changelog update
PJBot Mar 15, 2026
5c94e14
Fix reagent grinders on dev map (#43253)
slarticodefast Mar 15, 2026
4554e3a
Fix changelog for #43049 (#43248)
SlamBamActionman Mar 15, 2026
31bf1e7
Fixed the two-handed activated sound bug. (#38070)
RedBookcase Mar 16, 2026
53e4139
Removed MovementBodyPartComponent (#43257)
Tuchila-Adi-Bogdan Mar 16, 2026
f89fdaa
Revert "Xenoborg extractor (#42796)"
ScarKy0 Mar 16, 2026
e9d7362
revert CL
ScarKy0 Mar 16, 2026
b335e4e
Revert "Xenoborg extractor (#42796)" (#43262)
SlamBamActionman Mar 17, 2026
4495128
Fix floating point tilefire nonsense (#43263)
ArtisticRoomba Mar 17, 2026
6d9d3ef
Staging Stable Release (#43265)
Princess-Cheeseballs Mar 17, 2026
9b0067e
Staging To Master (#43264)
Princess-Cheeseballs Mar 17, 2026
ec8f1d7
Add test result archiving to our test actions + Test fixes (#43175)
moonheart08 Mar 17, 2026
33beb79
Update RT to 274.0.0 (#43261)
Tayrtahn Mar 17, 2026
5645b94
Make the chem guidebook show when chemicals adjust body temperature (…
Eternally-Confused Mar 17, 2026
f63d2fd
Automatic changelog update
PJBot Mar 17, 2026
4ae82ec
Tech disk resprite and pricing changes (#37719)
murolem Mar 17, 2026
53ca3fe
Automatic changelog update
PJBot Mar 17, 2026
dd6254f
Fix Airtight Explosion Cache (#43276)
Princess-Cheeseballs Mar 18, 2026
9087a2e
Stable -> Master (#43284)
Princess-Cheeseballs Mar 18, 2026
cedae35
Fix thermomachine guidebook typo (#43285)
Buunie099 Mar 18, 2026
ee3926f
Automatic changelog update
PJBot Mar 18, 2026
b03a72d
DeleteComponentCommand minor cleanup/rename. (#43289)
VerinSenpai Mar 18, 2026
087edd2
Cleaning Blood Footstep Sounds (#43266)
Prole0 Mar 18, 2026
2008be2
Update Packed's TEG Burn chamber (#43278)
rwrv1 Mar 19, 2026
6a67512
Automatic changelog update
PJBot Mar 19, 2026
b251848
Move salvage RandomSpawners to EntityTableSpawners (#43233)
SnappingOpossum Mar 19, 2026
f27d600
Borg charger hitbox changes (#43300)
ProPeperos Mar 20, 2026
545a4bc
Automatic changelog update
PJBot Mar 20, 2026
d14423f
Move some simple random spawners to entity table spawners (#43305)
SnappingOpossum Mar 21, 2026
7a9cd0b
Fix melee attack sprite rotations (#43307)
slarticodefast Mar 21, 2026
803fd2d
Automatic changelog update
PJBot Mar 21, 2026
7cf3728
Update Credits (#43313)
github-actions[bot] Mar 22, 2026
d86219c
removed PhysicalConstants.ZERO_CELCIUS (#43316)
MendaxxDev Mar 22, 2026
226deda
Fix welders running an additional time when no damage remains. (#43321)
VerinSenpai Mar 22, 2026
441f4c8
Automatic changelog update
PJBot Mar 22, 2026
4f485d8
Correct attribution for /Textures/Objects/mre.rsi (#43328)
VerinSenpai Mar 23, 2026
cc732f2
Flatpack opening uses collision of flatpacked entity (#41849)
mqole Mar 24, 2026
fcb74f6
Automatic changelog update
PJBot Mar 24, 2026
8235971
Move remaining random spawners to entity table spawners (#43324)
SnappingOpossum Mar 24, 2026
0d1c744
Improvments for Reach station (#43046)
ProPeperos Mar 24, 2026
1a2831d
Automatic changelog update
PJBot Mar 24, 2026
d743763
Update RT to 274.0.1 (#43337)
slarticodefast Mar 24, 2026
db74373
remove all use cases of TimerComponent (#43320)
slarticodefast Mar 25, 2026
35d97c6
trico no longer heals when mob is crit, and no longer heals rad (#43293)
Not-A-Chair Mar 25, 2026
c57e117
Automatic changelog update
PJBot Mar 25, 2026
744e298
Fixes ambuzol pills. (#43331)
ArcaneValiance Mar 25, 2026
343cc04
Automatic changelog update
PJBot Mar 25, 2026
7e386de
Fix `SharedCrayonSystem` being both `[Virtual]` and `abstract` (#43339)
Tayrtahn Mar 25, 2026
3d67725
Painting and poster random spawners to entity table spawners (#43270)
SnappingOpossum Mar 26, 2026
971490e
Update RT to 275.0.0 (#43357)
Tayrtahn Mar 27, 2026
5bd9d21
Change chat straight quotes to curly quotes (#43350)
salarua Mar 27, 2026
bc29aea
Automatic changelog update
PJBot Mar 27, 2026
9adb10d
GameTest part 1 (#43182)
moonheart08 Mar 27, 2026
ef1169a
Minor fixes to server api ban endpoint (#43355)
Simyon264 Mar 27, 2026
ab9adaa
[FIX] Moved random manifest back server (#43361)
Velken Mar 27, 2026
c186f92
Automatic changelog update
PJBot Mar 27, 2026
4ab1469
Setup Staging, I'm not a LM so I gotta do it this way don't mind me. …
Princess-Cheeseballs Mar 27, 2026
e47ce26
Remove `[Virtual]` from some classes that shouldn't have it (#43347)
Tayrtahn Mar 28, 2026
c10a2ae
Update RT to 275.1.0 (#43368)
Tayrtahn Mar 28, 2026
b582f2e
cleanup GasPrototype and some other atmos code (#43318)
slarticodefast Mar 28, 2026
067bd9f
Fix `TrackingIssueAttribute` blocking orgs/repos containing numbers (…
Tayrtahn Mar 28, 2026
8e87fd3
Fix: Make clockwork glass grindable (#43371)
Gentleman-Bird Mar 28, 2026
937b5f9
Automatic changelog update
PJBot Mar 28, 2026
e0eae86
Makes singularities respect reduced motion option (#43362)
mnva0 Mar 28, 2026
54bbdde
Automatic changelog update
PJBot Mar 28, 2026
a87a4d3
"Reduce motion of visual effects" now works for blood loss effect (#4…
M4rchy-S Mar 28, 2026
9598347
Automatic changelog update
PJBot Mar 28, 2026
1f24878
Heat distortion shader (#42973)
insoPL Mar 29, 2026
c30b35d
Automatic changelog update
PJBot Mar 29, 2026
b131c58
Update Credits (#43376)
github-actions[bot] Mar 29, 2026
e9e4971
Update RT to 275.2.0 (#43378)
Tayrtahn Mar 29, 2026
29d9c17
Fix changeling transform ability (#42107)
jessicamaybe Mar 29, 2026
ef2ea25
Kill unused terminator files (#43381)
NotActuallyMarty Mar 29, 2026
34ecadc
RELEASE 2026 03 29 (#43382)
Princess-Cheeseballs Mar 29, 2026
bc5b695
Remove PDA equip sprites (#40498)
ruddygreat Mar 29, 2026
9ee10ac
Lathe Menu Title Enhancement (#43392)
HoofedEar Mar 29, 2026
90fcb11
Enables Auto-Whitelisting (#43349)
Admiral-Obvious-001 Mar 29, 2026
f812ee2
Automatic changelog update
PJBot Mar 29, 2026
f44e999
Reduce speso value of tech disks (#43395)
iaada Mar 29, 2026
31a2c11
Adjust naming rules to allow give any job with a custom name leniancy…
crazybrain23 Mar 29, 2026
79b55a4
Automatic changelog update
PJBot Mar 29, 2026
aa00efc
merge stable into master (#43396)
slarticodefast Mar 30, 2026
e27f517
Bugfix of Heat distortion shader (#43397)
insoPL Mar 30, 2026
76e4d48
Greatly reduce spawn rate of salt ore (#43012)
MissKay1994 Mar 31, 2026
74c8fdd
Automatic changelog update
PJBot Mar 31, 2026
03b46ab
Fix ghost time of death (#43411)
Tayrtahn Mar 31, 2026
4b9e735
Automatic changelog update
PJBot Mar 31, 2026
d42adbf
Gametest Part 2: Preliminary refactor every test to use GameTest as t…
moonheart08 Apr 1, 2026
7733ed3
Fix automatic whitelist condition being reversed (#43433)
Tayrtahn Apr 2, 2026
dc87ece
STABLE TO MASTER (#43434)
Princess-Cheeseballs Apr 2, 2026
0b8ff0f
New Wizard robe and hat in-hand sprites (#43429)
ThatGuyUSA Apr 2, 2026
1e59b3a
Automatic changelog update
PJBot Apr 2, 2026
81be6f2
Force Vent Critters to Attack (#42399)
Booblesnoot42 Apr 3, 2026
9504c1e
Automatic changelog update
PJBot Apr 3, 2026
17ccf1d
Hijack the Automated Trade Station objective (#42135)
alexalexmax Apr 3, 2026
ecf5545
Automatic changelog update
PJBot Apr 3, 2026
f688bfc
Remove suitstep1 and suitstep2 ogg files. (#43441)
VerinSenpai Apr 3, 2026
5e45614
fix Changeling transformation making items in slime storage inaccessi…
slarticodefast Apr 3, 2026
7234cec
Predict ghost examine (#43150)
peaceful-joules Apr 3, 2026
088dbb2
Add blacklist to entitystoragecomponent, add blacklist to genpop lock…
Minemoder5000 Apr 3, 2026
417f1b7
Add "failed to load crew manifest" message (#43400)
sudobeans Apr 3, 2026
f0cab2d
Automatic changelog update
PJBot Apr 3, 2026
6c9e10e
Removed JuicePotato reagent (#43448)
Princess-Cheeseballs Apr 3, 2026
f6fc3ed
Automatic changelog update
PJBot Apr 3, 2026
7c60ea9
Fix banana creampie visuals, allow station AI to be pied (#43388)
slarticodefast Apr 3, 2026
b690017
Automatic changelog update
PJBot Apr 3, 2026
9f8ca12
Fix Bloodstream Overflow on Rejuvenate (#43447)
Princess-Cheeseballs Apr 3, 2026
be9b2fb
Remove unused space worldgen. (#43428)
moonheart08 Apr 3, 2026
ee618e3
Add tile gun module (#41503)
Samuka-C Apr 3, 2026
dfd5fa4
Automatic changelog update
PJBot Apr 3, 2026
8d052e7
fix: small typo in the restart alert V2 (#43454)
baynarikattu Apr 3, 2026
4fb78b7
fix tailwag action for changelings (#43452)
slarticodefast Apr 3, 2026
85b4a5d
changeling devour cleanup (#43451)
slarticodefast Apr 4, 2026
af5819e
Traitor Syndicate Reinforcement rebalance (#43057)
0-Anon Apr 4, 2026
cfb6e2c
Automatic changelog update
PJBot Apr 4, 2026
8fca1e0
Fix accessing deleted entities in SharedMeleeWeaponSystem (#42340)
B-Kirill Apr 4, 2026
8555021
Make Chargers Items (Pickupable) (#40645)
spanky-spanky Apr 4, 2026
b365636
Automatic changelog update
PJBot Apr 4, 2026
6afc791
[BUGFIX] Midround Wizards now show up on the end results screen (#42766)
ThatGuyUSA Apr 4, 2026
d521606
Automatic changelog update
PJBot Apr 4, 2026
92fa40b
Fix Human HeadTop (#43465)
Zekins3366 Apr 4, 2026
f41670c
Automatic changelog update
PJBot Apr 4, 2026
17490ca
Add random sell value to player mobs (#43445)
SlamBamActionman Apr 4, 2026
d1f913c
Automatic changelog update
PJBot Apr 4, 2026
515f686
Hide humanoid appearance entities from Entity Spawn menu (#43467)
eveloop Apr 4, 2026
e150b9c
A small cleanup in meteor rules (#43402)
B-Kirill Apr 4, 2026
968862d
Fix typography on loading screen tips (#43348)
salarua Apr 4, 2026
d595590
Replace space dragon timer deletion with gibbing (#43296)
themias Apr 4, 2026
fb940e4
Automatic changelog update
PJBot Apr 4, 2026
bcb84b5
Adds the scout xenoborg jump module (#43243)
august-sun Apr 4, 2026
47faecc
Add lobby screen invisiblewall (#42947)
VanderslootAssgiraffe Apr 4, 2026
15c4415
Automatic changelog update
PJBot Apr 4, 2026
094736c
Add Tail Drag to Rat King (#42701)
0-Anon Apr 4, 2026
ef3929b
Automatic changelog update
PJBot Apr 4, 2026
0d616cf
Universal uplink codes (#38712)
SlamBamActionman Apr 4, 2026
1a8b1c4
Automatic changelog update
PJBot Apr 4, 2026
fd9212c
Remove delta_alt.ogg (#43468)
VerinSenpai Apr 4, 2026
07bdfe3
Update DungeonSystem.Rooms to use IRobustRandom instead of Random (#4…
RainyGale Apr 4, 2026
9d9294c
Update Credits (#43473)
github-actions[bot] Apr 5, 2026
ca95da6
Add parallelization to RadiationSystem.GridCast (#39173)
Naxel11 Apr 5, 2026
209c7f1
Automatic changelog update
PJBot Apr 5, 2026
c5c7549
Remove ambuzol and ambuzol plus from pill canister random (#43458)
Princess-Cheeseballs Apr 5, 2026
9d51bad
Automatic changelog update
PJBot Apr 5, 2026
5b53d24
Wire interface syntax correction (#43475)
ThatGuyUSA Apr 5, 2026
8280ec0
Ports honkmother mitre from /tg/station 13, renames honkmother coat (…
K-Dynamic Apr 5, 2026
0eadb50
Automatic changelog update
PJBot Apr 5, 2026
666032f
Atmospherics GetBulkTileAtmosphere/GasMixturePressures API (#42745)
ArtisticRoomba Apr 5, 2026
974eb80
Fix LINDA pressure delta nonsense and weighting (#43471)
ArtisticRoomba Apr 5, 2026
9ad7450
Fix `IdCardConsoleSystem` missing prototype error (#42884)
Tayrtahn Apr 5, 2026
4a88b37
Make cameras react to the AI eye nearby (#43466)
ScarKy0 Apr 5, 2026
d904647
Automatic changelog update
PJBot Apr 5, 2026
bed228f
Fix radio quotes (#43483)
salarua Apr 5, 2026
fbe66e6
Prevent changelings from repeated devourings take 2 (#43463)
ScarKy0 Apr 5, 2026
7c2c665
Add support for unshaded displacement maps (#34876)
ruddygreat Apr 5, 2026
32b617e
Web vest resprites (#43486)
Princess-Cheeseballs Apr 5, 2026
dee2108
Automatic changelog update
PJBot Apr 5, 2026
38f3eed
Uplink implants connect to the same store as the PDA, and also fix no…
Princess-Cheeseballs Apr 5, 2026
80257bc
Automatic changelog update
PJBot Apr 5, 2026
54e56cd
Expanded Tile Recipes for Cutter Machine (#43431)
AndrewFenriz Apr 5, 2026
0aa13a7
Automatic changelog update
PJBot Apr 5, 2026
a5e9f24
Use dependencies for EntityQueries in Systems (Part 1: Client) (#43478)
slarticodefast Apr 6, 2026
8187ade
Elk Evac Shuttle - 2 Fixes (#43481)
ProPeperos Apr 6, 2026
59663fc
Automatic changelog update
PJBot Apr 6, 2026
a459410
Add nuke disk's location to nukeops greentext (#39767)
psykana Apr 6, 2026
ee3bf6f
Automatic changelog update
PJBot Apr 6, 2026
6f83236
KILL THE AI [New Traitor Objective] (#43462)
Princess-Cheeseballs Apr 6, 2026
a07bd25
Automatic changelog update
PJBot Apr 6, 2026
700bcbf
Cause Anomalies to Go Supercritical [Traitor Objective] (#43505)
SuperGDPWYL Apr 7, 2026
ae916eb
Automatic changelog update
PJBot Apr 7, 2026
63ce4c9
Travel Camera (#43322)
ketufaispikinut Apr 7, 2026
c76b53d
Automatic changelog update
PJBot Apr 7, 2026
e83ea36
Remove unused isfirsttimepredicted checks (#43509)
beck-thompson Apr 7, 2026
9261dc2
remove redundant IsServer and IsClient checks (#43511)
slarticodefast Apr 7, 2026
e1f43b1
Fix unsticking items with StickySystem (#43514)
alexalexmax Apr 8, 2026
1b402f7
Automatic changelog update
PJBot Apr 8, 2026
6d08929
Add notification for AI core being damaged (#43513)
TriviaSolari Apr 8, 2026
4f35ac5
Automatic changelog update
PJBot Apr 8, 2026
a6ec5e7
allow changelings to drop stored disguises (#43487)
slarticodefast Apr 8, 2026
9ef3b23
Add logic to Debug/Set Outfit command to also fill storage containers…
mikeysaurus Apr 9, 2026
c921f18
Automatic changelog update
PJBot Apr 9, 2026
50b15b7
Move food, drink, and vending random spawners to tables + minor clean…
SnappingOpossum Apr 9, 2026
ee9ba28
Fix fireball sound for client (#43535)
themias Apr 9, 2026
b49e60d
Automatic changelog update
PJBot Apr 9, 2026
7adf035
New janibelt/janicart ItemMapper and trash bag equipped sprites (#43492)
AndrewFenriz Apr 10, 2026
2308b13
Automatic changelog update
PJBot Apr 10, 2026
6b9ee56
Predict IngestionBlockerComponent (#43543)
SirWarock Apr 10, 2026
b1f11bb
Automatic changelog update
PJBot Apr 10, 2026
b8133b9
Wire brush can scrub away webs and posters (#43537)
iaada Apr 10, 2026
f2643d4
Automatic changelog update
PJBot Apr 10, 2026
0ebda38
Fix errors MobThresholdSystem.TryGetIncapPercentage when target does …
M4rchy-S Apr 10, 2026
a486ae7
Move Kudzu Removal from Shared Seed Shenanigans to Plant-B-Gone (#43385)
ahandleman Apr 10, 2026
7629f40
Automatic changelog update
PJBot Apr 10, 2026
3eb1c38
Fix pneumatic valve solution convergance (#43542)
ArtisticRoomba Apr 10, 2026
ed9335b
Automatic changelog update
PJBot Apr 10, 2026
fadacc6
Cool down surroundings (#43500)
Buunie099 Apr 11, 2026
b984f57
Automatic changelog update
PJBot Apr 11, 2026
0d7705a
Merge branch 'master' of https://github.com/space-wizards/space-stati…
ReWAFFlution Apr 11, 2026
0291b9e
s
ReWAFFlution Apr 11, 2026
4e1f44b
Linter fix
ReWAFFlution Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 12 additions & 2 deletions .github/workflows/build-test-debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,23 @@ jobs:
run: dotnet build --configuration DebugOpt --no-restore /m

- name: Run Content.Tests
run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0
shell: pwsh
run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results"

- name: Run Content.IntegrationTests
shell: pwsh
run: |
$env:DOTNET_gcServer=1
dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed
dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results"

- name: Archive NUnit3 test results.
if: always()
uses: actions/upload-artifact@v4
with:
name: nunit3-results-${{ matrix.os }}
path: test_results/*
retention-days: 7
compression-level: 9
ci-success:
name: Build & Test Debug
needs:
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/ComponentQueryBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#nullable enable
using System;
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
Expand Down Expand Up @@ -44,7 +45,7 @@ public void Setup()
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(QueryBenchSystem).Assembly);

_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
_entMan = _pair.Server.ResolveDependency<IEntityManager>();

_itemQuery = _entMan.GetEntityQuery<ItemComponent>();
Expand Down
1 change: 1 addition & 0 deletions Content.Benchmarks/Content.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsTestingPlatformApplication>false</IsTestingPlatformApplication>
<Nullable>disable</Nullable>
<DefineConstants>$(DefineConstants);ALLOW_BAD_PRACTICES</DefineConstants>
</PropertyGroup>
<Import Project="../MSBuild/Content.props" />
<ItemGroup>
Expand Down
6 changes: 3 additions & 3 deletions Content.Benchmarks/DeltaPressureBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Diagnosers;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Atmos.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.CCVar;
using Robust.Shared;
using Robust.Shared.Analyzers;
Expand Down Expand Up @@ -69,7 +69,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;

var mapdata = await _pair.CreateTestMap();
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/DestructibleBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
Expand Down Expand Up @@ -69,7 +70,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;

_entMan = server.ResolveDependency<IEntityManager>();
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/DeviceNetworkingBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
Expand Down Expand Up @@ -60,7 +61,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(DeviceNetworkingBenchmark).Assembly);
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;

await server.WaitPost(() =>
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/GasReactionBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
Expand Down Expand Up @@ -51,7 +52,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;

// Create test map and grid
Expand Down
5 changes: 3 additions & 2 deletions Content.Benchmarks/HeatCapacityBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
Expand Down Expand Up @@ -27,7 +28,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
await _pair.Connect();
_cEntMan = _pair.Client.ResolveDependency<IEntityManager>();
_sEntMan = _pair.Server.ResolveDependency<IEntityManager>();
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/MapLoadBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
Expand Down Expand Up @@ -29,7 +30,7 @@ public void Setup()
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();

_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
var server = _pair.Server;

Paths = server.ResolveDependency<IPrototypeManager>()
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/PvsBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#nullable enable
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
Expand Down Expand Up @@ -50,7 +51,7 @@ public void Setup()
#endif
PoolManager.Startup();

_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
_entMan = _pair.Server.ResolveDependency<IEntityManager>();
_pair.Server.CfgMan.SetCVar(CVars.NetPVS, true);
_pair.Server.CfgMan.SetCVar(CVars.ThreadParallelCount, 0);
Expand Down
3 changes: 2 additions & 1 deletion Content.Benchmarks/RaiseEventBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#nullable enable
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
Expand All @@ -21,7 +22,7 @@ public void Setup()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup(typeof(BenchSystem).Assembly);
_pair = PoolManager.GetServerClient().GetAwaiter().GetResult();
_pair = PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null)).GetAwaiter().GetResult();
var entMan = _pair.Server.EntMan;
var fact = _pair.Server.ResolveDependency<IComponentFactory>();
var bus = (EntityEventBus)entMan.EventBus;
Expand Down
5 changes: 3 additions & 2 deletions Content.Benchmarks/SpawnEquipDeleteBenchmark.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System.IO;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes;
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
Expand Down Expand Up @@ -36,7 +37,7 @@ public async Task SetupAsync()
{
ProgramShared.PathOffset = "../../../../";
PoolManager.Startup();
_pair = await PoolManager.GetServerClient();
_pair = await PoolManager.GetServerClient(testContext: new ExternalTestContext("Benchmark", StreamWriter.Null));
var server = _pair.Server;

var mapData = await _pair.CreateTestMap();
Expand Down
18 changes: 1 addition & 17 deletions Content.Client/Access/UI/IdCardConsoleBoundUserInterface.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using Content.Shared.Access;
using Content.Shared.Access.Components;
using Content.Shared.Access.Systems;
using Content.Shared.CCVar;
using Content.Shared.Containers.ItemSlots;
using Content.Shared.CrewManifest;
using Content.Shared.Roles;
using Robust.Shared.Configuration;
using Robust.Shared.Prototypes;
using static Content.Shared.Access.Components.IdCardConsoleComponent;

Expand All @@ -14,21 +12,13 @@ namespace Content.Client.Access.UI
public sealed class IdCardConsoleBoundUserInterface : BoundUserInterface
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
private readonly SharedIdCardConsoleSystem _idCardConsoleSystem = default!;

private IdCardConsoleWindow? _window;

// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;

public IdCardConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
_idCardConsoleSystem = EntMan.System<SharedIdCardConsoleSystem>();

_maxNameLength =_cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);
}

protected override void Open()
Expand Down Expand Up @@ -75,14 +65,8 @@ protected override void UpdateState(BoundUserInterfaceState state)
_window?.UpdateState(castState);
}

public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, ProtoId<JobPrototype> newJobPrototype)
public void SubmitData(string newFullName, string newJobTitle, List<ProtoId<AccessLevelPrototype>> newAccessList, ProtoId<JobPrototype>? newJobPrototype)
{
if (newFullName.Length > _maxNameLength)
newFullName = newFullName[.._maxNameLength];

if (newJobTitle.Length > _maxIdJobLength)
newJobTitle = newJobTitle[.._maxIdJobLength];

SendMessage(new WriteToTargetIdMessage(
newFullName,
newJobTitle,
Expand Down
13 changes: 3 additions & 10 deletions Content.Client/Access/UI/IdCardConsoleWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ public sealed partial class IdCardConsoleWindow : DefaultWindow

private readonly IdCardConsoleBoundUserInterface _owner;

// CCVar.
private int _maxNameLength;
private int _maxIdJobLength;

private AccessLevelControl _accessButtons = new();
private readonly List<string> _jobPrototypeIds = new();

Expand All @@ -46,19 +42,16 @@ public IdCardConsoleWindow(IdCardConsoleBoundUserInterface owner, IPrototypeMana

_owner = owner;

_maxNameLength = _cfgManager.GetCVar(CCVars.MaxNameLength);
_maxIdJobLength = _cfgManager.GetCVar(CCVars.MaxIdJobLength);

FullNameLineEdit.OnTextEntered += _ => SubmitData();
FullNameLineEdit.IsValid = s => s.Length <= _maxNameLength;
FullNameLineEdit.IsValid = s => s.Length <= _cfgManager.GetCVar(CCVars.MaxNameLength);
FullNameLineEdit.OnTextChanged += _ =>
{
FullNameSaveButton.Disabled = FullNameSaveButton.Text == _lastFullName;
};
FullNameSaveButton.OnPressed += _ => SubmitData();

JobTitleLineEdit.OnTextEntered += _ => SubmitData();
JobTitleLineEdit.IsValid = s => s.Length <= _maxIdJobLength;
JobTitleLineEdit.IsValid = s => s.Length <= _cfgManager.GetCVar(CCVars.MaxIdJobLength);
JobTitleLineEdit.OnTextChanged += _ =>
{
JobTitleSaveButton.Disabled = JobTitleLineEdit.Text == _lastJobTitle;
Expand Down Expand Up @@ -223,7 +216,7 @@ private void SubmitData()
JobTitleLineEdit.Text,
// Iterate over the buttons dictionary, filter by `Pressed`, only get key from the key/value pair
_accessButtons.ButtonsList.Where(x => x.Value.Pressed).Select(x => x.Key).ToList(),
jobProtoDirty ? _jobPrototypeIds[JobPresetOptionButton.SelectedId] : string.Empty);
jobProtoDirty ? _jobPrototypeIds[JobPresetOptionButton.SelectedId] : null);
}
}
}
9 changes: 0 additions & 9 deletions Content.Client/Atmos/Components/MapAtmosphereComponent.cs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.Atmos.Monitor;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
Expand All @@ -22,6 +23,7 @@ public sealed partial class AtmosAlarmEntryContainer : BoxContainer

private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
private readonly SharedAtmosphereSystem _atmosphere;

private Dictionary<AtmosAlarmType, string> _alarmStrings = new Dictionary<AtmosAlarmType, string>()
{
Expand All @@ -37,6 +39,7 @@ public AtmosAlarmEntryContainer(NetEntity uid, EntityCoordinates? coordinates)

_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
_atmosphere = _entManager.System<SharedAtmosphereSystem>();

NetEntity = uid;
Coordinates = coordinates;
Expand Down Expand Up @@ -149,7 +152,7 @@ public void UpdateEntry(AtmosAlertsComputerEntry entry, bool isFocus, AtmosAlert
foreach ((var gas, (var mol, var percent, var alert)) in keyValuePairs)
{
FixedPoint2 gasPercent = percent * 100f;
var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasAbbreviation = Loc.GetString(_atmosphere.GetGas(gas).Abbreviation);

var gasLabel = new Label()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Content.Client.Stylesheets;
using Content.Shared.Atmos;
using Content.Shared.Atmos.Components;
using Content.Shared.Atmos.EntitySystems;
using Content.Shared.FixedPoint;
using Content.Shared.Temperature;
using Robust.Client.AutoGenerated;
Expand All @@ -19,12 +20,14 @@ public sealed partial class AtmosMonitoringEntryContainer : BoxContainer

private readonly IEntityManager _entManager;
private readonly IResourceCache _cache;
private readonly SharedAtmosphereSystem _atmosphere;

public AtmosMonitoringEntryContainer(AtmosMonitoringConsoleEntry data)
{
RobustXamlLoader.Load(this);
_entManager = IoCManager.Resolve<IEntityManager>();
_cache = IoCManager.Resolve<IResourceCache>();
_atmosphere = _entManager.System<SharedAtmosphereSystem>();

Data = data;

Expand Down Expand Up @@ -132,7 +135,7 @@ public void UpdateEntry(AtmosMonitoringConsoleEntry updatedData, bool isFocus)
var gasPercent = (FixedPoint2)0f;
gasPercent = percent * 100f;

var gasAbbreviation = Atmospherics.GasAbbreviations.GetValueOrDefault(gas, Loc.GetString("gas-unknown-abbreviation"));
var gasAbbreviation = Loc.GetString(_atmosphere.GetGas(gas).Abbreviation);

var gasLabel = new Label()
{
Expand Down
Loading
Loading