From 6bacdf5b0f49d7fac5cd5e85da7fce487eb289ad Mon Sep 17 00:00:00 2001 From: Krausus Date: Mon, 2 Jan 2017 22:19:52 -0500 Subject: [PATCH] Fixes SDQL2's client manipulation --- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 13fea30a7f8..84577b51102 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -78,22 +78,23 @@ if("where" in query_tree) var/objs_temp = objs objs = list() - for(var/datum/d in objs_temp) + for(var/d in objs_temp) if(SDQL_expression(d, query_tree["where"])) objs += d switch(query_tree[1]) if("call") - for(var/datum/d in objs) + for(var/d in objs) SDQL_var(d, query_tree["call"][1], source = d) if("delete") - for(var/datum/d in objs) + for(var/d in objs) qdel(d) if("select") var/text = "" - for(var/datum/t in objs) + for(var/o in objs) + var/datum/t = o text += "\ref[t]" if(istype(t, /atom)) var/atom/a = t @@ -115,7 +116,7 @@ if("update") if("set" in query_tree) var/list/set_list = query_tree["set"] - for(var/datum/d in objs) + for(var/d in objs) for(var/list/sets in set_list) var/datum/temp = d var/i = 0 @@ -252,6 +253,12 @@ if(istype(d, type)) out += d + else if(ispath(type, /client)) + for(var/client/C) + if((location != world) && !(C.mob in location)) + continue + out += C + else if(location == world) for(var/datum/d) if(istype(d, type))