This commit is contained in:
PJB3005
2015-06-26 23:41:02 +02:00
parent 6b63a2286c
commit be8f269f68
8 changed files with 223 additions and 176 deletions

View File

@@ -1,40 +1,47 @@
/datum/automation/set_emitter_power
name = "Emitter: Set Power"
var/emitter=null
var/on=0
var/emitter = null
var/on = 0
Export()
var/list/json = ..()
json["emitter"]=emitter
json["on"]=on
return json
/datum/automation/set_emitter_power/Export()
var/list/json = ..()
json["emitter"] = emitter
json["on"] = on
return json
Import(var/list/json)
..(json)
emitter = json["emitter"]
on = text2num(json["on"])
/datum/automation/set_emitter_power/Import(var/list/json)
..(json)
emitter = json["emitter"]
on = text2num(json["on"])
process()
if(emitter)
parent.send_signal(list ("tag" = emitter, "command"="set","state"=on))
return 0
/datum/automation/set_emitter_power/process()
if(emitter)
parent.send_signal(list ("tag" = emitter, "command"="set","state"=on))
return 0
GetText()
return "Set emitter <a href=\"?src=\ref[src];set_subject=1\">[fmtString(emitter)]</a> to <a href=\"?src=\ref[src];set_power=1\">[on?"on":"off"]</a>."
/datum/automation/set_emitter_power/GetText()
return "Set emitter <a href=\"?src=\ref[src];set_subject=1\">[fmtString(emitter)]</a> to <a href=\"?src=\ref[src];set_power=1\">[on?"on":"off"]</a>."
Topic(href,href_list)
if(href_list["set_power"])
on=!on
parent.updateUsrDialog()
return 1
if(href_list["set_subject"])
var/list/emitters=list()
for(var/obj/machinery/power/emitter/E in power_machines)
if(!isnull(E.id_tag) && E.frequency == parent.frequency)
emitters|=E.id_tag
if(emitters.len==0)
usr << "<span class='warning'>Unable to find any emitters on this frequency.</span>"
return
emitter = input("Select an emitter:", "Emitter", emitter) as null|anything in emitters
parent.updateUsrDialog()
return 1
/datum/automation/set_emitter_power/Topic(href,href_list)
. = ..()
if(.)
return
if(href_list["set_power"])
on = !on
parent.updateUsrDialog()
return 1
if(href_list["set_subject"])
var/list/emitters = list()
for(var/obj/machinery/power/emitter/E in power_machines)
if(!isnull(E.id_tag) && E.frequency == parent.frequency)
emitters |= E.id_tag
if(emitters.len == 0)
usr << "<span class='warning'>Unable to find any emitters on this frequency.</span>"
return
emitter = input("Select an emitter:", "Emitter", emitter) as null | anything in emitters
parent.updateUsrDialog()
return 1

View File

