diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 399fa28b61f..4619411b62a 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -238,18 +238,19 @@ /datum/dynamic_ruleset/midround/from_living/autotraitor/trim_candidates() ..() - for(var/mob/living/player in living_players) + candidates = living_players + for(var/mob/living/player in candidates) if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon. - living_players -= player + candidates -= player else if(is_centcom_level(player.z)) - living_players -= player // We don't autotator people in CentCom + candidates -= player // We don't autotator people in CentCom else if(player.mind && (player.mind.special_role || player.mind.antag_datums?.len > 0)) - living_players -= player // We don't autotator people with roles already + candidates -= player // We don't autotator people with roles already /datum/dynamic_ruleset/midround/from_living/autotraitor/execute() - var/mob/M = pick(living_players) + var/mob/M = pick(candidates) assigned += M - living_players -= M + candidates -= M var/datum/antagonist/traitor/newTraitor = new M.mind.add_antag_datum(newTraitor) message_admins("[ADMIN_LOOKUPFLW(M)] was selected by the [name] ruleset and has been made into a midround traitor.")