Adds preference for seeing LOOC from ghosts (#11577)

This commit is contained in:
Doxxmedearly
2021-04-14 04:55:58 -05:00
committed by GitHub
parent 640fe25975
commit 5320325be0
10 changed files with 104 additions and 6 deletions

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>")