From ed5d574cb9e7129e8f4affddef828b472f5046d0 Mon Sep 17 00:00:00 2001 From: Timberpoes Date: Mon, 31 May 2021 06:07:00 +0100 Subject: [PATCH] Prevent players who get booted back to the lobby on shiftstart from getting broken antag status on latejoin (#59377) --- code/game/gamemodes/dynamic/dynamic.dm | 2 +- code/modules/mob/dead/new_player/new_player.dm | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 0a3289c2fac..14d02e7bdd5 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -366,7 +366,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) for(var/i in GLOB.new_player_list) var/mob/dead/new_player/player = i - if(player.ready == PLAYER_READY_TO_PLAY && player.mind) + if(player.ready == PLAYER_READY_TO_PLAY && player.mind && player.check_preferences()) roundstart_pop_ready++ candidates.Add(player) log_game("DYNAMIC: Listing [roundstart_rules.len] round start rulesets, and [candidates.len] players ready.") diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 63edf46c39e..8b711ef3172 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -526,9 +526,8 @@ ineligible_for_roles = TRUE ready = PLAYER_NOT_READY if(has_antags) - log_admin("[src.ckey] just got booted back to lobby with no jobs, but antags enabled.") - message_admins("[src.ckey] just got booted back to lobby with no jobs enabled, but antag rolling enabled. Likely antag rolling abuse.") - + log_admin("[src.ckey] has no jobs enabled, return to lobby if job is unavailable enabled and [client.prefs.be_special.len] antag preferences enabled. The player has been forcefully returned to the lobby.") + message_admins("[src.ckey] has no jobs enabled, return to lobby if job is unavailable enabled and [client.prefs.be_special.len] antag preferences enabled. This is an old antag rolling technique. The player has been asked to update their job preferences and has been forcefully returned to the lobby.") return FALSE //This is the only case someone should actually be completely blocked from antag rolling as well return TRUE