Revert "Does more prep for the Event Manager role"

This commit is contained in:
Anewbe
2017-10-04 18:33:34 -05:00
committed by GitHub
parent 0956109030
commit 4459d7087a
19 changed files with 83 additions and 125 deletions

View File

@@ -36,7 +36,7 @@
#define R_SOUNDS 0x800 #define R_SOUNDS 0x800
#define R_SPAWN 0x1000 #define R_SPAWN 0x1000
#define R_MOD 0x2000 #define R_MOD 0x2000
#define R_EVENT 0x4000 #define R_MENTOR 0x4000
#define R_HOST 0x8000 //higher than this will overflow #define R_HOST 0x8000 //higher than this will overflow
#define R_MAXPERMISSION 0x8000 // This holds the maximum value for a permission. It is used in iteration, so keep it updated. #define R_MAXPERMISSION 0x8000 // This holds the maximum value for a permission. It is used in iteration, so keep it updated.

View File

@@ -148,7 +148,7 @@
if (rights & R_SOUNDS) . += "[seperator]+SOUND" if (rights & R_SOUNDS) . += "[seperator]+SOUND"
if (rights & R_SPAWN) . += "[seperator]+SPAWN" if (rights & R_SPAWN) . += "[seperator]+SPAWN"
if (rights & R_MOD) . += "[seperator]+MODERATOR" if (rights & R_MOD) . += "[seperator]+MODERATOR"
if (rights & R_EVENT) . += "[seperator]+EVENT" if (rights & R_MENTOR) . += "[seperator]+MENTOR"
return . return .
// Converts a hexadecimal color (e.g. #FF0050) to a list of numbers for red, green, and blue (e.g. list(255,0,80) ). // Converts a hexadecimal color (e.g. #FF0050) to a list of numbers for red, green, and blue (e.g. list(255,0,80) ).

View File

@@ -67,7 +67,7 @@ var/list/gamemode_cache = list()
var/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 var/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0
var/show_mods = 0 var/show_mods = 0
var/show_devs = 0 var/show_devs = 0
var/show_event_managers = 0 var/show_mentors = 0
var/mods_can_tempban = 0 var/mods_can_tempban = 0
var/mods_can_job_tempban = 0 var/mods_can_job_tempban = 0
var/mod_tempban_max = 1440 var/mod_tempban_max = 1440
@@ -511,8 +511,8 @@ var/list/gamemode_cache = list()
if("show_devs") if("show_devs")
config.show_devs = 1 config.show_devs = 1
if("show_event_managers") if("show_mentors")
config.show_event_managers = 1 config.show_mentors = 1
if("mods_can_tempban") if("mods_can_tempban")
config.mods_can_tempban = 1 config.mods_can_tempban = 1

View File

