Commit Graph

62 Commits

Author SHA1 Message Date
Acruid
4f9be42f40 Remove Explicit GridId References (#8315)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-12 11:54:41 +10:00
Vera Aguilera Puerto
0c337d6235 Round end sound now respects lobby music option toggle. (#8699)
Now it only plays when the round restarts *after* a regular roundend.
Meaning that if you spam the "restartroundnow" command, it won't play even if you have roundend sounds enabled in the options.
2022-06-12 11:23:28 +10:00
Veritius
237cb3d0b4 Communications Console: The ECSining (#8374)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-06-03 21:37:35 +10:00
Pieter-Jan Briers
5f9f319d5a Fix server update restarts when server paused. (#8509) 2022-05-30 01:09:50 -07:00
wrexbe
1e0babbd50 Make AdminLogsSystem an IoC manager (#8492)
* Make log not entity system

* Fixes
2022-05-28 23:41:17 -07:00
metalgearsloth
8d6a3ecea7 Secret! (#8276)
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
2022-05-19 14:44:24 +10:00
metalgearsloth
d9bcc7f6dd Make nukies usable (#8257)
* Make nukies usable

- Spawn points that work
- Radar default range bumped up
- Used the infiltrator instead
- Spawning works
I playtested it and it was working so anything new pops up then I'm gonna screm.

* a
2022-05-19 07:48:00 +10:00
metalgearsloth
798af00ad2 Round end audio (#8048) 2022-05-13 10:13:07 +10:00
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
metalgearsloth
681e59bb76 Round start audio announcement (#8047) 2022-05-09 17:44:38 -07:00
Moony
88549da309 moop (#7594) 2022-04-16 17:23:22 -05:00
Moony
4d70395d11 Fix maploading once and for all. (#7501) 2022-04-15 14:35:58 -07:00
ShadowCommander
a57e0ca199 Add round id to lobby and round end summary (#7547) 2022-04-14 13:40:26 -05:00
Moony
3721b3303b Adds support for a map rotation system. (#7162)
* Adds support for a map rotation system.
It is now the default way of selecting a map, map votes have been disabled.

* whoops

* Randomize the map it starts off with, too.
(it'd pick bagel every time otherwise)

* Address review

* remove knight from rotation due to it being an unmaintained map.

* minor cleanup
2022-03-17 13:59:53 -05:00
Julian Giebel
414d226ec5 Server names and admin log full-text search (#6327)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2022-03-13 18:36:48 +01:00
Vera Aguilera Puerto
cd1902cdf2 Fix EndRound exception when a mind doesn't have a character name nor valid entity. 2022-03-05 12:42:24 +01:00
Vera Aguilera Puerto
e4029bc968 Exception tolerance for GameTicker.ResettingCleanup. 2022-03-05 11:01:51 +01:00
Vera Aguilera Puerto
8f0fb24914 Move MapManager restart after deleting every entity with a for loop. 2022-03-05 01:30:03 +01:00
Pieter-Jan Briers
2c721226d6 Revert "Revert "Load Maps on Round Start, not Round Restart v3 (#6989)" (#6990)"
This reverts commit 4aa65b6708.

Fixed the deadlock bug on postgres.
2022-03-04 23:53:44 +01:00
Moony
4aa65b6708 Revert "Load Maps on Round Start, not Round Restart v3 (#6989)" (#6990)
This reverts commit 9ab3bb5811.
2022-03-04 11:42:55 -06:00
Vera Aguilera Puerto
9ab3bb5811 Load Maps on Round Start, not Round Restart v3 (#6989)
* 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.
2022-03-04 11:32:33 -06:00
Moony
255865b7b7 Revert "Load Maps on Round Start, not Round Restart. Shut down server if Round fails to Start 5 times. (#6977)" (#6980)
This reverts commit 4098f7fd9b.
2022-03-03 13:34:16 -06:00
Vera Aguilera Puerto
4098f7fd9b Load Maps on Round Start, not Round Restart. Shut down server if Round fails to Start 5 times. (#6977) 2022-03-03 12:15:15 -07:00
Moony
76e6cacce6 Revert "Load Maps on Round Start, not Round Restart (#6930)" (#6945)
This reverts commit 650b8b6600.
2022-02-28 20:49:50 -06:00
Vera Aguilera Puerto
650b8b6600 Load Maps on Round Start, not Round Restart (#6930)
* 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.
2022-02-28 20:20:21 -06:00
ShadowCommander
4825142210 Role bans (#6703) 2022-02-21 23:11:39 +01:00
metalgearsloth
b87806f7ed Fix some build warnings (#6832)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2022-02-21 14:41:50 +11:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
mirrorcult
3abc7a443e Separate game rule enabling and game rule starting (#6168) 2022-02-15 20:06:28 -07:00
moonheart08
93a553bfc2 Fuck. 2022-02-04 17:14:50 -06:00
metalgearsloth
434580845b Fix map yaml linter (#6433) 2022-02-01 14:05:55 +01:00
Moony
1a62cefdf9 Add an exception to the soft max player cap for players who joined the game at some point during the current round. (#6245) 2022-01-19 16:01:21 -07:00
mirrorcult
e3be84b5f8 Multi-map and multi-station gameticker loading (#6167) 2022-01-15 15:43:14 -07:00
metalgearsloth
db8c6e4bc8 Replace loadbp usages with loadmap (#6085) 2022-01-11 17:51:52 +11:00
Vera Aguilera Puerto
03b51e675b MapInitialize before spawning players in.
Fixes #5924. This is not ideal, but the way PDA/GameTicker interact to set the owner on the ID Card is ATROCIOUS and I can't be bothered to fix that.
2021-12-28 11:08:33 +01:00
Vera Aguilera Puerto
07a3b3a798 Fix roundstart being called multiple times.
...By adding a guard against it. Look, it's not pretty but it works.
2021-12-21 22:20:17 +01:00
Vera Aguilera Puerto
f4d8ec1b35 Refactor Game Modes (#5857) 2021-12-21 21:23:29 +01:00
Paul Ritter
75721c214c Revert "Refactor Game Modes" oh god oh fuck go back it was too good to be true (#5855) 2021-12-21 19:25:52 +01:00
Vera Aguilera Puerto
8831d08229 Refactor Game Modes (#5819) 2021-12-21 18:56:47 +01:00
Vera Aguilera Puerto
684cb76173 Bunch more resolves removed. 2021-12-08 17:17:12 +01:00
DrSmugleaf
ab9d0cc6d8 Fix errors 2021-12-05 21:02:04 +01:00
DrSmugleaf
2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
ee4ff9cfe8 Inline Name 2021-12-03 15:25:51 +01:00
Vera Aguilera Puerto
e3227546b3 Inline Delete 2021-12-03 11:43:03 +01:00
Moony
ec68226e99 Refactor how jobs are handed out (#5422)
* Completely refactor how job spawning works

* Remove remains of old system.

* Squash the final bug, cleanup.

* Attempt to fix tests

* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.

* pretty up ui

* refactor StationSystem into the correct folder & namespace.

* remove a log, make sure the lobby gets updated if a new map is spontaneously added.

* re-add accidentally removed log

* We do a little logging

* we do a little resolving

* we do a little documenting

* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.

* narrator: it did not compile

* oops

* support having no overflow jobs

* filescope for consistency

* small fixes

* Bumps a few role counts for Packed, namely engis

* log moment

* E

* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* Update Content.Server/Maps/GameMapPrototype.cs

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* factored job logic, cleanup.

* e

* Address reviews

* Remove the concept of a "default" grid.
It has no future in our new multi-station world

* why was clickable using that in the first place

* fix bad evil bug that almost slipped through
also adds chemist

* rms obsolete things from chemist

* Adds a sanity fallback

* address reviews

* adds ability to set name

* fuck

* cleanup joingame
2021-11-26 20:02:46 +11:00
DrSmugleaf
cc79053825 Fix round starting and db round spam
Fixes https://github.com/space-wizards/space-station-14/issues/5467
RunLevel was being set after waiting for the DB, causing GameTicker.Update to fire during the wait
2021-11-23 18:12:24 +01:00
DrSmugleaf
7de23c935b Expose round duration as a method on GameTicker 2021-11-22 21:12:47 +01:00
DrSmugleaf
c3fe5909ad THE RETURN OF THE KING
This reverts commit c18d07538a.
2021-11-22 19:08:27 +01:00
DrSmugleaf
c18d07538a Revert "Admin logs (#5419)"
This reverts commit 319aec109d.
2021-11-22 18:55:17 +01:00