From 8ef47216a5bd04f572b29320f586cc4283cb4cf2 Mon Sep 17 00:00:00 2001 From: oranges Date: Wed, 28 Jun 2017 02:18:44 +0000 Subject: [PATCH] Remove the R_REJUVINATE flag and replace with R_POLL Rejuvenation lives under R_ADMIN and R_POLL is a new flag you can grant to someone to allow them to create polls --- code/__DEFINES/admin.dm | 10 ++++++++-- code/__HELPERS/type2type.dm | 6 +++--- code/datums/datumvars.dm | 2 +- code/modules/admin/admin_ranks.dm | 10 ++++++++-- code/modules/admin/admin_verbs.dm | 15 ++++++++------- code/modules/admin/create_poll.dm | 2 +- code/modules/admin/topic.dm | 2 +- config/admin_ranks.txt | 8 ++++---- 8 files changed, 34 insertions(+), 21 deletions(-) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index c394f26b2a1..93ec62e92da 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -30,11 +30,17 @@ #define R_POSSESS 64 #define R_PERMISSIONS 128 #define R_STEALTH 256 -#define R_REJUVINATE 512 +#define R_POLL 512 #define R_VAREDIT 1024 #define R_SOUNDS 2048 #define R_SPAWN 4096 +#if DM_VERSION > 512 +#error Remove the flag below , its been long enough +#endif +//legacy , remove post 512, it was replaced by R_POLL +#define R_REJUVINATE 2 + #define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. #define ADMIN_QUE(user) "(?)" @@ -65,4 +71,4 @@ #define AHELP_ACTIVE 1 #define AHELP_CLOSED 2 -#define AHELP_RESOLVED 3 \ No newline at end of file +#define AHELP_RESOLVED 3 diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 2444f84a6bc..a35491212ca 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -199,8 +199,8 @@ . += "[seperator]+PERMISSIONS" if(rights & R_STEALTH) . += "[seperator]+STEALTH" - if(rights & R_REJUVINATE) - . += "[seperator]+REJUVINATE" + if(rights & R_POLL) + . += "[seperator]+POLL" if(rights & R_VAREDIT) . += "[seperator]+VAREDIT" if(rights & R_SOUNDS) @@ -536,4 +536,4 @@ /proc/color_matrix2color_hex(list/the_matrix) if(!istype(the_matrix) || the_matrix.len != 20) return "#ffffffff" - return rgb(the_matrix[1]*255, the_matrix[6]*255, the_matrix[11]*255, the_matrix[16]*255) \ No newline at end of file + return rgb(the_matrix[1]*255, the_matrix[6]*255, the_matrix[11]*255, the_matrix[16]*255) diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 7eb8e95d4b9..b9c90ce4f50 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -494,7 +494,7 @@ href_list["datumrefresh"] = href_list["mob_player_panel"] else if(href_list["godmode"]) - if(!check_rights(R_REJUVINATE)) + if(!check_rights(R_ADMIN)) return var/mob/M = locate(href_list["godmode"]) diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 8356f693c69..5d6c1a79023 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -27,6 +27,9 @@ GLOBAL_PROTECT(admin_ranks) /datum/admin_rank/vv_edit_var(var_name, var_value) return FALSE +#if DM_VERSION > 512 +#error remove the rejuv keyword from this proc +#endif /proc/admin_keyword_to_flag(word, previous_rights=0) var/flag = 0 switch(ckey(word)) @@ -48,8 +51,8 @@ GLOBAL_PROTECT(admin_ranks) flag = R_POSSESS if("stealth") flag = R_STEALTH - if("rejuv","rejuvinate") - flag = R_REJUVINATE + if("poll") + flag = R_POLL if("varedit") flag = R_VAREDIT if("everything","host","all") @@ -60,6 +63,9 @@ GLOBAL_PROTECT(admin_ranks) flag = R_SPAWN if("@","prev") flag = previous_rights + if("rejuv","rejuvinate") + stack_trace("Legacy keyword rejuvinate used defaulting to R_ADMIN") + flag = R_ADMIN return flag /proc/admin_keyword_to_path(word) //use this with verb keywords eg +/client/proc/blah diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 244e713f4fd..ffba9778ef7 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -66,7 +66,8 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/open_shuttle_manipulator, /* Opens shuttle manipulator UI */ /client/proc/deadchat, /client/proc/toggleprayers, - /client/proc/toggleadminhelpsound + /client/proc/toggleadminhelpsound, + /client/proc/respawn_character ) GLOBAL_PROTECT(admin_verbs_ban) GLOBAL_LIST_INIT(admin_verbs_ban, list(/client/proc/unban_panel,/client/proc/DB_ban_panel,/client/proc/stickybanpanel)) @@ -157,9 +158,9 @@ GLOBAL_LIST_INIT(admin_verbs_debug, world.AVerbsDebug()) GLOBAL_PROTECT(admin_verbs_possess) GLOBAL_LIST_INIT(admin_verbs_possess, list(/proc/possess,/proc/release)) GLOBAL_PROTECT(admin_verbs_permissions) -GLOBAL_LIST_INIT(admin_verbs_permissions, list(/client/proc/edit_admin_permissions,/client/proc/create_poll)) -GLOBAL_PROTECT(admin_verbs_rejuv) -GLOBAL_LIST_INIT(admin_verbs_rejuv, list(/client/proc/respawn_character)) +GLOBAL_LIST_INIT(admin_verbs_permissions, list(/client/proc/edit_admin_permissions)) +GLOBAL_PROTECT(admin_verbs_poll) +GLOBAL_LIST_INIT(admin_verbs_poll, list(/client/proc/create_poll)) //verbs which can be hidden - needs work GLOBAL_PROTECT(admin_verbs_hideable) @@ -254,8 +255,8 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( verbs += GLOB.admin_verbs_permissions if(rights & R_STEALTH) verbs += /client/proc/stealth - if(rights & R_REJUVINATE) - verbs += GLOB.admin_verbs_rejuv + if(rights & R_ADMIN) + verbs += GLOB.admin_verbs_poll if(rights & R_SOUNDS) verbs += GLOB.admin_verbs_sounds if(rights & R_SPAWN) @@ -278,7 +279,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( GLOB.admin_verbs_possess, GLOB.admin_verbs_permissions, /client/proc/stealth, - GLOB.admin_verbs_rejuv, + GLOB.admin_verbs_poll, GLOB.admin_verbs_sounds, GLOB.admin_verbs_spawn, /*Debug verbs added by "show debug verbs"*/ diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm index ba26747a437..15c57a8a899 100644 --- a/code/modules/admin/create_poll.dm +++ b/code/modules/admin/create_poll.dm @@ -1,7 +1,7 @@ /client/proc/create_poll() set name = "Create Poll" set category = "Special Verbs" - if(!check_rights(R_PERMISSIONS)) + if(!check_rights(R_POLL)) return if(!SSdbcore.Connect()) to_chat(src, "Failed to establish database connection.") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a7fa8a77ef5..0ba24647324 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1442,7 +1442,7 @@ message_admins("[key_name_admin(usr)] has sent [key_name_admin(L)] to the thunderdome. (Observer.)") else if(href_list["revive"]) - if(!check_rights(R_REJUVINATE)) + if(!check_rights(R_ADMIN)) return var/mob/living/L = locate(href_list["revive"]) diff --git a/config/admin_ranks.txt b/config/admin_ranks.txt index 96737c54847..283c3d9d5dc 100644 --- a/config/admin_ranks.txt +++ b/config/admin_ranks.txt @@ -19,7 +19,7 @@ # +BAN = the ability to ban, jobban and fullban # +STEALTH = the ability to stealthmin (make yourself appear with a fake name to everyone but other admins # +POSSESS = the ability to possess objects -# +REJUV (or +REJUVINATE) = the ability to heal, respawn, modify damage and use godmode +# +POLL (or +POLL) = the ability to create in game server polls (requires DB) # +BUILD (or +BUILDMODE) = the ability to use buildmode # +SERVER = higher-risk admin verbs and abilities, such as those which affect the server configuration. # +DEBUG = debug tools used for diagnosing and fixing problems. It's useful to give this to coders so they can investigate problems on a live server. @@ -33,11 +33,11 @@ Admin Observer Moderator = +ADMIN Admin Candidate = +@ -Trial Admin = +@ +SPAWN +REJUV +VAREDIT +BAN -Badmin = +@ +POSSESS +BUILDMODE +SERVER +FUN +Trial Admin = +@ +SPAWN +VAREDIT +BAN +Badmin = +@ +POSSESS +POLL +BUILDMODE +SERVER +FUN Game Admin = +@ +STEALTH +SOUNDS +DEBUG Game Master = +EVERYTHING Host = +EVERYTHING -Coder = +DEBUG +VAREDIT +SERVER +SPAWN \ No newline at end of file +Coder = +DEBUG +VAREDIT +SERVER +SPAWN +POLL