Made it so if a bug report or question comes in and there's noone with the right flag on, it gets sent to anyone with r_admin instead.

This commit is contained in:
ZomgPonies
2014-06-20 09:50:48 -04:00
parent a72d2824dc
commit 2b0d586281
2 changed files with 52 additions and 13 deletions
+36 -13
View File
@@ -102,26 +102,49 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
//send this msg to all admins
var/admin_number_afk = 0
var/list/modholders = list()
var/list/adminholders = list()
var/list/debugholders = list()
for(var/client/X in admins)
switch(selected_type)
if("Question")
if(R_MOD & X.holder.rights)
if(X.is_afk())
admin_number_afk++
if(R_MOD & X.holder.rights)
if(X.is_afk())
admin_number_afk++
modholders += X
if(R_ADMIN & X.holder.rights)
if(X.is_afk())
admin_number_afk++
adminholders += X
if(R_DEBUG & X.holder.rights)
if(X.is_afk())
admin_number_afk++
debugholders += X
switch(selected_type)
if("Question")
if(modholders.len)
for(var/client/X in modholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Player Complaint")
if(R_ADMIN & X.holder.rights)
if(X.is_afk())
admin_number_afk++
else
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Bug Report")
if(R_DEBUG & X.holder.rights)
if(X.is_afk())
admin_number_afk++
else if("Player Complaint")
if(adminholders.len)
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else if("Bug Report")
if(debugholders.len)
for(var/client/X in debugholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
else
for(var/client/X in adminholders)
if(X.prefs.sound & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
X << msg
+16
View File
@@ -178,6 +178,18 @@
log_admin("PM: [key_name(src)]->[key_name(C)]: [msg]")
var/list/modholders = list()
var/list/adminholders = list()
var/list/debugholders = list()
for(var/client/X in admins)
if(R_MOD & X.holder.rights)
modholders += X
if(R_ADMIN & X.holder.rights)
adminholders += X
if(R_DEBUG & X.holder.rights)
debugholders += X
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
//check client/X is an admin and isn't the sender or recipient
@@ -188,12 +200,16 @@
if("Question")
if(X.holder.rights & (R_MOD|R_MENTOR))
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else if(!modholders.len && X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
if("Player Complaint")
if(X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
if("Bug Report")
if(X.holder.rights & R_DEBUG)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else if(!debugholders.len && X.holder.rights & R_ADMIN)
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X
else
if((X.holder.rights & R_ADMIN) || (X.holder.rights & (R_MOD|R_MENTOR)) )
X << "<B><font color='blue'>[type]: [key_name(src, X, 0, type)]-&gt;[key_name(C, X, 0, type)]:</B> \blue [msg]</font>" //inform X