diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index 0668e79a556..075cb3e4150 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -910,11 +910,21 @@ Turf and target are seperate in case you want to teleport some distance from a t if (!the_key) text += "*no client*" else + var/linked = 1 if (include_link && !isnull(the_mob)) if (istext(include_link)) - text += "" + text += "" else - text += "" + if(ismob(include_link)) + var/mob/MM = include_link + if(MM.client) + text += "" + else + linked = 0 + else if (istype(include_link, /client)) + text += "" + else + linked = 0 if (the_client && the_client.holder && the_client.stealth && !include_name) text += "Administrator" @@ -922,7 +932,10 @@ Turf and target are seperate in case you want to teleport some distance from a t text += "[the_key]" if (!isnull(include_link) && !isnull(the_mob)) - text += "" + if(linked) + text += "" + else + text += " (DC)" if (include_name && !isnull(the_mob)) if (the_mob.real_name) diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index bd5946ff053..cff3f989427 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -19,11 +19,12 @@ if (!msg) return + //feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! for (var/mob/M in world) if (M.client && M.client.holder) if (src.holder.rank == "Admin Observer") M << "ADMIN: [key_name(usr, M)]: [msg]" else - M << "ADMIN: [key_name(usr, M)]X: [msg]" + M << "ADMIN: [key_name(usr, M)] (JMP): [msg]" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 7d358a5eed4..d01bbc91010 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -82,6 +82,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(NewLoc) loc = NewLoc return + loc = get_turf(src) //Get out of closets and such as a ghost if((direct & NORTH) && y < world.maxy) y++ if((direct & SOUTH) && y > 1) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d03457cf60d..6ed478a73ec 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -631,7 +631,21 @@ src:cameraFollow = null +/client/Topic(href, href_list) + if(href_list["priv_msg"]) + var/client/C = locate(href_list["priv_msg"]) + if(ismob(C)) //Old stuff can pass in mobs instead of clients + var/mob/M = C + C = M.client + cmd_admin_pm(C,null) + else + ..() + /mob/Topic(href, href_list) + if(href_list["priv_msg"]) //for priv_msg references that have yet to be updated to target clients. Forwards it to client/Topic() + if(client) + client.Topic(href, href_list) + if(href_list["mach_close"]) var/t1 = text("window=[href_list["mach_close"]]") machine = null