Proc calls now use vv_get_value, which can get things you click on. (#28172)

This commit is contained in:
Charlie Nolan
2025-01-29 05:22:02 -08:00
committed by GitHub
parent 73c94dbc83
commit 529e55be05
3 changed files with 69 additions and 50 deletions
+5 -50
View File
@@ -208,57 +208,12 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
//this will protect us from a fair few errors ~Carn
while(argnum--)
var/class = null
// Make a list with each index containing one variable, to be given to the proc
if(src.holder && src.holder.marked_datum)
class = input("What kind of variable?","Variable Type") in list("text","num","type","reference","reference in range","reference in view", "mob reference","icon","file","client","mob's area","Marked datum ([holder.marked_datum.type])","CANCEL")
if(holder.marked_datum && class == "Marked datum ([holder.marked_datum.type])")
class = "Marked datum"
else
class = input("What kind of variable?","Variable Type") in list("text","num","type","reference","mob reference","reference in range","reference in view","icon","file","client","mob's area","CANCEL")
switch(class)
if("CANCEL")
return null
var/list/value = vv_get_value(restricted_classes = list(VV_RESTORE_DEFAULT))
var/class = value["class"]
if(!class)
return null
if("text")
lst += clean_input("Enter new text:","Text",null)
if("num")
lst += input("Enter new number:","Num",0) as num
if("type")
lst += input("Enter type:","Type") in typesof(/obj,/mob,/area,/turf)
if("reference")
lst += input("Select reference:","Reference",src) as mob|obj|turf|area in world
if("reference in range")
lst += input("Select reference in range:", "Reference in range", src) as mob|obj|turf|area in range(view)
if("reference in view")
lst += input("Select reference in view:", "Reference in view", src) as mob|obj|turf|area in view(view)
if("mob reference")
lst += input("Select reference:","Reference",usr) as mob in world
if("file")
lst += input("Pick file:","File") as file
if("icon")
lst += input("Pick icon:","Icon") as icon
if("client")
var/list/keys = list()
for(var/mob/M in world)
keys += M.client
lst += input("Please, select a player!", "Selection", null, null) as null|anything in keys
if("mob's area")
var/mob/temp = input("Select mob", "Selection", usr) as mob in world
lst += temp.loc
if("Marked datum")
lst += holder.marked_datum
lst += value["value"]
return lst
/client/proc/Cell()