diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 4bc41808b96..e1965cf701e 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -171,7 +171,7 @@ proc/add_logs(mob/target, mob/user, what_done, var/object=null, var/addition=nul
target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [key_name(user)][object ? " with [object]" : " "][addition]")
if(admin)
log_attack("[key_name(user)] [what_done] [key_name(target)][object ? " with [object]" : " "][addition]")
- if(istype(target) && target.client)
+ if(istype(target) && (target.client || target.player_logged))
if(what_done in ignore) return
if(target == user)return
if(!admin) return
diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm
index 1824abaf6ae..73224f67d94 100644
--- a/code/defines/procs/admin.dm
+++ b/code/defines/procs/admin.dm
@@ -45,7 +45,7 @@
return .
/proc/key_name_admin(var/whom, var/include_name = 1)
- var/message = "[key_name(whom, 1, include_name)](?)[isAntag(whom) ? "(A)" : ""] ([admin_jump_link(whom, "holder")])"
+ var/message = "[key_name(whom, 1, include_name)](?)[isAntag(whom) ? "(A)" : ""][isSSD(whom) ? "(SSD!)" : ""] ([admin_jump_link(whom, "holder")])"
return message
/proc/log_and_message_admins(var/message as text)
@@ -55,4 +55,3 @@
/proc/admin_log_and_message_admins(var/message as text)
log_admin("[key_name(usr)] " + message)
message_admins("[key_name_admin(usr)] " + message, 1)
-
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 491d291c252..1a843e2cbd5 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -270,7 +270,9 @@
msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n"
if(species.show_ssd && (!species.has_organ["brain"] || get_int_organ(/obj/item/organ/internal/brain)) && stat != DEAD)
- if(istype(src, /mob/living/carbon/human/interactive))
+ if(src.player_logged)
+ msg += "[t_He] [t_is] fast asleep, suffering from Space Sleep Disorder.\n"
+ else if(istype(src, /mob/living/carbon/human/interactive))
msg += "[t_He] appears to be some sort of sick automaton: [t_his] eyes are glazed over and [t_his] mouth is slightly agape.\n"
else if(!key)
msg += "[t_He] [t_is] fast asleep. It doesn't look like they are waking up anytime soon.\n"
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 93c5dbf871f..e2640dec229 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -672,6 +672,8 @@
if(silent)
put_in_hands(what)
add_logs(who, src, "stripped", addition="of [what]")
+ if(who.player_logged)
+ to_chat(src,"Warning: looting from SSD players (like [who]) is forbidden unless you have ahelped first and got permission.")
// The src mob is trying to place an item on someone
// Override if a certain mob should be behave differently when placing items (can't, for example)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index ff29bda1d9d..2d57bebd4fa 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -34,6 +34,13 @@
return 1
return 0
+proc/isSSD(A)
+ if(istype(A,/mob))
+ var/mob/M = A
+ if (M.player_logged)
+ return 1
+ return 0
+
proc/isAntag(A)
if(istype(A, /mob/living/carbon))
var/mob/living/carbon/C = A