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