/datum/buildmode_mode/varedit key = "edit" // Varedit mode var/varholder = "name" var/valueholder = "value" /datum/buildmode_mode/varedit/show_help(mob/user) to_chat(user, "***********************************************************") to_chat(user, "Right Mouse Button on buildmode button = Select var(type) & value") to_chat(user, "Left Mouse Button on turf/obj/mob = Set var(type) & value") to_chat(user, "Right Mouse Button on turf/obj/mob = Reset var's value") to_chat(user, "***********************************************************") // FIXME: This needs to use a standard var-editing interface instead of // doing its own thing here /datum/buildmode_mode/varedit/change_settings(mob/user) var/temp_varname = input(user,"Enter variable name:", "Name", "name") if(!vv_varname_lockcheck(temp_varname)) return var/temp_value = user.client.vv_get_value() if(isnull(temp_value["class"])) Reset() to_chat(user, "Variable unset.") return // we assign this once all user input is done, since things could get wonky otherwise varholder = temp_varname valueholder = temp_value["value"] /datum/buildmode_mode/varedit/handle_click(user, params, obj/object) var/list/pa = params2list(params) var/left_click = pa.Find("left") var/right_click = pa.Find("right") if(isnull(varholder)) to_chat(user, "Choose a variable to modify first.") return if(left_click) if(object.vars.Find(varholder)) if(!object.vv_edit_var(varholder, valueholder)) to_chat(user, "Your edit was rejected by [object].") return log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [valueholder]") else to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'") if(right_click) if(object.vars.Find(varholder)) var/reset_value = initial(object.vars[varholder]) if(!object.vv_edit_var(varholder, reset_value)) to_chat(user, "Your edit was rejected by [object].") return log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [reset_value]") else to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'")