diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 75290c6779b..adbee2238af 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -360,18 +360,21 @@ return list("val" = val, "i" = i) /proc/SDQL_var(datum/object, list/expression, start = 1) - + var/v if(expression[start] in object.vars) - - if(start < expression.len && expression[start + 1] == ".") - return SDQL_var(object.vars[expression[start]], expression[start + 2]) - - else - return object.vars[expression[start]] - + v = object.vars[expression[start]] + else if(expression[start] == "src") + v = object + else if(expression[start] == "usr") + v = usr else return null + if(start < expression.len && expression[start + 1] == ".") + return SDQL_var(v, expression[start + 2]) + else + return v + /proc/SDQL2_tokenize(query_text) var/list/whitespace = list(" ", "\n", "\t")