Merge pull request #16425 from Thunder12345/varspotting

Adds new atom and new datum options to viewvars
This commit is contained in:
duncathan salt
2016-03-31 12:07:14 -06:00
+52 -8
View File
@@ -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)-typesof(/obj,/mob,/area,/turf))
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)-typesof(/obj,/mob,/area,/turf))
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)-typesof(/obj,/mob,/area,/turf))
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)-typesof(/obj,/mob,/area,/turf))
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]]")