Commit Graph

184 Commits

Author SHA1 Message Date
Pieter-Jan Briers f648007c8c Log server ID in connection logs table (#21911) 2023-12-16 19:27:08 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
DrSmugleaf 15c0211fb2
Refactor minds to be entities with components, make roles components (#19591)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2023-08-28 16:53:24 -07:00
Visne b88c2cbb49
Remove usages of obsolete MetaDataComponent setters (#19582) 2023-08-28 19:20:31 +10:00
metalgearsloth 0b542098db
Remove ghost compref (#19478) 2023-08-25 18:50:46 +10:00
Visne c7b21b631b
Remove unused dependencies (#19490) 2023-08-24 09:55:15 -08:00
Leon Friedrich 89b0dba68e
Make the round end summary use recursive PVS overrides (#19083) 2023-08-21 21:55:52 -07:00
Vordenburg 19326be2d4
Expand PVS entities to all players at round end (#18963) 2023-08-14 02:55:04 +10:00
Leon Friedrich 9c84108672
Change default test pooling options. (#18732) 2023-08-06 12:30:28 +10:00
Nemanja 27231420bc
Allow gamemodes to specify custom map pools (#18429)
* Allow game presets to require certain maps

* make preset maps ignore the game map pool

* make it use a map pool prototype

* Typo

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-08-01 16:11:50 -05:00
Pieter-Jan Briers c6d2dd6c7b
Automatic server replay recordings (#18235)
Co-authored-by: Moony <moony@hellomouse.net>
2023-07-23 16:02:23 +02:00
Riggle 579913b617
Better notes and bans (#14228)
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2023-07-21 13:38:52 +02:00
Leon Friedrich 1dde5f39ab
Fix ghost respawn bug (#17511) 2023-06-21 11:04:07 +10:00
Leon Friedrich b03d9a90ab
Add support for client-side replays (#17168) 2023-06-19 03:23:31 +10:00
Leon Friedrich a8eee5878a
Misc replay related changes (#17102) 2023-06-05 14:33:49 +10:00
metalgearsloth f3a06a0696
Add arrivals (#14755)
* Arrivals

* More arrivals and shitty uhh preload

* cvar

* a

* clockin + maps

* shitter prevention

* Placement

* a

* cvar for tests and dev

* weh
2023-03-22 04:29:55 -05:00
Jezithyr eeb5b17b34
Mobstate Refactor (#13389)
Refactors mobstate and moves mob health thresholds to their own component

Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-01-13 16:57:10 -08:00
metalgearsloth 9c4dea567a
Fix eye rotation on suicide command (#12985) 2023-01-06 20:39:27 +11:00
Leon Friedrich 6af331c9ff
Remove StoredChatMessage (#12623) 2022-11-22 22:52:19 +11:00
metalgearsloth 6ab864fcda
Update content to mapsystem (#12387) 2022-11-13 17:47:48 +11:00
Pieter-Jan Briers e852ada6c8
Play time tracking: Job timers 3: more titles: when the (#9978)
Co-authored-by: Veritius <veritiusgaming@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-08-07 16:00:42 +10:00
Morber 7a14c6f331
Localize jobs (#8968)
* Localize job supervisors

* Rename supervisors file

* Localize job names

* Remove localization for fallback job name

* Use LocalizedName for Job

* Fix job names case
2022-06-28 22:55:05 +10:00
metalgearsloth 3da454140d
Add department-specific radio channels (#9061)
* Add department-specific radio channels

This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.

ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.

IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.

The ugly is that the integer channel number is hard-coded and also shows
up in chat.

Comms are not modeled at this time. You cannot break comms (yet).

All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.

* Remove debugging print

* Convert to prototypes

* Use prototype names in headset prototype

* Adjust list style

* Document prototype fields

* cringe

* some cleanup

* colours

* Remove alphas at least

* cc

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2022-06-23 20:11:03 +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
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
wrexbe 61d147aea9
Fixing warnings (#8131) 2022-05-13 15:35:13 +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
Vera Aguilera Puerto 2c289810ad
Add commands to add/end GameRules. (#7718) 2022-04-25 19:07:14 +02:00
Pieter-Jan Briers b3e7c7af1f
Remove usage of CreateNetMessage. (#7563) 2022-04-15 11:55:49 -07:00
Jesse Rougeau 8418098dd8
Lobby Refactor (#7077) 2022-03-13 19:33:19 -07:00
Vera Aguilera Puerto e4029bc968 Exception tolerance for `GameTicker.ResettingCleanup`. 2022-03-05 11:01:51 +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
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
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 424c83e39c Fix a lot more errors. 2021-12-04 12:35:33 +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
Moony eb6d24abd0
Makes map vote and roundstart smart about player count. (#5418)
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.

* a typo

* Address reviews.

* Localized.
2021-11-20 11:32:07 -07:00
Vera Aguilera Puerto cda67df317 Fix some warnings relating to fields being unused. 2021-09-20 11:22:59 +02:00
Vera Aguilera Puerto b7d049a52c Add CVar for random grid offset, disable it by default. 2021-08-04 09:27:22 +02:00