diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index b78baf2816d..a3829207fe5 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -331,11 +331,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", if(istype(M,/mob/dead)) var/mob/dead/D = M - D.manifest() - user.visible_message( \ - "\red [user] drags the ghost to our plan of reality!", \ - "\red You drag the ghost to our plan of reality!" \ - ) + D.manifest(user) return if(!istype(M)) return diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6b3647ef932..54f5583df27 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -83,18 +83,7 @@ /mob/dead/attackby(obj/item/W, mob/user) if(istype(W,/obj/item/weapon/book/tome)) var/mob/dead/M = src - if(src.invisibility != 0) - M.invisibility = 0 - user.visible_message( \ - "\red [user] drags ghost, [M], to our plan of reality!", \ - "\red You drag [M] to our plan of reality!" \ - ) - else - user.visible_message ( \ - "\red [user] just tried to smash his book into that ghost! It's not very effective", \ - "\red You get the feeling that the ghost can't become any more visible." \ - ) - + M.manifest(user) /mob/dead/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) return 1 @@ -556,9 +545,23 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp usr.visible_message("[src] points to [A]") return 1 -/mob/dead/proc/manifest() - verbs += /mob/dead/proc/toggle_visibility - toggle_visibility() +/mob/dead/proc/manifest(mob/user) + var/is_manifest = 0 + if(!is_manifest) + is_manifest = 1 + verbs += /mob/dead/proc/toggle_visibility + + if(src.invisibility != 0) + user.visible_message( \ + "[user] drags ghost, [src], to our plan of reality!", \ + "You drag [src] to our plan of reality!" \ + ) + toggle_visibility(1) + else + user.visible_message ( \ + "[user] just tried to smash his book into that ghost! It's not very effective.", \ + "You get the feeling that the ghost can't become any more visible." \ + ) /mob/dead/proc/toggle_icon(var/icon) if(!client) @@ -574,22 +577,21 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/image/J = image('icons/mob/mob.dmi', loc = src, icon_state = icon) client.images += J -/mob/dead/proc/toggle_visibility() +/mob/dead/proc/toggle_visibility(var/forced = 0) set category = "Ghost" set name = "Toggle Visibility" set desc = "Allows you to turn (in)visible (almost) at will." var/toggled_invisible - - if(invisibility && world.time < toggled_invisible + 600) + if(!forced && invisibility && world.time < toggled_invisible + 600) src << "You must gather strength before you can turn visible again..." return if(invisibility == 0) toggled_invisible = world.time - visible_message("It fades from sight...", "You are now invisible") + visible_message("It fades from sight...", "You are now invisible.") else - src << "You are now visible" + src << "You are now visible!" invisibility = invisibility == INVISIBILITY_OBSERVER ? 0 : INVISIBILITY_OBSERVER // Give the ghost a cult icon which should be visible only to itself