From 0161d6fd8f33812804b6437683479e863d09acae Mon Sep 17 00:00:00 2001 From: Thunder12345 Date: Sun, 27 Mar 2016 21:37:33 +0100 Subject: [PATCH 1/2] Adds new atom and new datum options to viewvars --- code/modules/admin/verbs/modifyvariables.dm | 60 ++++++++++++++++++--- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index b602d141ddc..3dbd0d703c5 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -33,10 +33,10 @@ var/list/VVckey_edit = list("key", "ckey") var/class = "text" if(src.holder && src.holder.marked_datum) class = input("What kind of variable?","Variable Type") as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default","marked datum ([holder.marked_datum.type])") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum", "marked datum ([holder.marked_datum.type])") else class = input("What kind of variable?","Variable Type") as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum") if(!class) return @@ -72,6 +72,14 @@ var/list/VVckey_edit = list("key", "ckey") if("marked datum") var_value = holder.marked_datum + if("new atom") + var/type = input("Enter type:","Type") as null|anything in typesof(/obj,/mob,/area,/turf) + var_value = new type() + + if("new datum") + var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var_value = new type() + if(!var_value) return if(istext(var_value)) @@ -90,10 +98,10 @@ var/list/VVckey_edit = list("key", "ckey") var/class = "text" if(src.holder && src.holder.marked_datum) class = input("What kind of variable?","Variable Type") as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default","marked datum ([holder.marked_datum.type])") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum","marked datum ([holder.marked_datum.type])") else class = input("What kind of variable?","Variable Type") as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum") if(!class) return @@ -129,6 +137,14 @@ var/list/VVckey_edit = list("key", "ckey") if("marked datum") var_value = holder.marked_datum + if("new atom") + var/type = input("Enter type:","Type") as null|anything in typesof(/obj,/mob,/area,/turf) + var_value = new type() + + if("new datum") + var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var_value = new type() + if(!var_value) return if(istext(var_value)) @@ -267,10 +283,10 @@ var/list/VVckey_edit = list("key", "ckey") var/class = "text" if(src.holder && src.holder.marked_datum) class = input("What kind of variable?","Variable Type",default) as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default","marked datum ([holder.marked_datum.type])", "DELETE FROM LIST") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum","marked datum ([holder.marked_datum.type])", "DELETE FROM LIST") else class = input("What kind of variable?","Variable Type",default) as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "DELETE FROM LIST") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum", "DELETE FROM LIST") if(!class) return @@ -372,6 +388,22 @@ var/list/VVckey_edit = list("key", "ckey") else L[L.Find(variable)] = new_var + if("new atom") + var/type = input("Enter type:","Type") as null|anything in typesof(/obj,/mob,/area,/turf) + new_var = new type() + if(assoc) + L[assoc_key] = new_var + else + L[L.Find(variable)] = new_var + + if("new datum") + var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + new_var = new type() + if(assoc) + L[assoc_key] = new_var + 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]") @@ -541,10 +573,10 @@ var/list/VVckey_edit = list("key", "ckey") if(src.holder && src.holder.marked_datum) class = input("What kind of variable?","Variable Type",default) as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default","marked datum ([holder.marked_datum.type])") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum", "marked datum ([holder.marked_datum.type])") else class = input("What kind of variable?","Variable Type",default) as null|anything in list("text", - "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default") + "num","type","reference","mob reference", "icon","file","list","edit referenced object","restore to default", "new atom", "new datum") if(!class) return @@ -638,6 +670,18 @@ var/list/VVckey_edit = list("key", "ckey") if("marked datum") O.vars[variable] = holder.marked_datum + if("new atom") + var/type = input("Enter type:","Type") as null|anything in typesof(/obj,/mob,/area,/turf) + var/var_new = new type() + if(var_new==null) return + O.vars[variable] = var_new + + if("new datum") + var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var/var_new = new type() + if(var_new==null) return + O.vars[variable] = var_new + 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]]") From 82b903f827fd8c5f7edd4311a8e47d8d198a7107 Mon Sep 17 00:00:00 2001 From: Thunder12345 Date: Sun, 27 Mar 2016 22:05:58 +0100 Subject: [PATCH 2/2] Neatens some things up --- code/modules/admin/verbs/modifyvariables.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 3dbd0d703c5..308489beabe 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -77,7 +77,7 @@ var/list/VVckey_edit = list("key", "ckey") var_value = new type() if("new datum") - var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var/type = input("Enter type:","Type") as null|anything in (typesof(/datum)-typesof(/obj,/mob,/area,/turf)) var_value = new type() if(!var_value) return @@ -142,7 +142,7 @@ var/list/VVckey_edit = list("key", "ckey") var_value = new type() if("new datum") - var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var/type = input("Enter type:","Type") as null|anything in (typesof(/datum)-typesof(/obj,/mob,/area,/turf)) var_value = new type() if(!var_value) return @@ -397,7 +397,7 @@ var/list/VVckey_edit = list("key", "ckey") L[L.Find(variable)] = new_var if("new datum") - var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var/type = input("Enter type:","Type") as null|anything in (typesof(/datum)-typesof(/obj,/mob,/area,/turf)) new_var = new type() if(assoc) L[assoc_key] = new_var @@ -677,7 +677,7 @@ var/list/VVckey_edit = list("key", "ckey") O.vars[variable] = var_new if("new datum") - var/type = input("Enter type:","Type") as null|anything in typesof(/datum) + var/type = input("Enter type:","Type") as null|anything in (typesof(/datum)-typesof(/obj,/mob,/area,/turf)) var/var_new = new type() if(var_new==null) return O.vars[variable] = var_new