New +MENTOR permission for mentors

This commit is contained in:
ZomgPonies
2015-02-17 02:28:00 -05:00
parent 2894dbc266
commit c218a2457f
7 changed files with 21 additions and 11 deletions
+2 -1
View File
@@ -227,7 +227,7 @@ proc/tg_text2list(text, glue=",", assocglue=";")
. += copytext(text, last_found, found)
last_found = found + delim_len
while(found)
/proc/text2numlist(text, delimiter="\n")
var/list/num_list = list()
for(var/x in text2list(text, delimiter))
@@ -347,6 +347,7 @@ proc/tg_text2list(text, glue=",", assocglue=";")
if(rights & R_SOUNDS) . += "[seperator]+SOUND"
if(rights & R_SPAWN) . += "[seperator]+SPAWN"
if(rights & R_MOD) . += "[seperator]+MODERATOR"
if(rights & R_MENTOR) . += "[seperator]+MENTOR"
return .
/proc/ui_style2icon(ui_style)
+1
View File
@@ -41,6 +41,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("sound","sounds") rights |= R_SOUNDS
if("spawn","create") rights |= R_SPAWN
if("mod") rights |= R_MOD
if("mentor") rights |= R_MENTOR
admin_ranks[rank] = rights
previous_rights = rights
+7
View File
@@ -185,6 +185,12 @@ var/list/admin_verbs_mod = list(
// /client/proc/cmd_admin_subtle_message /*send an message to somebody as a 'voice in their head'*/
)
var/list/admin_verbs_mentor = list(
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
/client/proc/cmd_admin_pm_by_key_panel, /*admin-pm list by key*/
/client/proc/cmd_mod_say,
)
/client/proc/add_admin_verbs()
if(holder)
@@ -202,6 +208,7 @@ var/list/admin_verbs_mod = list(
if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds
if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn
if(holder.rights & R_MOD) verbs += admin_verbs_mod
if(holder.rights & R_MENTOR) verbs += admin_verbs_mentor
/client/proc/admin_ghost()
set category = "Admin"
+1 -1
View File
@@ -104,7 +104,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
var/list/adminholders = list()
var/list/eventholders = list()
for(var/client/X in admins)
if(R_MOD & X.holder.rights)
if((R_MOD | R_MENTOR) & X.holder.rights)
if(X.is_afk())
admin_number_afk++
modholders += X
+4 -4
View File
@@ -103,7 +103,7 @@
//mod PMs are maroon
//PMs sent from admins and mods display their rank
if(holder)
if( holder.rights & R_MOD && !holder.rights & R_ADMIN )
if( holder.rights & (R_MOD | R_MENTOR) && !holder.rights & R_ADMIN )
recieve_color = "maroon"
else
recieve_color = "red"
@@ -208,7 +208,7 @@
var/list/adminholders = list()
var/list/eventholders = list()
for(var/client/X in admins)
if(R_MOD & X.holder.rights)
if((R_MOD | R_MENTOR) & X.holder.rights)
modholders += X
if(R_ADMIN & X.holder.rights)
adminholders += X
@@ -227,7 +227,7 @@
if(X.key!=key && X.key!=C.key)
switch(type)
if("Question")
if(X.holder.rights & R_MOD)
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>" //Any admins in backup of mod question
@@ -273,6 +273,6 @@
for(var/client/X in admins)
if(X == src)
continue
if((X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD))
if((X.holder.rights & R_ADMIN) || (X.holder.rights & (R_MOD | R_MENTOR)))
X << "<B><font color='blue'>PM: [key_name(src, X, 0)]-&gt;IRC-Admins:</B> \blue [msg]</font>"
+3 -3
View File
@@ -24,7 +24,7 @@
set name = "Msay"
set hidden = 1
if(!check_rights(R_ADMIN|R_MOD)) return
if(!check_rights(R_ADMIN|R_MOD|R_MENTOR)) return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
log_admin("MOD: [key_name(src)] : [msg]")
@@ -36,8 +36,8 @@
color = "adminmod"
var/channel = "MOD:"
if(config.mods_are_mentors)
if(check_rights(R_MENTOR,0))
channel = "MENTOR:"
for(var/client/C in admins)
if((R_ADMIN|R_MOD) & C.holder.rights)
if((R_ADMIN|R_MOD|R_MENTOR) & C.holder.rights)
C << "<span class='[color]'><span class='prefix'>[channel]</span> <EM>[key_name(src,1)]</EM> (<A HREF='?src=\ref[C.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>"
+3 -2
View File
@@ -698,6 +698,7 @@ var/list/TAGGERLOCATIONS = list("Disposals",
#define R_SOUNDS 2048
#define R_SPAWN 4096
#define R_MOD 8192
#define R_MENTOR 16384
#define R_MAXPERMISSION 8192 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
@@ -735,7 +736,7 @@ var/list/TAGGERLOCATIONS = list("Disposals",
#define BE_CULTIST 256
#define BE_NINJA 512
#define BE_RAIDER 1024
#define BE_VAMPIRE 2048
#define BE_VAMPIRE 2048
#define BE_MUTINEER 4096
#define BE_BLOB 8192
@@ -807,7 +808,7 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
"NukeOps",
"Thunderdome",
"UO45",
"UO45R",
"UO45R",
"Xeno"
)