From 18a2e58fbc3d71ffa2264aee4996ef289bd037db Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Fri, 27 Nov 2015 17:43:43 +1100 Subject: [PATCH] adds on_varedit proc --- code/game/atoms.dm | 3 ++ code/modules/admin/verbs/massmodvar.dm | 32 +++++++++++++++++++++ code/modules/admin/verbs/modifyvariables.dm | 4 +++ 3 files changed, 39 insertions(+) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 8e1d0b2da09..a0565f94736 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -388,3 +388,6 @@ var/list/blood_splatter_icons = list() /atom/Stat() . = ..() sleep(1) + +/atom/proc/on_varedit(modified_var) + return diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm index 58394d17d93..873a2e5463c 100644 --- a/code/modules/admin/verbs/massmodvar.dm +++ b/code/modules/admin/verbs/massmodvar.dm @@ -453,6 +453,38 @@ if (A.type == O.type) A.vars[variable] = O.vars[variable] + if(method) + if(istype(O,/mob)) + for(var/mob/M in mob_list) + if(istype(M,O.type)) + M.on_varedit(variable) + + else if(istype(O,/obj)) + for(var/obj/A in world) + if(istype(A,O.type)) + A.on_varedit(variable) + + else if(istype(O,/turf)) + for(var/turf/A in world) + if(istype(A,O.type)) + A.on_varedit(variable) + + else + if(istype(O, /mob)) + for(var/mob/M in mob_list) + if(M.type == O.type) + M.on_varedit(variable) + + else if(istype(O, /obj)) + for(var/obj/A in world) + if(A.type == O.type) + A.on_varedit(variable) + + else if(istype(O, /turf)) + for(var/turf/A in world) + if(A.type == O.type) + A.on_varedit(variable) + world.log << "### MassVarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]" log_admin("[key_name(src)] mass modified [original_name]'s [variable] to [O.vars[variable]]") message_admins("[key_name_admin(src)] mass modified [original_name]'s [variable] to [O.vars[variable]]") \ No newline at end of file diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 913324f77b2..d3b22c446c9 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -143,6 +143,7 @@ var/list/VVckey_edit = list("key", "ckey") switch(alert("Would you like to associate a var with the list entry?",,"Yes","No")) if("Yes") L[var_value] = mod_list_add_ass(O) //haha + O.on_varedit(objectvar) world.log << "### ListVarEdit by [src]: [O.type] [objectvar]: ADDED=[var_value]" log_admin("[key_name(src)] modified [original_name]'s [objectvar]: ADDED=[var_value]") message_admins("[key_name_admin(src)] modified [original_name]'s [objectvar]: ADDED=[var_value]") @@ -299,6 +300,7 @@ var/list/VVckey_edit = list("key", "ckey") log_admin("[key_name(src)] modified [original_name]'s [objectvar]: REMOVED=[variable]") message_admins("[key_name_admin(src)] modified [original_name]'s [objectvar]: REMOVED=[variable]") L -= variable + O.on_varedit(objectvar) return if("text") @@ -365,6 +367,7 @@ var/list/VVckey_edit = list("key", "ckey") else L[L.Find(variable)] = new_var + O.on_varedit(objectvar) world.log << "### ListVarEdit by [src]: [O.type] [objectvar]: [original_var]=[new_var]" log_admin("[key_name(src)] modified [original_name]'s [objectvar]: [original_var]=[new_var]") message_admins("[key_name_admin(src)] modified [original_name]'s varlist [objectvar]: [original_var]=[new_var]") @@ -617,6 +620,7 @@ var/list/VVckey_edit = list("key", "ckey") if("marked datum") O.vars[variable] = holder.marked_datum + O.on_varedit(variable) world.log << "### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]" log_admin("[key_name(src)] modified [original_name]'s [variable] to [O.vars[variable]]") message_admins("[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]")