Commit Graph

144 Commits

Author SHA1 Message Date
Pieter-Jan Briers a75c5b7eae Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-24 02:01:46 +01:00
Pieter-Jan Briers a926d0810f Fix some rounds failing to end due to mind roles (#32792)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-24 01:59:40 +01:00
Errant ab5d439272 Mind Role Entities (#31318)
* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh
2024-10-24 00:32:47 +01:00
nikthechampiongr a5ebe6a25d Fix RA0032 (#32514) 2024-10-02 12:08:12 +01:00
metalgearsloth 52420e91c0 Revert "setgamepreset command rework" (#30807)
Revert "setgamepreset command rework (#30756)"

This reverts commit de86fdb373.
2024-08-09 19:17:26 +01:00
Errant 8ccdf56cc6 setgamepreset command rework (#30756)
* gameticker.gamepreset namespace

* setgamepreset now has a finite duration

* comments, cleanup
2024-08-09 19:17:26 +01:00
IProduceWidgets 396e0ed171 Nukie Outpost is no longer a station map (#30090)
* I dunno, break shit I guess.

* Actually fix some shit for once.

* test flakey or me flakey?

* Test were not flakey, they just didnt make any sense anymore.

* more stationy tests

* undo abuncha shit I can set in yml instead

* forgor an assert

* unneeded usings

* 1984

* I made github angy

* yoink

* the end is never the end is never the end is never the end is never the end is never the end is never the

* Im going to commit sudoku
2024-08-09 17:53:06 +01:00
DrSmugleaf 4ef3971a4a
Move GameTicker.RoundDuration to Shared (#29425) 2024-07-25 01:53:34 +02:00
metalgearsloth 96bb678c3d
Replace StationRandomTransform (#29149)
* Revert "Rotate and Offset station CCVar nuke (#26175)"

This reverts commit 44b20f60ff.

# Conflicts:
#	Content.Server/Station/Systems/StationSystem.cs
#	Resources/Prototypes/Maps/europa.yml

* Fix

* Review
2024-07-25 00:19:04 +02:00
DrSmugleaf 8a1fe36766
Add cvar to disable round end pvs overrides (#29151) 2024-07-25 00:18:11 +02:00
Leon Friedrich e0ea8adb9a
Add Job preference tests (#28625)
* Misc Job related changes

* Add JobTest

* A

* Aa

* Lets not confuse the yaml linter

* fixes

* a
2024-06-08 20:19:39 +02:00
deltanedas 82b8d835b2
fix antag selection being evil (#28197)
* fix antag selection being evil

* fix test

* untroll the other tests

* remove role timer troll

* Allow tests to modify antag preferences

* Fix antag selection

* Misc test fixes

* Add AntagPreferenceTest

* Fix lazy mistakes

* Test cleanup

* Try stop players in lobbies from being assigned mid-round antags

* ranting

* I am going insane

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2024-06-01 17:13:27 +02:00
Leon Friedrich 5c4aeadd3f
Prevent SecretRule from picking invalid presets (#27456)
* Prevent SecretRule from picking invalid presets

* remove lonely semicolon

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-05-07 02:05:12 +02:00
DrSmugleaf e46d06a6d2
Fix the game giving up forever when not being able to start a preset (#27359)
(cherry picked from commit 413d69e71f)
2024-05-03 00:19:11 +02:00
Leon Friedrich 5bb755467e
Add NukeOps Test (#27207)
* Add NukeOps Test

* Update EvacShuttleTest to also check mapinit

* Update RuleMaxTimeRestartTest

* Fix cvar cleanup

* A

* Revert some changes

* comments

* Add MappingTests

* Finally fix the test

* A
2024-05-03 00:01:36 +02:00
Wrexbe (Josh) e8201e1b1a
Auto DeAdmin sooner (#26551)
Co-authored-by: wrexbe <wrexbe@protonmail.com>
(cherry picked from commit 6d1511124f)
2024-04-07 14:22:49 +02:00
Fildrance 426b208c1d
fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore) (#25530)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)

* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.

* refactor: incapsulated info on current lobby track in simple record

* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic

* refactor: xml-doc for LobbyPlaylistChangedEvent

* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb)
2024-03-07 01:18:33 +01:00
DrSmugleaf 56dd39497a
Make the round end sound collection a cvar (#25741)
* Make the round end sound collection a cvar

* Fix comment

* Clarity

(cherry picked from commit 30ccde0a47)
2024-03-07 01:13:37 +01:00
Vasilis df79ac49b9
Save round information into replay_final.yml (#23013)
* Save round information into the replay

* Add round end text too

* This is way better

* Get actual job

* oop

* OK THERE

* Fake line endings to make life easier

* I was told this yaml is legal

* I just realised this will make my life easier

* REVIEWS BABY IM A PROGRAMMER MOMMY

* Live pjb reaction

* Live pjb reaction 2

* Reviews 2

* Dont need this

* Please no more have mercy on my soul

* Oh frick

(cherry picked from commit cb999d23f4)
2024-02-18 23:36:10 +01:00
Hannah Giovanna Dawson 29e65fd324
Actually fix round restart audio this time (#24754)
In which I'm a goober and don't clean up after
myself and accientally don't fix the issue I tried
to fix in my last round restart PR.

The audio is now maintained just like music during
restarts (yippee to ContentAudioSystem::OnRoundRestart)

This needs a refactor but at least the defect is fixed now.

(cherry picked from commit 2e7d23674e)
2024-02-08 12:31:24 +01:00
Hannah Giovanna Dawson 0ce2cb5b29
Fixes round restart audio clipping (#24044)
* Fix round end audio clipping

* weh

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 5af1d0ea8b)
2024-01-26 23:13:43 +01:00
Hannah Giovanna Dawson eec188294b
Fix Round Restarted Announcements not playing (#23387)
* Fix Round Restarted Announcements not playing

Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.

Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.

* Remove the handling in ClientGameTicker.

* Pass in a specific filepass to broadcast.

* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert

(cherry picked from commit a9075e5d24)
2024-01-26 21:47:40 +01:00
Leon Friedrich 92fd76bad9
Makes`GameTicker` use `FlushEntities()` (#23299)
(cherry picked from commit 9f2535a130)
2024-01-26 21:35:33 +01:00
Chief-Engineer 7278318225
Add access logs (IC ones) (#17810)
(cherry picked from commit 476ea14e8a)
2024-01-22 18:37:44 +01:00
Leon Friedrich a3e2f36e4a Re-enable round-end PVS overrides (#22440) 2023-12-16 20:37:16 +01:00
Leon Friedrich 9a16073860 Fix pvs override error (#22366) 2023-12-16 19:56:01 +01:00
Leon Friedrich 1ce5e81ec6 Temporarily disable round-end PVS overrides (#22365) 2023-12-16 19:56:01 +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
metalgearsloth ca3347e6c6 Add map names to stuff (#21760)
- Station map
- FTL map
2023-12-02 19:00:04 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
Leon Friedrich 3e5c1c73ad Mind tweaks & fixes (#21203) 2023-10-24 18:04:06 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02:00
DrSmugleaf 3f3ba6ac62
Move minds, roles, jobs and objectives to shared (#19679) 2023-08-30 21:46:11 -07:00
Nemanja 4d677f0685
1v1 me first to 31 no powerups [Deathmatch Gamemode] (#19467)
Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-08-30 18:06:15 -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
Morb c73a90e16c
Enrich discord round notifications (#19502) 2023-08-24 19:53:32 -07:00
DrSmugleaf 913c80db4a
Add round end Discord pings, discord webhook API (#19468) 2023-08-24 16:50:07 -05:00
Leon Friedrich 89b0dba68e
Make the round end summary use recursive PVS overrides (#19083) 2023-08-21 21:55:52 -07:00
Vordenburg 2cbe8609a3
Make lobby song update occur at round end (#19303) 2023-08-21 14:54:44 -04:00
Leon Friedrich 23b8c41a5b
Fix round-summary crash (#19090) 2023-08-14 06:11:12 +10: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
Tom Leys 66ed63dd90
Remember the first entity a Mind controls for the endround screen (#16950) 2023-07-31 18:46:06 -04: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 6485dbae01
Fix round end window (#17512) 2023-06-21 11:18:16 +10:00
Leon Friedrich 9fc4fc6ac2
Fix some Mind ECS bugs (#17480) 2023-06-20 14:29:26 +10:00
ShadowCommander dd7032a860
Mind ECS (#16826) 2023-06-19 04:33:19 +10:00
Leon Friedrich b03d9a90ab
Add support for client-side replays (#17168) 2023-06-19 03:23:31 +10:00