diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 391d8a4b42..4325cde9ce 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -185,6 +185,8 @@ var/global/list/additional_antag_types = list() return var/datum/antagonist/antag = all_antag_types[choice] if(antag) + if(!islist(ticker.mode.antag_templates)) + ticker.mode.antag_templates = list() ticker.mode.antag_templates |= antag message_admins("Admin [key_name_admin(usr)] added [antag.role_text] template to game mode.") diff --git a/code/game/gamemodes/game_mode_latespawn.dm b/code/game/gamemodes/game_mode_latespawn.dm index f849f7133d..038cf351ab 100644 --- a/code/game/gamemodes/game_mode_latespawn.dm +++ b/code/game/gamemodes/game_mode_latespawn.dm @@ -1,6 +1,7 @@ /datum/game_mode/var/next_spawn = 0 /datum/game_mode/var/min_autotraitor_delay = 4200 // Approx 7 minutes. /datum/game_mode/var/max_autotraitor_delay = 12000 // Approx 20 minutes. +/datum/game_mode/var/process_count = 0 /datum/game_mode/proc/get_usable_templates(var/list/supplied_templates) var/list/usable_templates = list() @@ -13,7 +14,11 @@ ///process() ///Called by the gameticker /datum/game_mode/proc/process() - try_latespawn() + // Slow this down a bit so latejoiners have a chance of being antags. + process_count++ + if(process_count >= 10) + process_count = 0 + try_latespawn() /datum/game_mode/proc/latespawn(var/mob/living/carbon/human/character) if(!character.mind)