diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index b67fee54101..3f75e41262e 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -35,8 +35,12 @@ SUBSYSTEM_DEF(ticker) var/gametime_offset = 432000 //Deciseconds to add to world.time for station time. var/station_time_rate_multiplier = 12 //factor of station time progressal vs real time. - var/totalPlayers = 0 //used for pregame stats on statpanel - var/totalPlayersReady = 0 //used for pregame stats on statpanel + /// Num of players, used for pregame stats on statpanel + var/totalPlayers = 0 + /// Num of ready players, used for pregame stats on statpanel (only viewable by admins) + var/totalPlayersReady = 0 + /// Num of ready admins, used for pregame stats on statpanel (only viewable by admins) + var/total_admins_ready = 0 var/queue_delay = 0 var/list/queued_players = list() //used for join queues when the server exceeds the hard population cap @@ -167,10 +171,12 @@ SUBSYSTEM_DEF(ticker) timeLeft = max(0,start_at - world.time) totalPlayers = LAZYLEN(GLOB.new_player_list) totalPlayersReady = 0 - for(var/i in GLOB.new_player_list) - var/mob/dead/new_player/player = i + total_admins_ready = 0 + for(var/mob/dead/new_player/player as anything in GLOB.new_player_list) if(player.ready == PLAYER_READY_TO_PLAY) ++totalPlayersReady + if(player.client?.holder) + ++total_admins_ready if(start_immediately) timeLeft = 0 @@ -546,6 +552,7 @@ SUBSYSTEM_DEF(ticker) totalPlayers = SSticker.totalPlayers totalPlayersReady = SSticker.totalPlayersReady + total_admins_ready = SSticker.total_admins_ready queue_delay = SSticker.queue_delay queued_players = SSticker.queued_players diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm index 444a992f4a2..05ef90b5b07 100644 --- a/code/modules/client/verbs/who.dm +++ b/code/modules/client/verbs/who.dm @@ -83,7 +83,14 @@ if(isobserver(C.mob)) msg += " - Observing" else if(isnewplayer(C.mob)) - msg += " - Lobby" + if(SSticker.current_state <= GAME_STATE_PREGAME) + var/mob/dead/new_player/lobbied_admin = C.mob + if(lobbied_admin.ready == PLAYER_READY_TO_PLAY) + msg += " - Lobby (Readied)" + else + msg += " - Lobby (Not readied)" + else + msg += " - Lobby" else msg += " - Playing" diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 8c7713347bb..1f6ad22456a 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -51,6 +51,7 @@ INITIALIZE_IMMEDIATE(/mob/dead) . += "Players: [SSticker.totalPlayers]" if(client.holder) . += "Players Ready: [SSticker.totalPlayersReady]" + . += "Admins Ready: [SSticker.total_admins_ready] / [GLOB.admins.len]" /mob/dead/proc/server_hop() set category = "OOC"