@@ -70,16 +70,16 @@
var/msg = "" var/msg = ""
var/modmsg = "" var/modmsg = ""
var/devmsg = "" var/devmsg = ""
var/eventMmsg = "" var/mentmsg = ""
var/num_mods_online = 0 var/num_mods_online = 0
var/num_admins_online = 0 var/num_admins_online = 0
var/num_devs_online = 0 var/num_devs_online = 0
var/num_event_managers_online = 0 var/num_mentors_online = 0
if(holder) if(holder)
for(var/client/C in admins) for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || (!R_MOD & C.holder.rights && !R_EVENT & C.holder.rights)) //Used to determine who shows up in admin rows if(R_ADMIN & C.holder.rights || (!R_MOD & C.holder.rights && !R_MENTOR & C.holder.rights)) //Used to determine who shows up in admin rows
if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights)) //Event Managers can't see stealthmins if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights)) //Mentors can't see stealthmins
continue continue
msg += "\t[C] is a [C.holder.rank]" msg += "\t[C] is a [C.holder.rank]"
@@ -102,7 +102,7 @@
msg += "\n" msg += "\n"
num_admins_online++ num_admins_online++
else if(R_MOD & C.holder.rights) //Who shows up in mod/event rows. else if(R_MOD & C.holder.rights) //Who shows up in mod/mentor rows.
modmsg += "\t[C] is a [C.holder.rank]" modmsg += "\t[C] is a [C.holder.rank]"
if(isobserver(C.mob)) if(isobserver(C.mob))
@@ -137,26 +137,26 @@
devmsg += "\n" devmsg += "\n"
num_devs_online++ num_devs_online++
else if(R_EVENT & C.holder.rights) else if(R_MENTOR & C.holder.rights)
eventMmsg += "\t[C] is a [C.holder.rank]" mentmsg += "\t[C] is a [C.holder.rank]"
if(isobserver(C.mob)) if(isobserver(C.mob))
eventMmsg += " - Observing" mentmsg += " - Observing"
else if(istype(C.mob,/mob/new_player)) else if(istype(C.mob,/mob/new_player))
eventMmsg += " - Lobby" mentmsg += " - Lobby"
else else
eventMmsg += " - Playing" mentmsg += " - Playing"
if(C.is_afk()) if(C.is_afk())
var/seconds = C.last_activity_seconds() var/seconds = C.last_activity_seconds()
eventMmsg += " (AFK - " mentmsg += " (AFK - "
eventMmsg += "[round(seconds / 60)] minutes, " mentmsg += "[round(seconds / 60)] minutes, "
eventMmsg += "[seconds % 60] seconds)" mentmsg += "[seconds % 60] seconds)"
eventMmsg += "\n" mentmsg += "\n"
num_event_managers_online++ num_mentors_online++
else else
for(var/client/C in admins) for(var/client/C in admins)
if(R_ADMIN & C.holder.rights || (!R_MOD & C.holder.rights && !R_EVENT & C.holder.rights)) if(R_ADMIN & C.holder.rights || (!R_MOD & C.holder.rights && !R_MENTOR & C.holder.rights))
if(!C.holder.fakekey) if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n" msg += "\t[C] is a [C.holder.rank]\n"
num_admins_online++ num_admins_online++
@@ -166,9 +166,9 @@
else if (R_SERVER & C.holder.rights) else if (R_SERVER & C.holder.rights)
devmsg += "\t[C] is a [C.holder.rank]\n" devmsg += "\t[C] is a [C.holder.rank]\n"
num_devs_online++ num_devs_online++
else if (R_EVENT & C.holder.rights) else if (R_MENTOR & C.holder.rights)
eventMmsg += "\t[C] is a [C.holder.rank]\n" mentmsg += "\t[C] is a [C.holder.rank]\n"
num_event_managers_online++ num_mentors_online++
if(config.admin_irc) if(config.admin_irc)
src << "<span class='info'>Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.</span>" src << "<span class='info'>Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.</span>"
@@ -180,7 +180,7 @@
if(config.show_devs) if(config.show_devs)
msg += "\n<b> Current Developers ([num_devs_online]):</b>\n" + devmsg msg += "\n<b> Current Developers ([num_devs_online]):</b>\n" + devmsg
if(config.show_event_managers) if(config.show_mentors)
msg += "\n<b> Current Event Managers ([num_event_managers_online]):</b>\n" + eventMmsg msg += "\n<b> Current Mentors ([num_mentors_online]):</b>\n" + mentmsg
src << msg src << msg

View File

