From bc18ba314a8b351db8fbea87a2eec789350b5042 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 18 Jan 2020 19:21:47 -0700 Subject: [PATCH 01/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 50 +++++++++++++++++----- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c0b510111f..4c01467239 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -92,6 +92,8 @@ GLOBAL_LIST_EMPTY(PDAs) var/overlays_y_offset = 0 var/underline_flag = TRUE //flag for underline + + var/list/blocked_pdas /obj/item/pda/suicide_act(mob/living/carbon/user) var/deathMessage = msg_input(user) @@ -387,7 +389,10 @@ GLOBAL_LIST_EMPTY(PDAs) for (var/obj/item/pda/P in sortNames(get_viewable_pdas())) if (P == src) continue - dat += "
  • [P]" + if(P.owner in blocked_pdas) + dat += "
  • (BLOCKED - CLICK TO UNBLOCK) [P.owner]" + else + dat += "
  • [P]" if(cartridge) dat += cartridge.message_special(P) dat += "
  • " @@ -645,6 +650,12 @@ GLOBAL_LIST_EMPTY(PDAs) if("MessageAll") send_to_all(U) + + if("block") + block(usr, locate(href_list["block"])) + + if("unblock") + unblock(usr, href_list["unblock"]) if("cart") if(cartridge) @@ -744,9 +755,18 @@ GLOBAL_LIST_EMPTY(PDAs) message += "\nSent from my PDA" // Send the signal var/list/string_targets = list() - for (var/obj/item/pda/P in targets) - if (P.owner && P.ownjob) // != src is checked by the UI + var/blocked = 0 + var/list/string_blocked + for(var/obj/item/pda/P in targets) + if(owner in P.blocked_pdas) + blocked++ + LAZYADD(string_blocked, P.owner) + continue + if(P.owner && P.ownjob) // != src is checked by the UI string_targets += "[P.owner] ([P.ownjob])" + if(string_blocked) + string_blocked = english_list(string_blocked) + to_chat(user, "[icon2html(src, user)] The following PDAs have blocked your message: [string_blocked].") for (var/obj/machinery/computer/message_monitor/M in targets) // In case of "Reply" to a message from a console, this will make the // message be logged successfully. If the console is impersonating @@ -779,12 +799,13 @@ GLOBAL_LIST_EMPTY(PDAs) tnote += "→ To [target_text]:
    [signal.format_message()]
    " // Show it to ghosts var/ghost_message = "[owner] PDA Message --> [target_text]: [signal.format_message(TRUE)]" - for(var/mob/M in GLOB.player_list) - if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA)) - to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") + if(length(string_targets)) + for(var/mob/M in GLOB.player_list) + if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA)) + to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") + to_chat(user, "Message sent to [target_text]: \"[emoji_message]\"") // Log in the talk log - user.log_talk(message, LOG_PDA, tag="PDA: [initial(name)] to [target_text]") - to_chat(user, "Message sent to [target_text]: \"[emoji_message]\"") + user.log_talk(message, LOG_PDA, tag="PDA: [initial(name)] to [target_text] (BLOCKED:[string_blocked])") if (!silent) playsound(src, 'sound/machines/terminal_success.ogg', 15, 1) // Reset the photo @@ -794,8 +815,7 @@ GLOBAL_LIST_EMPTY(PDAs) last_everyone = world.time /obj/item/pda/proc/receive_message(datum/signal/subspace/pda/signal) - tnote += "← From [signal.data["name"]] ([signal.data["job"]]):
    [signal.format_message()]
    " - + tnote += "← From [signal.data["name"]] ([signal.data["job"]]): (BLOCK)
    [signal.format_message()]
    " if (!silent) playsound(src, 'sound/machines/twobeep.ogg', 50, 1) audible_message("[icon2html(src, hearers(src))] *[ttone]*", null, 3) @@ -827,6 +847,14 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/create_message(mob/living/U, obj/item/pda/P) send_message(U,list(P)) +/obj/item/pda/proc/block(mob/user, obj/item/pda/P) + to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages.") + LAZYOR(blocked_pdas, P.owner) + +/obj/item/pda/proc/unblock(mob/user, unblock_target) + to_chat(user, "[icon2html(src, user)] [unblock_target] unblocked from messages.") + LAZYREMOVE(blocked_pdas, unblock_target) + /obj/item/pda/AltClick(mob/user) . = ..() if(id) @@ -1172,4 +1200,4 @@ GLOBAL_LIST_EMPTY(PDAs) #undef PDA_OVERLAY_ID #undef PDA_OVERLAY_ITEM #undef PDA_OVERLAY_LIGHT -#undef PDA_OVERLAY_PAI \ No newline at end of file +#undef PDA_OVERLAY_PAI From 7b8cb0dbfc8cef7e773dd7b11063d4b5983eb364 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 18 Jan 2020 19:33:22 -0700 Subject: [PATCH 02/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 4c01467239..2a8333ff78 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -652,10 +652,10 @@ GLOBAL_LIST_EMPTY(PDAs) send_to_all(U) if("block") - block(usr, locate(href_list["block"])) + block_pda(usr, locate(href_list["block"])) if("unblock") - unblock(usr, href_list["unblock"]) + unblock_pda(usr, href_list["unblock"]) if("cart") if(cartridge) @@ -755,7 +755,6 @@ GLOBAL_LIST_EMPTY(PDAs) message += "\nSent from my PDA" // Send the signal var/list/string_targets = list() - var/blocked = 0 var/list/string_blocked for(var/obj/item/pda/P in targets) if(owner in P.blocked_pdas) @@ -847,11 +846,11 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/create_message(mob/living/U, obj/item/pda/P) send_message(U,list(P)) -/obj/item/pda/proc/block(mob/user, obj/item/pda/P) +/obj/item/pda/proc/block_pda(mob/user, obj/item/pda/P) to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages.") LAZYOR(blocked_pdas, P.owner) -/obj/item/pda/proc/unblock(mob/user, unblock_target) +/obj/item/pda/proc/unblock_pda(mob/user, unblock_target) to_chat(user, "[icon2html(src, user)] [unblock_target] unblocked from messages.") LAZYREMOVE(blocked_pdas, unblock_target) From 9619a6bf5d3e2b60672941e20a82995ebc329ef3 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 18 Jan 2020 19:37:12 -0700 Subject: [PATCH 03/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 2a8333ff78..e145e2c967 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -847,7 +847,7 @@ GLOBAL_LIST_EMPTY(PDAs) send_message(U,list(P)) /obj/item/pda/proc/block_pda(mob/user, obj/item/pda/P) - to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages.") + to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages. Use "Messenger" function PDA list to unblock.") LAZYOR(blocked_pdas, P.owner) /obj/item/pda/proc/unblock_pda(mob/user, unblock_target) From 72e2961972842823531d487400a869a0765370b5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 18 Jan 2020 21:34:24 -0700 Subject: [PATCH 04/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index e145e2c967..e6a46983c1 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -847,7 +847,7 @@ GLOBAL_LIST_EMPTY(PDAs) send_message(U,list(P)) /obj/item/pda/proc/block_pda(mob/user, obj/item/pda/P) - to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages. Use "Messenger" function PDA list to unblock.") + to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages. Use the messenger PDA list to unblock.") LAZYOR(blocked_pdas, P.owner) /obj/item/pda/proc/unblock_pda(mob/user, unblock_target) From 374f4f143e0dfd6374704c8f72c117395f883d8b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Jan 2020 13:45:16 -0700 Subject: [PATCH 05/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index e6a46983c1..a60f159952 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -758,7 +758,6 @@ GLOBAL_LIST_EMPTY(PDAs) var/list/string_blocked for(var/obj/item/pda/P in targets) if(owner in P.blocked_pdas) - blocked++ LAZYADD(string_blocked, P.owner) continue if(P.owner && P.ownjob) // != src is checked by the UI From 0b10b8cf89332e8cfc03f7a484c682fdb53397e4 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Jan 2020 22:41:19 -0700 Subject: [PATCH 06/11] Update code/game/objects/items/devices/PDA/PDA.dm Co-Authored-By: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index a60f159952..719ac150e6 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -764,7 +764,7 @@ GLOBAL_LIST_EMPTY(PDAs) string_targets += "[P.owner] ([P.ownjob])" if(string_blocked) string_blocked = english_list(string_blocked) - to_chat(user, "[icon2html(src, user)] The following PDAs have blocked your message: [string_blocked].") + to_chat(user, "[icon2html(src, user)] The following recipients have blocked your message: [string_blocked].") for (var/obj/machinery/computer/message_monitor/M in targets) // In case of "Reply" to a message from a console, this will make the // message be logged successfully. If the console is impersonating From ecddef2f21c890ff50ffc6f5243fa7a2ddc01e30 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 19 Jan 2020 22:58:08 -0700 Subject: [PATCH 07/11] compile --- code/game/objects/items/devices/PDA/PDA.dm | 39 +++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 719ac150e6..51b168b57d 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(PDAs) var/overlays_y_offset = 0 var/underline_flag = TRUE //flag for underline - + var/list/blocked_pdas /obj/item/pda/suicide_act(mob/living/carbon/user) @@ -390,7 +390,7 @@ GLOBAL_LIST_EMPTY(PDAs) if (P == src) continue if(P.owner in blocked_pdas) - dat += "
  • (BLOCKED - CLICK TO UNBLOCK) [P.owner]" + dat += "
  • (BLOCKED - CLICK TO UNBLOCK) [P.owner]" else dat += "
  • [P]" if(cartridge) @@ -650,12 +650,15 @@ GLOBAL_LIST_EMPTY(PDAs) if("MessageAll") send_to_all(U) - - if("block") - block_pda(usr, locate(href_list["block"])) - - if("unblock") - unblock_pda(usr, href_list["unblock"]) + + if("toggle_block") + toggle_blocking(usr, href_list["target"]) + + if("block_pda") + block_pda(usr, href_list["target"]) + + if("unblock_pda") + unblock_pda(usr, href_list["target"]) if("cart") if(cartridge) @@ -813,7 +816,7 @@ GLOBAL_LIST_EMPTY(PDAs) last_everyone = world.time /obj/item/pda/proc/receive_message(datum/signal/subspace/pda/signal) - tnote += "← From [signal.data["name"]] ([signal.data["job"]]): (BLOCK)
    [signal.format_message()]
    " + tnote += "← From [signal.data["name"]] ([signal.data["job"]]): (BLOCK/UNBLOCK)
    [signal.format_message()]
    " if (!silent) playsound(src, 'sound/machines/twobeep.ogg', 50, 1) audible_message("[icon2html(src, hearers(src))] *[ttone]*", null, 3) @@ -845,13 +848,19 @@ GLOBAL_LIST_EMPTY(PDAs) /obj/item/pda/proc/create_message(mob/living/U, obj/item/pda/P) send_message(U,list(P)) -/obj/item/pda/proc/block_pda(mob/user, obj/item/pda/P) - to_chat(user, "[icon2html(src, user)] [P.owner] blocked from messages. Use the messenger PDA list to unblock.") - LAZYOR(blocked_pdas, P.owner) +/obj/item/pda/proc/toggle_blocking(mob/user, target) + if(target in blocked_pdas) + unblock_pda(user, target) + else + block_pda(user, target) -/obj/item/pda/proc/unblock_pda(mob/user, unblock_target) - to_chat(user, "[icon2html(src, user)] [unblock_target] unblocked from messages.") - LAZYREMOVE(blocked_pdas, unblock_target) +/obj/item/pda/proc/block_pda(mob/user, target) + to_chat(user, "[icon2html(src, user)] [target] blocked from messages. Use the messenger PDA list to unblock.") + LAZYOR(blocked_pdas, target) + +/obj/item/pda/proc/unblock_pda(mob/user, target) + to_chat(user, "[icon2html(src, user)] [target] unblocked from messages.") + LAZYREMOVE(blocked_pdas, target) /obj/item/pda/AltClick(mob/user) . = ..() From 051ca8c0500edb6ee401bc7f3157ece4fa8b17df Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Jan 2020 03:45:40 -0700 Subject: [PATCH 08/11] checks --- code/game/objects/items/devices/PDA/PDA.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 51b168b57d..b843c5cec1 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -801,8 +801,9 @@ GLOBAL_LIST_EMPTY(PDAs) // Show it to ghosts var/ghost_message = "[owner] PDA Message --> [target_text]: [signal.format_message(TRUE)]" if(length(string_targets)) - for(var/mob/M in GLOB.player_list) - if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA)) + for(var/i in GLOB.dead_mob_list) + var/mob/M = i + if(M?.client.prefs.chat_toggles & CHAT_GHOSTPDA) to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") to_chat(user, "Message sent to [target_text]: \"[emoji_message]\"") // Log in the talk log From 0661bc2558175536c8f2514f1d85634e465a87be Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Jan 2020 15:26:24 -0700 Subject: [PATCH 09/11] Update PDA.dm --- code/game/objects/items/devices/PDA/PDA.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b843c5cec1..14f2407798 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -800,12 +800,11 @@ GLOBAL_LIST_EMPTY(PDAs) tnote += "→ To [target_text]:
    [signal.format_message()]
    " // Show it to ghosts var/ghost_message = "[owner] PDA Message --> [target_text]: [signal.format_message(TRUE)]" - if(length(string_targets)) - for(var/i in GLOB.dead_mob_list) - var/mob/M = i - if(M?.client.prefs.chat_toggles & CHAT_GHOSTPDA) - to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") - to_chat(user, "Message sent to [target_text]: \"[emoji_message]\"") + for(var/i in GLOB.dead_mob_list) + var/mob/M = i + if(M?.client.prefs.chat_toggles & CHAT_GHOSTPDA) + to_chat(M, "[FOLLOW_LINK(M, user)] [ghost_message]") + to_chat(user, "Message sent to [target_text]: \"[emoji_message]\"") // Log in the talk log user.log_talk(message, LOG_PDA, tag="PDA: [initial(name)] to [target_text] (BLOCKED:[string_blocked])") if (!silent) From 221e05b3c8f5a607090b8f23e9d79c17b7310bd9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Jan 2020 17:58:58 -0700 Subject: [PATCH 10/11] add line --- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 14f2407798..121dececd9 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -835,7 +835,7 @@ GLOBAL_LIST_EMPTY(PDAs) hrefstart = "" hrefend = "" - to_chat(L, "[icon2html(src)] Message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], [signal.format_message(TRUE)] (Reply)") + to_chat(L, "[icon2html(src)] Message from [hrefstart][signal.data["name"]] ([signal.data["job"]])[hrefend], [signal.format_message(TRUE)] (Reply) (BLOCK/UNBLOCK)") update_icon(TRUE) From 5abc1104c07aeaa093f6ae94f77f769e5e94ae81 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Mon, 20 Jan 2020 18:03:54 -0700 Subject: [PATCH 11/11] ok --- code/game/objects/items/devices/PDA/PDA.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 121dececd9..f849c99ec2 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -390,7 +390,7 @@ GLOBAL_LIST_EMPTY(PDAs) if (P == src) continue if(P.owner in blocked_pdas) - dat += "
  • (BLOCKED - CLICK TO UNBLOCK) [P.owner]" + dat += "
  • (BLOCKED - CLICK TO UNBLOCK) [P]" else dat += "
  • [P]" if(cartridge)