From 0c92ebd70145c856be64f6aa49b42aae8620ef79 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Wed, 27 Jan 2016 23:32:57 -0800 Subject: [PATCH] Having many runes on the same tile will not break astral project --- code/modules/mob/dead/observer/observer.dm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 014c0623c84..2716ba0a439 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -237,10 +237,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp usr << "Another consciousness is in your body...It is resisting you." return if(mind.current.ajourn && mind.current.stat != DEAD) //check if the corpse is astral-journeying (it's client ghosted using a cultist rune). - var/obj/effect/rune/R = locate() in mind.current.loc //whilst corpse is alive, we can only reenter the body if it's on the rune - if(!(R && R.word1 == cultwords["hell"] && R.word2 == cultwords["travel"] && R.word3 == cultwords["self"])) //astral journeying rune + var/turf/T = get_turf(mind.current) + var/found_astral_rune = 0 + if(T) + for(var/obj/effect/rune/R in T.contents) //whilst corpse is alive, we can only reenter the body if it's on the rune + if(R.word1 == cultwords["hell"] && R.word2 == cultwords["travel"] && R.word3 == cultwords["self"]) //astral journeying rune + found_astral_rune = 1 + break + if(!found_astral_rune) usr << "The astral cord that ties your body and your spirit has been severed. You are likely to wander the realm beyond until your body is finally dead and thus reunited with you." return + mind.current.ajourn=0 mind.current.key = key