@@ -1225,16 +1225,16 @@ proc/admin_notice(var/message, var/rights)
/* /*
helper proc to test if someone is a event manager or not. Got tired of writing this same check all over the place. helper proc to test if someone is a mentor or not. Got tired of writing this same check all over the place.
*/ */
/proc/is_event_manager(client/C) /proc/is_mentor(client/C)
if(!istype(C)) if(!istype(C))
return 0 return 0
if(!C.holder) if(!C.holder)
return 0 return 0
if(C.holder.rights == R_EVENT) if(C.holder.rights == R_MENTOR)
return 1 return 1
return 0 return 0
@@ -1266,7 +1266,7 @@ proc/admin_notice(var/message, var/rights)
var/ref_mob = "\ref[M]" var/ref_mob = "\ref[M]"
return "<b>[key_name(C, link, name, highlight_special)](<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>)([admin_jump_link(M, src)]) (<A HREF='?_src_=holder;take_question=\ref[M]'>TAKE</A>)</b>" return "<b>[key_name(C, link, name, highlight_special)](<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>)([admin_jump_link(M, src)]) (<A HREF='?_src_=holder;take_question=\ref[M]'>TAKE</A>)</b>"
if(4) //Event Managers if(4) //Mentors
var/ref_mob = "\ref[M]" var/ref_mob = "\ref[M]"
return "<b>[key_name(C, link, name, highlight_special)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[M]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M, src)]) (<A HREF='?_src_=holder;take_question=\ref[M]'>TAKE</A>)</b>" return "<b>[key_name(C, link, name, highlight_special)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[M]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M, src)]) (<A HREF='?_src_=holder;take_question=\ref[M]'>TAKE</A>)</b>"

View File

@@ -37,11 +37,11 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("stealth") rights |= R_STEALTH if("stealth") rights |= R_STEALTH
if("rejuv","rejuvinate") rights |= R_REJUVINATE if("rejuv","rejuvinate") rights |= R_REJUVINATE
if("varedit") rights |= R_VAREDIT if("varedit") rights |= R_VAREDIT
if("everything","host","all") rights |= (R_HOST | R_BUILDMODE | R_ADMIN | R_BAN | R_FUN | R_SERVER | R_DEBUG | R_PERMISSIONS | R_POSSESS | R_STEALTH | R_REJUVINATE | R_VAREDIT | R_SOUNDS | R_SPAWN | R_MOD| R_EVENT) if("everything","host","all") rights |= (R_HOST | R_BUILDMODE | R_ADMIN | R_BAN | R_FUN | R_SERVER | R_DEBUG | R_PERMISSIONS | R_POSSESS | R_STEALTH | R_REJUVINATE | R_VAREDIT | R_SOUNDS | R_SPAWN | R_MOD| R_MENTOR)
if("sound","sounds") rights |= R_SOUNDS if("sound","sounds") rights |= R_SOUNDS
if("spawn","create") rights |= R_SPAWN if("spawn","create") rights |= R_SPAWN
if("mod") rights |= R_MOD if("mod") rights |= R_MOD
if("event") rights |= R_EVENT if("mentor") rights |= R_MENTOR
admin_ranks[rank] = rights admin_ranks[rank] = rights
previous_rights = rights previous_rights = rights

View File

