/client/proc/cmd_admin_check_player_logs(mob/living/M as mob in mob_list)
set category = "Admin"
set name = "Check Player Attack Logs"
set desc = "Check a player's attack logs."
//Views specific attack logs belonging to one player.
var/dat = "[M]'s Attack Log:"
dat += "Viewing attack logs of [M] - (Played by ([key_name(M)]). "
if(M.mind)
dat += "Current Antag?: [(M.mind.special_role)?"Yes":"No"] "
dat += " Note: This is arranged from earliest to latest.
"
if(!isemptylist(M.attack_log))
dat += "
"
else
dat += "No attack logs found for [M]."
var/datum/browser/popup = new(usr, "admin_attack_log", "[src]", 650, 650, src)
popup.set_content(jointext(dat,null))
popup.open()
onclose(usr, "admin_attack_log")
feedback_add_details("admin_verb","PL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_check_dialogue_logs(mob/living/M as mob in mob_list)
set category = "Admin"
set name = "Check Player Dialogue Logs"
set desc = "Check a player's dialogue logs."
//Views specific dialogue logs belonging to one player.
var/dat = "[M]'s Dialogue Log:"
dat += "Viewing say and emote logs of [M] - (Played by ([key_name(M)]). "
if(M.mind)
dat += "Current Antag?: [(M.mind.special_role)?"Yes":"No"] "
dat += " Note: This is arranged from earliest to latest.
"
if(!isemptylist(M.dialogue_log))
dat += ""
else
dat += "No dialogue logs found for [M]."
var/datum/browser/popup = new(usr, "admin_dialogue_log", "[src]", 650, 650, src)
popup.set_content(jointext(dat,null))
popup.open()
onclose(usr, "admin_dialogue_log")
feedback_add_details("admin_verb","PDL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
// Used to get `atom/O as obj|mob|turf in view()` to match against strings containing apostrophes immediately after substrings that match to other objects. Somehow. - Ater
/proc/admin_atom_validate(atom/A)
return view()