- Added a new permission type called 'ADVDEBUG', which contains the debug verbs, which should really not be available to run-of-the-mill admins, but should be available to coders, who can use them properly. (debug-verbs and advanced proc call).

- Moved 'reload admins' into the SERVER permission. It already had a check for R_SERVER when it was run, so it being in the debug list was likely a typo. There should probably be an ADVANCEDADMIN permission type or something, that contains the admin-related tools that you don't want all admins to have access to. A 'game masters only' list of verbs, so to speak.
- Edited admin_ranks.txt and the other dm files accordingly.
- Standardized diagnostics.dm

PS: I really love permission based admin verb assignment. So much easier to work with!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5012 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2012-11-06 06:17:57 +00:00
parent 65154e531d
commit dfa45366b8
9 changed files with 161 additions and 155 deletions

View File

@@ -262,4 +262,5 @@ proc/tg_list2text(list/list, glue=",")
if(rights & R_REJUVINATE) . += "+REJUVINATE"
if(rights & R_VAREDIT) . += "+VAREDIT"
if(rights & R_SOUNDS) . += "+SOUND"
if(rights & R_ADVDEBUG) . += "+ADVDEBUG"
return .

View File

@@ -221,7 +221,8 @@ var/fileaccess_timer = 1800 //Cannot access files by ftp until the game is finis
#define R_REJUVINATE 512
#define R_VAREDIT 1024
#define R_SOUNDS 2048
#define R_ADVDEBUG 4096
#define R_MAXPERMISSION 2048 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
#define R_HOST 65535

View File

@@ -39,6 +39,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("varedit") rights |= R_VAREDIT
if("everything","host","all") rights |= R_HOST
if("sound","sounds") rights |= R_SOUNDS
if("advdebug") rights |= R_ADVDEBUG
admin_ranks[rank] = rights
previous_rights = rights

View File

@@ -102,23 +102,24 @@ var/list/admin_verbs_server = list(
/datum/admins/proc/toggleoocdead,
/datum/admins/proc/adrev,
/datum/admins/proc/adspawn,
/datum/admins/proc/adjump
/datum/admins/proc/adjump,
/client/proc/reload_admins
)
var/list/admin_verbs_debug = list(
/client/proc/restart_controller,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/callproc,
/client/proc/Debug2,
/client/proc/reload_admins,
/client/proc/kill_air,
/client/proc/cmd_debug_make_powernets,
/client/proc/kill_airgroup,
/client/proc/debug_controller,
/client/proc/startSinglo,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_tog_aliens,
/client/proc/air_report,
)
var/list/admin_verbs_advdebug = list(
/client/proc/restart_controller,
/client/proc/enable_debug_verbs
)
var/list/admin_verbs_possess = list(
@@ -228,6 +229,7 @@ var/list/admin_verbs_hideable = list(
if(rights & R_STEALTH) verbs += /client/proc/stealth
if(rights & R_REJUVINATE) verbs += admin_verbs_rejuv
if(rights & R_SOUNDS) verbs += admin_verbs_sounds
if(rights & R_ADVDEBUG) verbs += admin_verbs_advdebug
/client/proc/remove_admin_verbs()
if(holder)

View File

@@ -29,9 +29,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
set category = "Debug"
set name = "Advanced ProcCall"
if(!holder)
src << "Only administrators may use this command."
return
if(!check_rights(R_ADVDEBUG)) return
spawn(0)
var/target = null

View File

@@ -1,5 +1,4 @@
/client/proc
air_report()
/client/proc/air_report()
set category = "Debug"
set name = "Show Air Report"
@@ -42,7 +41,7 @@
usr << browse(output,"window=airreport")
feedback_add_details("admin_verb","SAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
air_status(turf/target as turf)
/client/proc/air_status(turf/target as turf)
set category = "Debug"
set name = "Display Air Status"
@@ -61,7 +60,7 @@
usr << "[trace_gas.type]: [trace_gas.moles]"
feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
fix_next_move()
/client/proc/fix_next_move()
set category = "Debug"
set name = "Unfreeze Everyone"
var/largest_move_time = 0
@@ -92,7 +91,7 @@
feedback_add_details("admin_verb","UFE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
radio_report()
/client/proc/radio_report()
set category = "Debug"
set name = "Radio report"
@@ -129,7 +128,7 @@
usr << browse(output,"window=radioreport")
feedback_add_details("admin_verb","RR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
reload_admins()
/client/proc/reload_admins()
set name = "Reload Admins"
set category = "Debug"
@@ -140,7 +139,7 @@
feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
jump_to_dead_group()
/client/proc/jump_to_dead_group()
set name = "Jump to dead group"
set category = "Debug"
if(!holder)
@@ -159,7 +158,7 @@
feedback_add_details("admin_verb","JDAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
kill_airgroup()
/client/proc/kill_airgroup()
set name = "Kill Local Airgroup"
set desc = "Use this to allow manual manupliation of atmospherics."
set category = "Debug"

View File

@@ -127,6 +127,9 @@ var/intercom_range_display_status = 0
/client/proc/enable_debug_verbs()
set category = "Debug"
set name = "Debug verbs"
if(!check_rights(R_ADVDEBUG)) return
src.verbs += /client/proc/do_not_use_these //-errorage
src.verbs += /client/proc/camera_view //-errorage
src.verbs += /client/proc/sec_camera_report //-errorage

View File

@@ -5,7 +5,7 @@
set name = "Set Ticklag"
set desc = "Sets a new tick lag. Recommend you don't mess with this too much! Stable, time-tested ticklag value is 0.9"
if(!check_rights(R_DEBUG)) return
if(!check_rights(R_ADVDEBUG)) return
var/newtick = input("Sets a new tick lag. Please don't mess with this too much! The stable, time-tested ticklag value is 0.9","Lag of Tick", world.tick_lag) as num|null
//I've used ticks of 2 before to help with serious singulo lags

View File

@@ -20,7 +20,8 @@
# +REJUV (or +REJUVINATE) = the ability to heal, respawn, modify damage and use godmode
# +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
# +DEBUG = debug tools used for diagnosing and fixing problems. The use of these requires some technical know-how, but can generally be used by trusted admins.
# +ADVDEBUG = advanced debug tools, which can destroy the game if used improperly. Only suitable for coders.
# +VAREDIT = everyone may view viewvars/debugvars/whatever you call it. This keyword allows you to actually EDIT those variables.
# +RIGHTS (or +PERMISSIONS) = allows you to promote and/or demote people.
# +SOUND (or +SOUNDS) = allows you to upload and play sounds
@@ -36,4 +37,4 @@ Game Master +EVERYTHING
Host +EVERYTHING
Coder +DEBUG +VAREDIT +SERVER
Coder +DEBUG +VAREDIT +SERVER +ADVDEBUG