@@ -8,7 +8,7 @@ var/list/admin_verbs_default = list(
/client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify,
// /client/proc/check_antagonists, //shows all antags, // /client/proc/check_antagonists, //shows all antags,
// /client/proc/cmd_mod_say, // /client/proc/cmd_mod_say,
/client/proc/cmd_event_manager_check_new_players, /client/proc/cmd_mentor_check_new_players,
// /client/proc/deadchat //toggles deadchat on/off, // /client/proc/deadchat //toggles deadchat on/off,
// /client/proc/toggle_ahelp_sound, // /client/proc/toggle_ahelp_sound,
) )
@@ -186,7 +186,7 @@ var/list/admin_verbs_debug = list(
/client/proc/cmd_debug_tog_aliens, /client/proc/cmd_debug_tog_aliens,
/client/proc/air_report, /client/proc/air_report,
/client/proc/reload_admins, /client/proc/reload_admins,
/client/proc/reload_event_managers, /client/proc/reload_mentors,
/client/proc/restart_controller, /client/proc/restart_controller,
/datum/admins/proc/restart, /datum/admins/proc/restart,
/client/proc/print_random_map, /client/proc/print_random_map,
@@ -331,65 +331,15 @@ var/list/admin_verbs_mod = list(
) )
var/list/admin_verbs_event_manager = list( var/list/admin_verbs_mentor = list(
/client/proc/cmd_admin_pm_context, /client/proc/cmd_admin_pm_context,
/client/proc/cmd_admin_pm_panel, /client/proc/cmd_admin_pm_panel,
/datum/admins/proc/PlayerNotes, /datum/admins/proc/PlayerNotes,
/client/proc/admin_ghost, /client/proc/admin_ghost,
/client/proc/cmd_event_say, /client/proc/cmd_mod_say,
/datum/admins/proc/show_player_info, /datum/admins/proc/show_player_info,
/client/proc/dsay, // /client/proc/dsay,
/client/proc/cmd_admin_subtle_message, /client/proc/cmd_admin_subtle_message
/datum/admins/proc/change_weather,
/datum/admins/proc/change_time,
/client/proc/admin_give_modifier,
/datum/admins/proc/announce, //priority announce something to all clients.,
/datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement,
/client/proc/admin_ghost,
/client/proc/check_antagonists,
/client/proc/aooc,
/client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head',
/datum/admins/proc/paralyze_mob,
/client/proc/cmd_admin_direct_narrate,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/datum/admins/proc/sendFax,
/client/proc/roll_dices,
/proc/possess,
/proc/release,
/datum/admins/proc/set_tcrystals,
/datum/admins/proc/access_news_network,
/client/proc/admin_call_shuttle,
/client/proc/admin_cancel_shuttle,
/client/proc/cmd_admin_world_narrate,
/client/proc/check_words,
/client/proc/play_local_sound,
/client/proc/play_sound,
/client/proc/play_server_sound,
/client/proc/object_talk,
/client/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/drop_bomb,
/client/proc/cinematic,
/client/proc/respawn_character,
/client/proc/cmd_admin_delete, //delete an instance/object/mob/etc,
/client/proc/cmd_debug_del_all,
/datum/admins/proc/delay,
/datum/admins/proc/spawn_fruit,
/datum/admins/proc/spawn_custom_item,
/datum/admins/proc/check_custom_items,
/datum/admins/proc/spawn_plant,
/datum/admins/proc/spawn_atom, //allows us to spawn instances,
/client/proc/respawn_character,
/client/proc/virus2_editor,
/client/proc/spawn_chemdisp_cartridge,
/client/proc/map_template_load,
/client/proc/map_template_upload,
/client/proc/map_template_load_on_new_z,
/client/proc/check_words, //displays cult-words,
/client/proc/check_ai_laws, //shows AI and borg laws,
/client/proc/rename_silicon, //properly renames silicons,
/client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. ,
/client/proc/check_antagonists,
) )
/client/proc/add_admin_verbs() /client/proc/add_admin_verbs()
@@ -411,7 +361,7 @@ var/list/admin_verbs_event_manager = list(
if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds
if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn
if(holder.rights & R_MOD) verbs += admin_verbs_mod if(holder.rights & R_MOD) verbs += admin_verbs_mod
if(holder.rights & R_EVENT) verbs += admin_verbs_event_manager if(holder.rights & R_MENTOR) verbs += admin_verbs_mentor
/client/proc/remove_admin_verbs() /client/proc/remove_admin_verbs()
verbs.Remove( verbs.Remove(
@@ -474,8 +424,13 @@ var/list/admin_verbs_event_manager = list(
if(istype(mob,/mob/observer/dead)) if(istype(mob,/mob/observer/dead))
//re-enter //re-enter
var/mob/observer/dead/ghost = mob var/mob/observer/dead/ghost = mob
if(!is_mentor(usr.client))
ghost.can_reenter_corpse = 1
if(ghost.can_reenter_corpse) if(ghost.can_reenter_corpse)
ghost.reenter_corpse() ghost.reenter_corpse()
else
ghost << "<font color='red'>Error: Aghost: Can't reenter corpse, mentors that use adminHUD while aghosting are not permitted to enter their corpse again</font>"
return
feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -367,7 +367,7 @@
if(usr.client) if(usr.client)
var/client/C = usr.client var/client/C = usr.client
if(is_event_manager(C)) if(is_mentor(C))
dat += {"<td align=center> N/A </td>"} dat += {"<td align=center> N/A </td>"}
else else
switch(is_special_character(M)) switch(is_special_character(M))

View File

@@ -1194,7 +1194,7 @@
show_player_panel(M) show_player_panel(M)
else if(href_list["adminplayerobservejump"]) else if(href_list["adminplayerobservejump"])
if(!check_rights(R_EVENT|R_MOD|R_ADMIN|R_SERVER)) return if(!check_rights(R_MENTOR|R_MOD|R_ADMIN|R_SERVER)) return
var/mob/M = locate(href_list["adminplayerobservejump"]) var/mob/M = locate(href_list["adminplayerobservejump"])
@@ -1204,7 +1204,7 @@
C.jumptomob(M) C.jumptomob(M)
else if(href_list["adminplayerobservefollow"]) else if(href_list["adminplayerobservefollow"])
if(!check_rights(R_EVENT|R_MOD|R_ADMIN|R_SERVER)) if(!check_rights(R_MENTOR|R_MOD|R_ADMIN|R_SERVER))
return return
var/mob/M = locate(href_list["adminplayerobservefollow"]) var/mob/M = locate(href_list["adminplayerobservefollow"])
@@ -1224,7 +1224,7 @@
if(ismob(M)) if(ismob(M))
var/take_msg = "<span class='notice'><b>ADMINHELP</b>: <b>[key_name(usr.client)]</b> is attending to <b>[key_name(M)]'s</b> adminhelp, please don't dogpile them.</span>" var/take_msg = "<span class='notice'><b>ADMINHELP</b>: <b>[key_name(usr.client)]</b> is attending to <b>[key_name(M)]'s</b> adminhelp, please don't dogpile them.</span>"
for(var/client/X in admins) for(var/client/X in admins)
if((R_ADMIN|R_MOD|R_EVENT) & X.holder.rights) if((R_ADMIN|R_MOD|R_MENTOR) & X.holder.rights)
to_chat(X, take_msg) to_chat(X, take_msg)
to_chat(M, "<span class='notice'><b>Your adminhelp is being attended to by [usr.client]. Thanks for your patience!</b></span>") to_chat(M, "<span class='notice'><b>Your adminhelp is being attended to by [usr.client]. Thanks for your patience!</b></span>")
else else

View File

@@ -88,19 +88,22 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(ai_found) if(ai_found)
ai_cl = " (<A HREF='?_src_=holder;adminchecklaws=\ref[mob]'>CL</A>)" ai_cl = " (<A HREF='?_src_=holder;adminchecklaws=\ref[mob]'>CL</A>)"
//Options bar: mob, details ( admin = 2, dev = 3, event manager = 4, character name (0 = just ckey, 1 = ckey and character name), link? (0 no don't make it a link, 1 do so), //Options bar: mob, details ( admin = 2, dev = 3, mentor = 4, character name (0 = just ckey, 1 = ckey and character name), link? (0 no don't make it a link, 1 do so),
// highlight special roles (0 = everyone has same looking name, 1 = antags / special roles get a golden name) // highlight special roles (0 = everyone has same looking name, 1 = antags / special roles get a golden name)
var/mentor_msg = "<b><font color=red>Request for Help: </font></b><font color='blue'><b>[get_options_bar(mob, 4, 1, 1, 0)][ai_cl]:</b> [msg]</font>"
msg = "<b><font color=red>Request for Help: </font></b><font color='blue'><b>[get_options_bar(mob, 2, 1, 1)][ai_cl]</b> [msg]</font>" msg = "<b><font color=red>Request for Help: </font></b><font color='blue'><b>[get_options_bar(mob, 2, 1, 1)][ai_cl]</b> [msg]</font>"
var/admin_number_afk = 0 var/admin_number_afk = 0
for(var/client/X in admins) for(var/client/X in admins)
if((R_ADMIN|R_MOD|R_EVENT|R_SERVER) & X.holder.rights) if((R_ADMIN|R_MOD|R_MENTOR|R_SERVER) & X.holder.rights)
if(X.is_afk()) if(X.is_afk())
admin_number_afk++ admin_number_afk++
if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) if(X.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
X << 'sound/effects/adminhelp.ogg' X << 'sound/effects/adminhelp.ogg'
if(X.holder.rights == R_MENTOR)
X << mentor_msg // Mentors won't see coloring of names on people with special_roles (Antags, etc.)
else else
X << msg X << msg
@@ -115,3 +118,4 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]") send2adminirc("Request for Help from [key_name(src)]: [html_decode(original_msg)]")
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return return

View File

@@ -8,7 +8,7 @@
set name = "Jump to Area" set name = "Jump to Area"
set desc = "Area to jump to" set desc = "Area to jump to"
set category = "Admin" set category = "Admin"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
@@ -24,7 +24,7 @@
/client/proc/jumptoturf(var/turf/T in world) /client/proc/jumptoturf(var/turf/T in world)
set name = "Jump to Turf" set name = "Jump to Turf"
set category = "Admin" set category = "Admin"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]") log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]")
@@ -40,7 +40,7 @@
set category = "Admin" set category = "Admin"
set name = "Jump to Mob" set name = "Jump to Mob"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
@@ -62,7 +62,7 @@
set category = "Admin" set category = "Admin"
set name = "Jump to Coordinate" set name = "Jump to Coordinate"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if (config.allow_admin_jump) if (config.allow_admin_jump)
@@ -82,7 +82,7 @@
set category = "Admin" set category = "Admin"
set name = "Jump to Key" set name = "Jump to Key"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
@@ -106,7 +106,7 @@
set category = "Admin" set category = "Admin"
set name = "Get Mob" set name = "Get Mob"
set desc = "Mob to teleport" set desc = "Mob to teleport"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
log_admin("[key_name(usr)] teleported [key_name(M)]") log_admin("[key_name(usr)] teleported [key_name(M)]")
@@ -122,7 +122,7 @@
set name = "Get Key" set name = "Get Key"
set desc = "Key to teleport" set desc = "Key to teleport"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
if(config.allow_admin_jump) if(config.allow_admin_jump)
@@ -148,7 +148,7 @@
/client/proc/sendmob(var/mob/M in sortmobs()) /client/proc/sendmob(var/mob/M in sortmobs())
set category = "Admin" set category = "Admin"
set name = "Send Mob" set name = "Send Mob"
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_DEBUG)) if(!check_rights(R_ADMIN|R_MOD|R_DEBUG))
return return
var/area/A = input(usr, "Pick an area.", "Pick an area") in return_sorted_areas() var/area/A = input(usr, "Pick an area.", "Pick an area") in return_sorted_areas()
if(A) if(A)

