diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 2fda7488b44..57c0100cdc5 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -102,6 +102,8 @@ var/continuous_round_wiz = 0 var/continuous_round_malf = 0 var/continuous_round_blob = 0 + var/midround_antag_time_check = 60 // How late (in minutes) you want the midround antag system to stay on, setting this to 0 will disable the system + var/midround_antag_life_check = 0.7 // A ratio of how many people need to be alive in order for the round not to immediately end in midround antagonist var/shuttle_refuel_delay = 12000 var/show_game_type_odds = 0 //if set this allows players to see the odds of each roundtype on the get revision screen var/mutant_races = 0 //players can choose their mutant race before joining the game @@ -394,6 +396,10 @@ config.continuous_round_malf = 1 if("continuous_round_blob") config.continuous_round_blob = 1 + if("midround_antag_time_check") + config.midround_antag_time_check = text2num(value) + if("midround_antag_life_check") + config.midround_antag_life_check = text2num(value) if("shuttle_refuel_delay") config.shuttle_refuel_delay = text2num(value) if("show_game_type_odds") diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 8a27e9f8a92..13b75680933 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -112,7 +112,7 @@ if(SSshuttle.emergency.timeLeft(1) < initial(SSshuttle.emergencyCallTime)*0.5) return 1 - if(world.time >= 36000) //If it's been over an hour, just end it + if(world.time >= (config.midround_antag_time_check * 600)) return 0 var/living_crew = 0 @@ -120,7 +120,7 @@ for(var/mob/Player in mob_list) if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player)) living_crew++ - if(living_crew / joined_player_list.len <= 0.7) //If a lot of the player base died, we start fresh + if(living_crew / joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh return 0 var/list/antag_canadates = list() diff --git a/config/game_options.txt b/config/game_options.txt index a67f24fda9d..31ecdee0942 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -225,4 +225,12 @@ ASSISTANT_CAP -1 STARLIGHT ## Uncomment to bring back old grey suit assistants instead of the now default rainbow colored assistants. -#GREY_ASSISTANTS \ No newline at end of file +#GREY_ASSISTANTS + +### Midround Antag (aka Mulligan antag) config options ### + +## A time, in minutes, after which the midround antag system stops attempting to run and continuous rounds end immediately upon completion. +MIDROUND_ANTAG_TIME_CHECK 60 + +## A ratio of living to total crew members, the lower this is, the more people will have to die in order for midround antag to be skipped +MIDROUND_ANTAG_LIFE_CHECK 0.7 \ No newline at end of file