From 3b24d495a355cf77e14ad28e4e4ddcd242ba5d5c Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Thu, 30 May 2019 00:05:44 -0700 Subject: [PATCH 1/2] Add scrolling messages --- code/modules/admin/verbs/adminpm.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index caa051f8748..3fa82a26d84 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -308,16 +308,25 @@ dat += "[label]" var/datum/pm_convo/convo = pms[current_title] + var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) if(convo) + popup.add_head_content(@{""}) convo.read = TRUE dat += "

[check_rights(R_ADMIN, FALSE, user) ? fancy_title(current_title) : current_title]

" dat += "

" - dat += "" + dat += "
" + dat += "
" for(var/message in convo.messages) dat += "" dat += "
[message]
" + dat += "" if(convo.typing) dat += "[current_title] is typing" dat += "
" @@ -327,7 +336,6 @@ if(check_rights(R_ADMIN, FALSE, user)) dat += "Ping" - var/datum/browser/popup = new(user, window_id, "Messages", 1000, 600, src) popup.set_content(dat) popup.open() open = TRUE From 31058952936708400bb38137a0983b968ba0113d Mon Sep 17 00:00:00 2001 From: tayyyyyyy Date: Mon, 10 Jun 2019 00:20:19 -0700 Subject: [PATCH 2/2] Fix players showing as DCed when not --- code/modules/admin/verbs/adminpm.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 3fa82a26d84..83531c9b0b9 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -279,6 +279,9 @@ /datum/pm_tracker/proc/add_message(client/title, client/sender, message, mob/user) if(!pms[title.key]) pms[title.key] = new /datum/pm_convo(title) + else if(!pms[title.key].client) + // If they DCed earlier, we need to add the client reference back + pms[title.key].client = title pms[title.key].add(sender, message) if(!open) @@ -341,11 +344,18 @@ open = TRUE /datum/pm_tracker/proc/fancy_title(title) - var/client/C = pms[title].client + var/client/C = pms[title].client || update_client(title) if(!C) return "[title] (Disconnected)" return "[key_name(C, FALSE)] ([ADMIN_QUE(C.mob,"?")]) ([ADMIN_PP(C.mob,"PP")]) ([ADMIN_VV(C.mob,"VV")]) ([ADMIN_SM(C.mob,"SM")]) ([admin_jump_link(C.mob)]) (CA)" +/datum/pm_tracker/proc/update_client(title) + var/client/C = GLOB.directory[ckey(title)] + if(C) + pms[title].client = C + return C + return null + /datum/pm_tracker/Topic(href, href_list) if(href_list["archive"]) pms[href_list["archive"]].archived = !pms[href_list["archive"]].archived