From 241d71f6feabaf1c6887cc8eb8c8ed948f8156d9 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 14 Mar 2023 05:14:47 +0100 Subject: [PATCH] [MIRROR] Fixes ghost role spawners not allowing you to spawn as more than one ghost role per round [MDB IGNORE] (#19839) --- code/modules/mob_spawn/mob_spawn.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob_spawn/mob_spawn.dm b/code/modules/mob_spawn/mob_spawn.dm index 526fc37af2e..e47f8d7e5a6 100644 --- a/code/modules/mob_spawn/mob_spawn.dm +++ b/code/modules/mob_spawn/mob_spawn.dm @@ -234,12 +234,13 @@ */ /obj/effect/mob_spawn/ghost_role/proc/create_from_ghost(mob/dead/user) ASSERT(istype(user)) + var/user_ckey = user.ckey // We need to do it before everything else, because after the create() the ckey will already have been transfered. + user.log_message("became a [prompt_name].", LOG_GAME) uses -= 1 // Remove a use before trying to spawn to prevent strangeness like the spawner trying to spawn more mobs than it should be able to user.mind = null // dissassociate mind, don't let it follow us to the next life var/created = create(user) - var/user_ckey = user.ckey // Just in case shenanigans happen, we always want to remove it from the list. LAZYREMOVE(ckeys_trying_to_spawn, user_ckey) // We do this AFTER the create() so that we're basically sure that the user won't be in their ghost body anymore, so they can't click on the spawner again. if(!created)