From 3a77df7518e4a836e7b795f7533b4c380fa0e148 Mon Sep 17 00:00:00 2001 From: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Date: Thu, 18 Nov 2021 11:18:39 +0000 Subject: [PATCH] Fixes a rare bug where you can spawn as IPC cling (#17133) --- code/controllers/subsystem/jobs.dm | 2 -- code/controllers/subsystem/ticker.dm | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 50f97c1a8dd..b7173485304 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -287,8 +287,6 @@ SUBSYSTEM_DEF(jobs) for(var/mob/new_player/player in GLOB.player_list) if(player.ready && player.has_valid_preferences() && player.mind && !player.mind.assigned_role) unassigned += player - if(player.client.prefs.toggles2 & PREFTOGGLE_2_RANDOMSLOT) - player.client.prefs.load_random_character_slot(player.client) Debug("DO, Len: [unassigned.len]") if(unassigned.len == 0) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 7aeb9898205..82ec30ee28d 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -180,6 +180,11 @@ SUBSYSTEM_DEF(ticker) Master.SetRunLevel(RUNLEVEL_LOBBY) return FALSE + // Randomise characters now. This avoids rare cases where a human is set as a changeling then they randomise to an IPC + for(var/mob/new_player/player in GLOB.player_list) + if(player.client.prefs.toggles2 & PREFTOGGLE_2_RANDOMSLOT) + player.client.prefs.load_random_character_slot(player.client) + //Configure mode and assign player to special mode stuff mode.pre_pre_setup() var/can_continue