View File

@@ -112,7 +112,7 @@
//check client/X is an admin and isn't the sender or recipient //check client/X is an admin and isn't the sender or recipient
if(X == C || X == src) if(X == C || X == src)
continue continue
if(X.key != key && X.key != C.key && (X.holder.rights & R_ADMIN|R_MOD|R_EVENT)) if(X.key != key && X.key != C.key && (X.holder.rights & R_ADMIN|R_MOD|R_MENTOR))
X << "<span class='pm'><span class='other'>" + create_text_tag("pm_other", "PM:", X) + " <span class='name'>[key_name(src, X, 0)]</span> to <span class='name'>[key_name(C, X, 0)]</span>: <span class='message'>[msg]</span></span></span>" X << "<span class='pm'><span class='other'>" + create_text_tag("pm_other", "PM:", X) + " <span class='name'>[key_name(src, X, 0)]</span> to <span class='name'>[key_name(C, X, 0)]</span>: <span class='message'>[msg]</span></span></span>"
/client/proc/cmd_admin_irc_pm(sender) /client/proc/cmd_admin_irc_pm(sender)
@@ -141,5 +141,5 @@
for(var/client/X in admins) for(var/client/X in admins)
if(X == src) if(X == src)
continue continue
if(X.holder.rights & R_ADMIN|R_MOD|R_EVENT) if(X.holder.rights & R_ADMIN|R_MOD)
X << "<span class='pm'><span class='other'>" + create_text_tag("pm_other", "PM:", X) + " <span class='name'>[key_name(src, X, 0)]</span> to <span class='name'>IRC-[sender]</span>: <span class='message'>[msg]</span></span></span>" X << "<span class='pm'><span class='other'>" + create_text_tag("pm_other", "PM:", X) + " <span class='name'>[key_name(src, X, 0)]</span> to <span class='name'>IRC-[sender]</span>: <span class='message'>[msg]</span></span></span>"

