Commit Graph

318 Commits

Author SHA1 Message Date
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
Leon Friedrich
bfd95c493b hands ECS (#7081) 2022-03-17 18:13:31 +11:00
Jesse Rougeau
8418098dd8 Lobby Refactor (#7077) 2022-03-13 19:33:19 -07: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
Vera Aguilera Puerto
4eb778ad43 Add missing return statement to GameTicker.GamePreset 2022-03-04 16:19:48 +01: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
Leon Friedrich
36fcca8337 Mapping Actions (#6877) 2022-03-02 10:12:34 +11:00
metalgearsloth
85736bfd6b Adjust mapping command order (#6929) 2022-03-01 21:11:22 +11: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
moonheart08
e320ae80ee oops. 2022-02-28 10:46:47 -06:00
moonheart08
a3bc28476d Quick fix join bug. 2022-02-28 10:38:36 -06:00
metalgearsloth
eaee0a8a4c Don't mapinit when mapping creates a blank map (#6928) 2022-02-28 16:38:33 +11:00
Leon Friedrich
9a54ea67c4 update mapping command (#6925) 2022-02-28 12:21:15 +11:00
metalgearsloth
bee627ac6a Turn SandboxManager into a system (#6867) 2022-02-23 17:00:30 -07:00
ShadowCommander
8ccdff4416 Prevent players from late joining as role banned jobs (#6853) 2022-02-21 19:45:59 -08: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
Leon Friedrich
c465715273 ECS Doors (#5887) 2022-01-30 11:49:56 +11:00
wrexbe
6a0a0cffd1 Fix no lobby, no job spawn (#6265) 2022-01-23 10:44:27 -07:00
wrexbe
cea1b21832 Fixing some warnings (#6250)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-01-21 10:38:35 +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
Rane
b5f03f4682 New Objective: Ensure another traitor stays alive. (#6020)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-01-14 01:53:50 +11:00
metalgearsloth
db8c6e4bc8 Replace loadbp usages with loadmap (#6085) 2022-01-11 17:51:52 +11:00
wrexbe
76c6ee08e7 Refactored RoundEndSystem (2) (#6115)
* No RestartRound if round id changed

* Refactored RoundEndSystem

* Fix round end + add test
2022-01-10 13:24:41 -06:00
Moony
083f2d8acd Revert "Refactored RoundEndSystem (#5990)" (#6112)
This reverts commit 03c56bf23e.
2022-01-10 10:06:19 -06:00
wrexbe
03c56bf23e Refactored RoundEndSystem (#5990)
* No RestartRound if round id changed

* Refactored RoundEndSystem
2022-01-09 22:07:40 -06:00
Pieter-Jan Briers
2125f1dda9 Remove usages of Newtonsoft.Json from StatusHost (#6082) 2022-01-10 01:41:46 +01:00
Moony
ca984036d6 Upstream species (#6066)
* Step 1 of porting; grabbed most of the files via patches.

* Add species field to the DB

* Appearance patches for slimes.

* Fix the db test.

* Add slime's biocompat.

* slimby

* Fixes, allow specifying if a species is playable or not.

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>

* Address reviews.

* Address reviews.

* make an if-case.

* Fix a goof where species wouldn't get shown in the editor correctly (it'd always default to human)

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
2022-01-08 19:53:14 -06:00
Rane
8f6192dafa Added briefings to character menu & the traitor briefing (codewords) (#5971) 2022-01-05 16:46:40 +11:00
Paul Ritter
512d6a38c3 get that crap outta here (completely rewrites inventorysystem) (#5807)
* some work

* equip: done
unequip: todo

* unequipping done & refactored events

* workin

* movin

* reee namespaces

* stun

* mobstate

* fixes

* some work on events

* removes serverside itemcomp & misc fixes

* work

* smol merge fix

* ports template to prototype & finishes ui

* moves relay & adds containerenumerator

* actions & cuffs

* my god what is actioncode

* more fixes

* im loosing my grasp on reality

* more fixes

* more work

* explosions

* yes

* more work

* more fixes

* merge master & misc fixed because i forgot to commit before merging master

* more fixes

* fixes

* moar

* more work

* moar fixes

* suffixmap

* more work on client

* motivation low

* no. no containers

* mirroring client to server

* fixes

* move serverinvcomp

* serverinventorycomponent is dead

* gaming

* only strippable & ai left...

* only ai and richtext left

* fixes ai

* fixes

* fixes sprite layers

* more fixes

* resolves optional

* yes

* stable™️

* fixes

* moar fixes

* moar

* fix some tests

* lmao

* no comment

* good to merge™️

* fixes build but for real

* adresses some reviews

* adresses some more reviews

* nullables, yo

* fixes lobbyscreen

* timid refactor to differentiate actor & target

* adresses more reviews

* more

* my god what a mess

* removed the rest of duplicates

* removed duplicate slotflags and renamed shoes to feet

* removes another unused one

* yes

* fixes lobby & makes tryunequip return unequipped item

* fixes

* some funny renames

* fixes

* misc improvements to attemptevents

* fixes

* merge fixes

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2021-12-30 22:56:10 +01: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
Leon Friedrich
b675bdb789 Move Access & AccessReader to shared. (#5798)
* git mv

* Move Access Component & system.

- Name space changes
- Rename AccessReader to AccessReaderComponent
- Also need an abstract TryGetSlot function for SharedInventoryComponent

* better TryGetSlot

* Ah yes, tests exist.
2021-12-25 20:07:28 -08:00
Morbo
7d28108572 Add AntagPrototype to TraitorRole and Fix traitors choice logic (#5861) 2021-12-26 14:13:37 +11:00
DrSmugleaf
1f8152cb02 Cache the last 3 rounds of admin logs in memory
Reduces send logs time from 2/10/45 seconds to 2 milliseconds
Not thread safe
Removes LogRecord
2021-12-25 02:07:12 +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