diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index b1388111f0f..da306d199e6 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -937,7 +937,8 @@ var/list/teleport_runes = list() icon_state = "6" construct_invoke = 0 color = rgb(200, 0, 0) - var/mob/living/summoned_guy = null + var/mob/living/carbon/human/summoned_guy = null + var/is_busy = 0 /obj/effect/rune/manifest/New(loc) ..() @@ -946,6 +947,10 @@ var/list/teleport_runes = list() notify_ghosts("Manifest rune created in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src) /obj/effect/rune/manifest/can_invoke(mob/living/user) + if(is_busy) + to_chat(user,"The rune is already in use.") + fail_invoke() + return list() if(!(user in get_turf(src))) to_chat(user,"You must be standing on [src]!") fail_invoke() @@ -986,6 +991,7 @@ var/list/teleport_runes = list() ticker.mode.add_cultist(new_human.mind, 0) summoned_guy = new_human to_chat(new_human, "You are a servant of [ticker.mode.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [ticker.mode.cultdat.entity_name], and you are to serve them at all costs.") + is_busy = 1 while(user in get_turf(src)) if(user.stat) @@ -994,6 +1000,7 @@ var/list/teleport_runes = list() sleep(3) qdel(N) + is_busy = 0 if(new_human) new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.", \ "Your link to the world fades. Your form breaks apart.") @@ -1004,6 +1011,7 @@ var/list/teleport_runes = list() /obj/effect/rune/manifest/Destroy() if(summoned_guy) - var/mob/living/carbon/human/H = summoned_guy - H.dust() + summoned_guy.dust() + summoned_guy = null + is_busy = 0 return ..()