From c0a77f827db04c2c843d773986b0152584571e4e Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Sun, 29 Mar 2015 07:10:59 +0100 Subject: [PATCH] No this is bad I can override all admins with this --- code/modules/admin/verbs/modifyvariables.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 51f5351a..cbe7f4fd 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -131,6 +131,7 @@ var/list/forbidden_varedit_object_types = list( if(!istype(L,/list)) src << "Not a List." var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine", "poo", "icon", "icon_state") + var/list/forbidden = list("holder") //Why this way, fuck knows. var/list/names = sortList(L) var/variable = input("Which var?","Var") as null|anything in names + "(ADD VAR)" @@ -149,6 +150,9 @@ var/list/forbidden_varedit_object_types = list( if(variable in locked) if(!check_rights(R_DEBUG|R_DEV|R_FUN)) return + if(variable in forbidden) + if(!check_rights(R_SERVER)) return + if(isnull(variable)) usr << "Unable to determine variable type." @@ -290,8 +294,10 @@ var/list/forbidden_varedit_object_types = list( src << "A variable with this name ([param_var_name]) doesn't exist in this atom ([O])" return - if(param_var_name == "holder" || (param_var_name in locked)) + if(param_var_name in locked) if(!check_rights(R_DEBUG|R_DEV|R_FUN)) return + if(param_var_name == "holder") + if(!check_rights(R_SERVER)) return variable = param_var_name @@ -348,8 +354,10 @@ var/list/forbidden_varedit_object_types = list( if(!variable) return var_value = O.vars[variable] - if(variable == "holder" || (variable in locked)) + if(param_var_name in locked) if(!check_rights(R_DEBUG|R_DEV|R_FUN)) return + if(param_var_name == "holder") + if(!check_rights(R_SERVER)) return if(!autodetect_class)