diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index a8100038a8..b30d73e421 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -77,7 +77,7 @@
var/num_event_managers_online = 0
if(holder)
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_BAN & C.holder.rights) //VOREStation Edit
if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights)) //Event Managerss can't see stealthmins
continue
@@ -102,9 +102,16 @@
msg += "\n"
num_admins_online++
- else if(R_MOD & C.holder.rights) //Who shows up in mod rows.
+ else if(R_ADMIN & C.holder.rights && !(R_SERVER & C.holder.rights)) //VOREStation Edit
modmsg += "\t[C] is a [C.holder.rank]"
+ //VOREStation Addition Start
+ if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights))
+ continue
+ if(C.holder.fakekey)
+ msg += " (as [C.holder.fakekey])"
+ //VOREStation Addition End
+
if(isobserver(C.mob))
modmsg += " - Observing"
else if(istype(C.mob,/mob/new_player))
@@ -120,8 +127,14 @@
modmsg += "\n"
num_mods_online++
- else if(R_SERVER & C.holder.rights)
+ else if(R_SERVER & C.holder.rights) //VOREStation Edit
+ //VOREStation Edit Start - Adds Stealthmin support
+ if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights))
+ continue
devmsg += "\t[C] is a [C.holder.rank]"
+ if(C.holder.fakekey)
+ devmsg += " (as [C.holder.fakekey])"
+ //VOREStation Edit End
if(isobserver(C.mob))
devmsg += " - Observing"
else if(istype(C.mob,/mob/new_player))
@@ -137,8 +150,14 @@
devmsg += "\n"
num_devs_online++
- else if(R_EVENT & C.holder.rights)
+ else //VOREStation Edit
+ //VOREStation Edit Start - Adds Stealthmin support
+ if(C.holder.fakekey && (!R_ADMIN & holder.rights && !R_MOD & holder.rights))
+ continue
eventMmsg += "\t[C] is a [C.holder.rank]"
+ if(C.holder.fakekey)
+ eventMmsg += " (as [C.holder.fakekey])"
+ //VOREStation Edit End
if(isobserver(C.mob))
eventMmsg += " - Observing"
else if(istype(C.mob,/mob/new_player))
@@ -156,31 +175,36 @@
else
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_BAN & C.holder.rights) //VOREStation Edit
if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n"
num_admins_online++
- else if (R_MOD & C.holder.rights)
- modmsg += "\t[C] is a [C.holder.rank]\n"
- num_mods_online++
- else if (R_SERVER & C.holder.rights)
- devmsg += "\t[C] is a [C.holder.rank]\n"
- num_devs_online++
- else if (R_EVENT & C.holder.rights)
- eventMmsg += "\t[C] is a [C.holder.rank]\n"
- num_event_managers_online++
+ //VOREStation Block Edit Start
+ else if(R_ADMIN & C.holder.rights && !(R_SERVER & C.holder.rights))
+ if(!C.holder.fakekey)
+ modmsg += "\t[C] is a [C.holder.rank]\n"
+ num_mods_online++
+ else if(R_SERVER & C.holder.rights)
+ if(!C.holder.fakekey)
+ devmsg += "\t[C] is a [C.holder.rank]\n"
+ num_devs_online++
+ else
+ if(!C.holder.fakekey)
+ eventMmsg += "\t[C] is a [C.holder.rank]\n"
+ num_event_managers_online++
+ //VOREStation Block Edit End
if(config.admin_irc)
to_chat(src, "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.")
msg = "Current Admins ([num_admins_online]):\n" + msg
if(config.show_mods)
- msg += "\n Current Moderators ([num_mods_online]):\n" + modmsg
+ msg += "\n Current Game Masters ([num_mods_online]):\n" + modmsg //VOREStation Edit
if(config.show_devs)
msg += "\n Current Developers ([num_devs_online]):\n" + devmsg
if(config.show_event_managers)
- msg += "\n Current Event Managers ([num_event_managers_online]):\n" + eventMmsg
+ msg += "\n Current Miscellaneous ([num_event_managers_online]):\n" + eventMmsg //VOREStation Edit
src << msg
diff --git a/code/modules/admin/admin_secrets.dm b/code/modules/admin/admin_secrets.dm
index 5f04582ace..a0e5e24804 100644
--- a/code/modules/admin/admin_secrets.dm
+++ b/code/modules/admin/admin_secrets.dm
@@ -99,18 +99,18 @@ var/datum/admin_secrets/admin_secrets = new()
/datum/admin_secret_item/admin_secret
category = /datum/admin_secret_category/admin_secrets
log = 0
- permissions = R_ADMIN|R_EVENT
+ permissions = R_ADMIN //VOREStation Edit
/datum/admin_secret_item/random_event
category = /datum/admin_secret_category/random_events
- permissions = R_FUN|R_EVENT
+ permissions = R_FUN //VOREStation Edit
warn_before_use = 1
/datum/admin_secret_item/fun_secret
category = /datum/admin_secret_category/fun_secrets
- permissions = R_FUN|R_EVENT
+ permissions = R_FUN //VOREStation Edit
warn_before_use = 1
/datum/admin_secret_item/final_solution
category = /datum/admin_secret_category/final_solutions
- permissions = R_FUN|R_SERVER|R_ADMIN|R_EVENT
+ permissions = R_FUN|R_SERVER|R_ADMIN //VOREStation Edit
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index cb111adc9c..331eb87873 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -358,52 +358,13 @@ var/list/admin_verbs_mod = list(
/datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently,
)
+//VOREStation Edit Start - Highly Modified List
var/list/admin_verbs_event_manager = list(
- /client/proc/cmd_event_say,
- /client/proc/cmd_admin_pm_context,
- /client/proc/cmd_admin_pm_panel,
- /datum/admins/proc/PlayerNotes,
- /client/proc/admin_ghost,
- /datum/admins/proc/show_player_info,
- /client/proc/dsay,
- /client/proc/cmd_admin_subtle_message,
- /client/proc/debug_variables,
- /client/proc/check_antagonists,
- /client/proc/aooc,
- /datum/admins/proc/paralyze_mob,
- /client/proc/cmd_admin_direct_narrate,
- /client/proc/allow_character_respawn,
- /datum/admins/proc/sendFax,
- /client/proc/respawn_character,
- /proc/possess,
- /proc/release,
- /client/proc/callproc,
- /client/proc/callproc_datum,
- /client/proc/debug_controller,
- /client/proc/show_gm_status,
- /datum/admins/proc/change_weather,
- /datum/admins/proc/change_time,
- /client/proc/admin_give_modifier,
- /client/proc/Jump,
- /client/proc/jumptomob,
- /client/proc/jumptocoord,
- /client/proc/cmd_admin_delete,
- /datum/admins/proc/delay,
- /client/proc/Set_Holiday,
- /client/proc/make_sound,
- /client/proc/toggle_random_events,
- /datum/admins/proc/cmd_admin_dress,
- /client/proc/cmd_admin_gib_self,
- /client/proc/drop_bomb,
- /client/proc/cmd_admin_add_freeform_ai_law,
- /client/proc/cmd_admin_add_random_ai_law,
- /client/proc/make_sound,
- /client/proc/toggle_random_events,
- /client/proc/editappear,
- /client/proc/roll_dices,
- /datum/admins/proc/call_supply_drop,
- /datum/admins/proc/call_drop_pod
+ /client/proc/cmd_admin_say, //admin-only ooc chat,
+ /client/proc/cmd_mod_say,
+ /client/proc/cmd_event_say
)
+//VOREStation Edit End
/client/proc/add_admin_verbs()
if(holder)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 284db26a7f..63959aed86 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -251,7 +251,7 @@
href_list["secretsadmin"] = "check_antagonist"
else if(href_list["delay_round_end"])
- if(!check_rights(R_SERVER|R_EVENT)) return
+ if(!check_rights(R_SERVER)) return //VOREStation Edit
ticker.delay_end = !ticker.delay_end
log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
@@ -1238,7 +1238,7 @@
show_player_panel(M)
else if(href_list["adminplayerobservejump"])
- if(!check_rights(R_EVENT|R_MOD|R_ADMIN|R_SERVER|R_EVENT)) return
+ if(!check_rights(R_MOD|R_ADMIN|R_SERVER)) return //VOREStation Edit
var/mob/M = locate(href_list["adminplayerobservejump"])
@@ -1248,7 +1248,7 @@
C.jumptomob(M)
else if(href_list["adminplayerobservefollow"])
- if(!check_rights(R_EVENT|R_MOD|R_ADMIN|R_SERVER|R_EVENT))
+ if(!check_rights(R_MOD|R_ADMIN|R_SERVER)) //VOREStation Edit
return
var/mob/M = locate(href_list["adminplayerobservefollow"])
@@ -1268,7 +1268,7 @@
if(ismob(M))
var/take_msg = "ADMINHELP: [key_name(usr.client)] is attending to [key_name(M)]'s adminhelp, please don't dogpile them."
for(var/client/X in admins)
- if((R_ADMIN|R_MOD|R_EVENT|R_SERVER) & X.holder.rights)
+ if((R_ADMIN|R_MOD|R_SERVER) & X.holder.rights) //VOREStation Edit
to_chat(X, take_msg)
to_chat(M, "Your adminhelp is being attended to by [usr.client]. Thanks for your patience!")
// VoreStation Edit Start
@@ -1284,7 +1284,7 @@
to_chat(usr, "Unable to locate mob.")
else if(href_list["adminplayerobservecoodjump"])
- if(!check_rights(R_ADMIN|R_SERVER|R_MOD|R_EVENT)) return
+ if(!check_rights(R_ADMIN|R_SERVER|R_MOD)) return //VOREStation Edit
var/x = text2num(href_list["X"])
var/y = text2num(href_list["Y"])
@@ -1876,7 +1876,7 @@
vsc.SetDefault(usr)
else if(href_list["toglang"])
- if(check_rights(R_SPAWN|R_EVENT))
+ if(check_rights(R_SPAWN)) //VOREStation Edit
var/mob/M = locate(href_list["toglang"])
if(!istype(M))
usr << "[M] is illegal type, must be /mob!"
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index d425e60f57..200a742b8c 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -11,9 +11,9 @@
log_adminsay(msg,src)
- //VOREStation Edit Start - Adds R_STEALTH
+ //VOREStation Edit Start - Adds R_EVENT
for(var/client/C in admins)
- if(check_rights(R_ADMIN|R_STEALTH))
+ if(check_rights(R_ADMIN|R_EVENT))
C << "" + create_text_tag("admin", "ADMIN:", C) + " [key_name(usr, 1)]([admin_jump_link(mob, src)]): [msg]"
//VOREStation Edit End
@@ -24,7 +24,7 @@
set name = "Msay"
set hidden = 1
- if(!check_rights(R_ADMIN|R_MOD|R_SERVER|R_STEALTH)) //VOREStation Edit
+ if(!check_rights(R_ADMIN|R_MOD|R_SERVER|R_EVENT)) //VOREStation Edit
return
msg = sanitize(msg)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 1a3fbfe76f..3367b98852 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -615,7 +615,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Explosion"
- if(!check_rights(R_DEBUG|R_FUN|R_EVENT)) return
+ if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit
var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null
if(devastation == null) return
@@ -643,7 +643,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "EM Pulse"
- if(!check_rights(R_DEBUG|R_FUN|R_EVENT)) return
+ if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit
var/heavy = input("Range of heavy pulse.", text("Input")) as num|null
if(heavy == null) return
@@ -669,7 +669,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Gib"
- if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return
+ if(!check_rights(R_ADMIN|R_FUN)) return //VOREStation Edit
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
if(confirm != "Yes") return
@@ -826,7 +826,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if ((!( ticker ) || !emergency_shuttle.location()))
return
- if(!check_rights(R_ADMIN|R_EVENT)) return
+ if(!check_rights(R_ADMIN)) return //VOREStation Edit
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
if(confirm != "Yes") return
@@ -855,7 +855,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Admin"
set name = "Cancel Shuttle"
- if(!check_rights(R_ADMIN|R_EVENT)) return
+ if(!check_rights(R_ADMIN)) return //VOREStation Edit
if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") return
@@ -876,7 +876,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if (!ticker)
return
- if(!check_rights(R_ADMIN|R_EVENT)) return
+ if(!check_rights(R_ADMIN)) return //VOREStation Edit
emergency_shuttle.deny_shuttle = !emergency_shuttle.deny_shuttle
@@ -932,7 +932,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Toggle random events on/off"
set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off"
- if(!check_rights(R_SERVER|R_EVENT)) return
+ if(!check_rights(R_SERVER)) return //VOREStation Edit
if(!config.allow_random_events)
config.allow_random_events = 1