@@ -26,54 +26,66 @@
/datum/automation/set_injector_power/GetText()
return "Set injector <a href=\"?src=\ref[src];set_injector=1\">[fmtString(injector)]</a> power to <a href=\"?src=\ref[src];toggle_state=1\">[state ? "on" : "off"]</a>."
/datum/automation/set_injector_power/Topic(href,href_list)
/datum/automation/set_injector_power/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["toggle_state"])
state = !state
parent.updateUsrDialog()
return 1
if(href_list["set_injector"])
var/list/injector_names=list()
var/list/injector_names = list()
for(var/obj/machinery/atmospherics/unary/outlet_injector/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
injector_names|=I.id_tag
injector = input("Select an injector:", "Sensor Data", injector) as null|anything in injector_names
injector_names |= I.id_tag
injector = input("Select an injector:", "Sensor Data", injector) as null | anything in injector_names
parent.updateUsrDialog()
return 1
/datum/automation/set_injector_rate
name = "Injector: Rate"
var/injector=null
var/rate=0
var/injector = null
var/rate = 0
Export()
var/list/json = ..()
json["injector"]=injector
json["rate"]=rate
return json
/datum/automation/set_injector_rate/Export()
var/list/json = ..()
json["injector"] = injector
json["rate"] = rate
return json
Import(var/list/json)
..(json)
injector = json["injector"]
rate = text2num(json["rate"])
/datum/automation/set_injector_rate/Import(var/list/json)
..(json)
injector = json["injector"]
rate = text2num(json["rate"])
process()
if(injector)
parent.send_signal(list ("tag" = injector, "set_volume_rate"=rate))
return 0
/datum/automation/set_injector_rate/process()
if(injector)
parent.send_signal(list ("tag" = injector, "set_volume_rate"=rate))
return 0
GetText()
return "Set injector <a href=\"?src=\ref[src];set_injector=1\">[fmtString(injector)]</a> transfer rate to <a href=\"?src=\ref[src];set_rate=1\">[rate]</a> L/s."
/datum/automation/set_injector_rate/GetText()
return "Set injector <a href=\"?src=\ref[src];set_injector=1\">[fmtString(injector)]</a> transfer rate to <a href=\"?src=\ref[src];set_rate=1\">[rate]</a> L/s."
Topic(href,href_list)
if(href_list["set_rate"])
rate = input("Set rate in L/s.", "Rate", rate) as num
parent.updateUsrDialog()
return 1
if(href_list["set_injector"])
var/list/injector_names=list()
for(var/obj/machinery/atmospherics/unary/outlet_injector/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
injector_names|=I.id_tag
injector = input("Select an injector:", "Sensor Data", injector) as null|anything in injector_names
parent.updateUsrDialog()
return 1
/datum/automation/set_injector_rate/Topic(href,href_list)
. = ..()
if(.)
return
if(href_list["set_rate"])
rate = input("Set rate in L/s.", "Rate", rate) as num
parent.updateUsrDialog()
return 1
if(href_list["set_injector"])
var/list/injector_names = list()
for(var/obj/machinery/atmospherics/unary/outlet_injector/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
injector_names |= I.id_tag
injector = input("Select an injector:", "Sensor Data", injector) as null | anything in injector_names
parent.updateUsrDialog()
return 1

View File

@@ -32,6 +32,10 @@
return out
/datum/automation/get_register_data/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["setfield"])
var/new_child = selectValidChildFor(usr)
if(!new_child)
@@ -80,6 +84,10 @@
return out
datum/automation/set_register_data/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["setfield"])
var/idx = text2num(href_list["setfield"])
var/new_child = selectValidChildFor(usr)

View File

@@ -1,13 +1,13 @@
/datum/automation/set_scrubber_mode
name="Scrubber: Mode"
var/scrubber=null
var/mode=1
var/scrubber = null
var/mode = 1
/datum/automation/set_scrubber_mode/Export()
var/list/json = ..()
json["scrubber"]=scrubber
json["mode"]=mode
json["scrubber"] = scrubber
json["mode"] = mode
return json
/datum/automation/set_scrubber_mode/Import(var/list/json)
@@ -17,7 +17,7 @@
/datum/automation/set_scrubber_mode/New(var/obj/machinery/computer/general_air_control/atmos_automation/aa)
..(aa)
children=list(null)
children = list(null)
/datum/automation/set_scrubber_mode/process()
if(scrubber)
@@ -28,30 +28,35 @@
return "Set Scrubber <a href=\"?src=\ref[src];set_scrubber=1\">[fmtString(scrubber)]</a> mode to <a href=\"?src=\ref[src];set_mode=1\">[mode?"Scrubbing":"Syphoning"]</a>."
/datum/automation/set_scrubber_mode/Topic(href,href_list)
if(..()) return
. = ..()
if(.)
return
if(href_list["set_mode"])
mode=!mode
mode = !mode
parent.updateUsrDialog()
return 1
if(href_list["set_scrubber"])
var/list/injector_names=list()
var/list/injector_names = list()
for(var/obj/machinery/atmospherics/unary/vent_scrubber/S in atmos_machines)
if(!isnull(S.id_tag) && S.frequency == parent.frequency)
injector_names|=S.id_tag
scrubber = input("Select a scrubber:", "Scrubbers", scrubber) as null|anything in injector_names
injector_names |= S.id_tag
scrubber = input("Select a scrubber:", "Scrubbers", scrubber) as null | anything in injector_names
parent.updateUsrDialog()
return 1
/datum/automation/set_scrubber_power
name="Scrubber: Power"
name = "Scrubber: Power"
var/scrubber=null
var/state=0
var/scrubber = null
var/state = 0
/datum/automation/set_scrubber_power/Export()
var/list/json = ..()
json["scrubber"]=scrubber
json["state"]=state
json["scrubber"] = scrubber
json["state"] = state
return json
/datum/automation/set_scrubber_power/Import(var/list/json)
@@ -105,8 +110,8 @@ var/global/list/gas_labels=list(
/datum/automation/set_scrubber_gasses/Export()
var/list/json = ..()
json["scrubber"]=scrubber
json["gasses"]=gasses
json["scrubber"] = scrubber
json["gasses"] = gasses
return json
/datum/automation/set_scrubber_gasses/Import(var/list/json)
@@ -115,17 +120,13 @@ var/global/list/gas_labels=list(
var/list/newgasses=json["gasses"]
for(var/key in newgasses)
gasses[key]=newgasses[key]
/datum/automation/set_scrubber_gasses/New(var/obj/machinery/computer/general_air_control/atmos_automation/aa)
..(aa)
gasses[key] = newgasses[key]
/datum/automation/set_scrubber_gasses/process()
if(scrubber)
var/list/data = list ("tag" = scrubber, "sigtype"="command")
var/list/data = list ("tag" = scrubber, "sigtype" = "command")
for(var/gas in gasses)
data[gas+"_scrub"]=gasses[gas]
data[gas + "_scrub"] = gasses[gas]
parent.send_signal(data, RADIO_FROM_AIRALARM)
/datum/automation/set_scrubber_gasses/GetText()
@@ -135,7 +136,10 @@ var/global/list/gas_labels=list(
return txt
/datum/automation/set_scrubber_gasses/Topic(href,href_list)
if(..()) return
. = ..()
if(.)
return
if(href_list["tog_gas"])
var/gas = href_list["tog_gas"]
if(!(gas in gasses))
@@ -143,11 +147,13 @@ var/global/list/gas_labels=list(
gasses[gas] = !gasses[gas]
parent.updateUsrDialog()
return 1
if(href_list["set_scrubber"])
var/list/injector_names=list()
var/list/injector_names = list()
for(var/obj/machinery/atmospherics/unary/vent_scrubber/S in atmos_machines)
if(!isnull(S.id_tag) && S.frequency == parent.frequency)
injector_names|=S.id_tag
scrubber = input("Select a scrubber:", "Scrubbers", scrubber) as null|anything in injector_names
injector_names |= S.id_tag
scrubber = input("Select a scrubber:", "Scrubbers", scrubber) as null | anything in injector_names
parent.updateUsrDialog()
return 1
return 1

View File

@@ -5,50 +5,55 @@
/datum/automation/get_sensor_data
name = "Sensor: Get Data"
var/field="temperature"
var/sensor=null
var/field = "temperature"
var/sensor = null
returntype=AUTOM_RT_NUM
returntype = AUTOM_RT_NUM
Export()
var/list/json = ..()
json["sensor"]=sensor
json["field"]=field
return json
/datum/automation/get_sensor_data/Export()
var/list/json = ..()
json["sensor"] = sensor
json["field"] = field
return json
Import(var/list/json)
..(json)
sensor = json["sensor"]
field = json["field"]
/datum/automation/get_sensor_data/Import(var/list/json)
..(json)
sensor = json["sensor"]
field = json["field"]
Evaluate()
if(sensor && field && sensor in parent.sensor_information)
return parent.sensor_information[sensor][field]
return 0
/datum/automation/get_sensor_data/Evaluate()
if(sensor && field && sensor in parent.sensor_information)
return parent.sensor_information[sensor][field]
return 0
GetText()
return "<a href=\"?src=\ref[src];set_field=1\">[fmtString(field)]</a> from sensor <a href=\"?src=\ref[src];set_sensor=1\">[fmtString(sensor)]</a>"
/datum/automation/get_sensor_data/GetText()
return "<a href=\"?src=\ref[src];set_field=1\">[fmtString(field)]</a> from sensor <a href=\"?src=\ref[src];set_sensor=1\">[fmtString(sensor)]</a>"
Topic(href,href_list)
if(href_list["set_field"])
field = input("Select a sensor output:", "Sensor Data", field) as null|anything in list(
"temperature",
"pressure",
"oxygen",
"toxins",
"nitrogen",
"carbon_dioxide"
)
parent.updateUsrDialog()
return 1
if(href_list["set_sensor"])
var/list/sensor_list = list()
for(var/obj/machinery/air_sensor/G in machines)
if(!isnull(G.id_tag) && G.frequency == parent.frequency)
sensor_list|=G.id_tag
for(var/obj/machinery/meter/M in machines)
if(!isnull(M.id_tag) && M.frequency == parent.frequency)
sensor_list|=M.id_tag
sensor = input("Select a sensor:", "Sensor Data", field) as null|anything in sensor_list
parent.updateUsrDialog()
return 1
/datum/automation/get_sensor_data/Topic(href,href_list)
. = ..()
if(.)
return
if(href_list["set_field"])
field = input("Select a sensor output:", "Sensor Data", field) as null | anything in list(
"temperature",
"pressure",
"oxygen",
"toxins",
"nitrogen",
"carbon_dioxide"
)
parent.updateUsrDialog()
return 1
if(href_list["set_sensor"])
var/list/sensor_list = list()
for(var/obj/machinery/air_sensor/G in machines)
if(!isnull(G.id_tag) && G.frequency == parent.frequency)
sensor_list |= G.id_tag
for(var/obj/machinery/meter/M in machines)
if(!isnull(M.id_tag) && M.frequency == parent.frequency)
sensor_list |= M.id_tag
sensor = input("Select a sensor:", "Sensor Data", field) as null|anything in sensor_list
parent.updateUsrDialog()
return 1

View File

@@ -4,44 +4,48 @@
/datum/automation/get_sm_sensor_data
name = "Supermatter: Get Monitor Data"
var/field="instability"
var/sensor=null
var/field = "instability"
var/sensor = null
returntype=AUTOM_RT_NUM
returntype = AUTOM_RT_NUM
Export()
var/list/json = ..()
json["sensor"]=sensor
json["field"]=field
return json
/datum/automation/get_sm_sensor_data/Export()
var/list/json = ..()
json["sensor"] = sensor
json["field"] = field
return json
Import(var/list/json)
..(json)
sensor = json["sensor"]
field = json["field"]
/datum/automation/get_sm_sensor_data/Import(var/list/json)
..(json)
sensor = json["sensor"]
field = json["field"]
Evaluate()
if(sensor && field && sensor in parent.sensor_information)
return parent.sensor_information[sensor][field]
return 0
/datum/automation/get_sm_sensor_data/Evaluate()
if(sensor && field && sensor in parent.sensor_information)
return parent.sensor_information[sensor][field]
return 0
GetText()
return "<a href=\"?src=\ref[src];set_field=1\">[fmtString(field)]</a> from supermatter monitor <a href=\"?src=\ref[src];set_sensor=1\">[fmtString(sensor)]</a>"
/datum/automation/get_sm_sensor_data/GetText()
return "<a href=\"?src=\ref[src];set_field=1\">[fmtString(field)]</a> from supermatter monitor <a href=\"?src=\ref[src];set_sensor=1\">[fmtString(sensor)]</a>"
Topic(href,href_list)
if(href_list["set_field"])
field = input("Select a supermatter monitor output:", "Monitor Data", field) as null|anything in list(
"damage",
"instability",
"power",
)
parent.updateUsrDialog()
return 1
if(href_list["set_sensor"])
var/list/sensor_list = list()
for(var/obj/machinery/power/supermatter/M in power_machines)
if(!isnull(M.id_tag) && M.frequency == parent.frequency)
sensor_list|=M.id_tag
sensor = input("Select a sensor:", "Sensor Data", field) as null|anything in sensor_list
parent.updateUsrDialog()
return 1
/datum/automation/get_sm_sensor_data/Topic(href,href_list)
. = ..()
if(.)
return
if(href_list["set_field"])
field = input("Select a supermatter monitor output:", "Monitor Data", field) as null | anything in list(
"damage",
"instability",
"power",
)
parent.updateUsrDialog()
return 1
if(href_list["set_sensor"])
var/list/sensor_list = list()
for(var/obj/machinery/power/supermatter/M in power_machines)
if(!isnull(M.id_tag) && M.frequency == parent.frequency)
sensor_list |= M.id_tag
sensor = input("Select a sensor:", "Sensor Data", field) as null | anything in sensor_list
parent.updateUsrDialog()
return 1

View File

@@ -32,23 +32,23 @@
/datum/automation/set_vent_pump_mode/GetText()
return "Set <a href=\"?src=\ref[src];toggle_type=1\">[vent_type ? "Dual-Port" : "Unary"]</a> vent pump <a href=\"?src=\ref[src];set_vent_pump=1\">[fmtString(vent_pump)]</a> mode to <a href=\"?src=\ref[src];set_mode=1\">[mode]</a>."
/datum/automation/set_vent_pump_mode/Topic(href,href_list)
/datum/automation/set_vent_pump_mode/Topic(href, href_list)
. = ..()
if(.)
return
if(href_list["set_mode"])
mode = input("Select a mode to put this pump into.",mode) in modes
mode = input("Select a mode to put this pump into.", mode) in modes
parent.updateUsrDialog()
return 1
if(href_list["set_vent_pump"])
var/list/injector_names = list()
if(!mode)
if(!vent_type)
for(var/obj/machinery/atmospherics/unary/vent_pump/I in atmos_machines)
if(!isnull(I.id_tag) && I.frequency == parent.frequency)
injector_names |=I.id_tag
injector_names |= I.id_tag
else
for(var/obj/machinery/atmospherics/binary/dp_vent_pump/I in atmos_machines)