From 3178e2e8ce98b10da290fbc8261ce0151efcfec3 Mon Sep 17 00:00:00 2001 From: Archie Date: Mon, 24 May 2021 05:27:10 -0300 Subject: [PATCH 1/4] Fixes midround antag preference --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 25c86076..ed0aac77 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -250,6 +250,9 @@ if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon. living_players -= player continue + if(player.client && player.client.prefs.allow_midround_antag) + living_players -= player + continue if(is_centcom_level(player.z)) living_players -= player // We don't autotator people in CentCom continue From fc20d591680c35fb192e917de5f9dd578fd342f7 Mon Sep 17 00:00:00 2001 From: Archie Date: Sun, 30 May 2021 19:27:11 -0300 Subject: [PATCH 2/4] logic! --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index ed0aac77..b4a0f5ae 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -250,7 +250,7 @@ if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon. living_players -= player continue - if(player.client && player.client.prefs.allow_midround_antag) + if(player.client && player.client.prefs.allow_midround_antag == 0) living_players -= player continue if(is_centcom_level(player.z)) From 65d9136e361f1fd2151775683ae1615e80ec86b7 Mon Sep 17 00:00:00 2001 From: Archie Date: Sun, 30 May 2021 19:35:18 -0300 Subject: [PATCH 3/4] Better logic. --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index b4a0f5ae..defc47e8 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -247,10 +247,13 @@ /datum/dynamic_ruleset/midround/autotraitor/trim_candidates() ..() for(var/mob/living/player in living_players) + if(player.client == null) //Make sure the player has an attached client, otherwise, trim. + living_players -= player + continue if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon. living_players -= player continue - if(player.client && player.client.prefs.allow_midround_antag == 0) + if(player.client.prefs.allow_midround_antag == 0) //Do they have midround traitor prefs enabled? If not, trim. living_players -= player continue if(is_centcom_level(player.z)) From 1d52981a4460dae83f0f1c270e7eded7bf141af4 Mon Sep 17 00:00:00 2001 From: Archie Date: Sun, 30 May 2021 19:36:56 -0300 Subject: [PATCH 4/4] Even BETTER logic. --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index defc47e8..06b6e80e 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -259,6 +259,9 @@ if(is_centcom_level(player.z)) living_players -= player // We don't autotator people in CentCom continue + if(is_away_level(player.z)) + living_players -= player //We also don't autotator people in exiled roles / VR + continue if(player.mind && (player.mind.special_role || player.mind.antag_datums?.len > 0)) living_players -= player // We don't autotator people with roles already