From a3f8746c8c9302f2d013acbfe8f2bb98cd2cd614 Mon Sep 17 00:00:00 2001 From: Dalekfodder Date: Sat, 15 Mar 2014 15:53:15 +0200 Subject: [PATCH] R_DEV flag Seperates R_DEV flag. IS DIFFERENT FROM+DEBUG. More features to be added. --- code/__HELPERS/type2type.dm | 1 + code/game/verbs/ooc.dm | 2 ++ code/modules/admin/admin_ranks.dm | 2 +- code/modules/admin/admin_verbs.dm | 25 +++++++++++++++++++++++++ code/modules/admin/verbs/adminsay.dm | 18 ++++++++++++++++++ code/setup.dm | 3 ++- 6 files changed, 49 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 296b2e8e..d6977cb1 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -315,6 +315,7 @@ proc/tg_list2text(list/list, glue=",") if(rights & R_SOUNDS) . += "[seperator]+SOUND" if(rights & R_SPAWN) . += "[seperator]+SPAWN" if(rights & R_MOD) . += "[seperator]+MODERATOR" + if(rights & R_DEV) . += "[seperator]+DEVELOPER" return . /proc/ui_style2icon(ui_style) diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 95b871cf..13e91914 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -48,6 +48,8 @@ var/global/normal_ooc_colour = "#002eb8" display_colour = "#184880" //dark blue if(holder.rights & R_DEBUG && !(holder.rights & R_ADMIN)) display_colour = "#1b521f" //dark green + if(holder.rights & R_DEV && !(holder.rights & R_ADMIN)) + display_colour = "#1b521f" else if(holder.rights & R_ADMIN) if(config.allow_admin_ooccolor) display_colour = src.prefs.ooccolor diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index ca49e960..e509e093 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -41,7 +41,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights if("sound","sounds") rights |= R_SOUNDS if("spawn","create") rights |= R_SPAWN if("mod") rights |= R_MOD - + if("developer") rights |= R_DEV admin_ranks[rank] = rights previous_rights = rights diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index c817a9bb..b43d32ec 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -103,6 +103,30 @@ var/list/admin_verbs_fun = list( /client/proc/set_ooc, /client/proc/editappear ) +var/list/admin_verbs_dev = list( + /client/proc/giveruntimelog, + /client/proc/getruntimelog, + /client/proc/cmd_admin_list_open_jobs, + /client/proc/Debug2, + /client/proc/kill_air, + /client/proc/ZASSettings, + /client/proc/cmd_debug_make_powernets, + /client/proc/kill_airgroup, + /client/proc/debug_controller, + /client/proc/cmd_debug_mob_lists, + /client/proc/cmd_admin_delete, + /client/proc/cmd_debug_del_all, + /client/proc/cmd_debug_tog_aliens, + /client/proc/air_report, + /client/proc/reload_admins, + /client/proc/restart_controller, + /client/proc/enable_debug_verbs, + /client/proc/callproc, + /client/proc/toggledebuglogs, + /client/proc/SDQL_query, + /client/proc/SDQL2_query, + /client/proc/cmd_dev_say +) var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_atom, /*allows us to spawn instances*/ /client/proc/respawn_character @@ -262,6 +286,7 @@ var/list/admin_verbs_mod = list( if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn if(holder.rights & R_MOD) verbs += admin_verbs_mod + if(holder.rights & R_DEV) verbs += admin_verbs_dev /client/proc/remove_admin_verbs() verbs.Remove( diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 8b7c1071..841297b5 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -35,3 +35,21 @@ for(var/client/C in admins) if((R_ADMIN|R_MOD) & C.holder.rights) C << "MOD: [key_name(src,1)] (JMP): [msg]" + +/client/proc/cmd_dev_say(msg as text) + set category = "Developer" + set name = "Desay" + set hidden = 1 + + if(!check_rights(R_DEV)) return + + msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) + if(!msg) return + + log_admin("[key_name(src)] : [msg]") + + if(check_rights(R_DEV,0)) + msg = "DEV: [key_name(usr, 1)]: [msg]" + for(var/client/C in admins) + if(R_DEV & C.holder.rights) + C << msg diff --git a/code/setup.dm b/code/setup.dm index d74845db..e5b9dc35 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -620,8 +620,9 @@ var/list/TAGGERLOCATIONS = list("Disposals", #define R_SOUNDS 2048 #define R_SPAWN 4096 #define R_MOD 8192 +#define R_DEV 16348 -#define R_MAXPERMISSION 8192 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. +#define R_MAXPERMISSION 16348 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. #define R_HOST 65535