View File

@@ -23,7 +23,7 @@
set name = "Msay" set name = "Msay"
set hidden = 1 set hidden = 1
if(!check_rights(R_ADMIN|R_MOD|R_SERVER)) if(!check_rights(R_ADMIN|R_MOD|R_MENTOR|R_SERVER))
return return
msg = sanitize(msg) msg = sanitize(msg)
@@ -45,7 +45,7 @@
set name = "Esay" set name = "Esay"
set hidden = 1 set hidden = 1
if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_SERVER)) if(!check_rights(R_ADMIN|R_MOD|R_MENTOR|R_SERVER))
return return
msg = sanitize(msg) msg = sanitize(msg)

View File

@@ -108,13 +108,13 @@
load_admins() load_admins()
feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/reload_event_managers() /client/proc/reload_mentors()
set name = "Reload Event Managers" set name = "Reload Mentors"
set category = "Debug" set category = "Debug"
if(!check_rights(R_SERVER)) return if(!check_rights(R_SERVER)) return
message_admins("[usr] manually reloaded Event Managers") message_admins("[usr] manually reloaded Mentors")
world.load_mods() world.load_mods()

View File

@@ -65,7 +65,7 @@
message_admins("<font color='blue'><B>SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]</B></font>", 1) message_admins("<font color='blue'><B>SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]</B></font>", 1)
feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_event_manager_check_new_players() //Allows event managers / admins to determine who the newer players are. /client/proc/cmd_mentor_check_new_players() //Allows mentors / admins to determine who the newer players are.
set category = "Admin" set category = "Admin"
set name = "Check new Players" set name = "Check new Players"
if(!holder) if(!holder)
@@ -82,7 +82,7 @@
var/msg = "" var/msg = ""
var/highlight_special_characters = 1 var/highlight_special_characters = 1
if(is_event_manager(usr.client)) if(is_mentor(usr.client))
highlight_special_characters = 0 highlight_special_characters = 0
for(var/client/C in clients) for(var/client/C in clients)

