* Partial work on StationSystem refactor.
* WIP station jobs API.
* forgor to fire off grid events.
* Partial implementation of StationSpawningSystem
* whoops infinite loop.
* Spawners should work now.
* it compiles.
* tfw
* Vestigial code cleanup.
* fix station deletion.
* attempt to make tests go brr
* add latejoin spawnpoints to test maps.
* make sure the station still exists while destructing spawners.
* forgot an exists check.
* destruction order check.
* hopefully fix final test.
* fail-safe radstorm.
* Deep-clean job code further. This is bugged!!!!!
* Fix job bug. (init order moment)
* whooo cleanup
* New job selection algorithm that tries to distribute fairly across stations.
* small nitpicks
* Give the heads their weights to replace the head field.
* make overflow assign take a station list.
* moment
* Fixes and test #1 of many.
* please fix nullspace
* AssignJobs should no longer even consider showing up on a trace.
* add comment.
* Introduce station configs, praying i didn't miss something.
* in one small change stations are now fully serializable.
* Further doc comments.
* whoops.
* Solve bug where assignjobs didn't account for roundstart.
* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.
* Goodbye JobController.
* minor fix..
* fix test fail, remove debug logs.
* quick serialization fixes.
* fixes..
* sus
* partialing
* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use dirtying to avoid rebuilding the list 2,100 times.
* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)
* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Add the Mysteriously Missing Captain Check.
* Put maprender back the way it belongs.
* I love addressing reviews.
* Update Content.Server/Station/Systems/StationJobsSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* doc cleanup.
* Fix bureaucratic error, add job slot tests.
* zero cost abstractions when
* cri
* saner error.
* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.
* submodule gaming
* Packedenger.
* Documentation consistency.
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Load Maps on Round Start, not Round Restart
* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
* Shutdown server if round fails to start 5 times.
* Fix bugs with round starting flag.
* Make StartRound not async, synchronously get new round ID from DB.
* Handle StationId.Invalid in PickBestAvailableJob
Instead of crashing, return null.
SpawnPlayer will handle this by making the player an observer or returning them to the lobby.
* Load Maps on Round Start, not Round Restart
* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)
* fix networking
* Allow action locking
* prevent telepathy
* Rejig Actions
* fix merge errors
* lambda-b-gon
* fix PAI, add innate actions
* Revert "fix PAI, add innate actions"
This reverts commit 4b501ac083e979e31ebd98d7b98077e0dbdd344b.
* Just fix by making nullable.
if only require: true actually did something somehow.
* Make AddActions() ensure an actions component
and misc comments
* misc cleanup
* Limit range even when not checking for obstructions
* remove old guardian code
* rename function and make EntityUid nullable
* fix magboot bug
* fix action search menu
* make targeting toggle all equivalent actions
* fix combat popups (enabling <-> disabling)