* limit atmos/fire alerts to the current z_level

* atmos/fire alerts are now linked to an object and not its area, as intended
* simplified and full pathed the radio frequency datum
* made radio objects properly clean on del/qdel, instead of letting the radio controller remove nulls at each post_signal()
This commit is contained in:
Menshin
2014-11-14 10:10:45 +01:00
committed by Menshin
parent 864692abad
commit ec944abfc6
32 changed files with 286 additions and 187 deletions
@@ -25,6 +25,11 @@
//2: Do not pass input_pressure_min
//4: Do not pass output_pressure_max
/obj/machinery/atmospherics/binary/dp_vent_pump/Destroy()
if(radio_controller)
radio_controller.remove_object(src, frequency)
..()
/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume
name = "large dual-port air vent"
@@ -22,6 +22,11 @@ Passive gate is similar to the regular pump except:
var/id = null
var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/binary/passive_gate/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/binary/passive_gate/update_icon_nopipes()
overlays.Cut()
if(on & !(stat & NOPOWER))
@@ -26,6 +26,11 @@ Thus, the two variables affect pump operation are set in New():
var/id = null
var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/binary/pump/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/binary/pump/on
on = 1
@@ -26,6 +26,11 @@ Thus, the two variables affect pump operation are set in New():
var/id = null
var/datum/radio_frequency/radio_connection
/obj/machinery/atmospherics/binary/volume_pump/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/binary/volume_pump/on
on = 1
@@ -42,6 +42,11 @@ Filter types:
if(radio_controller)
initialize()
/obj/machinery/atmospherics/trinary/filter/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/trinary/filter/update_icon_nopipes()
if(!(stat & NOPOWER) && on && node1 && node2 && node3)
icon_state = "filter_on[flipped?"_f":""]"
@@ -16,6 +16,11 @@
level = 1
/obj/machinery/atmospherics/unary/outlet_injector/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/unary/outlet_injector/on
on = 1
@@ -55,6 +55,11 @@
src.initialize()
src.broadcast_status()
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/unary/vent_pump/high_volume
name = "large air vent"
power_channel = EQUIP
@@ -40,6 +40,11 @@
src.initialize()
src.broadcast_status()
/obj/machinery/atmospherics/unary/vent_scrubber/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()
/obj/machinery/atmospherics/unary/vent_scrubber/update_icon_nopipes()
overlays.Cut()
if(showpipe)
+6
View File
@@ -83,3 +83,9 @@
overlays += getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "dvalve_[open][!open]")
else if(open)
overlays += getpipeimage('icons/obj/atmospherics/binary_devices.dmi', "dvalve_on")
//Radio remote control
/obj/machinery/atmospherics/binary/valve/digital/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
..()