Adds preference for seeing LOOC from ghosts (#11577)

This commit is contained in:
Doxxmedearly
2021-04-14 11:55:58 +02:00
committed by GitHub
parent 640fe25975
commit 5320325be0
10 changed files with 104 additions and 6 deletions
+67 -2
View File
@@ -100,7 +100,8 @@ var/list/admin_verbs_admin = list(
/client/proc/fix_player_list,
/client/proc/reset_openturf,
/client/proc/toggle_aooc,
/client/proc/force_away_mission
/client/proc/force_away_mission,
/client/proc/alooc
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
@@ -421,7 +422,8 @@ var/list/admin_verbs_mod = list(
/client/proc/print_logout_report,
/client/proc/check_ai_laws, /*shows AI and borg laws*/
/client/proc/aooc,
/client/proc/toggle_aooc
/client/proc/toggle_aooc,
/client/proc/alooc
)
var/list/admin_verbs_dev = list( //will need to be altered - Ryan784
@@ -1298,3 +1300,66 @@ var/list/admin_verbs_cciaa = list(
log_and_message_admins("reset the forced away mission.")
else
log_and_message_admins("forced the following away mission: [mission_name].")
/client/proc/alooc(msg as text)
set name = "Admin LOOC"
set desc = "Admin Local OOC, seen only by those in view, regardless of their LOOC preferences."
set category = "Admin"
if(!check_rights(R_ADMIN|R_MOD))
return
if(!mob)
return
msg = sanitize(msg)
msg = process_chat_markup(msg, list("*"))
if(!msg)
return
log_ooc("(ADMIN LOCAL) [mob.name]/[key] : [msg]",ckey=key_name(mob))
var/mob/source = src.mob
var/list/messageturfs = list() //List of turfs we broadcast to.
var/list/messagemobs = list() //List of living mobs nearby who can hear it
for(var/turf in range(world.view, get_turf(source)))
messageturfs += turf
if(isAI(source))
var/mob/living/silicon/ai/AI = source
for(var/turf in range(world.view, get_turf(AI.eyeobj)))
messageturfs += turf
for(var/mob/M in player_list)
if(!M.client || istype(M, /mob/abstract/new_player))
continue
if(isAI(M))
var/mob/living/silicon/ai/AI = M
if(get_turf(AI.eyeobj) in messageturfs)
messagemobs += M
continue
if(get_turf(M) in messageturfs)
messagemobs += M
var/display_name = source.key
if(holder && holder.fakekey)
display_name = holder.fakekey
msg = process_chat_markup(msg, list("*"))
var/prefix
var/admin_stuff
for(var/client/target in clients)
admin_stuff = ""
var/display_remote = FALSE
if (target.holder && ((R_MOD|R_ADMIN) & target.holder.rights))
display_remote = TRUE
if(display_remote)
prefix = "(R)"
admin_stuff += "/([source.key])"
if(target != source.client)
admin_stuff += "(<A HREF='?src=\ref[target.holder];adminplayerobservejump=\ref[mob]'>JMP</A>)"
if(target.mob in messagemobs)
prefix = ""
if((target.mob in messagemobs) || display_remote)
to_chat(target, "<span class='ooc'><span class='adminlooc'>" + create_text_tag("ALOOC", target) + " <span class='prefix'>[prefix]</span><EM>[display_name][admin_stuff]:</EM> <span class='message linkify'>[msg]</span></span></span>")
@@ -91,6 +91,7 @@
"<b>Ghost ears:</b> <a href='?src=\ref[src];toggle=[CHAT_GHOSTEARS]'><b>[(pref.toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]</b></a><br>",
"<b>Ghost sight:</b> <a href='?src=\ref[src];toggle=[CHAT_GHOSTSIGHT]'><b>[(pref.toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]</b></a><br>",
"<b>Ghost radio:</b> <a href='?src=\ref[src];toggle=[CHAT_GHOSTRADIO]'><b>[(pref.toggles & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]</b></a><br>",
"<b>Observer LOOC:</b> <a href='?src=\ref[src];toggle=[CHAT_GHOSTLOOC]'><b>[(pref.toggles & CHAT_GHOSTLOOC) ? "Visible" : "Hidden"]</b></a><br>",
"<b>Space Parallax:</b> <a href='?src=\ref[src];paratoggle=[PARALLAX_SPACE]'><b>[(pref.toggles_secondary & PARALLAX_SPACE) ? "Yes" : "No"]</b></a><br>",
"<b>Space Dust:</b> <a href='?src=\ref[src];paratoggle=[PARALLAX_DUST]'><b>[(pref.toggles_secondary & PARALLAX_DUST) ? "Yes" : "No"]</b></a><br>",
"<b>Progress Bars:</b> <a href='?src=\ref[src];paratoggle=[PROGRESS_BARS]'><b>[(pref.toggles_secondary & PROGRESS_BARS) ? "Yes" : "No"]</b></a><br>",
+14 -1
View File
@@ -112,7 +112,7 @@
/client/verb/listen_looc()
set name = "Show/Hide LOOC"
set name = "Show/Hide LOOC (All)"
set category = "Preferences"
set desc = "Toggles seeing Local OutOfCharacter chat"
prefs.toggles ^= CHAT_LOOC
@@ -121,6 +121,19 @@
to_chat(src, "You will [(prefs.toggles & CHAT_LOOC) ? "now" : "no longer"] see messages on the LOOC channel.")
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/listen_ghostlooc()
set name = "Show/Hide LOOC (Observers)"
set category = "Preferences"
set desc = "Toggles seeing Local OutOfCharacter chat from observing players"
if(!(prefs.toggles & CHAT_LOOC)) //Don't need to disable ghost LOOC if you've disabled all LOOC
to_chat(src, SPAN_NOTICE("You already have the LOOC channel hidden!"))
return
prefs.toggles ^= CHAT_GHOSTLOOC
prefs.save_preferences()
to_chat(src, "You will [(prefs.toggles & CHAT_GHOSTLOOC) ? "now" : "no longer"] see messages on the LOOC channel from observing/ghosted players.")
feedback_add_details("admin_verb","TGLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/toggle_chattags()
set name = "Show/Hide Chat Tags"
@@ -250,7 +250,7 @@ a.popt {text-decoration: none;}
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover {color: #a4bad6;}
/* ADD HERE FOR BOLD */
.bold, .name, .prefix, .ooc, .aooc, .looc, .adminooc, .admin, .medal, .yell {font-weight: bold;}
.bold, .name, .prefix, .ooc, .aooc, .looc, .adminooc, .adminlooc, .admin, .medal, .yell {font-weight: bold;}
/* ADD HERE FOR ITALIC */
.italic, .italics, .emote {font-style: italic;}
@@ -269,6 +269,7 @@ em {font-style: normal; font-weight: bold;}
.tag {color: #fff; border-radius: 15px; font-size: 80%; padding-left: 4px; padding-right: 4px;}
.ooc_tag {background-color: #3c5dc0;}
.looc_tag {color: #000; background-color: #46b2b2;}
.adminlooc_tag {color: #000; background-color: #3bae6e;}
.dev_tag {background-color: #2c7731;}
.admin_tag {background-color: #9611d4;}
.mod_tag {background-color: #663a0e;}
@@ -286,6 +287,7 @@ em {font-style: normal; font-weight: bold;}
.ooc .everyone {color: #3c5dc0;}
.ooc .looc {color: #6699CC;}
.ooc .adminlooc {color: #3BBF6E;}
.ooc .elevated {color: #2e78d9;}
.ooc .moderator {color: #184880;}
.ooc .developer {color: #2c7731;}
@@ -247,7 +247,7 @@ a.popt {text-decoration: none;}
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover {color: #638500;}
/* ADD HERE FOR BOLD */
.bold, .name, .prefix, .ooc, .aooc, .looc, .adminooc, .admin, .medal, .yell {font-weight: bold;}
.bold, .name, .prefix, .ooc, .aooc, .looc, .adminooc, .adminlooc, .admin, .medal, .yell {font-weight: bold;}
/* ADD HERE FOR ITALIC */
.italic, .italics, .emote {font-style: italic;}
@@ -266,6 +266,7 @@ em {font-style: normal;font-weight: bold;}
.tag {color: #fff; border-radius: 15px; font-size: 80%; padding-left: 4px; padding-right: 4px;}
.ooc_tag {background-color: #002eb8;}
.looc_tag {color: #000; background-color: #46b2b2;}
.adminlooc_tag {color: #000; background-color: #3bae6e;}
.dev_tag {background-color: #2c7731;}
.admin_tag {background-color: #9611d4;}
.mod_tag {background-color: #663a0e;}
@@ -283,6 +284,7 @@ em {font-style: normal;font-weight: bold;}
.ooc .everyone {color: #002eb8;}
.ooc .looc {color: #6699CC;}
.ooc .adminlooc {color: #3bae6e;}
.ooc .elevated {color: #2e78d9;}
.ooc .moderator {color: #184880;}
.ooc .developer {color: #2c7731;}