Commit graph

1184 commits

Author SHA1 Message Date
slarticodefast
0031beca4b
Reapply "Trip APCs when they exceed a power limit (#41377)" (#41789)
Revert "Merge stable into master"
2025-12-08 10:35:11 +00:00
slarticodefast
406231cdb3
Merge stable into master (#41781)
Revert "Trip APCs when they exceed a power limit (#41377)" (#41766)

This reverts commit a5c223c0

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-12-08 11:14:13 +01:00
ArtisticRoomba
c867adb937
Revert "Trip APCs when they exceed a power limit (#41377)" (#41766)
This reverts commit a5c223c0
2025-12-08 04:23:45 +01:00
Errant
432c9578be
move GameMapPrototype and GameMapCondition to shared (#41742)
* move GameMapPrototype and GameMapCondition to shared

* fix
2025-12-06 15:45:50 +00:00
Pok
ae55204f9f
Move some admin components to shared (#41677)
* AdminSystem-move-to-shared

* review
2025-12-02 19:39:21 +00:00
Spessmann
bafbd1e3e0
New Map - Snowball (#40300)
* Added Snowball station

* updated snowball

* added AI restoration console and lowered pop req

* updated med

* added a paramed spawn

* fixed minor issues

* christmas + amber removal

* fixed tests failing

* test pass 2: for sure this time

* update

* update again

* final fix
2025-12-02 07:13:24 +00:00
slarticodefast
b4f3c4472f
Add test checking for multiple container fills, mark StorageFillComponent as obsolete (#41562)
add test, obsolete storagefill
2025-11-24 07:51:14 +00:00
SnappingOpossum
f22efef2d3
Move StorageFills in smartfridge test prototypes to EntityTableContainerFills (#41561)
Move smartfridge test prototypes to EntityTableContainerFills
2025-11-23 20:56:35 +00:00
Ciarán Walsh
c2f4b5145d
Defibs will now also shock anyone still interacting with the target. (#35998)
* Defibs will now also shock anyone still interacting with the target.

* Improvements to test readability

* Apply fixes to other tests

* Refactor the interacting entities query to use an event.

* Include pullers as interacting with the entity they are pulling

* Broadcast event

* Use a constant

* Convert new test to InteractionTest

* Convert existing test

* Add behaviour note

* Revert "Convert existing test"

This reverts commit b8a8f2f68e3733bdb6ec254faf955a42096d47d7.

* Move new test into separate (InteractionTest) test file

* Use ToServer

* Use a constant for prototype id

* Use ToServer

* Add EntProtoId constructor

* Add assertion failure messages

* Manual cleanup of test entities

* Remove obsolete flag

* Add test summaries

* Remove tuple constructor

* Wrap entity deletion in WaitPost

* Extend DoAfter interacting test with an extra mob
2025-11-22 23:44:26 +00:00
SnappingOpossum
eb95f4b214
Move vending restocks to EntityTableContainerFills (#41442)
* Move vending restocks to EntityTableContainerFills

* Glad I can actually see that fail now

* I could of just gone back to checking all the containers but nooo had to be stubborn

* Apply changes from code review
2025-11-21 20:51:32 +00:00
Nemanja
9f94f94cb6
Decouple GasPrototype IDs from Gas Enum (#41266)
* Remove final enum coupling from gas YAML

* Fix comment

* Fix test

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-11-21 20:12:13 +00:00
Partmedia
a5c223c0c3
Trip APCs when they exceed a power limit (#41377)
* Implement APC overloading

* Add power test

* Review

* Some more reviews

* Show map coordinates for test failures

* Widen column 2

* Reduce singularity beacon power consumption

* Try to get grid coordinates
2025-11-21 15:01:23 +00:00
slarticodefast
7155d0d291
Cleanup BatterySystem (#41298)
* cleanup

* fix fixtures

* this belongs into the next PR

* review

* misc

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-11-08 20:55:02 +00:00
Justin Pfeifler
4f0b1f377e
Gravity Generators cannot be unanchored while active (#41256)
* Add unanchor attempt check

* Combine shared component and server component

- Combines SharedGravityGeneratorComponent and GravityGeneratorComponent
- AutoNetworked the GravityActiveBool

* Remove SharedGravityGeneratorComponent

* Update to SharedGravityGeneratorComponent

* Fix to be a complete sentence

* Dirty GravityActive whenever changed

* Rename component and remove view variables

* Update referenced component name

* Move unanchor attempt to shared system

* Add client system

* Revert popup to PopupEntity

* Fix popup to be PopupClient

* Set access restriction on GravityActive
2025-11-07 00:53:27 +00:00
Leon Friedrich
d5a46b9824
Improve CreateDeleteCreateTest failure messages (#40996)
* Improve CreateDeleteCreateTest failure messages

* nameof
2025-11-02 13:10:52 +13:00
Leon Friedrich
6f253bcf04
Fix note heisentest (#41244) 2025-11-01 23:34:19 +00:00
Connor Huffine
1e2570c281
Update SolutionRoundingTest.cs (#41238) 2025-11-01 21:29:35 +00:00
Connor Huffine
e45c9975fa
Remove some warnings generated by SolutionTests (#41194)
* Add indirection

* Address feedback

* const

* VSC trolled me

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-11-01 15:37:20 +00:00
slarticodefast
85e91a7551
Allow InteractionTests to load other maps (#41226)
* load maps and marker

* cleanup

* sneaky doc

* sneaky doc2

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2025-11-01 04:00:17 +00:00
āda
ec8ada3388
Fix all ignored recipes in material arbitrage (#41134)
* lights

* drink glasses

* vial chem bottle

* plates n stuff

* boards

* airtank

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-10-31 00:09:44 +00:00
Hannah Giovanna Dawson
cdbe92d37d
Update DamageableSystem to modern standards (#39417)
* Update DamageableSystem to modern standards

* DamageContainerId -> DamageContainerID with lint flag

* Replace strings with protoids

* Make CVar subscription declarations all consistently whitespaced

* ChangeDamage -> TryChangeDamage, cope with C# jank

* Revert event signature changes

* Restore a comment

* Re-add two queries

* Init the queries

* Use appearanceQuery in DamageChanged

* Use damageableQuery in TryChangeDamage

* Use damageableQuery in SetDamageModifierSetId

* Final cleanup, fix sandboxing

* Rectify ExplosionSystem:::ProcessEntity's call to TryChangeDamage

* Re-organize DamageableSystem

* first big fuck you breaking change.

* THATS A LOT OF DAMAGE!!!

* Fix test fails

* test fixes 2

* push it

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2025-10-27 19:53:04 +00:00
ArtisticRoomba
91292522b5
DeltaPressure Predicted Examine (#41135)
* predicted examine

* atrociously satanic

* do it right this time

* deltafields aren't necessary

* Update Content.Server/Atmos/EntitySystems/AtmosphereSystem.DeltaPressure.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-27 11:00:37 +00:00
āda
8d8af1bab7
Stack System Cleanup (#38872)
* eye on the prize

* OnStackInteractUsing, TryMergeStacks, TryMergeToHands, TryMergeToContacts

* namespace

* Use, get count, getMaxCount

* component access

* add regions, mark TODO

* obsolete TryAdd, public TryMergeStacks

* GetMaxCount

* event handlers

* event handlers

* SetCount

* client server event handlers

* move to shared

* Revert "move to shared"

This reverts commit 45540a2d6b8e1e6d2a8f83a584267776c7edcd73.

* misc changes to shared

* split

* spawn and SpawnNextToOrDrop

* SpawnMultipleAtPosition, SpawnMultipleNextToOrDrop, CalculateSpawns, general server cleanup

* Rename Use to TryUse.

* Small misc changes

* Remove obsolete functions

* Remove some SetCount calls

* Partialize

* small misc change

* don't nuke the git dif with the namespace block

* Comments and reordering

* touchup to UpdateLingering

* Summary comment for StackStatusControl

* Last pass

* Actual last pass (for now)

* I know myself too well

* fixup

* goodbye lingering

* fixes

* review

* fix test

* second look

* fix test

* forgot

* remove early comp getting

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-25 14:40:48 +00:00
Kyle Tyo
1250b388f3
Mosin be tested, Verin be breaded. (#40957)
* Create WeaponSniperTests.cs

* Update SharedGunSystem.cs

* requested changes.

* Update WeaponTests.cs

* rerun tests

* Update WeaponTests.cs

* Update WeaponTests.cs

* Update Content.IntegrationTests/Tests/Weapons/WeaponTests.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 15:40:41 +00:00
JesterX666
578b4c61df
Add Integration Testing for issue #40868 (#40972)
* Integration tests for hunger and thirst

* Adjustements after the code review comments

* cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-21 12:22:58 +00:00
slarticodefast
1b7fa85733
Add EntityEffectOnTrigger and RejuvenateOnTrigger (#40967)
commit
2025-10-19 14:42:18 +00:00
Leon Friedrich
bd1cbabea8
Add admin ui tests (#40914)
* Add admin ui tests

* fix notes test

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-15 12:14:48 +00:00
ArtisticRoomba
df6ce7f473
Fix Atmospherics dP not trolling partially airtight entities (#40435)
* Fix dP not trolling partially airtight entities

* Assumptions in atmospherics are the root of all evil
2025-10-14 22:35:25 +00:00
slarticodefast
3ed206887e
Predict DestructibleSystem, Part 1: IThresholdTrigger (#40876)
part 1
2025-10-13 15:41:34 +00:00
āda
b1fa06d6b0
Don't apply discount to reinforced glass (#40839)
* commit

* arby

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-10-11 22:01:32 +00:00
Leon Friedrich
dac2c5212a
Add generic event listener for integration tests (#40367)
* Add generic event listener for integration tests

* cleanup

* assert that the entity has the component

* comments & new overload
2025-10-09 13:03:44 +00:00
thetuerk
bb3fa43f1f
Predict LungSystem (#40729)
* Initial edits of files
Untested yet. I would like to make sure all is accounted for before moving the files.

* trying my best

* Revert "trying my best"

This reverts commit 9aeece466df0169adec97e3947b061b54fd9b388.

* Revert "Initial edits of files"

This reverts commit 45c6e2343844b5fcafadbf2e5115fb2f241086a1.

* an actual meal

* Added networking to LungComponent.cs

* removed duplicate using

* moving GasRagents to SharedAtmosphereSystem.cs
2025-10-09 10:26:21 +00:00
slarticodefast
5227489360
Predict EMPs (#39802)
* predicted emps

* fixes

* fix

* review
2025-10-04 11:24:42 +00:00
slarticodefast
690bb5a8f2
Add integration test for the RCD (#40625)
* rcd test

* fixes

* fix

* space

* review
2025-10-04 10:18:38 +00:00
Tayrtahn
d8e005087c
Add interaction tests for mousetraps (#35502)
* Add interaction tests for mousetraps

* Silly yaml linter

* review

* fix debugging thing

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-10-03 18:45:50 +00:00
Leon Friedrich
d07527404c
Suppress SharedMapSystem info logs in tests (#40592)
* Supress informational `SharedMapSystem` logs in tests

* Why is the client like this
2025-10-03 11:23:04 +00:00
DrSmugleaf
dddb6163f5
Fix SpawnAndDeleteEntityCountTest Entities and last assert being incorrect (#40511)
Fix SpawnAndDeleteEntityCountTest last assert being incorrect
2025-09-23 23:52:15 +02:00
āda
7678251ad5
Average min+max in MaterialArbitrageTest (#39578)
* feels too easy

* I guess this counts

* commit

* could have sworn I ran the test

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2025-09-22 02:22:45 +12:00
Leon Friedrich
b6797afe52
Move TestPair & PoolManager to engine (#36797)
* Move TestPair & PoolManager to engine

* Add to global usings

* A

* Move ITestContextLike to engine

* Readd cvars partial class

* cleanup diff
2025-09-21 17:17:43 +12:00
slarticodefast
512f28458c
fix chasm heisentest (#40456)
fix chasm test
2025-09-19 22:12:10 -07:00
slarticodefast
a4368264f0
Add chasm integration tests (#40286)
* add chasm integration test

* fix assert

* fix

* more fixes

* review
2025-09-17 14:19:46 +10:00
chromiumboy
02061592dd
Devices with access restrictions list those restrictions in their examination description (#37712) 2025-09-15 10:19:25 +03:00
Red
2820882754
Stop microwaving! (#40132)
* Create KillMicrowaveTest.cs

* Update KillMicrowaveTest.cs

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.IntegrationTests/Tests/Microwave/KillMicrowaveTest.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* documentation

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-12 12:17:29 +02:00
IProduceWidgets
2882fd289f
Add admin shuttles (#32139)
* dis da shuttles tho

* power checking

* rerun tests

* purge invalids

* attributions

* Update shuttle save files for new serialization.

* get regexed nerd

* fix shuttle yml guh

* Kill actions
2025-09-11 03:01:28 +02:00
Tayrtahn
3e2152a59e
Improve Do Not Map test to whitelist specific prototypes per map and whitelist entire directories (#36117)
* Enable whitelisting specific DNM prototypes per map

* Enable whitelisting directories

* Rename fields

* Use a HashSet instead of an array

* Add check for unused whitelist entries

* Remove whitelisting for meta (warden's rubber stamp was removed)

* Add glob support courtesy of @IProduceWidgets

* Update xmldoc
2025-09-10 13:26:45 -07:00
Pieter-Jan Briers
fb35b52da5
Ignore non-content commands in AllCommandsHavePermissions (#39336)
Causing a test failure every time a Toolshed command gets added to engine is ridiculous.
2025-09-10 13:08:16 -07:00
Pieter-Jan Briers
0c97520276
Fix usages of TryIndex() (#39124)
* Fix usages of TryIndex()

Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)

This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)

This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.

Fixes #39115

Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.

* fix tests

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-09-09 18:17:56 +02:00
Tayrtahn
8f44b5e30b
Add water cooler interaction test (#39612)
* Add altInteract option to interaction test helper methods

* Add water cooler interaction test

* Oops, that's not a NetEntity

* Is.Not.Empty

* SPlayer

* Assert.Multiple

* Document parameters
2025-09-05 19:05:49 +02:00
Nemanja
7dbe1b219c
Improve Gas Yaml Serialization (#40070)
* Make yaml gas serialization cleaner

* fix exception

* fix validation code

* rudimentary test & permissive loading

* change it a bit

* Test fixes and adjustments
2025-09-04 20:48:46 +02:00
ArtisticRoomba
20f2cb920b
Atmos Delta-Pressure Window Shattering (#39238)
This PR adds delta-pressure damage. In short, airtight structures can now take damage proportional to the difference in pressures between the sides of the structure.
2025-09-03 16:58:48 -07:00