View File

@@ -310,19 +310,19 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!client) if(!client)
return return
var/event_manager = is_event_manager(usr.client) var/mentor = is_mentor(usr.client)
if(!config.antag_hud_allowed && (!client.holder || event_manager)) if(!config.antag_hud_allowed && (!client.holder || mentor))
src << "<font color='red'>Admins have disabled this for this round.</font>" src << "<font color='red'>Admins have disabled this for this round.</font>"
return return
var/mob/observer/dead/M = src var/mob/observer/dead/M = src
if(jobban_isbanned(M, "AntagHUD")) if(jobban_isbanned(M, "AntagHUD"))
src << "<font color='red'><B>You have been banned from using this feature</B></font>" src << "<font color='red'><B>You have been banned from using this feature</B></font>"
return return
if(config.antag_hud_restricted && !M.has_enabled_antagHUD && (!client.holder || event_manager)) if(config.antag_hud_restricted && !M.has_enabled_antagHUD && (!client.holder || mentor))
var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No")
if(response == "No") return if(response == "No") return
M.can_reenter_corpse = 0 M.can_reenter_corpse = 0
if(!M.has_enabled_antagHUD && (!client.holder || event_manager)) if(!M.has_enabled_antagHUD && (!client.holder || mentor))
M.has_enabled_antagHUD = 1 M.has_enabled_antagHUD = 1
if(M.antagHUD) if(M.antagHUD)
M.antagHUD = 0 M.antagHUD = 0

