diff --git a/code/defines/mob/mob.dm b/code/defines/mob/mob.dm index 8e70824d6e4..84e87f4c046 100644 --- a/code/defines/mob/mob.dm +++ b/code/defines/mob/mob.dm @@ -91,6 +91,7 @@ var/plasma = null var/sleeping = 0.0//Carbon var/sleeping_willingly = 0.0 //Carbon, allows people to sleep forever if desired + var/admin_observing = 0.0 var/resting = 0.0//Carbon var/lying = 0.0 var/canmove = 1.0 diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c2bf04a2290..f75c8b07029 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -411,6 +411,7 @@ holder.state = 2 update_admins(rank) if(!istype(mob, /mob/dead/observer)) + mob.admin_observing = 1 mob.adminghostize(1) src << "\blue You are now observing" diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index aa1aaf6386e..5adb386ebd1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -183,13 +183,15 @@ /mob/living/carbon/Logout() ..() - if(!src.sleeping) // would be exploited by stoxin'd people otherwise ;) + if(!src.sleeping && !src.admin_observing) // would be exploited by stoxin'd people otherwise ;) + // (also make admins set-observing not sleep) src.sleeping = 1 src.sleeping_willingly = 1 /mob/living/carbon/Login() ..() + src.admin_observing = 0 if(src.sleeping_willingly) src.sleeping = 0 src.sleeping_willingly = 0