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