From f88da57e57d2c7b110a23b1e6e291f059635a321 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Mon, 23 Apr 2012 21:28:38 +0100 Subject: [PATCH] TG: - It is now forbidden by code for admins to edit an object of type /obj/admins, which gives them their admin power. - It is also forbidden by code for admins to edit the variables of feedback datum types and the blackbox for consistent data gathering. Revision: r3135 Author: baloh.matevz --- code/modules/admin/verbs/modifyvariables.dm | 13 +++++++++++++ icons/obj/ammo.dmi | Bin 8106 -> 8547 bytes 2 files changed, 13 insertions(+) diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 5ec9e14b966..51242323fa4 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -1,8 +1,15 @@ +var/list/forbidden_varedit_object_types = list( + /obj/admins, //Admins editing their own admin-power object? Yup, sounds like a good idea. + /obj/machinery/blackbox_recorder, //Prevents people messing with feedback gathering + /datum/feedback_variable //Prevents people messing with feedback gathering + ) + /client/proc/cmd_modify_object_variables(obj/O as obj|mob|turf|area in world) set category = "Debug" set name = "Edit Variables" set desc="(target) Edit a target item's variables" src.modify_variables(O) + //feedback_add_details("admin_verb","EDITV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_modify_ticker_variables() set category = "Debug" @@ -12,6 +19,7 @@ src << "Game hasn't started yet." else src.modify_variables(ticker) + // feedback_add_details("admin_verb","ETV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/mod_list_add_ass() //haha @@ -328,6 +336,11 @@ src << "Only administrators may use this command." return + for(var/p in forbidden_varedit_object_types) + if( istype(O,p) ) + usr << "\red It is forbidden to edit this object's variables." + return + var/class var/variable var/var_value diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index e911987632fe4be0b2a888522cd9398a207c0d9e..30aec0735620201b907e9eb265c4cdce402540ee 100644 GIT binary patch literal 8547 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 bwn>mJ`ka;3H6!p09=Lr|U$Yoy`|5uH_)W0}