mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-17 10:02:41 +01:00
Air alarms improved. New functions are:
- mass control all air machines in area (5 modes) - adjustable alarm thresholds - air alarm in server room now is preset to treat temperature 80 K as okay. EMP now affects bots internal cameras. Fixed problem with AI clicking on mulebot. Some fixes for welding with unlit welder, mostly cosmetic. Airlock controller (as in EVA) now react to commands faster. Access controller (was in engineering and virology in past) was speeded up too. One is installed into Incinerator to demonstrate that now it isn't fucking slow. Airlock in toxin mixing room now have pump, so airlock can work properly. Added some intercoms to medbay lobby. Doors now won't lag due do mapmakers mistakes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1187 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -120,15 +120,17 @@
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = id
|
||||
signal.data["device"] = "ADVP"
|
||||
signal.data["power"] = on?("on"):("off")
|
||||
signal.data["direction"] = pump_direction?("release"):("siphon")
|
||||
signal.data["checks"] = pressure_checks
|
||||
signal.data["input"] = input_pressure_min
|
||||
signal.data["output"] = output_pressure_max
|
||||
signal.data["external"] = external_pressure_bound
|
||||
|
||||
signal.data = list(
|
||||
"tag" = id,
|
||||
"device" = "ADVP",
|
||||
"power" = on,
|
||||
"direction" = pump_direction?("release"):("siphon"),
|
||||
"checks" = pressure_checks,
|
||||
"input" = input_pressure_min,
|
||||
"output" = output_pressure_max,
|
||||
"external" = external_pressure_bound,
|
||||
"sigtype" = "status"
|
||||
)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
return 1
|
||||
@@ -143,57 +145,55 @@
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
if("power_on")
|
||||
on = 1
|
||||
if("power" in signal.data)
|
||||
on = text2num(signal.data["power"])
|
||||
|
||||
if("power_off")
|
||||
on = 0
|
||||
if("power_toggle" in signal.data)
|
||||
on = !on
|
||||
|
||||
if("power_toggle")
|
||||
on = !on
|
||||
if("set_direction" in signal.data)
|
||||
pump_direction = text2num(signal.data["set_direction"])
|
||||
|
||||
if("set_direction")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
if(number > 0.5)
|
||||
pump_direction = 1
|
||||
else
|
||||
pump_direction = 0
|
||||
if("checks" in signal.data)
|
||||
pressure_checks = text2num(signal.data["checks"])
|
||||
|
||||
if("set_checks")
|
||||
var/number = round(text2num(signal.data["parameter"]),1)
|
||||
pressure_checks = number
|
||||
if("purge" in signal.data)
|
||||
pressure_checks &= ~1
|
||||
pump_direction = 0
|
||||
|
||||
if("purge")
|
||||
pressure_checks &= ~1
|
||||
pump_direction = 0
|
||||
if("stabalize" in signal.data)
|
||||
pressure_checks |= 1
|
||||
pump_direction = 1
|
||||
|
||||
if("stabalize")
|
||||
pressure_checks |= 1
|
||||
pump_direction = 1
|
||||
if("set_input_pressure" in signal.data)
|
||||
input_pressure_min = between(
|
||||
0,
|
||||
text2num(signal.data["set_input_pressure"]),
|
||||
ONE_ATMOSPHERE*50
|
||||
)
|
||||
|
||||
if("set_input_pressure")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
number = min(max(number, 0), ONE_ATMOSPHERE*50)
|
||||
if("set_output_pressure" in signal.data)
|
||||
output_pressure_max = between(
|
||||
0,
|
||||
text2num(signal.data["set_output_pressure"]),
|
||||
ONE_ATMOSPHERE*50
|
||||
)
|
||||
|
||||
input_pressure_min = number
|
||||
|
||||
if("set_output_pressure")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
number = min(max(number, 0), ONE_ATMOSPHERE*50)
|
||||
|
||||
output_pressure_max = number
|
||||
|
||||
if("set_external_pressure")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
number = min(max(number, 0), ONE_ATMOSPHERE*50)
|
||||
|
||||
external_pressure_bound = number
|
||||
if("set_external_pressure" in signal.data)
|
||||
external_pressure_bound = between(
|
||||
0,
|
||||
text2num(signal.data["set_external_pressure"]),
|
||||
ONE_ATMOSPHERE*50
|
||||
)
|
||||
|
||||
if("status" in signal.data)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
return //do not update_icon
|
||||
//if(signal.data["tag"])
|
||||
spawn(5)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
@@ -22,6 +22,10 @@ obj/machinery/atmospherics/binary/pump
|
||||
var/on = 0
|
||||
var/target_pressure = ONE_ATMOSPHERE
|
||||
|
||||
var/frequency = 0
|
||||
var/id = null
|
||||
var/datum/radio_frequency/radio_connection
|
||||
|
||||
/*
|
||||
attack_hand(mob/user)
|
||||
on = !on
|
||||
@@ -87,14 +91,18 @@ obj/machinery/atmospherics/binary/pump
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = id
|
||||
signal.data["device"] = "AGP"
|
||||
signal.data["power"] = on
|
||||
signal.data["target_output"] = target_pressure
|
||||
signal.data = list(
|
||||
"tag" = id,
|
||||
"device" = "AGP",
|
||||
"power" = on,
|
||||
"target_output" = target_pressure,
|
||||
"sigtype" = "status"
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
return 1
|
||||
|
||||
interact(mob/user as mob)
|
||||
var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[on?"On":"Off"]</a><br>
|
||||
<b>Desirable output pressure: </b>
|
||||
@@ -104,35 +112,34 @@ obj/machinery/atmospherics/binary/pump
|
||||
user << browse("<HEAD><TITLE>[src.name] control</TITLE></HEAD><TT>[dat]</TT>", "window=atmo_pump")
|
||||
onclose(user, "atmo_pump")
|
||||
|
||||
var/frequency = 0
|
||||
var/id = null
|
||||
var/datum/radio_frequency/radio_connection
|
||||
|
||||
initialize()
|
||||
..()
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
if("power_on")
|
||||
on = 1
|
||||
if("power" in signal.data)
|
||||
on = text2num(signal.data["power"])
|
||||
|
||||
if("power_off")
|
||||
on = 0
|
||||
if("power_toggle" in signal.data)
|
||||
on = !on
|
||||
|
||||
if("power_toggle")
|
||||
on = !on
|
||||
if("set_output_pressure" in signal.data)
|
||||
target_pressure = between(
|
||||
0,
|
||||
text2num(signal.data["set_output_pressure"]),
|
||||
ONE_ATMOSPHERE*50
|
||||
)
|
||||
|
||||
if("set_output_pressure")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
number = min(max(number, 0), ONE_ATMOSPHERE*50)
|
||||
if("status" in signal.data)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
return //do not update_icon
|
||||
|
||||
target_pressure = number
|
||||
spawn(5)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -74,11 +74,13 @@ obj/machinery/atmospherics/binary/volume_pump
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = id
|
||||
signal.data["device"] = "APV"
|
||||
signal.data["power"] = on
|
||||
signal.data["transfer_rate"] = transfer_rate
|
||||
|
||||
signal.data = list(
|
||||
"tag" = id,
|
||||
"device" = "APV",
|
||||
"power" = on,
|
||||
"transfer_rate" = transfer_rate,
|
||||
"sigtype" = "status"
|
||||
)
|
||||
radio_connection.post_signal(src, signal)
|
||||
|
||||
return 1
|
||||
@@ -89,25 +91,27 @@ obj/machinery/atmospherics/binary/volume_pump
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
if("power_on")
|
||||
on = 1
|
||||
if("power" in signal.data)
|
||||
on = text2num(signal.data["power"])
|
||||
|
||||
if("power_off")
|
||||
on = 0
|
||||
if("power_toggle" in signal.data)
|
||||
on = !on
|
||||
|
||||
if("power_toggle")
|
||||
on = !on
|
||||
if("set_transfer_rate" in signal.data)
|
||||
transfer_rate = between(
|
||||
0,
|
||||
text2num(signal.data["set_transfer_rate"]),
|
||||
air1.volume
|
||||
)
|
||||
|
||||
if("set_transfer_rate")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
number = min(max(number, 0), air1.volume)
|
||||
if("status" in signal.data)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
return //do not update_icon
|
||||
|
||||
transfer_rate = number
|
||||
|
||||
spawn(5)
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
Reference in New Issue
Block a user