mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 14:31:59 +01:00
Expanded admin powers for full moderators. (#20522)
- Full moderators can now use rejuvenate. - Full moderators can now spawn atoms. - Full moderators can now remove/add languages. - Full moderators can now teleport mobs. - Repurposes R_BAN into a generic permission that full moderators and above have, and locks teleport behind it. None of these powers may be used for round-altering purposes. Pending review by the head admin and the host. To-do: check that Borealis and permissions in general don't explode with these changes. --------- Co-authored-by: realmattatlas <liermattia@gmail.com>
This commit is contained in:
co-authored by
realmattatlas
parent
89262c487e
commit
14d7425cee
@@ -34,8 +34,8 @@ var/list/forum_groupids_to_ranks = list()
|
||||
. |= R_POSSESS
|
||||
if ("r_stealth")
|
||||
. |= R_STEALTH
|
||||
if ("r_rejuv","r_rejuvinate")
|
||||
. |= R_REJUVINATE
|
||||
if ("r_rejuv","r_rejuvenate")
|
||||
. |= R_REJUVENATE
|
||||
if ("r_varedit")
|
||||
. |= R_VAREDIT
|
||||
if ("r_sound","r_sounds")
|
||||
@@ -49,7 +49,7 @@ var/list/forum_groupids_to_ranks = list()
|
||||
if ("r_cciaa")
|
||||
. |= R_CCIAA
|
||||
if ("r_everything","r_host","r_all")
|
||||
. |= (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_CCIAA | R_DEV)
|
||||
. |= (R_BUILDMODE | R_ADMIN | R_BAN | R_FUN | R_SERVER | R_DEBUG | R_PERMISSIONS | R_POSSESS | R_STEALTH | R_REJUVENATE | R_VAREDIT | R_SOUNDS | R_SPAWN | R_MOD | R_CCIAA | R_DEV)
|
||||
else
|
||||
crash_with("Unknown rank in file: [auth]")
|
||||
|
||||
|
||||
@@ -71,7 +71,6 @@ GLOBAL_LIST_INIT(admin_verbs_admin, list(
|
||||
/datum/admins/proc/show_player_info,
|
||||
/client/proc/free_slot, //frees slot for chosen job,
|
||||
/client/proc/cmd_admin_change_custom_event,
|
||||
/client/proc/cmd_admin_rejuvenate,
|
||||
/client/proc/toggleattacklogs,
|
||||
/client/proc/toggledebuglogs,
|
||||
/client/proc/toggleghostwriters,
|
||||
@@ -152,6 +151,7 @@ GLOBAL_LIST_INIT(admin_verbs_spawn, list(
|
||||
/datum/admins/proc/spawn_custom_item,
|
||||
/datum/admins/proc/spawn_plant,
|
||||
/datum/admins/proc/spawn_atom, // allows us to spawn instances,
|
||||
/client/proc/cmd_admin_delete, // delete an instance/object/mob/etc,
|
||||
/client/proc/respawn_character,
|
||||
/client/proc/spawn_chemdisp_cartridge
|
||||
))
|
||||
@@ -166,7 +166,6 @@ GLOBAL_LIST_INIT(admin_verbs_server, list(
|
||||
/datum/admins/proc/immreboot,
|
||||
/client/proc/everyone_random,
|
||||
/datum/admins/proc/toggleAI,
|
||||
/client/proc/cmd_admin_delete, // delete an instance/object/mob/etc,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/datum/admins/proc/adrev,
|
||||
/datum/admins/proc/adspawn,
|
||||
@@ -263,7 +262,8 @@ GLOBAL_LIST_INIT(admin_verbs_permissions, list(
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(admin_verbs_rejuv, list(
|
||||
/client/proc/respawn_character
|
||||
/client/proc/respawn_character,
|
||||
/client/proc/cmd_admin_rejuvenate
|
||||
))
|
||||
|
||||
|
||||
@@ -532,7 +532,7 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
if(holder.rights & R_POSSESS) add_verb(src, GLOB.admin_verbs_possess)
|
||||
if(holder.rights & R_PERMISSIONS) add_verb(src, GLOB.admin_verbs_permissions)
|
||||
if(holder.rights & R_STEALTH) add_verb(src, /client/proc/stealth)
|
||||
if(holder.rights & R_REJUVINATE) add_verb(src, GLOB.admin_verbs_rejuv)
|
||||
if(holder.rights & R_REJUVENATE) add_verb(src, GLOB.admin_verbs_rejuv)
|
||||
if(holder.rights & R_SPAWN) add_verb(src, GLOB.admin_verbs_spawn)
|
||||
if(holder.rights & R_SOUNDS) add_verb(src, GLOB.admin_verbs_sounds)
|
||||
if(holder.rights & R_MOD) add_verb(src, GLOB.admin_verbs_mod)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
if(var_to_edit in VVlocked)
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(var_to_edit in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG)) return
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
if(var_to_edit in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG)) return
|
||||
if(!(var_to_edit in A.vars))
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in list("Game Master","Game Admin", "Trial Admin", "Admin Observer","*New Rank*")
|
||||
|
||||
var/rights = D?.rights || 0
|
||||
var/datum/admin_rank/new_admin_rank_datum
|
||||
|
||||
switch(new_rank)
|
||||
if(null, "")
|
||||
@@ -103,18 +104,19 @@
|
||||
to_chat(usr, SPAN_ALERT("Error editing rank: invalid rank."))
|
||||
return
|
||||
|
||||
|
||||
if(admin_ranks.len)
|
||||
if(new_rank in admin_ranks)
|
||||
rights = admin_ranks[new_rank] //we typed a rank which already exists, use its rights
|
||||
new_admin_rank_datum = admin_ranks[new_rank] //we typed a rank which already exists, use its rights
|
||||
else
|
||||
admin_ranks[new_rank] = 0 //add the new rank to admin_ranks
|
||||
else
|
||||
rights = admin_ranks[new_rank] //we input an existing rank, use its rights
|
||||
new_admin_rank_datum = admin_ranks[new_rank] //we input an existing rank, use its rights
|
||||
|
||||
if(D)
|
||||
D.disassociate() //remove adminverbs and unlink from client
|
||||
D.rank = new_rank //update the rank
|
||||
D.rights = rights //update the rights based on admin_ranks (default: 0)
|
||||
D.rights = new_admin_rank_datum.rights //update the rights based on admin_ranks (default: 0)
|
||||
else
|
||||
D = new /datum/admins(new_rank, rights, admin_ckey)
|
||||
|
||||
|
||||
+12
-12
@@ -141,7 +141,7 @@
|
||||
|
||||
else if(href_list["simplemake"])
|
||||
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/M = locate(href_list["mob"])
|
||||
@@ -474,7 +474,7 @@
|
||||
psi.check_psionic_trigger(100, "outside intervention", redactive = TRUE)
|
||||
|
||||
else if(href_list["monkeyone"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["monkeyone"])
|
||||
@@ -487,7 +487,7 @@
|
||||
H.monkeyize()
|
||||
|
||||
else if(href_list["corgione"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["corgione"])
|
||||
@@ -645,7 +645,7 @@
|
||||
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
|
||||
|
||||
else if(href_list["revive"])
|
||||
if(!check_rights(R_REJUVINATE))
|
||||
if(!check_rights(R_REJUVENATE))
|
||||
return
|
||||
|
||||
var/mob/living/L = locate(href_list["revive"])
|
||||
@@ -661,7 +661,7 @@
|
||||
to_chat(usr, "Admin Rejuvinates have been disabled")
|
||||
|
||||
else if(href_list["makeai"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeai"])
|
||||
@@ -674,7 +674,7 @@
|
||||
H.AIize()
|
||||
|
||||
else if(href_list["makeslime"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
|
||||
@@ -685,7 +685,7 @@
|
||||
usr.client.cmd_admin_slimeize(H)
|
||||
|
||||
else if(href_list["makerobot"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
|
||||
@@ -696,7 +696,7 @@
|
||||
usr.client.cmd_admin_robotize(H)
|
||||
|
||||
else if(href_list["makeanimal"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/M = locate(href_list["makeanimal"])
|
||||
@@ -707,7 +707,7 @@
|
||||
usr.client.cmd_admin_animalize(M)
|
||||
|
||||
else if(href_list["togmutate"])
|
||||
if(!check_rights(R_SPAWN))
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["togmutate"])
|
||||
@@ -1014,14 +1014,14 @@
|
||||
return
|
||||
|
||||
else if(href_list["jumpto"])
|
||||
if(!check_rights(R_ADMIN))
|
||||
if(!check_rights(R_BAN))
|
||||
return
|
||||
|
||||
var/mob/M = locate(href_list["jumpto"])
|
||||
usr.client.jumptomob(M)
|
||||
|
||||
else if(href_list["getmob"])
|
||||
if(!check_rights(R_ADMIN))
|
||||
if(!check_rights(R_BAN))
|
||||
return
|
||||
|
||||
if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes")
|
||||
@@ -1030,7 +1030,7 @@
|
||||
usr.client.Getmob(M)
|
||||
|
||||
else if(href_list["sendmob"])
|
||||
if(!check_rights(R_ADMIN))
|
||||
if(!check_rights(R_BAN))
|
||||
return
|
||||
|
||||
var/mob/M = locate(href_list["sendmob"])
|
||||
|
||||
@@ -214,7 +214,7 @@ var/list/VVdynamic_lock = list(
|
||||
if(variable in VVlocked)
|
||||
if(!check_rights(R_DEBUG|R_DEV)) return
|
||||
if(variable in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG|R_DEV)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
if(variable in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
|
||||
@@ -433,7 +433,7 @@ var/list/VVdynamic_lock = list(
|
||||
if(param_var_name in VVlocked)
|
||||
if(!check_rights(R_DEBUG|R_DEV)) return
|
||||
if(param_var_name in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG|R_DEV)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
if(param_var_name in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
if(VVdynamic_lock[variable])
|
||||
@@ -498,7 +498,7 @@ var/list/VVdynamic_lock = list(
|
||||
if(variable in VVlocked)
|
||||
if(!check_rights(R_DEBUG|R_DEV)) return
|
||||
if(variable in VVckey_edit)
|
||||
if(!check_rights(R_SPAWN|R_DEBUG|R_DEV)) return
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
if(variable in VVicon_edit_lock)
|
||||
if(!check_rights(R_FUN|R_DEBUG|R_DEV)) return
|
||||
if(VVdynamic_lock[variable])
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
href_list["datumrefresh"] = href_list["give_spell"]
|
||||
|
||||
else if(href_list["godmode"])
|
||||
if(!check_rights(R_REJUVINATE)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/M = locate(href_list["godmode"])
|
||||
if(!istype(M))
|
||||
@@ -256,7 +256,7 @@
|
||||
href_list["datumrefresh"] = href_list["rotatedatum"]
|
||||
|
||||
else if(href_list["makemonkey"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makemonkey"])
|
||||
if(!istype(H))
|
||||
@@ -270,7 +270,7 @@
|
||||
holder.Topic(href, list("monkeyone"=href_list["makemonkey"]))
|
||||
|
||||
else if(href_list["makerobot"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
|
||||
if(!istype(H))
|
||||
@@ -284,7 +284,7 @@
|
||||
holder.Topic(href, list("makerobot"=href_list["makerobot"]))
|
||||
|
||||
else if(href_list["makeslime"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
|
||||
if(!istype(H))
|
||||
@@ -298,7 +298,7 @@
|
||||
holder.Topic(href, list("makeslime"=href_list["makeslime"]))
|
||||
|
||||
else if(href_list["makeai"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeai"])
|
||||
if(!istype(H))
|
||||
@@ -312,7 +312,7 @@
|
||||
holder.Topic(href, list("makeai"=href_list["makeai"]))
|
||||
|
||||
else if(href_list["setspecies"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/human/H = locate(href_list["setspecies"])
|
||||
if(!istype(H))
|
||||
@@ -426,7 +426,7 @@
|
||||
remove_verb(H, verb)
|
||||
|
||||
else if(href_list["addorgan"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/M = locate(href_list["addorgan"])
|
||||
if(!istype(M))
|
||||
@@ -450,7 +450,7 @@
|
||||
|
||||
|
||||
else if(href_list["remorgan"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/living/carbon/M = locate(href_list["remorgan"])
|
||||
if(!istype(M))
|
||||
|
||||
Reference in New Issue
Block a user