View File

@@ -400,7 +400,7 @@ proc/is_blind(A)
return // Can't talk in deadchat if you can't see it. return // Can't talk in deadchat if you can't see it.
for(var/mob/M in player_list) for(var/mob/M in player_list)
if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && !is_event_manager(M.client))) && M.is_preference_enabled(/datum/client_preference/show_dsay)) if(M.client && ((!istype(M, /mob/new_player) && M.stat == DEAD) || (M.client.holder && !is_mentor(M.client))) && M.is_preference_enabled(/datum/client_preference/show_dsay))
var/follow var/follow
var/lname var/lname
if(M.forbid_seeing_deadchat && !M.client.holder) if(M.forbid_seeing_deadchat && !M.client.holder)

View File

@@ -479,7 +479,7 @@ var/world_topic_spam_protect_time = world.timeofday
/hook/startup/proc/loadMods() /hook/startup/proc/loadMods()
world.load_mods() world.load_mods()
world.load_event_managers() // no need to write another hook. world.load_mentors() // no need to write another hook.
return 1 return 1
/world/proc/load_mods() /world/proc/load_mods()
@@ -503,11 +503,11 @@ var/world_topic_spam_protect_time = world.timeofday
var/datum/admins/D = new /datum/admins(title, rights, ckey) var/datum/admins/D = new /datum/admins(title, rights, ckey)
D.associate(directory[ckey]) D.associate(directory[ckey])
/world/proc/load_event_managers() /world/proc/load_mentors()
if(config.admin_legacy_system) if(config.admin_legacy_system)
var/text = file2text("config/event_managers.txt") var/text = file2text("config/mentors.txt")
if (!text) if (!text)
error("Failed to load config/event_managers.txt") error("Failed to load config/mentors.txt")
else else
var/list/lines = splittext(text, "\n") var/list/lines = splittext(text, "\n")
for(var/line in lines) for(var/line in lines)
@@ -516,7 +516,7 @@ var/world_topic_spam_protect_time = world.timeofday
if (copytext(line, 1, 2) == ";") if (copytext(line, 1, 2) == ";")
continue continue
var/title = "Event Manager" var/title = "Mentor"
var/rights = admin_ranks[title] var/rights = admin_ranks[title]
var/ckey = copytext(line, 1, length(line)+1) var/ckey = copytext(line, 1, length(line)+1)

View File

@@ -29,7 +29,7 @@
Admin Observer Admin Observer
Moderator +MOD Moderator +MOD
Event Manager +ADMIN +EVENT +SPAWN +REJUV +VAREDIT +POSSESS +BUILDMODE +FUN +SOUNDS Mentor +MENTOR
Admin Candidate +ADMIN Admin Candidate +ADMIN
Trial Admin +@ +SPAWN +REJUV +VAREDIT +BAN Trial Admin +@ +SPAWN +REJUV +VAREDIT +BAN
@@ -43,4 +43,3 @@ Host +EVERYTHING
Developer +DEBUG +VAREDIT +SERVER +SPAWN +REJUV +POSSESS +BUILDMODE Developer +DEBUG +VAREDIT +SERVER +SPAWN +REJUV +POSSESS +BUILDMODE
Dev Mod +@ +MOD Dev Mod +@ +MOD
Dev Min +@ +ADMIN