/datum/automation/set_volume_pump_power
name = "Volume Pump: Power"
var/pump = null
var/state = 0
/datum/automation/set_volume_pump_power/Export()
var/list/json = ..()
json["pump"] = pump
json["state"] = state
return json
/datum/automation/set_volume_pump_power/Import(var/list/json)
..(json)
pump = json["pump"]
state = text2num(json["state"])
/datum/automation/set_volume_pump_power/process()
if(pump)
parent.send_signal(list("tag" = pump, "command" = "power", "value" = state, "type" = SIGNAL_TYPE_ATMOS_VOLUME_PUMP))
return 0
/datum/automation/set_volume_pump_power/GetText()
return "Set volume pump [fmtString(pump)] power to [state ? "on" : "off"]."
/datum/automation/set_volume_pump_power/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["toggle_state"])
state = !state
parent.updateUsrDialog()
return 1
if(href_list["set_pump"])
var/list/pump_names = list()
for(var/obj/machinery/atmospherics/binary/volume_pump/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
pump_names |= I.id_tag
pump = input("Select a pump:", "Sensor Data", pump) as null | anything in pump_names
parent.updateUsrDialog()
return 1
/datum/automation/set_volume_pump_rate
name = "Volume Pump: Rate"
var/pump = null
var/rate = 0
/datum/automation/set_volume_pump_rate/Export()
var/list/json = ..()
json["pump"] = pump
json["rate"] = rate
return json
/datum/automation/set_volume_pump_rate/Import(var/list/json)
..(json)
pump = json["pump"]
rate = text2num(json["rate"])
/datum/automation/set_volume_pump_rate/process()
if(pump)
parent.send_signal(list ("tag" = pump, "command" = "set_transfer_rate", "value" = rate, "type" = SIGNAL_TYPE_ATMOS_VOLUME_PUMP))
return 0
/datum/automation/set_volume_pump_rate/GetText()
return "Set volume pump [fmtString(pump)] transfer rate to [rate] L/s."
/datum/automation/set_volume_pump_rate/Topic(href,href_list)
. = ..()
if(.)
return
if(href_list["set_rate"])
rate = input("Set transfer rate in L/s.", "Rate", rate) as num
parent.updateUsrDialog()
return 1
if(href_list["set_pump"])
var/list/pump_names = list()
for(var/obj/machinery/atmospherics/binary/volume_pump/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
pump_names |= I.id_tag
if(pump_names.len == 0)
to_chat(usr, "Unable to find any volume pump on this frequency.")
else
pump = input("Select a pump:", "Sensor Data", pump) as null | anything in pump_names
parent.updateUsrDialog()
return 1