diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index db0b2dfa1b16..5614cc266bd8 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -39,7 +39,7 @@ /// station name (the name of the station in-game) /datum/config_entry/string/stationname -/datum/config_entry/flag/delay_if_no_admins // APOC EDIT ADD - (delay if no admins) +/datum/config_entry/number/delay_if_no_admins // APOC EDIT ADD - (delay if no admins) /// Countdown between lobby and the round starting. /datum/config_entry/number/lobby_countdown diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 00a7fd0fccd6..49ee2f93adbb 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -153,12 +153,17 @@ SUBSYSTEM_DEF(ticker) ++total_admins_ready // APOC EDIT ADD START - (delay if no admins) - if(CONFIG_GET(flag/delay_if_no_admins)) + if(CONFIG_GET(number/delay_if_no_admins)) if(timeLeft <= 600 && timeLeft > -1) - if(length(GLOB.admins) <= 0) + var/important_admins_on = 0 + for(var/client/online_admin as anything in GLOB.admins) + if(online_admin.is_afk() || !check_rights_for(online_admin, R_BAN)) + continue + important_admins_on++ + if(important_admins_on < CONFIG_GET(number/delay_if_no_admins)) SetTimeLeft(-1) start_immediately = FALSE - to_chat(world, span_infoplain("The game start has been delayed due to no admins connected."), confidential = TRUE) + to_chat(world, span_infoplain("The game start has been delayed due to not enough important admins connected."), confidential = TRUE) return // APOC EDIT ADD END diff --git a/config/apoc_config.txt b/config/apoc_config.txt index 1d571a8c4787..a1376cfe28e4 100644 --- a/config/apoc_config.txt +++ b/config/apoc_config.txt @@ -1,5 +1,5 @@ ## NICE images for COOL discord users, seperated by commas i.e. BITE_IMG_LIST http://url/image.gif, http://url/image.png #BITE_IMG_LIST -## Delay the round from starting if no admins are connected. -#DELAY_IF_NO_ADMINS +## Amount of admins required to prevent round delay. +#DELAY_IF_NO_ADMINS 1