Admin forced gamemodes now trigger regardless of pop (#31661)

This commit is contained in:
DGamerL
2026-02-23 20:54:25 +01:00
committed by GitHub
parent 9aae2dc373
commit 7470e63bf7
+5 -4
View File
@@ -180,6 +180,7 @@ SUBSYSTEM_DEF(ticker)
hide_mode = TRUE
var/list/datum/game_mode/runnable_modes
var/is_admin_forced = FALSE
if(GLOB.master_mode == "random" || GLOB.master_mode == "secret")
runnable_modes = GLOB.configuration.gamemode.get_runnable_modes()
@@ -190,9 +191,9 @@ SUBSYSTEM_DEF(ticker)
Master.SetRunLevel(RUNLEVEL_LOBBY)
return FALSE
if(GLOB.secret_force_mode != "secret")
var/datum/game_mode/M = GLOB.configuration.gamemode.pick_mode(GLOB.secret_force_mode)
if(M.can_start())
mode = GLOB.configuration.gamemode.pick_mode(GLOB.secret_force_mode)
mode = GLOB.configuration.gamemode.pick_mode(GLOB.secret_force_mode)
is_admin_forced = TRUE
SSjobs.ResetOccupations()
if(!mode)
mode = pickweight(runnable_modes)
@@ -202,7 +203,7 @@ SUBSYSTEM_DEF(ticker)
else
mode = GLOB.configuration.gamemode.pick_mode(GLOB.master_mode)
if(!mode.can_start())
if(!mode.can_start() && !is_admin_forced)
to_chat(world, "<B>Unable to start [mode.name].</B> Not enough players, [mode.required_players] players needed. Reverting to pre-game lobby.")
mode = null
current_state = GAME_STATE_PREGAME