From 224fe42e777e11a450d7c906381f64d4b07f2591 Mon Sep 17 00:00:00 2001 From: Leshana Date: Sat, 6 Jan 2018 11:52:56 -0500 Subject: [PATCH] Prepare Atmospherics Machinery for SSatoms (#4501) * to_chat() replacement. * Revert calling target.init_dir() before connecting. * This change was added in https://github.com/PolarisSS13/Polaris/pull/3775 to counteract `dir` not being set prior to New() for dynamically loaded maps. The root cause was /atom/New() not calling _preloader.load(). Undoing the change now that /atom/New() is fixed. * The addition of the init_dir() proc itself however, is useful, because there ARE other times some atmos machinery will want to re-initialize its dir, specifically whenever it is rotated. * init_dir() must be called in the constructor of all atmospherics machines capable of connecting to another. Since it has to happen for ALL machines, lets move that call to /obj/machinery/atmospherics/New() * Rename /obj/machinery/atmospherics initialize() to atmos_init() * These days `initialize()` is used to handle general object initialization that is moved outside of New(). The node connection discovery of atmos machinery needs to happen after all that, and so needs to be in a separate proc. * Make sure to actually call atmos_init during system startup. --- code/ATMOSPHERICS/atmospherics.dm | 18 +- .../binary_devices/binary_atmos_base.dm | 6 +- .../components/binary_devices/circulator.dm | 6 +- .../components/binary_devices/passive_gate.dm | 6 +- .../components/binary_devices/pipeturbine.dm | 12 +- .../components/binary_devices/pump.dm | 6 +- .../components/omni_devices/_omni_extras.dm | 4 +- .../components/omni_devices/omni_base.dm | 7 +- .../components/portables_connector.dm | 13 +- .../components/trinary_devices/filter.dm | 8 +- .../components/trinary_devices/mixer.dm | 8 +- .../trinary_devices/trinary_base.dm | 8 +- code/ATMOSPHERICS/components/tvalve.dm | 21 +- .../components/unary/cold_sink.dm | 3 +- .../components/unary/heat_exchanger.dm | 8 +- .../components/unary/heat_source.dm | 3 +- .../components/unary/unary_base.dm | 6 +- .../components/unary/vent_pump.dm | 12 +- .../components/unary/vent_scrubber.dm | 6 +- code/ATMOSPHERICS/components/valve.dm | 11 +- code/ATMOSPHERICS/he_pipes.dm | 7 - code/ATMOSPHERICS/mainspipe.dm | 16 +- code/ATMOSPHERICS/pipes.dm | 52 +--- code/controllers/master_controller.dm | 5 + code/game/atoms.dm | 6 + code/game/machinery/pipe/construction.dm | 271 +++++++++--------- .../circuitboards/machinery/unary_atmos.dm | 4 +- code/modules/maps/tg/map_template.dm | 2 +- 28 files changed, 238 insertions(+), 297 deletions(-) diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index ee24252a0c..0502f2b8f8 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -10,9 +10,6 @@ Pipelines + Other Objects -> Pipe network */ /obj/machinery/atmospherics - - auto_init = 0 - anchored = 1 idle_power_usage = 0 active_power_usage = 0 @@ -33,6 +30,7 @@ Pipelines + Other Objects -> Pipe network var/obj/machinery/atmospherics/node2 /obj/machinery/atmospherics/New() + ..() if(!icon_manager) icon_manager = new() @@ -42,7 +40,19 @@ Pipelines + Other Objects -> Pipe network if(!pipe_color_check(pipe_color)) pipe_color = null - ..() + init_dir() + +// This is used to set up what directions pipes will connect to. Should be called inside New() and whenever a dir changes. +/obj/machinery/atmospherics/proc/init_dir() + return + +// Initializes nodes by looking at neighboring atmospherics machinery to connect to. +// When we're being constructed at runtime, atmos_init() is called by the construction code. +// When dynamically loading a map atmos_init is called by the maploader (initTemplateBounds proc) +// But during initial world creation its called by the master_controller. +// TODO - Consolidate these different ways of being called once SSatoms is created. +/obj/machinery/atmospherics/proc/atmos_init() + return /obj/machinery/atmospherics/attackby(atom/A, mob/user as mob) if(istype(A, /obj/item/device/pipe_painter)) diff --git a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm index 4bbbf02b16..6e6662f39c 100644 --- a/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm +++ b/code/ATMOSPHERICS/components/binary_devices/binary_atmos_base.dm @@ -57,24 +57,20 @@ node1 = null node2 = null -/obj/machinery/atmospherics/binary/initialize() +/obj/machinery/atmospherics/binary/atmos_init() if(node1 && node2) return - init_dir() - var/node2_connect = dir var/node1_connect = turn(dir, 180) for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 09335cdf33..68ce37d088 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -101,13 +101,13 @@ else if(dir & (EAST|WEST)) initialize_directions = EAST|WEST - initialize() + atmos_init() build_network() if (node1) - node1.initialize() + node1.atmos_init() node1.build_network() if (node2) - node2.initialize() + node2.atmos_init() node2.build_network() else if(node1) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index ceb192f9b0..4bce44e0b0 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -166,7 +166,7 @@ return src.add_fingerprint(usr) if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return usr.set_machine(src) ui_interact(user) @@ -240,14 +240,14 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (unlocked) - user << "You cannot unwrench \the [src], turn it off first." + to_chat(user, "You cannot unwrench \the [src], turn it off first.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm index 1b576e1042..b8c7883796 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pipeturbine.dm @@ -87,7 +87,7 @@ if(istype(W, /obj/item/weapon/wrench)) anchored = !anchored playsound(src, W.usesound, 50, 1) - user << "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor." + to_chat(user, "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.") if(anchored) if(dir & (NORTH|SOUTH)) @@ -95,13 +95,13 @@ else if(dir & (EAST|WEST)) initialize_directions = NORTH|SOUTH - initialize() + atmos_init() build_network() if (node1) - node1.initialize() + node1.atmos_init() node1.build_network() if (node2) - node2.initialize() + node2.atmos_init() node2.build_network() else if(node1) @@ -153,7 +153,7 @@ return null - initialize() + atmos_init() if(node1 && node2) return var/node2_connect = turn(dir, -90) @@ -260,7 +260,7 @@ anchored = !anchored playsound(src, W.usesound, 50, 1) turbine = null - user << "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor." + to_chat(user, "You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.") updateConnection() else ..() diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 97abccdfad..ac5a00e46c 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -183,7 +183,7 @@ Thus, the two variables affect pump operation are set in New(): return src.add_fingerprint(usr) if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return usr.set_machine(src) ui_interact(user) @@ -219,14 +219,14 @@ Thus, the two variables affect pump operation are set in New(): if (!istype(W, /obj/item/weapon/wrench)) return ..() if (!(stat & NOPOWER) && use_power) - user << "You cannot unwrench this [src], turn it off first." + to_chat(user, "You cannot unwrench this [src], turn it off first.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench this [src], it too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm index a191370924..fc25eae3b7 100644 --- a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm +++ b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm @@ -40,10 +40,10 @@ /datum/omni_port/proc/connect() if(node) return - master.initialize() + master.atmos_init() master.build_network() if(node) - node.initialize() + node.atmos_init() node.build_network() /datum/omni_port/proc/disconnect() diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index 2ab891424c..28dd3dc022 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -86,7 +86,7 @@ to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") playsound(src, W.usesound, 50, 1) if(do_after(user, 40 * W.toolspeed)) user.visible_message( \ @@ -245,14 +245,13 @@ qdel(P.network) P.node = null - ..() + . = ..() -/obj/machinery/atmospherics/omni/initialize() +/obj/machinery/atmospherics/omni/atmos_init() for(var/datum/omni_port/P in ports) if(P.node || P.mode == 0) continue for(var/obj/machinery/atmospherics/target in get_step(src, P.dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) P.node = target diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm index c1949f8a39..6911288c93 100644 --- a/code/ATMOSPHERICS/components/portables_connector.dm +++ b/code/ATMOSPHERICS/components/portables_connector.dm @@ -21,10 +21,6 @@ /obj/machinery/atmospherics/portables_connector/init_dir() initialize_directions = dir -/obj/machinery/atmospherics/portables_connector/New() - init_dir() - ..() - /obj/machinery/atmospherics/portables_connector/update_icon() icon_state = "connector" @@ -74,16 +70,13 @@ node = null -/obj/machinery/atmospherics/portables_connector/initialize() +/obj/machinery/atmospherics/portables_connector/atmos_init() if(node) return - init_dir() - var/node_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node = target @@ -138,7 +131,7 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (connected_device) - user << "You cannot unwrench \the [src], dettach \the [connected_device] first." + to_chat(user, "You cannot unwrench \the [src], dettach \the [connected_device] first.") return 1 if (locate(/obj/machinery/portable_atmospherics, src.loc)) return 1 @@ -147,7 +140,7 @@ add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index e9fe37f8a1..bc9a8d77ee 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -136,7 +136,7 @@ add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ @@ -151,7 +151,7 @@ return if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return var/dat @@ -247,9 +247,7 @@ obj/machinery/atmospherics/trinary/atmos_filter/m_filter/init_dir() if(WEST) initialize_directions = WEST|SOUTH|EAST -/obj/machinery/atmospherics/trinary/atmos_filter/m_filter/initialize() - set_frequency(frequency) - +/obj/machinery/atmospherics/trinary/atmos_filter/m_filter/atmos_init() if(node1 && node2 && node3) return var/node1_connect = turn(dir, -180) diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index e8a3c1be74..5739a57895 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -111,7 +111,7 @@ add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ @@ -125,7 +125,7 @@ return src.add_fingerprint(usr) if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return usr.set_machine(src) var/dat = {"Power: [use_power?"On":"Off"]
@@ -192,7 +192,7 @@ obj/machinery/atmospherics/trinary/mixer/t_mixer/init_dir() if(WEST) initialize_directions = WEST|NORTH|SOUTH -obj/machinery/atmospherics/trinary/mixer/t_mixer/initialize() +obj/machinery/atmospherics/trinary/mixer/t_mixer/atmos_init() ..() if(node1 && node2 && node3) return @@ -237,7 +237,7 @@ obj/machinery/atmospherics/trinary/mixer/m_mixer/init_dir() if(WEST) initialize_directions = WEST|SOUTH|EAST -obj/machinery/atmospherics/trinary/mixer/m_mixer/initialize() +obj/machinery/atmospherics/trinary/mixer/m_mixer/atmos_init() ..() if(node1 && node2 && node3) return diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index 34e6d480a8..807523fe7a 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -15,7 +15,6 @@ /obj/machinery/atmospherics/trinary/New() ..() - init_dir() air1 = new air2 = new @@ -71,31 +70,26 @@ node2 = null node3 = null -/obj/machinery/atmospherics/trinary/initialize() +/obj/machinery/atmospherics/trinary/atmos_init() if(node1 && node2 && node3) return - init_dir() - var/node1_connect = turn(dir, -180) var/node2_connect = turn(dir, -90) var/node3_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node2_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node3_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node3 = target diff --git a/code/ATMOSPHERICS/components/tvalve.dm b/code/ATMOSPHERICS/components/tvalve.dm index 65d38a131d..e5f0eaaa89 100644 --- a/code/ATMOSPHERICS/components/tvalve.dm +++ b/code/ATMOSPHERICS/components/tvalve.dm @@ -46,10 +46,6 @@ /obj/machinery/atmospherics/tvalve/hide(var/i) update_underlays() -/obj/machinery/atmospherics/tvalve/New() - init_dir() - ..() - /obj/machinery/atmospherics/tvalve/init_dir() switch(dir) if(NORTH) @@ -183,31 +179,26 @@ return -/obj/machinery/atmospherics/tvalve/initialize() +/obj/machinery/atmospherics/tvalve/atmos_init() var/node1_dir var/node2_dir var/node3_dir - init_dir() - node1_dir = turn(dir, 180) node2_dir = turn(dir, -90) node3_dir = dir for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node3_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node3 = target @@ -308,7 +299,7 @@ if(!powered()) return if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return ..() @@ -350,14 +341,14 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (istype(src, /obj/machinery/atmospherics/tvalve/digital)) - user << "You cannot unwrench \the [src], it's too complicated." + to_chat(user, "You cannot unwrench \the [src], it's too complicated.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ @@ -384,7 +375,7 @@ if(WEST) initialize_directions = EAST|WEST|SOUTH -/obj/machinery/atmospherics/tvalve/mirrored/initialize() +/obj/machinery/atmospherics/tvalve/mirrored/atmos_init() var/node1_dir var/node2_dir var/node3_dir @@ -446,7 +437,7 @@ if(!powered()) return if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return ..() diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index d0280d3044..36ae824fa7 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -23,7 +23,6 @@ /obj/machinery/atmospherics/unary/freezer/New() ..() - initialize_directions = dir component_parts = list() component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) @@ -32,7 +31,7 @@ component_parts += new /obj/item/stack/cable_coil(src, 2) RefreshParts() -/obj/machinery/atmospherics/unary/freezer/initialize() +/obj/machinery/atmospherics/unary/freezer/atmos_init() if(node) return diff --git a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm index 3413aa04de..8a7fba153a 100644 --- a/code/ATMOSPHERICS/components/unary/heat_exchanger.dm +++ b/code/ATMOSPHERICS/components/unary/heat_exchanger.dm @@ -18,7 +18,7 @@ return - initialize() + atmos_init() if(!partner) var/partner_connect = turn(dir,180) @@ -70,14 +70,14 @@ return ..() var/turf/T = src.loc if (level==1 && isturf(T) && !T.is_plating()) - user << "You must remove the plating first." + to_chat(user, "You must remove the plating first.") return 1 if (!can_unwrench()) - user << "You cannot unwrench \the [src], it is too exerted due to internal pressure." + to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index c2daa2b6d1..8ca4626ee6 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -23,7 +23,6 @@ /obj/machinery/atmospherics/unary/heater/New() ..() - initialize_directions = dir component_parts = list() component_parts += new /obj/item/weapon/stock_parts/matter_bin(src) component_parts += new /obj/item/weapon/stock_parts/capacitor(src) @@ -32,7 +31,7 @@ RefreshParts() -/obj/machinery/atmospherics/unary/heater/initialize() +/obj/machinery/atmospherics/unary/heater/atmos_init() if(node) return diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm index 327112d918..77b135cdc5 100644 --- a/code/ATMOSPHERICS/components/unary/unary_base.dm +++ b/code/ATMOSPHERICS/components/unary/unary_base.dm @@ -13,7 +13,6 @@ /obj/machinery/atmospherics/unary/New() ..() - init_dir() air_contents = new air_contents.volume = 200 @@ -42,16 +41,13 @@ node = null -/obj/machinery/atmospherics/unary/initialize() +/obj/machinery/atmospherics/unary/atmos_init() if(node) return - init_dir() - var/node_connect = dir for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node = target diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 1b271d1e4a..67476b7f42 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -357,7 +357,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if (WT.remove_fuel(0,user)) - user << "Now welding the vent." + to_chat(user, "Now welding the vent.") if(do_after(user, 20 * WT.toolspeed)) if(!src || !WT.isOn()) return playsound(src.loc, WT.usesound, 50, 1) @@ -370,9 +370,9 @@ welded = 0 update_icon() else - user << "The welding tool needs to be on to start this task." + to_chat(user, "The welding tool needs to be on to start this task.") else - user << "You need more welding fuel to complete this task." + to_chat(user, "You need more welding fuel to complete this task.") return 1 else ..() @@ -395,18 +395,18 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (!(stat & NOPOWER) && use_power) - user << "You cannot unwrench \the [src], turn it off first." + to_chat(user, "You cannot unwrench \the [src], turn it off first.") return 1 var/turf/T = src.loc if (node && node.level==1 && isturf(T) && !T.is_plating()) - user << "You must remove the plating first." + to_chat(user, "You must remove the plating first.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 8bb67bcc19..0852ea7f74 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -266,18 +266,18 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (!(stat & NOPOWER) && use_power) - user << "You cannot unwrench \the [src], turn it off first." + to_chat(user, "You cannot unwrench \the [src], turn it off first.") return 1 var/turf/T = src.loc if (node && node.level==1 && isturf(T) && !T.is_plating()) - user << "You must remove the plating first." + to_chat(user, "You must remove the plating first.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm index 9aaffa671e..c95135f889 100644 --- a/code/ATMOSPHERICS/components/valve.dm +++ b/code/ATMOSPHERICS/components/valve.dm @@ -140,8 +140,7 @@ return -/obj/machinery/atmospherics/valve/initialize() - init_dir() +/obj/machinery/atmospherics/valve/atmos_init() normalize_dir() var/node1_dir @@ -155,13 +154,11 @@ node2_dir = direction for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target @@ -239,7 +236,7 @@ if(!powered()) return if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return ..() @@ -292,14 +289,14 @@ if (!istype(W, /obj/item/weapon/wrench)) return ..() if (istype(src, /obj/machinery/atmospherics/valve/digital) && !src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/he_pipes.dm index 602edfcc6d..58c2ee3a2d 100644 --- a/code/ATMOSPHERICS/he_pipes.dm +++ b/code/ATMOSPHERICS/he_pipes.dm @@ -19,7 +19,6 @@ // BubbleWrap /obj/machinery/atmospherics/pipe/simple/heat_exchanging/New() ..() - init_dir() // BubbleWrap END color = "#404040" //we don't make use of the fancy overlay system for colours, use this to set the default. @@ -28,7 +27,6 @@ initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe /obj/machinery/atmospherics/pipe/simple/heat_exchanging/initialize() - init_dir() normalize_dir() var/node1_dir var/node2_dir @@ -41,12 +39,10 @@ node2_dir = direction for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node1_dir)) - target.init_dir() if(target.initialize_directions_he & get_dir(target,src)) node1 = target break for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,node2_dir)) - target.init_dir() if(target.initialize_directions_he & get_dir(target,src)) node2 = target break @@ -137,14 +133,11 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/initialize() - init_dir() for(var/obj/machinery/atmospherics/target in get_step(src,initialize_directions)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) node1 = target break for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,initialize_directions_he)) - target.init_dir() if(target.initialize_directions_he & get_dir(target,src)) node2 = target break diff --git a/code/ATMOSPHERICS/mainspipe.dm b/code/ATMOSPHERICS/mainspipe.dm index a2976974bf..1b0c617564 100644 --- a/code/ATMOSPHERICS/mainspipe.dm +++ b/code/ATMOSPHERICS/mainspipe.dm @@ -101,7 +101,7 @@ obj/machinery/atmospherics/mains_pipe disconnect() ..() - initialize() + atmos_init() for(var/i = 1 to nodes.len) var/obj/machinery/atmospherics/mains_pipe/node = nodes[i] if(node) @@ -155,7 +155,7 @@ obj/machinery/atmospherics/mains_pipe/simple var/have_node2 = nodes[2]?1:0 icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]" - initialize() + atmos_init() normalize_dir() var/node1_dir var/node2_dir @@ -203,7 +203,7 @@ obj/machinery/atmospherics/mains_pipe/manifold ..() initialize_mains_directions = (NORTH|SOUTH|EAST|WEST) & ~dir - initialize() + atmos_init() var/connect_directions = initialize_mains_directions for(var/direction in cardinal) @@ -267,7 +267,7 @@ obj/machinery/atmospherics/mains_pipe/manifold4w nodes.len = 4 ..() - initialize() + atmos_init() for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,NORTH)) if(target.initialize_mains_directions & get_dir(target,src)) nodes[1] = target @@ -319,7 +319,7 @@ obj/machinery/atmospherics/mains_pipe/split initialize_mains_directions = turn(dir, 90) | turn(dir, -90) initialize_directions = dir // actually have a normal connection too - initialize() + atmos_init() var/node1_dir var/node2_dir var/node3_dir @@ -420,7 +420,7 @@ obj/machinery/atmospherics/mains_pipe/split3 initialize_mains_directions = dir initialize_directions = cardinal & ~dir // actually have a normal connection too - initialize() + atmos_init() var/node1_dir var/supply_node_dir var/scrubbers_node_dir @@ -514,7 +514,7 @@ obj/machinery/atmospherics/mains_pipe/cap update_icon() icon_state = "cap[invisibility ? "-f" : ""]" - initialize() + atmos_init() for(var/obj/machinery/atmospherics/mains_pipe/target in get_step(src,dir)) if(target.initialize_mains_directions & get_dir(target,src)) nodes[1] = target @@ -647,7 +647,7 @@ obj/machinery/atmospherics/mains_pipe/valve attack_hand(mob/user as mob) if(!src.allowed(user)) - user << "Access denied." + to_chat(user, "Access denied.") return ..() diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm index ac1e7e3a89..d5e62efc60 100644 --- a/code/ATMOSPHERICS/pipes.dm +++ b/code/ATMOSPHERICS/pipes.dm @@ -34,10 +34,6 @@ return 1 -// This is used to set up what directions pipes will connect to. Called inside New(), initialize(), and when pipes look at another pipe, incase they didn't get to initialize() yet. -/obj/machinery/atmospherics/proc/init_dir() - return - /obj/machinery/atmospherics/pipe/return_air() if(!parent) parent = new /datum/pipeline() @@ -84,14 +80,14 @@ return ..() var/turf/T = src.loc if (level==1 && isturf(T) && !T.is_plating()) - user << "You must remove the plating first." + to_chat(user, "You must remove the plating first.") return 1 if(!can_unwrench()) to_chat(user, "You cannot unwrench \the [src], it is too exerted due to internal pressure.") add_fingerprint(user) return 1 playsound(src, W.usesound, 50, 1) - user << "You begin to unfasten \the [src]..." + to_chat(user, "You begin to unfasten \the [src]...") if (do_after(user, 40 * W.toolspeed)) user.visible_message( \ "\The [user] unfastens \the [src].", \ @@ -170,10 +166,6 @@ icon = null alpha = 255 - init_dir() - - - /obj/machinery/atmospherics/pipe/simple/hide(var/i) if(istype(loc, /turf/simulated)) invisibility = i ? 101 : 0 @@ -274,8 +266,7 @@ /obj/machinery/atmospherics/pipe/simple/update_underlays() return -/obj/machinery/atmospherics/pipe/simple/initialize() - init_dir() +/obj/machinery/atmospherics/pipe/simple/atmos_init() normalize_dir() var/node1_dir var/node2_dir @@ -288,13 +279,11 @@ node2_dir = direction for(var/obj/machinery/atmospherics/target in get_step(src,node1_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,node2_dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target @@ -444,8 +433,6 @@ alpha = 255 icon = null - init_dir() - /obj/machinery/atmospherics/pipe/manifold/init_dir() switch(dir) if(NORTH) @@ -554,14 +541,12 @@ ..() update_icon() -/obj/machinery/atmospherics/pipe/manifold/initialize() - init_dir() +/obj/machinery/atmospherics/pipe/manifold/atmos_init() var/connect_directions = (NORTH|SOUTH|EAST|WEST)&(~dir) for(var/direction in cardinal) if(direction&connect_directions) for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target @@ -574,7 +559,6 @@ for(var/direction in cardinal) if(direction&connect_directions) for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node2 = target @@ -587,7 +571,6 @@ for(var/direction in cardinal) if(direction&connect_directions) for(var/obj/machinery/atmospherics/target in get_step(src,direction)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node3 = target @@ -835,31 +818,27 @@ invisibility = i ? 101 : 0 update_icon() -/obj/machinery/atmospherics/pipe/manifold4w/initialize() +/obj/machinery/atmospherics/pipe/manifold4w/atmos_init() for(var/obj/machinery/atmospherics/target in get_step(src,1)) - target.init_dir() if(target.initialize_directions & 2) if (check_connect_types(target,src)) node1 = target break for(var/obj/machinery/atmospherics/target in get_step(src,2)) - target.init_dir() if(target.initialize_directions & 1) if (check_connect_types(target,src)) node2 = target break for(var/obj/machinery/atmospherics/target in get_step(src,4)) - target.init_dir() if(target.initialize_directions & 8) if (check_connect_types(target,src)) node3 = target break for(var/obj/machinery/atmospherics/target in get_step(src,8)) - target.init_dir() if(target.initialize_directions & 4) if (check_connect_types(target,src)) node4 = target @@ -975,10 +954,6 @@ var/obj/machinery/atmospherics/node -/obj/machinery/atmospherics/pipe/cap/New() - ..() - init_dir() - /obj/machinery/atmospherics/pipe/cap/init_dir() initialize_directions = dir @@ -1027,10 +1002,8 @@ overlays.Cut() overlays += icon_manager.get_atmos_icon("pipe", , pipe_color, "cap") -/obj/machinery/atmospherics/pipe/cap/initialize() - init_dir() +/obj/machinery/atmospherics/pipe/cap/atmos_init() for(var/obj/machinery/atmospherics/target in get_step(src, dir)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node = target @@ -1106,7 +1079,6 @@ /obj/machinery/atmospherics/pipe/tank/New() icon_state = "air" - init_dir() ..() /obj/machinery/atmospherics/pipe/tank/init_dir() @@ -1139,12 +1111,10 @@ /obj/machinery/atmospherics/pipe/tank/hide() update_underlays() -/obj/machinery/atmospherics/pipe/tank/initialize() - init_dir() +/obj/machinery/atmospherics/pipe/tank/atmos_init() var/connect_direction = dir for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target @@ -1272,10 +1242,6 @@ var/build_killswitch = 1 -/obj/machinery/atmospherics/pipe/vent/New() - init_dir() - ..() - /obj/machinery/atmospherics/pipe/vent/init_dir() initialize_directions = dir @@ -1313,12 +1279,10 @@ else icon_state = "exposed" -/obj/machinery/atmospherics/pipe/vent/initialize() - init_dir() +/obj/machinery/atmospherics/pipe/vent/atmos_init() var/connect_direction = dir for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction)) - target.init_dir() if(target.initialize_directions & get_dir(target,src)) if (check_connect_types(target,src)) node1 = target diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index fef25b9d10..9129cff96c 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -86,6 +86,11 @@ datum/controller/game_controller/proc/setup_objects() CHECK_SLEEP_MASTER sleep(1) + admin_notice("Initializing atmos machinery connections.", R_DEBUG) + for(var/obj/machinery/atmospherics/machine in machines) + machine.atmos_init() + CHECK_SLEEP_MASTER + admin_notice("Initializing pipe networks", R_DEBUG) for(var/obj/machinery/atmospherics/machine in machines) machine.build_network() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 12defe06ba..dec7ab1ccf 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -25,6 +25,12 @@ //Detective Work, used for the duplicate data points kept in the scanners var/list/original_atom +//atom creation method that preloads variables at creation +/atom/New() + // Don't call ..() unless /datum/New() ever exists + if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New() + _preloader.load(src) + /atom/proc/reveal_blood() return diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index e9f693e431..ec0f8a027c 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -491,16 +491,16 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT) @@ -510,16 +510,16 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT) @@ -529,16 +529,16 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_UNIVERSAL) @@ -548,16 +548,16 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_HE_STRAIGHT, PIPE_HE_BENT) @@ -565,16 +565,16 @@ Buildable meters P.set_dir(src.dir) P.initialize_directions = pipe_dir //this var it's used to know if the pipe is bent or not P.initialize_directions_he = pipe_dir - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_CONNECTOR) // connector @@ -585,10 +585,10 @@ Buildable meters C.name = pipename var/turf/T = C.loc C.level = !T.is_plating() ? 2 : 1 - C.initialize() + C.atmos_init() C.build_network() if (C.node) - C.node.initialize() + C.node.atmos_init() C.node.build_network() @@ -600,19 +600,19 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (QDELETED(M)) usr << pipefailtext return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() M.node3.build_network() if(PIPE_SUPPLY_MANIFOLD) //manifold @@ -623,19 +623,19 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (!M) usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() M.node3.build_network() if(PIPE_SCRUBBERS_MANIFOLD) //manifold @@ -646,19 +646,20 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (!M) usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() + M.node3.build_network() M.node3.build_network() if(PIPE_MANIFOLD4W) //4-way manifold @@ -669,22 +670,22 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (QDELETED(M)) usr << pipefailtext return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() M.node3.build_network() if (M.node4) - M.node4.initialize() + M.node4.atmos_init() M.node4.build_network() if(PIPE_SUPPLY_MANIFOLD4W) //4-way manifold @@ -696,22 +697,22 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (!M) usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() M.node3.build_network() if (M.node4) - M.node4.initialize() + M.node4.atmos_init() M.node4.build_network() if(PIPE_SCRUBBERS_MANIFOLD4W) //4-way manifold @@ -723,22 +724,22 @@ Buildable meters //M.New() var/turf/T = M.loc M.level = !T.is_plating() ? 2 : 1 - M.initialize() + M.atmos_init() if (!M) usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" return 1 M.build_network() if (M.node1) - M.node1.initialize() + M.node1.atmos_init() M.node1.build_network() if (M.node2) - M.node2.initialize() + M.node2.atmos_init() M.node2.build_network() if (M.node3) - M.node3.initialize() + M.node3.atmos_init() M.node3.build_network() if (M.node4) - M.node4.initialize() + M.node4.atmos_init() M.node4.build_network() if(PIPE_JUNCTION) @@ -746,16 +747,16 @@ Buildable meters P.set_dir(src.dir) P.initialize_directions = src.get_pdir() P.initialize_directions_he = src.get_hdir() - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext //"There's nothing to connect this pipe to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)" return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_UVENT) //unary vent @@ -766,10 +767,10 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node) - V.node.initialize() + V.node.atmos_init() V.node.build_network() if(PIPE_MVALVE) //manual valve @@ -780,15 +781,15 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) // world << "[V.node1.name] is connected to valve, forcing it to update its nodes." - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) // world << "[V.node2.name] is connected to valve, forcing it to update its nodes." - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if(PIPE_PUMP) //gas pump @@ -799,13 +800,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_GAS_FILTER) //gas filter @@ -816,16 +817,16 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if (P.node3) - P.node3.initialize() + P.node3.atmos_init() P.node3.build_network() if(PIPE_GAS_MIXER) //gas mixer @@ -836,16 +837,16 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if (P.node3) - P.node3.initialize() + P.node3.atmos_init() P.node3.build_network() if(PIPE_GAS_FILTER_M) //gas filter mirrored @@ -856,16 +857,16 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if (P.node3) - P.node3.initialize() + P.node3.atmos_init() P.node3.build_network() if(PIPE_GAS_MIXER_T) //gas mixer-t @@ -876,16 +877,16 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if (P.node3) - P.node3.initialize() + P.node3.atmos_init() P.node3.build_network() if(PIPE_GAS_MIXER_M) //gas mixer mirrored @@ -896,16 +897,16 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if (P.node3) - P.node3.initialize() + P.node3.atmos_init() P.node3.build_network() if(PIPE_SCRUBBER) //scrubber @@ -916,10 +917,10 @@ Buildable meters S.name = pipename var/turf/T = S.loc S.level = !T.is_plating() ? 2 : 1 - S.initialize() + S.atmos_init() S.build_network() if (S.node) - S.node.initialize() + S.node.atmos_init() S.node.build_network() if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT) @@ -928,16 +929,16 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() if (QDELETED(P)) usr << pipefailtext return 1 P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_MTVALVE) //manual t-valve @@ -948,16 +949,16 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if (V.node3) - V.node3.initialize() + V.node3.atmos_init() V.node3.build_network() if(PIPE_MTVALVEM) //manual t-valve @@ -968,46 +969,46 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if (V.node3) - V.node3.initialize() + V.node3.atmos_init() V.node3.build_network() if(PIPE_CAP) var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc) C.set_dir(dir) C.initialize_directions = pipe_dir - C.initialize() + C.atmos_init() C.build_network() if(C.node) - C.node.initialize() + C.node.atmos_init() C.node.build_network() if(PIPE_SUPPLY_CAP) var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(src.loc) C.set_dir(dir) C.initialize_directions = pipe_dir - C.initialize() + C.atmos_init() C.build_network() if(C.node) - C.node.initialize() + C.node.atmos_init() C.node.build_network() if(PIPE_SCRUBBERS_CAP) var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(src.loc) C.set_dir(dir) C.initialize_directions = pipe_dir - C.initialize() + C.atmos_init() C.build_network() if(C.node) - C.node.initialize() + C.node.atmos_init() C.node.build_network() if(PIPE_PASSIVE_GATE) //passive gate @@ -1018,13 +1019,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_VOLUME_PUMP) //volume pump @@ -1035,13 +1036,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_HEAT_EXCHANGE) // heat exchanger @@ -1052,10 +1053,10 @@ Buildable meters C.name = pipename var/turf/T = C.loc C.level = !T.is_plating() ? 2 : 1 - C.initialize() + C.atmos_init() C.build_network() if (C.node) - C.node.initialize() + C.node.atmos_init() C.node.build_network() if(PIPE_DVALVE) //digital valve @@ -1070,13 +1071,13 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if(PIPE_DTVALVE) //digital t-valve @@ -1091,16 +1092,16 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if (V.node3) - V.node3.initialize() + V.node3.atmos_init() V.node3.build_network() if(PIPE_DTVALVEM) //mirrored digital t-valve @@ -1115,16 +1116,16 @@ Buildable meters V.name = pipename var/turf/T = V.loc V.level = !T.is_plating() ? 2 : 1 - V.initialize() + V.atmos_init() V.build_network() if (V.node1) - V.node1.initialize() + V.node1.atmos_init() V.node1.build_network() if (V.node2) - V.node2.initialize() + V.node2.atmos_init() V.node2.build_network() if (V.node3) - V.node3.initialize() + V.node3.atmos_init() V.node3.build_network() ///// Z-Level stuff @@ -1136,13 +1137,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_DOWN) var/obj/machinery/atmospherics/pipe/zpipe/down/P = new(src.loc) @@ -1152,13 +1153,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SUPPLY_UP) var/obj/machinery/atmospherics/pipe/zpipe/up/supply/P = new(src.loc) @@ -1168,13 +1169,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SUPPLY_DOWN) var/obj/machinery/atmospherics/pipe/zpipe/down/supply/P = new(src.loc) @@ -1184,13 +1185,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SCRUBBERS_UP) var/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers/P = new(src.loc) @@ -1200,13 +1201,13 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() if(PIPE_SCRUBBERS_DOWN) var/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers/P = new(src.loc) @@ -1216,26 +1217,26 @@ Buildable meters P.name = pipename var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() if (P.node2) - P.node2.initialize() + P.node2.atmos_init() P.node2.build_network() ///// Z-Level stuff if(PIPE_OMNI_MIXER) var/obj/machinery/atmospherics/omni/mixer/P = new(loc) var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if(PIPE_OMNI_FILTER) var/obj/machinery/atmospherics/omni/atmos_filter/P = new(loc) var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if(PIPE_PASSIVE_VENT) var/obj/machinery/atmospherics/pipe/vent/P = new(loc) @@ -1243,10 +1244,10 @@ Buildable meters P.initialize_directions = pipe_dir var/turf/T = P.loc P.level = !T.is_plating() ? 2 : 1 - P.initialize() + P.atmos_init() P.build_network() if (P.node1) - P.node1.initialize() + P.node1.atmos_init() P.node1.build_network() playsound(src, W.usesound, 50, 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm index 07e9ae53dd..72febf566a 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm @@ -7,10 +7,10 @@ /obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) //TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up. - U.initialize() + U.atmos_init() U.build_network() if (U.node) - U.node.initialize() + U.node.atmos_init() U.node.build_network() /obj/item/weapon/circuitboard/unary_atmos/heater diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index 4307149b5f..24068dcf1d 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -82,7 +82,7 @@ var/list/global/map_templates = list() admin_notice("Initializing atmos pipenets and machinery in submap.", R_DEBUG) for(var/obj/machinery/atmospherics/machine in atmos_machines) - machine.initialize() + machine.atmos_init() i++ for(var/obj/machinery/atmospherics/machine in atmos_machines)