From fb84e5f50a83fb52e1e7b7191cef2e3dea8a9129 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 29 Jan 2015 09:11:39 +0100 Subject: [PATCH] Ghosts now have more sight options. Can now toggle between the following modes: * See other observers + AI eye + darkness * See only darkness * No darkness --- code/modules/mob/dead/observer/observer.dm | 18 ++++++++++++------ code/setup.dm | 5 +++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c1d577834d3..f4e612f5366 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -404,14 +404,20 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp src << "\blue Heat Capacity: [round(environment.heat_capacity(),0.1)]" -/mob/dead/observer/verb/toggle_darkness() - set name = "Toggle Darkness" +/mob/dead/observer/verb/toggle_sight() + set name = "Toggle Sight" set category = "Ghost" - if (see_invisible == SEE_INVISIBLE_OBSERVER_NOLIGHTING) - see_invisible = SEE_INVISIBLE_OBSERVER - else - see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + switch(see_invisible) + if(SEE_INVISIBLE_OBSERVER_AI_EYE) + see_invisible = SEE_INVISIBLE_OBSERVER_NOOBSERVERS + usr << "You no longer see other observers or the AI eye." + if(SEE_INVISIBLE_OBSERVER_NOOBSERVERS) + see_invisible = SEE_INVISIBLE_OBSERVER_NOLIGHTING + usr << "You no longer see darkness." + else + see_invisible = SEE_INVISIBLE_OBSERVER_AI_EYE + usr << "You again see everything." /mob/dead/observer/verb/become_mouse() set name = "Become mouse" diff --git a/code/setup.dm b/code/setup.dm index 338181e50e9..0d599743dd8 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -480,9 +480,14 @@ #define SEE_INVISIBLE_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. #define INVISIBILITY_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. +#define SEE_INVISIBLE_OBSERVER_NOOBSERVERS 59 + #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 +#define INVISIBILITY_AI_EYE 61 +#define SEE_INVISIBLE_OBSERVER_AI_EYE 61 + #define INVISIBILITY_MAXIMUM 100 //Object specific defines