Merge pull request #316 from LetterJay/master

Mentor fixes and better who list
This commit is contained in:
LetterJay
2017-03-26 10:57:04 -05:00
committed by GitHub
5 changed files with 63 additions and 48 deletions
+1
View File
@@ -12,5 +12,6 @@ var/list/combatlog = list()
var/list/IClog = list()
var/list/OOClog = list()
var/list/adminlog = list()
var/list/mentorlog = list ()
var/list/active_turfs_startlist = list()
+4
View File
@@ -691,6 +691,10 @@
config.forbid_peaceborg = 1
if("silent_ai")
config.silent_ai = 1
if ("mentor_mobname_only")
config.mentors_mobname_only = 1
if ("mentor_legacy_system")
config.mentor_legacy_system = 1
if("silent_borg")
config.silent_borg = 1
if("sandbox_autoclose")
+3
View File
@@ -162,6 +162,9 @@ var/global/BSACooldown = 0
body += "<A href='?_src_=holder;tdome2=\ref[M]'>Thunderdome 2</A> | "
body += "<A href='?_src_=holder;tdomeadmin=\ref[M]'>Thunderdome Admin</A> | "
body += "<A href='?_src_=holder;tdomeobserve=\ref[M]'>Thunderdome Observer</A> | "
body += "<A href='?_src_=holder;mentor=\ref[M]'>Make Mentor</A> | "
body += "<A href='?_src_=holder;removementor=\ref[M]'>Remove Mentor</A> | "
body += "<br>"
body += "</body></html>"
+54 -48
View File
@@ -2,59 +2,65 @@
set name = "Who"
set category = "OOC"
var/msg = "<b>Current Players:</b>\n"
var/msg = ""
var/list/Lines = list()
if(holder)
if (check_rights(R_ADMIN,0) && isobserver(src.mob))//If they have +ADMIN and are a ghost they can see players IC names and statuses.
var/mob/dead/observer/G = src.mob
if(!G.started_as_observer)//If you aghost to do this, KorPhaeron will deadmin you in your sleep.
log_admin("[key_name(usr)] checked advanced who in-round")
for(var/client/C in clients)
var/entry = "\t[C.key]"
if(C.holder && C.holder.fakekey)
entry += " <i>(as [C.holder.fakekey])</i>"
if (isnewplayer(C.mob))
entry += " - <font color='darkgray'><b>In Lobby</b></font>"
else
entry += " - Playing as [C.mob.real_name]"
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += " - <font color='darkgray'><b>Unconscious</b></font>"
if(DEAD)
if(isobserver(C.mob))
var/mob/dead/observer/O = C.mob
if(O.started_as_observer)
entry += " - <font color='gray'>Observing</font>"
else
entry += " - <font color='black'><b>DEAD</b></font>"
else
entry += " - <font color='black'><b>DEAD</b></font>"
if(is_special_character(C.mob))
entry += " - <b><font color='red'>Antagonist</font></b>"
entry += " (<A HREF='?_src_=holder;adminmoreinfo=\ref[C.mob]'>?</A>)"
entry += " ([round(C.avgping, 1)]ms)"
Lines += entry
else//If they don't have +ADMIN, only show hidden admins
for(var/client/C in clients)
var/entry = "\t[C.key]"
if(C.holder && C.holder.fakekey)
entry += " <i>(as [C.holder.fakekey])</i>"
entry += " ([round(C.avgping, 1)]ms)"
Lines += entry
else
for(var/client/C in clients)
if(C.holder && C.holder.fakekey)
Lines += "[C.holder.fakekey] ([round(C.avgping, 1)]ms)"
else
Lines += "[C.key] ([round(C.avgping, 1)]ms)"
if(length(admins) > 0)
Lines += "<b>Admins:</b>"
for(var/client/C in sortList(admins))
if(!C.holder.fakekey)
Lines += "\t <font color='#FF0000'>[C.key]</font>[show_info(C)]"
for(var/line in sortList(Lines))
if(length(mentors) > 0)
Lines += "<b>Mentors:</b>"
for(var/client/C in sortList(clients))
var/mentor = mentor_datums[C.ckey]
if(mentor)
Lines += "\t <font color='#0033CC'>[C.key]</font>[show_info(C)]"
Lines += "<b>Players:</b>"
for(var/client/C in sortList(clients))
if(!check_mentor_other(C) || (C.holder && C.holder.fakekey))
Lines += "\t [C.key][show_info(C)]"
for(var/line in Lines)
msg += "[line]\n"
msg += "<b>Total Players: [length(Lines)]</b>"
to_chat(src, msg)
src << msg
/client/proc/show_info(var/client/C)
if(!C)
return ""
if(!src.holder)
return ""
var/entry = ""
if(C.holder && C.holder.fakekey)
entry += " <i>(as [C.holder.fakekey])</i>"
if (isnewplayer(C.mob))
entry += " - <font color='darkgray'><b>In Lobby</b></font>"
else
entry += " - Playing as [C.mob.real_name]"
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += " - <font color='darkgray'><b>Unconscious</b></font>"
if(DEAD)
if(isobserver(C.mob))
var/mob/dead/observer/O = C.mob
if(O.started_as_observer)
entry += " - <font color='gray'>Observing</font>"
else
entry += " - <font color='black'><b>DEAD</b></font>"
else
entry += " - <font color='black'><b>DEAD</b></font>"
if(is_special_character(C.mob))
entry += " - <b><font color='red'>Antagonist</font></b>"
entry += " (<A HREF='?_src_=holder;adminmoreinfo=\ref[C.mob]'>?</A>)"
entry += " ([round(C.avgping, 1)]ms)"
return entry
/client/verb/adminwho()
set category = "Admin"
@@ -84,8 +90,8 @@
continue //Don't show afk admins to adminwho
if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n"
msg += "<span class='info'>Adminhelps are also sent to Discord. If no admins are available in game adminhelp anyways and an admin on Discord will see it and respond.</span>"
to_chat(src, msg)
msg += "<span class='info'>Adminhelps are also sent to IRC. If no admins are available in game adminhelp anyways and an admin on IRC will see it and respond.</span>"
src << msg
/client/verb/mentorwho()
set category = "Mentor"
+1
View File
@@ -40,6 +40,7 @@
load_mode()
load_motd()
load_admins()
load_mentors()
if(config.usewhitelist)
load_whitelist()
LoadBans()