Metagame improvements to antag-before-job selection system (#35830)

* Initial commit

* Update the selection to only count for people who have one of the preferences assigned; latejoin on delay no longer applies pre-selection.
This commit is contained in:
SlamBamActionman
2025-03-19 18:28:25 +01:00
committed by GitHub
parent 398d92a064
commit 1d4ff1b0d1
6 changed files with 109 additions and 37 deletions

View File

@@ -98,6 +98,9 @@ namespace Content.Server.GameTicking
if (job == null)
{
var playerSession = _playerManager.GetSessionById(netUser);
var evNoJobs = new NoJobsAvailableSpawningEvent(playerSession); // Used by gamerules to wipe their antag slot, if they got one
RaiseLocalEvent(evNoJobs);
_chatManager.DispatchServerMessage(playerSession, Loc.GetString("job-not-available-wait-in-lobby"));
}
else
@@ -209,6 +212,9 @@ namespace Content.Server.GameTicking
JoinAsObserver(player);
}
var evNoJobs = new NoJobsAvailableSpawningEvent(player); // Used by gamerules to wipe their antag slot, if they got one
RaiseLocalEvent(evNoJobs);
_chatManager.DispatchServerMessage(player,
Loc.GetString("game-ticker-player-no-jobs-available-when-joining"));
return;