A fork of Space Station 14, embracing a mixture of classic SS13 chaos and experimentation only possible with the new engine
Go to file
Moony 36181334b5
StationSystem/jobs/partial spawning refactor (#7580)
* 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>
2022-05-10 13:43:30 -05:00
.github workflow (#7987) 2022-05-07 13:17:55 +02:00
.vscode Add VSCode build files (#6689) 2022-02-13 15:35:50 -07:00
BuildChecker Add error for git not found in git_helper (#4011) 2021-05-16 22:27:30 +02:00
BuildFiles/Mac/Space Station 14.app/Contents Updated Mac Icon (#1058) 2020-06-02 13:29:33 +02:00
Content.Benchmarks Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Content.Client StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
Content.Docfx Docfx Remove Interfacemembers div 2022-03-21 18:04:01 -06:00
Content.IntegrationTests StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
Content.MapRenderer Make the MapRenderer CLI usable, since all the bot apparatus was commented out anyway (#7669) 2022-04-28 21:55:51 +10:00
Content.Server StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
Content.Server.Database Implement count estimate query for postgresdb (#7956) 2022-05-06 16:04:33 +02:00
Content.Shared StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
Content.Shared.Database Add admin logs for anchoring/unanchoring (#7274) 2022-03-25 14:10:43 -07:00
Content.Tests Wires refactor (#7699) 2022-05-06 12:35:06 +10:00
Content.Tools Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Content.YAMLLinter Update to .NET 6 and C# 10 (#5233) 2021-11-09 15:05:07 +01:00
Pow3r Update to .NET 6 and C# 10 (#5233) 2021-11-09 15:05:07 +01:00
Resources StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
RobustToolbox@54bbe55bb9 Update submodule 2022-05-07 21:44:25 +10:00
Tools Makes dump_contributors_since.ps1 work on PowerShell 5.1 (#7679) 2022-04-21 09:39:10 +02:00
.editorconfig Update submodule, NuGet natives 2020-12-13 01:14:29 +01:00
.gitattributes Mapping merge driver: continued (#2803) 2021-02-06 23:56:40 +01:00
.gitignore Adds SS14 DocFX (#7216) 2022-03-21 00:00:51 -06:00
.gitmodules Update gitmodules 2019-03-29 22:11:40 -06:00
LICENSE.TXT Create LICENSE.TXT 2017-08-02 12:27:55 -07:00
README.md Update README.md 2.0 2021-10-19 16:53:08 -07:00
RUN_THIS.py Revert "Deprecates RUN_THIS.py in favor of manually doin' it (#3930)" (#3933) 2021-05-05 14:30:46 +02:00
SpaceStation14.sln Remove solution reference to ManagedHttpListener. (#7556) 2022-04-15 14:34:35 -07:00
SpaceStation14.sln.DotSettings StationSystem/jobs/partial spawning refactor (#7580) 2022-05-10 13:43:30 -05:00
nuget.config Probably fix build forgetting that nuget exists. 2020-12-21 12:15:29 +01:00
runclient.bat run client/server point to Content instead of Robust 2021-05-03 20:23:05 -07:00
runserver.bat run client/server point to Content instead of Robust 2021-05-03 20:23:05 -07:00

README.md

Space Station 14

Space Station 14 is a remake of SS13 that runs on Robust Toolbox, our homegrown engine written in C#.

This is the primary repo for Space Station 14. To prevent people forking RobustToolbox, a "content" pack is loaded by the client and server. This content pack contains everything needed to play the game on one specific server.

If you want to host or create content for SS14, this is the repo you need. It contains both RobustToolbox and the content pack for development of new content packs.

Website | Discord | Forum | Steam | Standalone Download

Documentation/Wiki

Our docs site has documentation on SS14s content, engine, game design and more. We also have lots of resources for new contributors to the project.

Contributing

We are happy to accept contributions from anybody. Get in Discord if you want to help. We've got a list of issues that need to be done and anybody can pick them up. Don't be afraid to ask for help either!

We are not currently accepting translations of the game on our main repository. If you would like to translate the game into another language consider creating a fork or contributing to a fork.

Building

  1. Clone this repo.
  2. Run RUN_THIS.py to init submodules and download the engine.
  3. Compile the solution.

More detailed instructions on building the project.

License

All code for the content repository is licensed under MIT.

Most assets are licensed under CC BY-SA 3.0 unless stated otherwise. Assets have their license and the copyright in the metadata file. Example.