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:
rastaf.zero@gmail.com
2011-03-14 19:21:02 +00:00
parent b1a5289490
commit 2530b5b995
28 changed files with 7619 additions and 7320 deletions
@@ -80,10 +80,14 @@
signal.transmission_method = 1 //radio signal
signal.source = src
signal.data["tag"] = id
signal.data["device"] = "AO"
signal.data["power"] = on
signal.data["volume_rate"] = volume_rate
signal.data = list(
"tag" = id,
"device" = "AO",
"power" = on,
"volume_rate" = volume_rate,
//"timestamp" = world.time,
"sigtype" = "status"
)
radio_connection.post_signal(src, signal)
@@ -95,36 +99,31 @@
set_frequency(frequency)
receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || !signal.data["command"])
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("inject" in signal.data)
spawn inject()
return
if("inject")
spawn inject()
return
if("set_volume_rate" in signal.data)
var/number = text2num(signal.data["set_volume_rate"])
volume_rate = between(0, number, air_contents.volume)
if("set_volume_rate")
var/number = text2num(signal.data["parameter"])
number = min(max(number, 0), air_contents.volume)
if("status" in signal.data)
spawn(2)
broadcast_status()
return //do not update_icon
volume_rate = number
if("status")
//broadcast_status
else
log_admin("DEBUG \[[world.timeofday]\]: outlet_injector/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
return
spawn(5)
//log_admin("DEBUG \[[world.timeofday]\]: outlet_injector/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
//return
spawn(2)
broadcast_status()
update_icon()
+59 -50
View File
@@ -64,7 +64,7 @@
return
if (!node)
on = 0
//broadcast_status()
//broadcast_status() // from now air alarm/control computer should request update purposely --rastaf0
if(!on)
return 0
@@ -136,12 +136,13 @@
"area" = src.area_uid,
"tag" = src.id_tag,
"device" = "AVP",
"power" = on?("on"):("off"),
"power" = on,
"direction" = pump_direction?("release"):("siphon"),
"checks" = pressure_checks,
"internal" = internal_pressure_bound,
"external" = external_pressure_bound,
"timestamp" = air_master.current_cycle,
"timestamp" = world.time,
"sigtype" = "status"
)
radio_connection.post_signal(src, signal, radio_filter_out)
@@ -153,74 +154,82 @@
..()
//some vents work his own spesial way
radio_filter_in = frequency==initial(frequency)?(RADIO_FROM_AIRALARM):null
radio_filter_out = frequency==initial(frequency)?(RADIO_TO_AIRALARM):null
radio_filter_in = frequency==1439?(RADIO_FROM_AIRALARM):null
radio_filter_out = frequency==1439?(RADIO_TO_AIRALARM):null
if(frequency)
set_frequency(frequency)
update_icon()
receive_signal(datum/signal/signal)
if(stat & (NOPOWER|BROKEN))
return
//log_admin("DEBUG \[[world.timeofday]\]: /obj/machinery/atmospherics/unary/vent_pump/receive_signal([signal.debug_print()])")
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || !signal.data["command"])
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command"))
return 0
switch(signal.data["command"])
if("power_on")
on = 1
if("purge" in signal.data)
pressure_checks &= ~1
pump_direction = 0
if("power_off")
on = 0
if("stabalize" in signal.data)
pressure_checks |= 1
pump_direction = 1
if("power_toggle")
on = !on
if("power" in signal.data)
on = text2num(signal.data["power"])
if("toggle_checks")
pressure_checks = (pressure_checks?0:3)
if("power_toggle" in signal.data)
on = !on
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("purge")
pressure_checks &= ~1
pump_direction = 0
if("checks_toggle" in signal.data)
pressure_checks = (pressure_checks?0:3)
if("stabalize")
pressure_checks |= 1
pump_direction = 1
if("direction" in signal.data)
pump_direction = text2num(signal.data["direction"])
if("set_checks")
var/number = round(text2num(signal.data["parameter"]),1)
pressure_checks = number
if("set_internal_pressure" in signal.data)
internal_pressure_bound = between(
0,
text2num(signal.data["set_internal_pressure"]),
ONE_ATMOSPHERE*50
)
if("set_internal_pressure")
var/number = text2num(signal.data["parameter"])
number = min(max(number, 0), ONE_ATMOSPHERE*50)
if("set_external_pressure" in signal.data)
external_pressure_bound = between(
0,
text2num(signal.data["set_external_pressure"]),
ONE_ATMOSPHERE*50
)
internal_pressure_bound = number
if("adjust_internal_pressure" in signal.data)
internal_pressure_bound = between(
0,
internal_pressure_bound + text2num(signal.data["adjust_internal_pressure"]),
ONE_ATMOSPHERE*50
)
if("set_external_pressure")
var/number = text2num(signal.data["parameter"])
number = min(max(number, 0), ONE_ATMOSPHERE*50)
if("adjust_external_pressure" in signal.data)
external_pressure_bound = between(
0,
external_pressure_bound + text2num(signal.data["adjust_external_pressure"]),
ONE_ATMOSPHERE*50
)
external_pressure_bound = number
if("init" in signal.data)
name = signal.data["init"]
return
if("init")
name = signal.data["parameter"]
return
if("status" in signal.data)
spawn(2)
broadcast_status()
return //do not update_icon
if("status")
//broadcast_status
else
log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
return
//log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
spawn(2)
broadcast_status()
update_icon()
update_icon()
return
hide(var/i) //to make the little pipe section invisible, the icon changes.
@@ -235,7 +244,7 @@
return
attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/weapon/weldingtool))
if(istype(W, /obj/item/weapon/weldingtool) && W:welding)
if (W:remove_fuel(2,user))
user << "\blue Now welding the vent."
if(do_after(user, 20))
@@ -63,13 +63,14 @@
"area" = area_uid,
"tag" = id_tag,
"device" = "AScr",
"timestamp" = air_master.current_cycle,
"on" = on,
"timestamp" = world.time,
"power" = on,
"scrubbing" = scrubbing,
"panic" = panic,
"filter_co2" = scrub_CO2,
"filter_toxins" = scrub_Toxins,
"filter_n2o" = scrub_N2O,
"sigtype" = "status"
)
radio_connection.post_signal(src, signal, radio_filter_out)
@@ -160,42 +161,68 @@
*/
receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || !signal.data["command"])
if(stat & (NOPOWER|BROKEN))
return
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || (signal.data["sigtype"]!="command"))
return 0
switch(signal.data["command"])
if("toggle_power")
on = !on
if("toggle_scrubbing")
scrubbing = !scrubbing
if("toggle_co2_scrub")
scrub_CO2 = !scrub_CO2
if("toggle_tox_scrub")
scrub_Toxins = !scrub_Toxins
if("toggle_n2o_scrub")
scrub_N2O = !scrub_N2O
if("toggle_panic_siphon")
panic = !panic
if(panic)
on = 1
scrubbing = 0
volume_rate = 2000
else
scrubbing = 1
volume_rate = initial(volume_rate)
if("init")
name = signal.data["parameter"]
return
if("status")
//broadcast_status
if("power" in signal.data)
on = text2num(signal.data["power"])
if("power_toggle" in signal.data)
on = !on
if("panic_siphon" in signal.data) //must be before if("scrubbing" thing
panic = text2num(signal.data["panic_siphon"])
if(panic)
on = 1
scrubbing = 0
volume_rate = 2000
else
log_admin("DEBUG \[[world.timeofday]\]: vent_scrubber/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
return
scrubbing = 1
volume_rate = initial(volume_rate)
if("toggle_panic_siphon" in signal.data)
panic = !panic
if(panic)
on = 1
scrubbing = 0
volume_rate = 2000
else
scrubbing = 1
volume_rate = initial(volume_rate)
if("scrubbing" in signal.data)
scrubbing = text2num(signal.data["scrubbing"])
if("toggle_scrubbing" in signal.data)
scrubbing = !scrubbing
if("co2_scrub" in signal.data)
scrub_CO2 = text2num(signal.data["co2_scrub"])
if("toggle_co2_scrub" in signal.data)
scrub_CO2 = !scrub_CO2
if("tox_scrub" in signal.data)
scrub_Toxins = text2num(signal.data["tox_scrub"])
if("toggle_tox_scrub" in signal.data)
scrub_Toxins = !scrub_Toxins
if("n2o_scrub" in signal.data)
scrub_N2O = text2num(signal.data["n2o_scrub"])
if("toggle_n2o_scrub" in signal.data)
scrub_N2O = !scrub_N2O
if("init" in signal.data)
name = signal.data["init"]
return
if("status" in signal.data)
spawn(2)
broadcast_status()
return //do not update_icon
// log_admin("DEBUG \[[world.timeofday]\]: vent_scrubber/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
spawn(2)
broadcast_status()
update_icon()
update_icon()
return
power_change()