From 958a3494e581016b588e32f8deacd6c10f5cfb89 Mon Sep 17 00:00:00 2001 From: Cody Brittain Date: Mon, 10 Apr 2023 13:36:08 -0400 Subject: [PATCH] Two new pipe types (Redux) (#16141) * Added two new pipes: Fuel and Auxiliary Pipes * Added a `cycle_to_external_air` tag to airlock controllers, which allows exterior air to be cycled out of an air lock through separate vents. * Retrofitted the Spark and Intrepid with the new pipes, and the externally cycled air. * CL * Allow pressure tanks to attach to all pipes. * RM stray pixels * Update code/game/machinery/pipe/construction.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> * rm unused states * Fix misalignment * Add remaining pipes to RFD, and correct a few omissions * Fix airlocks not changing their state properly, and ensure that docking -always- forces airlocks to externally cycle. * Remove externally cycled airlock from the Spark * CL * Add enough pressure to the Intrepid auxiliary line to ensure both airlocks can be pressurized consistently. --------- Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> --- code/__defines/atmos.dm | 2 + code/__defines/pipes.dm | 29 +- .../airlock_controllers.dm | 6 +- .../airlock_docking_controller.dm | 2 +- .../embedded_controller/airlock_program.dm | 99 ++- code/game/machinery/pipe/construction.dm | 525 +++++++++++++- code/game/machinery/pipe/pipe_dispenser.dm | 23 + code/game/objects/items/weapons/RFD.dm | 38 +- .../components/binary_devices/passive_gate.dm | 21 + .../components/binary_devices/pump.dm | 31 +- .../components/portables_connector.dm | 14 +- .../components/unary/vent_pump.dm | 20 +- .../components/unary/vent_scrubber.dm | 1 + code/modules/atmospherics/pipes.dm | 203 +++++- code/modules/multiz/pipes.dm | 38 +- .../overmap/ships/engines/gas_thruster.dm | 3 +- html/changelogs/Generalcamo - New Pipes.yml | 48 ++ icons/atmos/connector.dmi | Bin 653 -> 1237 bytes icons/atmos/manifold.dmi | Bin 2102 -> 3010 bytes icons/atmos/passive_gate.dmi | Bin 2214 -> 2838 bytes icons/atmos/pipe_underlays.dmi | Bin 2580 -> 3556 bytes icons/atmos/pipes.dmi | Bin 14454 -> 22838 bytes icons/atmos/pump.dmi | Bin 1656 -> 3778 bytes icons/atmos/vent_pump.dmi | Bin 6956 -> 2949 bytes icons/atmos/vent_scrubber.dmi | Bin 1763 -> 1729 bytes icons/obj/pipe-item.dmi | Bin 29383 -> 27943 bytes maps/sccv_horizon/sccv_horizon-1_deck_1.dmm | 646 +++++++++++------- 27 files changed, 1424 insertions(+), 325 deletions(-) create mode 100644 html/changelogs/Generalcamo - New Pipes.yml diff --git a/code/__defines/atmos.dm b/code/__defines/atmos.dm index 465b69b6b3c..3c290eff909 100644 --- a/code/__defines/atmos.dm +++ b/code/__defines/atmos.dm @@ -133,5 +133,7 @@ #define CONNECT_TYPE_SUPPLY 2 #define CONNECT_TYPE_SCRUBBER 4 #define CONNECT_TYPE_HE 8 +#define CONNECT_TYPE_FUEL 16 +#define CONNECT_TYPE_AUX 32 var/global/list/pipe_colors = list("grey" = PIPE_COLOR_GREY, "red" = PIPE_COLOR_RED, "blue" = PIPE_COLOR_BLUE, "cyan" = PIPE_COLOR_CYAN, "green" = PIPE_COLOR_GREEN, "yellow" = PIPE_COLOR_YELLOW, "black" = PIPE_COLOR_BLACK, "purple" = PIPE_COLOR_PURPLE) diff --git a/code/__defines/pipes.dm b/code/__defines/pipes.dm index a50502436f2..2ff6e02caf7 100644 --- a/code/__defines/pipes.dm +++ b/code/__defines/pipes.dm @@ -46,4 +46,31 @@ #define PIPE_MTVALVEM 41 #define PIPE_PASSIVE_GATE_SCRUBBER 42 -#define PIPE_PASSIVE_GATE_SUPPLY 43 \ No newline at end of file +#define PIPE_PASSIVE_GATE_SUPPLY 43 + +///// New defines for fuel and auxiliary piping +#define PIPE_FUEL_STRAIGHT 44 +#define PIPE_FUEL_BENT 45 +#define PIPE_AUX_STRAIGHT 46 +#define PIPE_AUX_BENT 47 +#define PIPE_FUEL_MANIFOLD 48 +#define PIPE_AUX_MANIFOLD 49 +#define PIPE_FUEL_MANIFOLD4W 50 +#define PIPE_AUX_MANIFOLD4W 51 +#define PIPE_FUEL_UP 52 +#define PIPE_AUX_UP 53 +#define PIPE_FUEL_DOWN 54 +#define PIPE_AUX_DOWN 55 +#define PIPE_FUEL_CAP 56 +#define PIPE_AUX_CAP 57 + +#define PIPE_PASSIVE_GATE_FUEL 58 +#define PIPE_PASSIVE_GATE_AUX 59 + +#define PIPE_PUMP_FUEL 60 +#define PIPE_PUMP_AUX 61 + +#define PIPE_CONNECTOR_FUEL 62 +#define PIPE_CONNECTOR_AUX 63 + +#define PIPE_AUX_UVENT 64 diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index 63b14a76123..b9fbab51797 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -11,7 +11,9 @@ var/tag_interior_sensor var/tag_airlock_mech_sensor var/tag_shuttle_mech_sensor - var/tag_secure = 0 + var/tag_secure = FALSE + var/tag_air_alarm + var/cycle_to_external_air = FALSE /obj/machinery/embedded_controller/radio/airlock/Initialize(mapload, given_id_tag, given_frequency, given_tag_exterior_door, given_tag_interior_door, given_tag_airpump, given_tag_chamber_sensor) . = ..() @@ -89,7 +91,7 @@ //Airlock controller for airlock control - most airlocks on the station use this /obj/machinery/embedded_controller/radio/airlock/airlock_controller name = "Airlock Controller" - tag_secure = 1 + tag_secure = TRUE /obj/machinery/embedded_controller/radio/airlock/airlock_controller/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index 9e27c6cd49e..1aea8be5282 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -91,7 +91,7 @@ //tell the docking port to start getting ready for docking - e.g. pressurize /datum/computer/file/embedded_program/docking/airlock/prepare_for_docking() - airlock_program.begin_cycle_in() + airlock_program.begin_dock_cycle() //are we ready for docking? /datum/computer/file/embedded_program/docking/airlock/ready_for_docking() diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index fabf499dc99..1ae5e96c0c2 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -9,6 +9,8 @@ #define TARGET_INOPEN -1 #define TARGET_OUTOPEN -2 +#define SENSOR_TOLERANCE 1 + /datum/computer/file/embedded_program/airlock var/tag_exterior_door @@ -23,6 +25,10 @@ var/state = STATE_IDLE var/target_state = TARGET_NONE + var/cycle_to_external_air = FALSE + var/tag_pump_out_external + var/tag_pump_out_internal + /datum/computer/file/embedded_program/airlock/New(var/obj/machinery/embedded_controller/M) ..(M) @@ -38,6 +44,10 @@ if (istype(M, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags var/obj/machinery/embedded_controller/radio/airlock/controller = M + cycle_to_external_air = controller.cycle_to_external_air + if(cycle_to_external_air) + tag_pump_out_external = "[id_tag]_pump_out_external" + tag_pump_out_internal = "[id_tag]_pump_out_internal" tag_exterior_door = controller.tag_exterior_door? controller.tag_exterior_door : "[id_tag]_outer" tag_interior_door = controller.tag_interior_door? controller.tag_interior_door : "[id_tag]_inner" tag_airpump = controller.tag_airpump? controller.tag_airpump : "[id_tag]_pump" @@ -74,7 +84,7 @@ memory["interior_status"]["state"] = signal.data["door_status"] memory["interior_status"]["lock"] = signal.data["lock_status"] - else if(receive_tag==tag_airpump) + else if(receive_tag==tag_airpump || receive_tag==tag_pump_out_internal) if(signal.data["power"]) memory["pump_status"] = signal.data["direction"] else @@ -109,13 +119,18 @@ var/shutdown_pump = 0 switch(command) if("cycle_ext") + //If airlock is already cycled in this direction, just toggle the doors. + if(!memory["purge"] && IsInRange(memory["external_sensor_pressure"], memory["chamber_sensor_pressure"] - SENSOR_TOLERANCE, memory["chamber_sensor_pressure"] + SENSOR_TOLERANCE)) + toggleDoor(memory["exterior_status"], tag_exterior_door, memory["secure"], "toggle") //only respond to these commands if the airlock isn't already doing something //prevents the controller from getting confused and doing strange things - if(state == target_state) + else if(state == target_state) begin_cycle_out() if("cycle_int") - if(state == target_state) + if(!memory["purge"] && IsInRange(memory["internal_sensor_pressure"], memory["chamber_sensor_pressure"] - SENSOR_TOLERANCE, memory["chamber_sensor_pressure"] + SENSOR_TOLERANCE)) + toggleDoor(memory["interior_status"], tag_interior_door, memory["secure"], "toggle") + else if(state == target_state) begin_cycle_in() if("cycle_ext_door") @@ -151,6 +166,9 @@ if(shutdown_pump) signalPump(tag_airpump, 0) //send a signal to stop pressurizing + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) /datum/computer/file/embedded_program/airlock/process() @@ -170,6 +188,9 @@ //make sure to return to a sane idle state if(memory["pump_status"] != "off") //send a signal to stop pumping signalPump(tag_airpump, 0) + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) if ((state == STATE_PRESSURIZE || state == STATE_DEPRESSURIZE) && !check_doors_secured()) //the airlock will not allow itself to continue to cycle when any of the doors are forced open. @@ -177,7 +198,7 @@ switch(state) if(STATE_PREPARE) - if (check_doors_secured()) + if(check_doors_secured()) var/chamber_pressure = memory["chamber_sensor_pressure"] var/target_pressure = memory["target_pressure"] @@ -185,24 +206,37 @@ //purge apparently means clearing the airlock chamber to vacuum (then refilling, handled later) target_pressure = 0 state = STATE_DEPRESSURIZE - signalPump(tag_airpump, 1, 0, 0) //send a signal to start depressurizing + if(!cycle_to_external_air || target_state == TARGET_OUTOPEN) // if going outside, pump internal air into air tank + signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing + else + signalPump(tag_pump_out_internal, 1, 0, target_pressure) // if going inside, pump external air out of the airlock + signalPump(tag_pump_out_external, 1, 1, 1000) // make sure the air is actually going outside else if(chamber_pressure <= target_pressure) state = STATE_PRESSURIZE - signalPump(tag_airpump, 1, 1, target_pressure) //send a signal to start pressurizing + if(!cycle_to_external_air || target_state == TARGET_INOPEN) // if going inside, pump air into airlock + signalPump(tag_airpump, 1, 1, target_pressure) //send a signal to start pressurizing + else + signalPump(tag_pump_out_internal, 1, 1, target_pressure) // if going outside, fill airlock with external air + signalPump(tag_pump_out_external, 1, 0, 0) else if(chamber_pressure > target_pressure) - state = STATE_DEPRESSURIZE - signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing + if(!cycle_to_external_air) + state = STATE_DEPRESSURIZE + signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing + else + memory["purge"] = 1 // should always purge first if using external air, chamber pressure should never be higher than target pressure here - //Make sure the airlock isn't aiming for pure vacuum - an impossibility - memory["target_pressure"] = max(target_pressure, ONE_ATMOSPHERE * 0.05) + memory["target_pressure"] = target_pressure if(STATE_PRESSURIZE) - if(memory["chamber_sensor_pressure"] >= memory["target_pressure"] * 0.95) + if(memory["chamber_sensor_pressure"] >= memory["target_pressure"] - SENSOR_TOLERANCE) //not done until the pump has reported that it's off if(memory["pump_status"] != "off") - signalPump(tag_airpump, 0) //send a signal to stop pumping + signalPump(tag_airpump, 0) + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) else cycleDoors(target_state) state = STATE_IDLE @@ -210,34 +244,43 @@ if(STATE_DEPRESSURIZE) - if(memory["chamber_sensor_pressure"] <= memory["target_pressure"] * 1.05) - if(memory["purge"]) - memory["purge"] = 0 - memory["target_pressure"] = memory["internal_sensor_pressure"] - state = STATE_PREPARE - target_state = TARGET_NONE - - else if(memory["pump_status"] != "off") + if(memory["chamber_sensor_pressure"] <= memory["target_pressure"] + SENSOR_TOLERANCE) + if(memory["pump_status"] != "off") signalPump(tag_airpump, 0) + if(cycle_to_external_air) + signalPump(tag_pump_out_internal, 0) + signalPump(tag_pump_out_external, 0) else - cycleDoors(target_state) - state = STATE_IDLE - target_state = TARGET_NONE + if(memory["purge"]) + memory["purge"] = 0 + memory["target_pressure"] = (target_state == TARGET_INOPEN ? memory["internal_sensor_pressure"] : memory["external_sensor_pressure"]) + if (memory["target_pressure"] > SENSOR_TOLERANCE) + state = STATE_PREPARE + else + cycleDoors(target_state) + state = STATE_IDLE + target_state = TARGET_NONE memory["processing"] = (state != target_state) return 1 -//these are here so that other types don't have to make so many assuptions about our implementation +//these are here so that other types don't have to make so many assumptions about our implementation /datum/computer/file/embedded_program/airlock/proc/begin_cycle_in() state = STATE_IDLE target_state = TARGET_INOPEN + memory["purge"] = cycle_to_external_air + +/datum/computer/file/embedded_program/airlock/proc/begin_dock_cycle() + state = STATE_IDLE + target_state = TARGET_INOPEN /datum/computer/file/embedded_program/airlock/proc/begin_cycle_out() state = STATE_IDLE target_state = TARGET_OUTOPEN + memory["purge"] = cycle_to_external_air /datum/computer/file/embedded_program/airlock/proc/close_doors() toggleDoor(memory["interior_status"], tag_interior_door, 1, "close") @@ -262,13 +305,13 @@ var/int_closed = check_interior_door_secured() return (ext_closed && int_closed) -/datum/computer/file/embedded_program/airlock/proc/signalDoor(var/tag, var/command) +/datum/computer/file/embedded_program/airlock/proc/signalDoor(tag, command) var/datum/signal/signal = new signal.data["tag"] = tag signal.data["command"] = command post_signal(signal, RADIO_AIRLOCK) -/datum/computer/file/embedded_program/airlock/proc/signalPump(var/tag, var/power, var/direction, var/pressure) +/datum/computer/file/embedded_program/airlock/proc/signalPump(tag, power, direction, pressure) var/datum/signal/signal = new signal.data = list( "tag" = tag, @@ -370,4 +413,6 @@ send an additional command to open the door again. #undef TARGET_NONE #undef TARGET_INOPEN -#undef TARGET_OUTOPEN \ No newline at end of file +#undef TARGET_OUTOPEN + +#undef SENSOR_TOLERANCE diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 29910395552..249d522057f 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -39,11 +39,25 @@ src.pipe_type = PIPE_SCRUBBERS_STRAIGHT + is_bent connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/fuel) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/fuel)) + src.pipe_type = PIPE_FUEL_STRAIGHT + is_bent + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/aux) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/aux)) + src.pipe_type = PIPE_AUX_STRAIGHT + is_bent + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/universal) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/universal)) src.pipe_type = PIPE_UNIVERSAL - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple)) src.pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent + else if(istype(make_from, /obj/machinery/atmospherics/portables_connector/fuel)) + src.pipe_type = PIPE_CONNECTOR_FUEL + connect_types = CONNECT_TYPE_FUEL + else if(istype(make_from, /obj/machinery/atmospherics/portables_connector/aux)) + src.pipe_type = PIPE_CONNECTOR_AUX + connect_types = CONNECT_TYPE_AUX else if(istype(make_from, /obj/machinery/atmospherics/portables_connector)) src.pipe_type = PIPE_CONNECTOR else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/supply)) @@ -54,14 +68,31 @@ src.pipe_type = PIPE_SCRUBBERS_MANIFOLD connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/fuel) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/fuel)) + src.pipe_type = PIPE_FUEL_MANIFOLD + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/aux) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/aux)) + src.pipe_type = PIPE_AUX_MANIFOLD + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold)) src.pipe_type = PIPE_MANIFOLD + else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump/aux)) + src.pipe_type = PIPE_AUX_UVENT + connect_types = CONNECT_TYPE_AUX else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump)) src.pipe_type = PIPE_UVENT else if(istype(make_from, /obj/machinery/atmospherics/valve)) src.pipe_type = PIPE_MVALVE else if(istype(make_from, /obj/machinery/atmospherics/binary/pump/high_power)) src.pipe_type = PIPE_VOLUME_PUMP + else if(istype(make_from, /obj/machinery/atmospherics/binary/pump/fuel)) + src.pipe_type = PIPE_PUMP_FUEL + connect_types = CONNECT_TYPE_FUEL + else if(istype(make_from, /obj/machinery/atmospherics/binary/pump/aux)) + src.pipe_type = PIPE_PUMP_AUX + connect_types = CONNECT_TYPE_AUX else if(istype(make_from, /obj/machinery/atmospherics/binary/pump)) src.pipe_type = PIPE_PUMP else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber)) @@ -72,6 +103,12 @@ else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate/supply)) connect_types = CONNECT_TYPE_SUPPLY src.pipe_type = PIPE_PASSIVE_GATE_SUPPLY + else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate/fuel)) + connect_types = CONNECT_TYPE_FUEL + src.pipe_type = PIPE_PASSIVE_GATE_FUEL + else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate/aux)) + connect_types = CONNECT_TYPE_AUX + src.pipe_type = PIPE_PASSIVE_GATE_AUX else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate)) src.pipe_type = PIPE_PASSIVE_GATE else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger)) @@ -88,6 +125,14 @@ src.pipe_type = PIPE_SCRUBBERS_MANIFOLD4W connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/fuel) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel)) + src.pipe_type = PIPE_FUEL_MANIFOLD4W + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/aux) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/aux)) + src.pipe_type = PIPE_AUX_MANIFOLD4W + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w)) src.pipe_type = PIPE_MANIFOLD4W else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/supply)) @@ -98,6 +143,14 @@ src.pipe_type = PIPE_SCRUBBERS_CAP connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/fuel) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/fuel)) + src.pipe_type = PIPE_FUEL_CAP + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/aux) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/aux)) + src.pipe_type = PIPE_AUX_CAP + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap)) src.pipe_type = PIPE_CAP else if(istype(make_from, /obj/machinery/atmospherics/omni/mixer)) @@ -113,6 +166,14 @@ src.pipe_type = PIPE_SCRUBBERS_UP connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up/fuel)) + src.pipe_type = PIPE_FUEL_UP + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up/aux)) + src.pipe_type = PIPE_AUX_UP + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/up)) src.pipe_type = PIPE_UP else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down/supply)) @@ -123,6 +184,14 @@ src.pipe_type = PIPE_SCRUBBERS_DOWN connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down/fuel)) + src.pipe_type = PIPE_FUEL_DOWN + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down/aux)) + src.pipe_type = PIPE_AUX_DOWN + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if(istype(make_from, /obj/machinery/atmospherics/pipe/zpipe/down)) src.pipe_type = PIPE_DOWN ///// Z-Level stuff @@ -135,12 +204,18 @@ else if (pipe_type == 29 || pipe_type == 30 || pipe_type == 32 || pipe_type == 34 || pipe_type == 36 || pipe_type == 38 || pipe_type == 40) connect_types = CONNECT_TYPE_SCRUBBER src.color = PIPE_COLOR_RED + else if (pipe_type == 44 || pipe_type == 45 || pipe_type == 48 || pipe_type == 50 || pipe_type == 52 || pipe_type == 54 || pipe_type == 56) + connect_types = CONNECT_TYPE_FUEL + src.color = PIPE_COLOR_YELLOW + else if (pipe_type == 46 || pipe_type == 47 || pipe_type == 49 || pipe_type == 51 || pipe_type == 53 || pipe_type == 55 || pipe_type == 57) + connect_types = CONNECT_TYPE_AUX + src.color = PIPE_COLOR_CYAN else if (pipe_type == 2 || pipe_type == 3) connect_types = CONNECT_TYPE_HE else if (pipe_type == 6) connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_HE else if (pipe_type == 26) - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX //src.pipe_dir = get_pipe_dir() update() randpixel_xy() @@ -195,7 +270,29 @@ "scrubbers pipe cap", "t-valve m", "scrubbers pressure regulator", - "supply pressure regulator" + "supply pressure regulator", +///// Fuel and auxiliary pipes + "fuel pipe", + "bent fuel pipe", + "auxiliary pipe", + "bent auxiliary pipe", + "fuel manifold", + "auxiliary manifold", + "fuel 4-way manifold", + "auxiliary 4-way manifold", + "fuel pipe up", + "auxiliary pipe up", + "fuel pipe down", + "auxiliary pipe down", + "fuel pipe cap", + "auxiliary pipe cap", + "fuel pressure regulator", + "auxiliary pressure regulator", + "fuel gas pump", + "auxiliary gas pump", + "fuel connector", + "auxiliary connector", + "auxiliary unary vent" ) name = nlist[pipe_type+1] + " fitting" var/list/islist = list( @@ -244,8 +341,30 @@ "cap", "cap", "mtvalvem", - "passivegate-scrubbers", - "passivegate-supply" + "passivegate", + "passivegate", +///// Fuel and auxiliary pipes + "simple", + "simple", + "simple", + "simple", + "manifold", + "manifold", + "manifold4w", + "manifold4w", + "cap", + "cap", + "cap", + "cap", + "cap", + "cap", + "passivegate", + "passivegate", + "pump", + "pump", + "connector", + "connector", + "uvent" ) icon_state = islist[pipe_type + 1] @@ -264,20 +383,20 @@ sanitize_dir() /obj/item/pipe/proc/sanitize_dir() - if(pipe_type in list(PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_MVALVE)) + if(pipe_type in list(PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_FUEL_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_MVALVE)) if(dir == 2) set_dir(1) else if(dir == 8) set_dir(4) - else if(pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W)) + else if(pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_FUEL_MANIFOLD4W, PIPE_AUX_MANIFOLD4W)) set_dir(2) /obj/item/pipe/Move() ..() - if ((pipe_type in list (PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_HE_BENT)) \ + if ((pipe_type in list (PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_FUEL_BENT, PIPE_AUX_BENT, PIPE_HE_BENT)) \ && (src.dir in cardinal)) src.set_dir(src.dir|turn(src.dir, 90)) - else if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_MVALVE)) + else if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_FUEL_STRAIGHT, PIPE_AUX_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_MVALVE)) if(dir==2) set_dir(1) else if(dir==8) @@ -296,25 +415,31 @@ switch(pipe_type) if( PIPE_SIMPLE_STRAIGHT, PIPE_HE_STRAIGHT, - PIPE_JUNCTION , - PIPE_PUMP , - PIPE_VOLUME_PUMP , - PIPE_PASSIVE_GATE , - PIPE_PASSIVE_GATE_SCRUBBER , - PIPE_PASSIVE_GATE_SUPPLY , + PIPE_JUNCTION, + PIPE_PUMP, + PIPE_PUMP_FUEL, + PIPE_PUMP_AUX, + PIPE_VOLUME_PUMP, + PIPE_PASSIVE_GATE, + PIPE_PASSIVE_GATE_SCRUBBER, + PIPE_PASSIVE_GATE_SUPPLY, + PIPE_PASSIVE_GATE_FUEL, + PIPE_PASSIVE_GATE_AUX, PIPE_MVALVE, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, + PIPE_FUEL_STRAIGHT, + PIPE_AUX_STRAIGHT, PIPE_UNIVERSAL ) return dir|flip - if(PIPE_SIMPLE_BENT, PIPE_HE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT) + if(PIPE_SIMPLE_BENT, PIPE_HE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_FUEL_BENT, PIPE_AUX_BENT) return dir //dir|acw - if(PIPE_CONNECTOR,PIPE_UVENT,PIPE_SCRUBBER,PIPE_HEAT_EXCHANGE) + if(PIPE_CONNECTOR,PIPE_CONNECTOR_FUEL,PIPE_CONNECTOR_AUX,PIPE_UVENT,PIPE_AUX_UVENT,PIPE_SCRUBBER,PIPE_HEAT_EXCHANGE) return dir - if(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER) + if(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_FUEL_MANIFOLD4W, PIPE_AUX_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER) return dir|flip|cw|acw - if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD) + if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_FUEL_MANIFOLD, PIPE_AUX_MANIFOLD) return flip|cw|acw if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_MTVALVE) return dir|flip|cw @@ -322,10 +447,10 @@ return dir|flip|acw if(PIPE_GAS_MIXER_T) return dir|cw|acw - if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP) + if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_FUEL_CAP, PIPE_AUX_CAP) return dir ///// Z-Level stuff - if(PIPE_UP,PIPE_DOWN,PIPE_SUPPLY_UP,PIPE_SUPPLY_DOWN,PIPE_SCRUBBERS_UP,PIPE_SCRUBBERS_DOWN) + if(PIPE_UP,PIPE_DOWN,PIPE_SUPPLY_UP,PIPE_SUPPLY_DOWN,PIPE_SCRUBBERS_UP,PIPE_SCRUBBERS_DOWN,PIPE_FUEL_UP,PIPE_FUEL_DOWN,PIPE_AUX_UP,PIPE_AUX_DOWN) return dir ///// Z-Level stuff return 0 @@ -375,12 +500,16 @@ if(action == "Yes") action = alert(user, "Change pipe type?", "Change pipe", "Yes", "No") if(action == "No") - if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT)) - if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SUPPLY_STRAIGHT)) + if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT, PIPE_FUEL_STRAIGHT, PIPE_FUEL_BENT, PIPE_AUX_STRAIGHT, PIPE_AUX_BENT)) + if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_FUEL_STRAIGHT, PIPE_AUX_STRAIGHT)) if(pipe_type == PIPE_SIMPLE_STRAIGHT) pipe_type = PIPE_SIMPLE_BENT else if(pipe_type == PIPE_SCRUBBERS_STRAIGHT) pipe_type = PIPE_SCRUBBERS_BENT + else if(pipe_type == PIPE_FUEL_STRAIGHT) + pipe_type = PIPE_FUEL_BENT + else if(pipe_type == PIPE_AUX_STRAIGHT) + pipe_type = PIPE_AUX_BENT else pipe_type = PIPE_SUPPLY_BENT else @@ -388,10 +517,14 @@ pipe_type = PIPE_SIMPLE_STRAIGHT else if(pipe_type == PIPE_SCRUBBERS_BENT) pipe_type = PIPE_SCRUBBERS_STRAIGHT + else if(pipe_type == PIPE_FUEL_BENT) + pipe_type = PIPE_FUEL_STRAIGHT + else if(pipe_type == PIPE_AUX_BENT) + pipe_type = PIPE_AUX_STRAIGHT else pipe_type = PIPE_SUPPLY_STRAIGHT else - to_chat(user, "You can not change this pipe!") + to_chat(user, SPAN_WARNING("You can not change this pipe!")) return TRUE else if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT)) @@ -407,6 +540,16 @@ pipe_type = PIPE_SUPPLY_STRAIGHT else if(pipe_type in list(PIPE_SUPPLY_BENT, PIPE_SUPPLY_STRAIGHT)) if(pipe_type == PIPE_SUPPLY_BENT) + pipe_type = PIPE_FUEL_BENT + else + pipe_type = PIPE_FUEL_STRAIGHT + else if(pipe_type in list(PIPE_FUEL_BENT, PIPE_FUEL_STRAIGHT)) + if(pipe_type == PIPE_FUEL_BENT) + pipe_type = PIPE_AUX_BENT + else + pipe_type = PIPE_AUX_STRAIGHT + else if(pipe_type in list(PIPE_AUX_BENT, PIPE_AUX_STRAIGHT)) + if(pipe_type == PIPE_AUX_BENT) pipe_type = PIPE_SIMPLE_BENT else pipe_type = PIPE_SIMPLE_STRAIGHT @@ -415,12 +558,12 @@ if (!isturf(src.loc)) return TRUE - if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_MVALVE)) + if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_FUEL_STRAIGHT, PIPE_AUX_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_MVALVE)) if(dir==2) set_dir(1) else if(dir==8) set_dir(4) - else if (pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER)) + else if (pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_FUEL_MANIFOLD4W, PIPE_AUX_MANIFOLD4W, PIPE_OMNI_MIXER, PIPE_OMNI_FILTER)) set_dir(2) var/pipe_dir = get_pipe_dir() @@ -491,6 +634,44 @@ P.node2.atmos_init() P.node2.build_network() + if(PIPE_FUEL_STRAIGHT, PIPE_FUEL_BENT) + var/obj/machinery/atmospherics/pipe/simple/hidden/fuel/P = new( src.loc ) + P.color = color + P.set_dir(src.dir) + P.initialize_directions = pipe_dir + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + if (QDELETED(P)) + to_chat(usr, pipefailtext) + return TRUE + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + + if(PIPE_AUX_STRAIGHT, PIPE_AUX_BENT) + var/obj/machinery/atmospherics/pipe/simple/hidden/aux/P = new( src.loc ) + P.color = color + P.set_dir(src.dir) + P.initialize_directions = pipe_dir + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + if (QDELETED(P)) + to_chat(usr, pipefailtext) + return TRUE + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_UNIVERSAL) var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new( src.loc ) P.color = color @@ -541,6 +722,33 @@ C.node.atmos_init() C.node.build_network() + if(PIPE_CONNECTOR_FUEL) // connector + var/obj/machinery/atmospherics/portables_connector/fuel/C = new( src.loc ) + C.set_dir(dir) + C.initialize_directions = pipe_dir + if (pipename) + C.name = pipename + var/turf/T = C.loc + C.level = !T.is_plating() ? 2 : 1 + C.atmos_init() + C.build_network() + if (C.node) + C.node.atmos_init() + C.node.build_network() + + if(PIPE_CONNECTOR_AUX) // connector + var/obj/machinery/atmospherics/portables_connector/aux/C = new( src.loc ) + C.set_dir(dir) + C.initialize_directions = pipe_dir + if (pipename) + C.name = pipename + var/turf/T = C.loc + C.level = !T.is_plating() ? 2 : 1 + C.atmos_init() + C.build_network() + if (C.node) + C.node.atmos_init() + C.node.build_network() if(PIPE_MANIFOLD) //manifold var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc ) @@ -611,6 +819,52 @@ M.node3.atmos_init() M.node3.build_network() + if(PIPE_FUEL_MANIFOLD) //manifold + var/obj/machinery/atmospherics/pipe/manifold/hidden/fuel/M = new( src.loc ) + M.color = color + M.set_dir(dir) + M.initialize_directions = pipe_dir + //M.New() + var/turf/T = M.loc + M.level = !T.is_plating() ? 2 : 1 + M.atmos_init() + if (!M) + to_chat(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 TRUE + M.build_network() + if (M.node1) + M.node1.atmos_init() + M.node1.build_network() + if (M.node2) + M.node2.atmos_init() + M.node2.build_network() + if (M.node3) + M.node3.atmos_init() + M.node3.build_network() + + if(PIPE_AUX_MANIFOLD) //manifold + var/obj/machinery/atmospherics/pipe/manifold/hidden/aux/M = new( src.loc ) + M.color = color + M.set_dir(dir) + M.initialize_directions = pipe_dir + //M.New() + var/turf/T = M.loc + M.level = !T.is_plating() ? 2 : 1 + M.atmos_init() + if (!M) + to_chat(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 TRUE + M.build_network() + if (M.node1) + M.node1.atmos_init() + M.node1.build_network() + if (M.node2) + M.node2.atmos_init() + M.node2.build_network() + if (M.node3) + M.node3.atmos_init() + M.node3.build_network() + if(PIPE_MANIFOLD4W) //4-way manifold var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc ) M.pipe_color = color @@ -691,6 +945,60 @@ M.node4.atmos_init() M.node4.build_network() + if(PIPE_FUEL_MANIFOLD4W) //4-way manifold + var/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel/M = new( src.loc ) + M.color = color + M.set_dir(dir) + M.initialize_directions = pipe_dir + M.connect_types = src.connect_types + //M.New() + var/turf/T = M.loc + M.level = !T.is_plating() ? 2 : 1 + M.atmos_init() + if (!M) + to_chat(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 TRUE + M.build_network() + if (M.node1) + M.node1.atmos_init() + M.node1.build_network() + if (M.node2) + M.node2.atmos_init() + M.node2.build_network() + if (M.node3) + M.node3.atmos_init() + M.node3.build_network() + if (M.node4) + M.node4.atmos_init() + M.node4.build_network() + + if(PIPE_AUX_MANIFOLD4W) //4-way manifold + var/obj/machinery/atmospherics/pipe/manifold4w/hidden/aux/M = new( src.loc ) + M.color = color + M.set_dir(dir) + M.initialize_directions = pipe_dir + M.connect_types = src.connect_types + //M.New() + var/turf/T = M.loc + M.level = !T.is_plating() ? 2 : 1 + M.atmos_init() + if (!M) + to_chat(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 TRUE + M.build_network() + if (M.node1) + M.node1.atmos_init() + M.node1.build_network() + if (M.node2) + M.node2.atmos_init() + M.node2.build_network() + if (M.node3) + M.node3.atmos_init() + M.node3.build_network() + if (M.node4) + M.node4.atmos_init() + M.node4.build_network() + if(PIPE_JUNCTION) var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc ) P.set_dir(src.dir) @@ -722,6 +1030,19 @@ V.node.atmos_init() V.node.build_network() + if(PIPE_AUX_UVENT) //unary vent + var/obj/machinery/atmospherics/unary/vent_pump/aux/V = new( src.loc ) + V.set_dir(dir) + V.initialize_directions = pipe_dir + if (pipename) + V.name = pipename + var/turf/T = V.loc + V.level = !T.is_plating() ? 2 : 1 + V.atmos_init() + V.build_network() + if (V.node) + V.node.atmos_init() + V.node.build_network() if(PIPE_MVALVE) //manual valve var/obj/machinery/atmospherics/valve/V = new( src.loc) @@ -757,6 +1078,40 @@ P.node2.atmos_init() P.node2.build_network() + if(PIPE_PUMP_FUEL) //gas pump + var/obj/machinery/atmospherics/binary/pump/fuel/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + + if(PIPE_PUMP_AUX) //gas pump + var/obj/machinery/atmospherics/binary/pump/aux/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_SCRUBBER) //scrubber var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc) S.set_dir(dir) @@ -841,6 +1196,26 @@ C.node.atmos_init() C.node.build_network() + if(PIPE_FUEL_CAP) + var/obj/machinery/atmospherics/pipe/cap/hidden/fuel/C = new(src.loc) + C.set_dir(dir) + C.initialize_directions = pipe_dir + C.atmos_init() + C.build_network() + if(C.node) + C.node.atmos_init() + C.node.build_network() + + if(PIPE_AUX_CAP) + var/obj/machinery/atmospherics/pipe/cap/hidden/aux/C = new(src.loc) + C.set_dir(dir) + C.initialize_directions = pipe_dir + C.atmos_init() + C.build_network() + if(C.node) + C.node.atmos_init() + C.node.build_network() + if(PIPE_PASSIVE_GATE) //passive gate var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc) P.set_dir(dir) @@ -892,6 +1267,40 @@ P.node2.atmos_init() P.node2.build_network() + if(PIPE_PASSIVE_GATE_FUEL) + var/obj/machinery/atmospherics/binary/passive_gate/fuel/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + + if(PIPE_PASSIVE_GATE_AUX) + var/obj/machinery/atmospherics/binary/passive_gate/aux/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_VOLUME_PUMP) //volume pump var/obj/machinery/atmospherics/binary/pump/high_power/P = new(src.loc) P.set_dir(dir) @@ -1019,6 +1428,70 @@ if (P.node2) P.node2.atmos_init() P.node2.build_network() + if(PIPE_FUEL_UP) + var/obj/machinery/atmospherics/pipe/zpipe/up/fuel/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_FUEL_DOWN) + var/obj/machinery/atmospherics/pipe/zpipe/down/fuel/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_AUX_UP) + var/obj/machinery/atmospherics/pipe/zpipe/up/aux/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() + if(PIPE_AUX_DOWN) + var/obj/machinery/atmospherics/pipe/zpipe/down/aux/P = new(src.loc) + P.set_dir(dir) + P.initialize_directions = pipe_dir + if (pipename) + P.name = pipename + var/turf/T = P.loc + P.level = !T.is_plating() ? 2 : 1 + P.atmos_init() + P.build_network() + if (P.node1) + P.node1.atmos_init() + P.node1.build_network() + if (P.node2) + P.node2.atmos_init() + P.node2.build_network() ///// Z-Level stuff if(PIPE_OMNI_MIXER) var/obj/machinery/atmospherics/omni/mixer/P = new(loc) diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm index 9b78eb5da4e..79c0a52ce3c 100644 --- a/code/game/machinery/pipe/pipe_dispenser.dm +++ b/code/game/machinery/pipe/pipe_dispenser.dm @@ -43,14 +43,37 @@ 4-Way Manifold
Upward Pipe
Downward Pipe
+ Fuel pipes:
+ Pipe
+ Bent Pipe
+ Manifold
+ Pipe Cap
+ 4-Way Manifold
+ Upward Pipe
+ Downward Pipe
+ Auxiliary pipes:
+ Pipe
+ Bent Pipe
+ Manifold
+ Pipe Cap
+ 4-Way Manifold
+ Upward Pipe
+ Downward Pipe
Devices:
Universal pipe adapter
Connector
+ Fuel Connector
+ Auxiliary Connector
Unary Vent
+ Auxiliary Unary Vent
Gas Pump
+ Fuel Gas Pump
+ Auxiliary Gas Pump
Pressure Regulator
Scrubbers Pressure Regulator
Supply Pressure Regulator
+ Fuel Pressure Regulator
+ Auxiliary Pressure Regulator
High Power Gas Pump
Scrubber
Meter
diff --git a/code/game/objects/items/weapons/RFD.dm b/code/game/objects/items/weapons/RFD.dm index d7d2f52da49..dc9c7f866ed 100644 --- a/code/game/objects/items/weapons/RFD.dm +++ b/code/game/objects/items/weapons/RFD.dm @@ -592,6 +592,8 @@ #define STANDARD_PIPE "Standard Pipes" #define SUPPLY_PIPE "Supply Pipes" #define SCRUBBER_PIPE "Scrubber Pipes" +#define FUEL_PIPE "Fuel Pipes" +#define AUX_PIPE "Auxiliary Pipes" #define DEVICES "Devices" /obj/item/rfd/piping @@ -637,12 +639,32 @@ "Downward Pipe" = PIPE_SCRUBBERS_DOWN ) + var/list/fuel_pipes = list( + "Pipe" = PIPE_FUEL_STRAIGHT, + "Bent Pipe" = PIPE_FUEL_BENT, + "Manifold" = PIPE_FUEL_MANIFOLD, + "4-Way Manifold" = PIPE_FUEL_MANIFOLD4W, + "Upward Pipe" = PIPE_FUEL_UP, + "Downward Pipe" = PIPE_FUEL_DOWN + ) + + var/list/aux_pipes = list( + "Pipe" = PIPE_AUX_STRAIGHT, + "Bent Pipe" = PIPE_AUX_BENT, + "Manifold" = PIPE_AUX_MANIFOLD, + "4-Way Manifold" = PIPE_AUX_MANIFOLD4W, + "Upward Pipe" = PIPE_AUX_UP, + "Downward Pipe" = PIPE_AUX_DOWN + ) + var/list/devices = list( "Universal Pipe Adapter" = PIPE_UNIVERSAL, "Connector" = PIPE_CONNECTOR, "Unary Vent" = PIPE_UVENT, + "Auxiliary Unary Vent" = PIPE_AUX_UVENT, "Scrubber" = PIPE_SCRUBBER, "Gas Pump" = PIPE_PUMP, + "Fuel Gas Pump" = PIPE_PUMP_FUEL, "Pressure Regulator" = PIPE_PASSIVE_GATE, "High Power Gas Pump" = PIPE_VOLUME_PUMP, "Gas Filter" = PIPE_GAS_FILTER_M, @@ -692,7 +714,7 @@ // Special case handling for bent pipes. They require a non-cardinal direction var/pipe_dir = NORTH - if(selected_pipe in list(PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT)) + if(selected_pipe in list(PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_FUEL_BENT, PIPE_AUX_BENT)) pipe_dir = NORTHEAST new /obj/item/pipe(T, selected_pipe, pipe_dir) @@ -710,6 +732,10 @@ pipe_selection = supply_pipes if(SCRUBBER_PIPE) pipe_selection = scrubber_pipes + if(FUEL_PIPE) + pipe_selection = fuel_pipes + if(AUX_PIPE) + pipe_selection = aux_pipes if(DEVICES) pipe_selection = devices pipe_examine = input(user, "Choose the pipe you want to deploy.", "Pipe Selection") in pipe_selection @@ -727,6 +753,12 @@ if(SCRUBBER_PIPE) pipe_examine = "Pipe" selected_pipe = PIPE_SCRUBBERS_STRAIGHT + if(FUEL_PIPE) + pipe_examine = "Pipe" + selected_pipe = PIPE_FUEL_STRAIGHT + if(AUX_PIPE) + pipe_examine = "Pipe" + selected_pipe = PIPE_AUX_STRAIGHT if(DEVICES) pipe_examine = "Universal Pipe Adapter" selected_pipe = PIPE_UNIVERSAL @@ -747,5 +779,7 @@ #undef STANDARD_PIPE #undef SUPPLY_PIPE #undef SCRUBBER_PIPE +#undef FUEL_PIPE +#undef AUX_PIPE #undef DEVICES -#undef MATERIALIZATION_FAIL_MESSAGE \ No newline at end of file +#undef MATERIALIZATION_FAIL_MESSAGE diff --git a/code/modules/atmospherics/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/components/binary_devices/passive_gate.dm index 1ff14faeb5f..07aa4736bb7 100644 --- a/code/modules/atmospherics/components/binary_devices/passive_gate.dm +++ b/code/modules/atmospherics/components/binary_devices/passive_gate.dm @@ -38,6 +38,7 @@ /obj/machinery/atmospherics/binary/passive_gate/on/input/max/Initialize() . = ..() target_pressure = max_pressure_setting + /obj/machinery/atmospherics/binary/passive_gate/scrubbers name = "scrubbers pressure regulator" desc = "A one-way air valve that can be used to regulate input or output pressure, and flow rate. This is one is for scrubber pipes." @@ -58,6 +59,26 @@ unlocked = TRUE target_pressure = 200 +/obj/machinery/atmospherics/binary/passive_gate/fuel + name = "fuel pressure regulator" + desc = "A one-way air valve that can be used to regulate input or output pressure, and flow rate. This is one is for fuel pipes." + icon_state = "map-fuel" + connect_types = CONNECT_TYPE_FUEL + icon_connect_type = "-fuel" + + unlocked = TRUE + target_pressure = 200 + +/obj/machinery/atmospherics/binary/passive_gate/aux + name = "auxiliary pressure regulator" + desc = "A one-way air valve that can be used to regulate input or output pressure, and flow rate. This is one is for auxiliary pipes." + icon_state = "map-aux" + connect_types = CONNECT_TYPE_AUX + icon_connect_type = "-aux" + + unlocked = TRUE + target_pressure = 200 + /obj/machinery/atmospherics/binary/passive_gate/Initialize() . = ..() air1.volume = ATMOS_DEFAULT_VOLUME_PUMP * 2.5 diff --git a/code/modules/atmospherics/components/binary_devices/pump.dm b/code/modules/atmospherics/components/binary_devices/pump.dm index 772372998aa..980010b3b69 100644 --- a/code/modules/atmospherics/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/components/binary_devices/pump.dm @@ -15,10 +15,11 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump name = "gas pump" desc = "A pump." - desc_info = "This moves gas from one pipe to another. A higher target pressure demands more energy. The side with the red end is the output." + desc_info = "This moves gas from one pipe to another. A higher target pressure demands more energy. The side with the colored end is the output." icon = 'icons/atmos/pump.dmi' icon_state = "map_off" level = 1 + var/base_icon = "pump" var/target_pressure = ONE_ATMOSPHERE @@ -45,12 +46,32 @@ Thus, the two variables affect pump operation are set in New(): icon_state = "map_on" use_power = POWER_USE_IDLE +/obj/machinery/atmospherics/binary/pump/fuel + icon_state = "map_off-fuel" + base_icon = "pump-fuel" + icon_connect_type = "-fuel" + connect_types = CONNECT_TYPE_FUEL + +/obj/machinery/atmospherics/binary/pump/fuel/on + icon_state = "map_on-fuel" + use_power = POWER_USE_IDLE + +/obj/machinery/atmospherics/binary/pump/aux + icon_state = "map_off-aux" + base_icon = "pump-aux" + icon_connect_type = "-aux" + connect_types = CONNECT_TYPE_AUX + +/obj/machinery/atmospherics/binary/pump/aux/on + icon_state = "map_on-aux" + use_power = POWER_USE_IDLE + /obj/machinery/atmospherics/binary/pump/update_icon() if(!powered()) - icon_state = "off" + icon_state = "[base_icon]-off" else - icon_state = "[use_power ? "on" : "off"]" + icon_state = "[use_power ? "[base_icon]-on" : "[base_icon]-off"]" /obj/machinery/atmospherics/binary/pump/update_underlays() if(..()) @@ -58,8 +79,8 @@ Thus, the two variables affect pump operation are set in New(): var/turf/T = get_turf(src) if(!istype(T)) return - add_underlay(T, node1, turn(dir, -180)) - add_underlay(T, node2, dir) + add_underlay(T, node1, turn(dir, -180), node1?.icon_connect_type) + add_underlay(T, node2, dir, node2?.icon_connect_type) /obj/machinery/atmospherics/binary/pump/hide(var/i) update_underlays() diff --git a/code/modules/atmospherics/components/portables_connector.dm b/code/modules/atmospherics/components/portables_connector.dm index eccc3c45df0..6e861bab1da 100644 --- a/code/modules/atmospherics/components/portables_connector.dm +++ b/code/modules/atmospherics/components/portables_connector.dm @@ -17,6 +17,16 @@ use_power = POWER_USE_OFF level = 1 +/obj/machinery/atmospherics/portables_connector/fuel + icon_state = "map_connector-fuel" + icon_connect_type = "-fuel" + connect_types = CONNECT_TYPE_FUEL + +/obj/machinery/atmospherics/portables_connector/aux + icon_state = "map_connector-aux" + icon_connect_type = "-aux" + connect_types = CONNECT_TYPE_AUX + /obj/machinery/atmospherics/portables_connector/Initialize() initialize_directions = dir @@ -27,7 +37,7 @@ toggle_process() /obj/machinery/atmospherics/portables_connector/update_icon() - icon_state = "connector" + icon_state = "connector" + icon_connect_type /obj/machinery/atmospherics/portables_connector/update_underlays() if(..()) @@ -35,7 +45,7 @@ var/turf/T = get_turf(src) if(!istype(T)) return - add_underlay(T, node, dir) + add_underlay(T, node, dir, node?.icon_connect_type) /obj/machinery/atmospherics/portables_connector/hide(var/i) update_underlays() diff --git a/code/modules/atmospherics/components/unary/vent_pump.dm b/code/modules/atmospherics/components/unary/vent_pump.dm index fa79d9f7e24..a629ffa8048 100644 --- a/code/modules/atmospherics/components/unary/vent_pump.dm +++ b/code/modules/atmospherics/components/unary/vent_pump.dm @@ -81,6 +81,11 @@ pressure_checks = 2 pressure_checks_default = 2 +/obj/machinery/atmospherics/unary/vent_pump/aux + icon_state = "map_vent_aux" + icon_connect_type = "-aux" + connect_types = CONNECT_TYPE_AUX //connects to aux pipes + /obj/machinery/atmospherics/unary/vent_pump/Initialize(mapload) if(mapload) var/turf/T = loc @@ -125,6 +130,11 @@ . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800 +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux + icon_state = "map_vent_aux" + icon_connect_type = "-aux" + connect_types = CONNECT_TYPE_AUX //connects to aux pipes + /obj/machinery/atmospherics/unary/vent_pump/engine name = "Reactor Core Vent" power_channel = ENVIRON @@ -134,19 +144,12 @@ . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 500 //meant to match air injector -/obj/machinery/atmospherics/unary/vent_pump/update_icon(var/safety = 0) +/obj/machinery/atmospherics/unary/vent_pump/update_icon(safety = 0) if (!node) update_use_power(POWER_USE_OFF) var/vent_icon = "" - var/turf/T = get_turf(src) - if(!istype(T)) - return - - if(!T.is_plating() && node && node.level == 1 && istype(node, /obj/machinery/atmospherics/pipe)) - vent_icon += "h" - if(welded) vent_icon += "weld" else if(!powered()) @@ -171,6 +174,7 @@ add_underlay(T, node, dir, node.icon_connect_type) else add_underlay(T,, dir) + underlays += "frame" /obj/machinery/atmospherics/unary/vent_pump/hide() queue_icon_update() diff --git a/code/modules/atmospherics/components/unary/vent_scrubber.dm b/code/modules/atmospherics/components/unary/vent_scrubber.dm index 97cdd02a194..4d2bdb63602 100644 --- a/code/modules/atmospherics/components/unary/vent_scrubber.dm +++ b/code/modules/atmospherics/components/unary/vent_scrubber.dm @@ -119,6 +119,7 @@ add_underlay(T, node, dir, node.icon_connect_type) else add_underlay(T,, dir) + underlays += "frame" /obj/machinery/atmospherics/unary/vent_scrubber/proc/set_frequency(new_frequency) SSradio.remove_object(src, frequency) diff --git a/code/modules/atmospherics/pipes.dm b/code/modules/atmospherics/pipes.dm index 065105bf75c..710c71063a6 100644 --- a/code/modules/atmospherics/pipes.dm +++ b/code/modules/atmospherics/pipes.dm @@ -90,7 +90,7 @@ return ..() var/turf/T = src.loc if (level==1 && isturf(T) && !T.is_plating()) - to_chat(user, "You must remove the plating first.") + to_chat(user, SPAN_WARNING("You must remove the plating first!")) return TRUE var/datum/gas_mixture/int_air = return_air() if(!loc) return FALSE @@ -349,7 +349,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/scrubbers name = "Scrubbers pipe" desc = "A one meter section of scrubbers pipe." - desc_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + desc_info = "This is a special 'scrubbers' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ a Universal Adapter pipe." icon_state = "intact-scrubbers" connect_types = CONNECT_TYPE_SCRUBBER @@ -360,12 +360,36 @@ /obj/machinery/atmospherics/pipe/simple/visible/supply name = "Air supply pipe" desc = "A one meter section of supply pipe" + desc_info = "This is a special 'supply' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." icon_state = "intact-supply" connect_types = CONNECT_TYPE_SUPPLY layer = 2.39 icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/simple/visible/fuel + name = "Fuel pipe" + desc = "A one meter section of fuel pipe." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "intact-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/simple/visible/aux + name = "Auxiliary pipe" + desc = "A one meter section of auxiliary pipe." + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "intact-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/simple/visible/yellow color = PIPE_COLOR_YELLOW @@ -414,6 +438,28 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/simple/hidden/fuel + name = "Fuel pipe" + desc = "A one meter section of fuel pipe." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "intact-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/simple/hidden/aux + name = "Auxiliary pipe" + desc = "A one meter section of auxiliary pipe." + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "intact-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/simple/hidden/yellow color = PIPE_COLOR_YELLOW @@ -652,6 +698,28 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/manifold/visible/fuel + name = "fuel pipe manifold" + desc = "A manifold composed of fuel piping." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold/visible/aux + name = "auxiliary pipe manifold" + desc = "A manifold composed of auxiliary piping." + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "intact-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/manifold/visible/yellow color = PIPE_COLOR_YELLOW @@ -700,6 +768,28 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel + name = "Fuel pipe manifold" + desc = "A manifold composed of fuel pipes." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold/hidden/aux + name = "Auxiliary pipe" + desc = "A manifold composed of auxiliary pipes." + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/manifold/hidden/yellow color = PIPE_COLOR_YELLOW @@ -940,6 +1030,28 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/manifold4w/visible/fuel + name = "4-way fuel pipe manifold" + desc = "A manifold composed of fuel pipes." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map_4way-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.38 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold4w/visible/aux + name = "4-way auxiliary pipe manifold" + desc = "A manifold composed of auxiliary pipes" + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map_4way-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.39 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/manifold4w/visible/yellow color = PIPE_COLOR_YELLOW @@ -988,6 +1100,28 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/manifold4w/hidden/fuel + name = "4-way fuel pipe manifold" + desc = "A manifold composed of fuel pipes." + desc_info = "This is a special 'fuel' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map_4way-fuel" + connect_types = CONNECT_TYPE_FUEL + layer = 2.38 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/manifold4w/hidden/aux + name = "4-way auxiliary pipe manifold" + desc = "A manifold composed of auxiliary pipes." + desc_info = "This is a special 'aux' pipe, which does not connect to 'normal' pipes. If you want to connect it, use \ + a Universal Adapter pipe." + icon_state = "map_4way-aux" + connect_types = CONNECT_TYPE_AUX + layer = 2.39 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow color = PIPE_COLOR_YELLOW @@ -1110,6 +1244,22 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/cap/visible/fuel + name = "fuel pipe endcap" + desc = "An endcap for fuel pipes" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/cap/visible/aux + name = "auxiliary pipe endcap" + desc = "An endcap for auxiliary pipes" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/cap/hidden level = 1 icon_state = "cap" @@ -1131,6 +1281,22 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/cap/hidden/fuel + name = "fuel pipe endcap" + desc = "An endcap for fuel pipes" + connect_types = CONNECT_TYPE_FUEL + layer = 2.40 + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/cap/hidden/aux + name = "auxiliary pipe endcap" + desc = "An endcap for auxiliary pipes" + connect_types = CONNECT_TYPE_AUX + layer = 2.41 + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/tank icon = 'icons/atmos/tank.dmi' @@ -1139,6 +1305,7 @@ name = "Pressure Tank" desc = "A large vessel containing pressurized gas." + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX volume = 10000 //in liters, 1 meters by 1 meters by 2 meters ~tweaked it a little to simulate a pressure tank without needing to recode them yet var/start_pressure = PRESSURE_ONE_THOUSAND * 2.5 @@ -1313,9 +1480,9 @@ /obj/machinery/atmospherics/pipe/simple/visible/universal name = "universal pipe adapter" - desc = "An adapter for regular, supply and scrubbers pipes." - desc_info = "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes." - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + desc = "An adapter for regular, supply, scrubbers, fuel, and auxiliary pipes." + desc_info = "This allows you to connect 'normal' pipes, blue 'supply' pipes, red 'scrubber' pipes, yellow 'fuel' pipes, and cyan 'aux' pipes together." + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX icon_state = "map_universal" gfi_layer_rotation = GFI_ROTATION_OVERDIR @@ -1350,9 +1517,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/universal name = "universal pipe adapter" - desc = "An adapter for regular, supply and scrubbers pipes." - desc_info = "This allows you to connect 'normal' pipes, red 'scrubber' pipes, and blue 'supply' pipes." - connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER + desc = "An adapter for regular, supply, scrubbers, fuel, and auxiliary pipes." + desc_info = "This allows you to connect 'normal' pipes, blue 'supply' pipes, red 'scrubber' pipes, yellow 'fuel' pipes, and cyan 'aux' pipes together." + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_SUPPLY|CONNECT_TYPE_SCRUBBER|CONNECT_TYPE_FUEL|CONNECT_TYPE_AUX icon_state = "map_universal" gfi_layer_rotation = GFI_ROTATION_OVERDIR @@ -1394,18 +1561,38 @@ add_underlay_adapter(T, , node_dir, "") add_underlay_adapter(T, node, node_dir, "-supply") add_underlay_adapter(T, , node_dir, "-scrubbers") + add_underlay_adapter(T, , node_dir, "-fuel") + add_underlay_adapter(T, , node_dir, "-aux") else if (node.icon_connect_type == "-scrubbers") add_underlay_adapter(T, , node_dir, "") add_underlay_adapter(T, , node_dir, "-supply") add_underlay_adapter(T, node, node_dir, "-scrubbers") + add_underlay_adapter(T, , node_dir, "-fuel") + add_underlay_adapter(T, , node_dir, "-aux") + else if (node.icon_connect_type == "-fuel") + add_underlay_adapter(T, , node_dir, "") + add_underlay_adapter(T, , node_dir, "-supply") + add_underlay_adapter(T, , node_dir, "-scrubbers") + add_underlay_adapter(T, node, node_dir, "-fuel") + add_underlay_adapter(T, , node_dir, "-aux") + else if (node.icon_connect_type == "-aux") + add_underlay_adapter(T, , node_dir, "") + add_underlay_adapter(T, , node_dir, "-supply") + add_underlay_adapter(T, , node_dir, "-scrubbers") + add_underlay_adapter(T, , node_dir, "-fuel") + add_underlay_adapter(T, node, node_dir, "-aux") else add_underlay_adapter(T, node, node_dir, "") add_underlay_adapter(T, , node_dir, "-supply") add_underlay_adapter(T, , node_dir, "-scrubbers") + add_underlay_adapter(T, , node_dir, "-fuel") + add_underlay_adapter(T, , node_dir, "-aux") else add_underlay_adapter(T, , direction, "-supply") add_underlay_adapter(T, , direction, "-scrubbers") add_underlay_adapter(T, , direction, "") + add_underlay_adapter(T, , direction, "-fuel") + add_underlay_adapter(T, , direction, "-aux") /obj/machinery/atmospherics/proc/add_underlay_adapter(var/turf/T, var/obj/machinery/atmospherics/node, var/direction, var/icon_connect_type) //modified from add_underlay, does not make exposed underlays if(node) diff --git a/code/modules/multiz/pipes.dm b/code/modules/multiz/pipes.dm index 56e8948c512..61892d95011 100644 --- a/code/modules/multiz/pipes.dm +++ b/code/modules/multiz/pipes.dm @@ -222,9 +222,9 @@ var/turf/T = src.loc // hide if turf is not intact hide(!T.is_plating()) -/////////////////////// -// supply/scrubbers // -/////////////////////// +//////////////////////////////// +// supply/scrubbers/fuel/aux // +//////////////////////////////// /obj/machinery/atmospherics/pipe/zpipe/up/scrubbers icon_state = "up-scrubbers" @@ -242,6 +242,22 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/zpipe/up/fuel + icon_state = "up-fuel" + name = "upwards fuel pipe" + desc = "A fuel pipe segment to connect upwards." + connect_types = CONNECT_TYPE_FUEL + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/zpipe/up/aux + icon_state = "up-aux" + name = "upwards auxiliary pipe" + desc = "A auxiliary pipe segment to connect upwards." + connect_types = CONNECT_TYPE_AUX + icon_connect_type = "-aux" + color = PIPE_COLOR_CYAN + /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers icon_state = "down-scrubbers" name = "downwards scrubbers pipe" @@ -258,6 +274,22 @@ icon_connect_type = "-supply" color = PIPE_COLOR_BLUE +/obj/machinery/atmospherics/pipe/zpipe/down/fuel + icon_state = "down-fuel" + name = "downwards fuel pipe" + desc = "A fuel pipe segment to connect downwards." + connect_types = CONNECT_TYPE_FUEL + icon_connect_type = "-fuel" + color = PIPE_COLOR_YELLOW + +/obj/machinery/atmospherics/pipe/zpipe/down/aux + icon_state = "down-aux" + name = "downwards auxiliary pipe" + desc = "An auxiliary pipe segment to connect downwards." + connect_types = CONNECT_TYPE_AUX + icon_connect_type = "-supply" + color = PIPE_COLOR_CYAN + // Colored misc. pipes /obj/machinery/atmospherics/pipe/zpipe/up/cyan color = PIPE_COLOR_CYAN diff --git a/code/modules/overmap/ships/engines/gas_thruster.dm b/code/modules/overmap/ships/engines/gas_thruster.dm index 28b2aa3e0f6..8c8001b4130 100644 --- a/code/modules/overmap/ships/engines/gas_thruster.dm +++ b/code/modules/overmap/ships/engines/gas_thruster.dm @@ -58,8 +58,9 @@ icon = 'icons/obj/ship_engine.dmi' icon_state = "nozzle" opacity = 1 - density = 1 + density = TRUE atmos_canpass = CANPASS_NEVER + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL use_power = POWER_USE_OFF power_channel = EQUIP diff --git a/html/changelogs/Generalcamo - New Pipes.yml b/html/changelogs/Generalcamo - New Pipes.yml new file mode 100644 index 00000000000..7e97a687165 --- /dev/null +++ b/html/changelogs/Generalcamo - New Pipes.yml @@ -0,0 +1,48 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: GeneralCamo + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added fuel pipes. Fuel pipes are intended to carry fuel for vessels, and have their own dedicated pump and connector for this." + - rscadd: "Added auxiliary pipes. Auxiliary pipes are intended primarily for airlocks, but can be used in other various means. They have their own dedicated pump, connector, and vent." + - rscadd: "Added a mode to airlock controllers to cycle air externally. This prevents external, potentially poisonous air from mixing with clean air." + - tweak: "Thrusters can now attach directly to fuel pipes." + - tweak: "Pressure tanks can now attach directly to all pipes." + - maptweak: "The Intrepid now has externally cycled airlocks, and utilizes the new pipes." + - maptweak: "Added a scrubber to the Spark, which is directly vented out into space." + - imageadd: "Ported Keekenox#1337's vents and scrubbers." diff --git a/icons/atmos/connector.dmi b/icons/atmos/connector.dmi index cf4ea7a3c84ee95aff76e501af86f1261828582e..bb7c007d8ee24f4df0a701862d24211512d38278 100644 GIT binary patch delta 1119 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 U--M<9fg!%${$5)39^sk)1i%*(XaE2J diff --git a/icons/atmos/passive_gate.dmi b/icons/atmos/passive_gate.dmi index ff8cf2419abd066f922f41983d024dcb5a73ecef..797cbf6bc0d5f3b91b2b767268431a619a3bf4a4 100644 GIT binary patch delta 2788 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 diff --git a/icons/atmos/pipes.dmi b/icons/atmos/pipes.dmi index 1ef58ff1b37f8543663f59c588f7a0e75cb86dcc..be53081793f1dd9bba7403b36b6195890c7292e7 100644 GIT binary patch literal 22838 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 J1@h+p{}0-BAEy8S diff --git a/icons/atmos/pump.dmi b/icons/atmos/pump.dmi index a1e2d43ca2de90731b03050f4681e7753a411f4c..06194547ab8aee46274e03a804e3e53f4087cffa 100644 GIT binary patch literal 3778 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 H_{9AW=KjN< delta 1533 zcmVz>+FiAu~RCt{2oq=|vDiDTOBq*RD+GLx?wD13x z7t-5%TQ@LCCWN?WzMiH%0sS)qR{xRm>wgzP5Criss=$i%E5>Th%0&R{0})o6K*j*D z`aVL@BqGcm09wCdZQG`Hkhu$0OiGE-2aiB9!0HFrm0qf^lu8GHXaQgNADhjxRu$g+ zpY!{unARHE0$qP=3sgRrAbo2st_22Rq5+6jw11ud zuG@OEsh0tS_k7W36%h--Id`l6B^A;wz}oONgx5$H`YMj?1J+Lmc*z)uH}PG@K)Q=S zT?`x~4>$_}`sqP_Ned)Tb6B9$B&d&T0X(pN`VSrWr#gEJVD;f^jl7rBX#MBETn6{B z@*5U{AP9mW2!i;FS^MR3=^G}P(tr5{ET!`cXfE(|a(1Cd`1>jA5UYO|ZxfMWLF-qI zY;^C8$VLdERhe5F`7f&KkNfPelB5I%ty zurYn>KVDEjf1Bu!8vmps$m8{s8FgVdoE|1RjxJ0H54NWLO^a z>@;@%K+0WiY@>Q5p*ksa?PC7EtF@4w@)ctN zKs^9Ge;^T{Z~x%%51P4H7jjGw!QGE_6IdUdLj%rX$vl4m%&}qT52TL3Bk~L292)RE zoO%8L*aNWh2Y@4h1lEV<(9rw=95jDm^*1a8K@bE%5CriTv-Zp7(tkHhFs1VgSW4#? z(4hZ24N|_azmL^_%(K&3=MT8X_R2`EWB$J8(x~40insdv32(J(bmMw!R7zhN+dE(J zYyiRu+bJPy9rO2fErsf=uXt;QC7EB)!ug%6l)myG(fNvJ17P9FeKmwx1d%4xOb)@_ zk98B+-%kWsh1mD+-A!`>x>(5h{+`-J!O^gMte`M(+aDQYXYXE5d8I77+CxI1NaumJbwUe0a|~6<`1OE zKYswY+{J>|ha!Y-IIy7gp<6cSmJbVBAG&FVZo09c^?xDT0@D2W-!H;9e_uATmqv0K^Y?v` z@m0e5184pHB7F1rrI4Nfu4T;M_eGyoBL036zWMtyd=23>;_rVI%ZR^UgnRn?g<0uY jh#&}pAQ}jQSTFwoS2dnV+AJKp-Fx$dMui^xUF>fq|x`ri1;j z3J|CV1hTTSa&~r(jfuu$u|D2jdU|^P{{FXb-$o*lW@cvL;o)_4bp!$d3eV08#gsIoj7qqxkdGw=j)U^u1E_&1cF>RUt*Pm>hnQiY3?zpQD+lU(h^Q5 zgFxr*1%{-YO&87wrU(|kTONW~_V)Az)&|=$pu?k9eTR2;g3cBeHSL84K>MKw&F_tt zw3Y;!2kwMJe6JKhx4o(~?0|kBJ-q8+k8f`6y2OKrYO7v=@}F|HhFr`^_cwP-jom0d z-yN75u=b5_ZL^M*CtdgT6?H+(v#f1uMTDJ&epc1yk#;X_e7)zleO-GaW%~#H81+#2 zhLj#v(B(}9^`&m{o*2xolCyqSX(zWyv_&QzqPnP*(DQE1$*N*voTxH)XcdWlCP^_*u%qF3 zaJSTn*Q8OV=L+li3pLw!teQ1Bo}I(GJP_e$Qd1L0@?72LHgTQ-e-3{?ZbJf3>XLi@ z!q!g|a-(V?AK~A4)US=p!zP|CxbN z?62**gNK?~^wDV?8mm<(;}0KPA8y-^rz}n_)hL*{(NjZ1$TYan@RH#cUzIiTSXhfY zcG^y-1dmav-+ry9@r&Fe=9m@oBGP`I`>bpI;A1p z{+(gM(>}IgLvkE5Ycnb$Z=2B;huEc)4#nx;m>5Z9$R=RJXyz;V`LOoi@h2&7Tfq;W z8qWIK0m5)x{lskhrMYw->;XASSfCWt&oCX3OBb@UUC)#!Wh%z_@{6OM%$5;>roher zO!=gEMkQ-gWfP-58AwQ81CFAxSl&qA<> z+d#IjDUJ(V-%*pHi&*NLa81P)keV%UT+>IBCRdJ)et?tq_dCR6HF>UjFl-be@ zFNuG9|ABY%Y59)?n|Sa$;^weVQ@?fHs+~RV>fp`x48>o{u@v3$;%Yx366KZjb}!w} z^8&^VJq%i(m1!+Fo@uNmh=^#@olBp?=u=|lh-P@TrUjc{Cz*L}(5y?YdMO$6G4LKG z|0#7psa?vy-bxyGxlOuUqcVpn5g|)S7OGSlzqz(ow6}M#vvVmfY3LVRcv(Ed@0WOnO(6Zmn1ntG^oNBcRf&#MR4Bzm#P@yG zA!Z%?`^lnar`NJ^C~gy+iN|1Jw%A}uPsNz3>MjWbvlqO#ns@2i3j9r3IBPwN34?~) zq5jGgq{DWDXu_CcIBA77#o9|_tsr+Us<43EZKttLkgILP9iDs{ZLW)Ix{BAKSRc}u zoynblW$p+=o3%~1gwFEh^O3p$4tx`yHBfd;0kZ_$lyal&Q=#$CNI0v8r1vv`i^>jG z|9OZbm9w;WiYJSH4@57;pQ8QnMlkDoau$x-H-o1jApw%-Rmr4hUDZzM zjE|IwH~hGcoSUCouIsE?Y`=*?WwUzSMkvu^WiIe_5x=ww#Tf=#!ghfk|F@hm$!Og0 zURacdh5)0vJ4K&lr%Dh})QtA#_m$#Z(I{y+))YQ&Y3{3$C%}BH0*M?C;%$rxBfGNH zDO^P2d2&S|&^;nq+>j=|Ua@9C)NDmLjdQ((dL(wtV3|I;3-nLl-I6w!IUv*OWxkLQ z_JqFOJKDdYh9MYdXevQh-UMkQcnfj)A{c_UGR5UG54g`m58$wC!F~RL0tF%}yc$vm ztZ(QuL#;r?i3eN9h#OH*T*VOS^XeOd%mK`rV7o-r0pzU#qN~BfPK|h}dP8oU0+uEf zXI_Y3uDO{PevbcL6K~g{wfoyJNK?%IoLpY~$x3muwWg>3R{ z-=JNDc*riu&C8?<+T7StTv6mBo2xL`(iS%`*x9?k-OEOg%Pto?E{eD}DI8HX7E^nI>*v_2Cbc#kRcPqq4tbCE>P4gg zGu4(I*H-zpS>%Yy-c7Of)o2pE=`gy$(e5v_Q<8huFo&b97xR!n?k>TLMSr^gP3~hb z%2ljEVef`~=-RhBTjv&ru3Q!OXFLCplI(G_b?!gp*nF85O^MszeEtW}&=jTiz>i-~ zw5=miQi_WGh{|*Jx9sPN=0%2CXfl1nPc5?^o=8$nk5w#IfMDE0nf%uP*s00h59Zi~NgRE@6u(iy3)c zvNPy7iF!kh63RK1aJB*G`1)FV=Iw0WN# z;}a`hUTXNt_70y=qcS{ckpZTZ#0e{e=etDvr{v!g2=+=8{~u+Kr1b_jI=L-Vw#}_v zk1IOyXvAz;$|6HYO6Y`*e=`@pIi8{WL1|KYN|TzTkD|sa0+S9+tej2fEqlVU3;fK` z`Y-BAKi2j&plj2FjQ>f*>sPxpqfCeUwPklb=M$$`9(PCB0Za3aa{I^P?zcKH>qmYz zPN;V4f3hay51u@{GHB?rWp3&ttv8#3em)jQYvn7`pFLF@4nAt8{MdqgJP__RZpSYE E7dy!(>i_@% literal 6956 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 bjjy(4vDT{E`vh))hPa`srIM#)=Kp^HSI1(* literal 29383 zcmZs?1z1#3+cvrfkWNv$Lr_{$Vn{(kKt#Gxx?LGMXIYR5a3ebLJ<_)Ja%f?y`Mf3Y#amQd4N74QR_ zx2BGp+#6SO7i%XsYexqN^33=!((lmDi;uPMdU=m5L(+uq;C6Hqe7&^&Wok- zolzvBsjNTR=8Nnxqi{q$t<(7)MdOI-7>%=#?tGH%hZ`+#)>r--TJL9Qf9amqD@L*! z6t`0U^kWbc-UKEIEA7z&!lhzaLnz9b7`?KmWkBCZo0;-w?bxjI@t4HkLxVn{xQ|#L zd1`VN=rs0{egBccD|TOUS=nUtZ*%L3?Qs38E`jJWQvCW)m6Shqoynj;UA#ptQ{1WHIkXMy7Ux6D0F+hrP z(wd$b+f6>6um0AdEZWn_G}zS%cRySS#-Q zdi)igkNW!xKf8%tHU~Y2bPPo_KCSwfoOJl=Nnfn)2NHAt$Q{NGbl2wP!okt){Usj2 zVs24Vw`yQJ+pVX&bR;hRx_?TH+tt52b(?(%Wm#2K!nyJBo{ekTjnm@JoVC36cA427 z_oahw`tBG?esv9v_ViC>PSpbu4!F3u$a3>;vyI{WRMEGOz>jtyu9!2uTbyzeTcOcqhJK5bj(&ukLeFQxXpy3?HzO^PE;^r{eQMd zr$9u6glH6-fy2a7;F4pkUjP30$msXpki{G>{t1GXP_}?NtlAHgInC4N6<@*1nN@}3 zo%(w*YhJYm+&OGE!j(Jx6!>A3>$@_iXJ^4nB1m62{|G7HDJ4E;2YVPs>K8l&I6SzG zS1BelsVAH#yhA!4OKA#R4~4{F6s3cm-Lf0b{`@?{;?h!^vzzbi?FnOsV3f7ezpJ@n zm|+G`0P1pX!M&khSX>S(aO}vZ=y;>1vF4E zzo-m(N10~oz3Thh^s4v!HSNRGE{S>dwe&h;52945DJ!>K)=E_RVbw#YpuWN3i z*Qb}h@XoHT^OJTzcowhZoeA!ly`%Ga_lD4kBCE+Uu_SG2X;_Q*iH$@7?)#LKBgo`f z^v<0-;#?%Eii*+>4khY5!=i~yC6>%5dv2l$iHT;a4?d?x9K*m%`P|Y%FSSqo^HE=Q z*2j-H;8n&gwH}FMVqq<~iMAby|BRtTk6UuOzIf|I!zRuyccsXavF7DO6P}q#H|;j^ zy!|cM73@bth;@6+(Rm1RWu!nYJk+oF-o1PKb#-;mR8{4@z3X>fP}>y)Ay-@ZO-;05 zv!+}v_-12cBUQxtvpPLIi%5KcnUN7DK9E~ls>bdZ-oZFpKCmXMuTKs6ov3X#H8sur z;fxn$8pgthxKr?Gx^rr3#`**%99q7A$7}G|3;Vr-26c9JnwXfh?xo(`_?xyIQ*6Kw z8wv^(o)!FFxl4u5XH-fK&x$YfW6momSZWW&6LDFNC^>4VuZN(js;c@wS;CHV!y_XH zLkjd8qQ*R68;x_iRXJC&u*+UpAxfP_-1A*M^@GGn9eQ49lfErxl81w1DJm+;bND4o zsaIY&cxVeQbxun^2}EcJMQGv>SaRYFAsKA3FCIv+9Fz+R3erG>)s7+GwM!QlyP`!r zb~9F8W08mgm5)JSo7rM#WZF(zpiT%5A0J=4zJi?{=f&k^s3=2|_95n?lZd*Zp}o>I z|AC;q+y%ni%%G&i`Ytfs@bUL`^ovy8bKr?(^XkX$&<;Vl2;kYRCS|(PO^di z?q*M?eAmBP_xrLa*(8@j!; zm*-+Mgy7YeImyY(ecr-3Jolxbpx95R=~TVFy7v65UJN00bac}pYWkg+e?1%-q*Mavr- zGt`un(4h5Cqf^+ox458w^IGPpq=ftZhY#gGtxPU1E}qU`lmE>nILs-z;qi9Bt>zH7 z6-Pr}dFl7;R6EUM&BU00LlNuG(0~%qV|V08a#HCf!Jo1f4U1px|jHTi<^AT(!L}vb;rlI z_@28EQQ|!FfiGJrG&&gNwPU1`Bzua}H5V22z28b@ZBOAb-aYUXze?pZ=jG*{7shG) z=-zV@W7H9I9HK0`OkCP`_Zzs>5W%c~o4Q@sz4|R~+3F9S1*N4#muGw3H`kZ4bfpTu z?fC~dDQ@i2-pze?+DvpJ=okf=rlmY1i28qmG0Di97@9(ij?nA-LfLj9KdidF)g)g_ zAVeI1@sc$9`vcVCik_AK>vRd9>P_=_ItiOJ!^uV2+yk67w+P1H>Q4_{H2EsW{t#rRWqm3ej?AR;7`7Cp1rnJi*TR6JtpM<*h?^&FbhJL0c%OR{gtb?3?jPVsUfR zrtc$v_u#pOw7##EAbcS;E-(-#ASjsg?HdjRYBX1sB`aTR54uHH{h8irxXdF+&NKFl z@xb|Fm=tHHR#chhex8JpGu2^0Et82iT;iNfsEet1lvzmsU365Gy0LM*atgP#_g89a z>Vuk=Yl5dwpR)7t2y;oeN5$*L#v9QKoM%(0#xgKUNYF-;^ZfKXn+gB(NA+rvyoGlr z%n$>K=r=fnkNR_&v64}K+fTgq-m&eM+;|f;z$#;xj~%^aw_>O0v+UwEl!U6UdGuyR za~N}IQ{;6+&O^9`AUrZM@`r4`$Ij%6N4!$JqKb-~hlj_wU=TDoG!(cqRg>=hTu&~8 zNN4(zX$(3(cRtDFaDT$yl&OEmnJ2>&z?Vjs-S@N;CWie^t8ci3ky&eNku&O z8Ez4YV$y@0++1{{Qtb~jlaqRc5ZEX)>CrF)j_LvhFnE{k)ZE-W^hpH_`+GM)3Qjaw z;T?hCO>r~%wkj=tSxy|ZF;>2jt)nU0yu)$g+2wDX_@HWR)H|+nA?Y7Z|IZ9YH7zYN z(9%TWNZYG@;q;S}lOg8dpE9=%4Tw07l<0AJBIwfoH&^G3@wPTL?fe7c!Bw_nOk7+9 z4<9~+5bxjL%gfJSxH>=5Y4R4#47l-HUR^D$p85MXe-ruT%L7iMMvAE#$8ZDhuFDT4 ziYT|SIKmaf&dQqw}a;Y z|LN#plrlbfqANm2Q8;&e?52_-Lh}6i^V*Fs=~t)WW&@cL&yx^w4}HTc(tZ44P-Ag0V5ZNL=v1+L0}`AAC-I23pubC;U5-2;Y9|_zLrRFbVzs z%kNR>R0ws65%u$tpv3v_2iJFFmW?;@v}}m`KiAb!x~}#O(O@PgB?S*iqG-T4`0}M& zwa>$Nm*K2_H2=86F;1bIDmz3 zT5lYz*+?jCUK0G{7bMN!+B~_wdwkLQ!ME*omM($Xix&wwo_e`(oiquj3aYH;X85a) z9FM)(9S{7-pt5?BzCV9flezSNMu!@U_s0ERX^*8A22=iE)@Kg}2|3Pk`V^~Q=3AY> z949Mr0QSHlqLXuQ;C`T*5pfFu=G%fH208QX@p9P@*M<%5Ps50GVyNbF^^D8N=&g9? zO8*WK4ZE@XVT^inHLazckO)lYOrQ&YKbUCn;8Cz}9&x#uZSr{%-`$Zuf&D07_R)>I zY={mQ=pk3t_ET5Yin&UocVECwoHM>@#8arB-r0%`{&3;nwHDbm_bU*m&45rY!n#YE zv?wmD%se}gViMft;G`uENpB`^1UnBH8+(Ph_1_Ef{1c7v9Rhees^KG5@-@u z!=Pw@X@c7l>suB>L0?8=);4k^{cLBeLL(17HW14N?wISUyDl+DxNxT^YxF5sWha{f zRhE+?mVKiUkBh78K_{u&Jg5bQe$6hR?1)ed(>b#nmr>Dw6&aSET*{9mnJd*DE9+RZ zUvUf5%Vvcy3?soWZihX-)RU13TChDoM=;aogM)%-6&kv!arrm7X|}R_F%qZN+#9at z#S%;_l*ahd$n+LTxntF8^Oy}7DoQ`{;Zdi*`$SUR6Isx`wD2UZLzYM)DN-#b+QXMaBP7g`TmVF?WU|FeD2zc!DNhPMKp_yrm#Ez5tP3w?h?Fp`!qocFIW3yGl2UwYwayDfC{C=o4hwCEcl$%MY;cD7 z=xAAR1~Bh+)`IV<7Q8&Ua8;5kf|B-$#AFllZuzKtf9}DsGS5M1XlUbP3uSIfTbnds zk0PH`m6x(9+ZdC2s2R=fq#h%7^u*Pb05z5jxbf}FlAIe15sB$x$Y6q=6?DYpl;Q6X z_w(h#V#d!r4t}uWhusgE632cmz(5)Kl+5GxU|URr6A4EvMjAKv&-JdQgZ(#e-blwQ zDk;fmYisxX{{W@4Q_C;32ZFIi9ad@Wj075lXFFjd*LRvK{4LB?(H z^}I1TnXIF_Yuab8DQ&>o%8FNz0ORm<$4O-U1To_v+^NjpFykPLGh{y3qo zi`;$E5e?@l`|Bq zZuI2aZP@HxLhb~_(rLO8m2Yk7IOr@$V`$j-=J`opmEu9P)r zfXivF-SQN;{n0(oYAyj&lwMUR3pxt0>F)ja5^Q2_cB~WV{Q1-D;&|gr3vH>_>BPJ4 z#+#qiX(iwE5d&G0@oQNDMo4=%xd<&$QPDELOLu+y;V{l@Q819*+}yCuly4ktY(CdF zQ!A#=%1iZoRXz|+gWErHXxI^&mN;@SKyIRO8#PAUzJpWrqj$;4VUaazouQ@NI@SI( zTnCIY@bf>4w7{7B=6m79B}=%Rqz;@vjS&VJ@3Y!_TDP?j~xVu znpn3HIV=AXVR`U#NptHVxDI6gj7qbWBNkLtT!aC+Inmf8^I$HEX%_+^1!c6#tAE@rE!KfqzG3zKor2eblXsv# zvfil)3Ywb4$@@ngQ`Pnz|BDF0od6KxePr_JXtlrN?|1ET`zfLSfqx3t*59_vI|Fx* z&ecJ6rT*9(LFU3_m&`y(`FCt|ba^dZ%jMzvTWN?GL*7yJBzdH>QWG>}^I7zxE8kZB zFKQjM9@Bvv{9l%m;w5n?$&1MK7G*=kx!$4ynX7#N63=;=NCA@SK>>;q+zfkX`C?<@ zJ3!pZ%E|z0OL=+K&Ar{taKqXKT&<1lTktm4Dhyhc;3Xp16V5Iu=;qn6_+g@BXV@KY zPK?+>IyY9E-67M|TKukU1cUNaQxS2>DVl~nm{9ZO%pMv=6z9AMq485BadkJekKtE}dm zyb5QQp?&@4&BymgBw);T?@-(|g~sQdObnIrcxeu#r%4^Fs~4p|d>Tmw^nQD~?&Vvi zXF7e6q-^gJ6N3O~_B|d_*mO0041}y&rv$3f_4A=j~)fJs?!)d zI+pt3#L5&oNe{|=htde_4?YUL#RUb>3FWcd{c*%{zd-W(VK$a8cxNGNYAS|?hJ%)+ z|JAn0%r3jSqbN~3j;0rt-$rL;xHBc=<)P*Uy8Y&4vPS>CruBheK@~slk`H8IL049* zDpK}DwM9iSFU3C1w6-FMcbxX;r2z%Ol~7BgdE$aW&SQiDF;d+^(4ajkL>VG;U=6+7 z*-3=vYe`9*$XW0Q_Vbh~DFb3!TG}sl44~XxmDpl5abp*wS)G!5PA73-YJgE#fDd0CqO{8BnD)qz!3VlQs#m!naT znN;m!nT+4bSu@vERK!u^C!~Pfx5pVf(R`YWM*sbrWcupDB&e6nIGm34?NTQGyVM5F zfxF%i9i_+ff5#+!c2>~?mET@o%|gqcrBtgj+l^5dV+hyFiwhb5cZu#{%byu;_?EZ} z6WB4B+NlFc4(^-k)9l~Q$>rtOG-B?3ry}!!N17ficJ=)F)jo&1@vxh$>?LcEvr0=# zyQ&_!5T)mikX^>ss%5Zx>XUJ~C-j`Yt#21LLY7sL^$E`t{hfRu7_hhHx-GcQe{FZB zA%&U0?pwK_{}mDmbQKp361eLrKaH4wkRA&z)Ygy4$ViBNolfY6=LD$jzY@dmQ)Mr# zI$_aw>Sjd{JVEs*6Zu*(R^F8e6J$yh$seyvVIJggQE(Bs7Ro=EYUX?f&~3{ zUg+sXfq8H{Fh`dV#nq@=v}6;83ZuFsG-(YK@?(Diyp?M8yAEQ+M5UkLOAZs}of0js zD0_zxFj~)NuwwVUn|=Vb8g5d-;E<}GOVXbikG}80@jpth=VBzA(_$yiEulF}Me9g9 zc!w4r8!PDjEkZ{8ZtOz*tT4jK&vlT$ywAR7#=?fmDvAi2u)Ry~Ie+RtvSW-aq$QH9 z)Okx)#3Cd_c71*QML;O*PHIf@*500QM(VTq+s^#VG4+aTR#nUo-?iLERF-RyEGwFJ zvt^UCC_?tjCrp`u07(Pxl!wvM6lC*&ut6ruxxDiCUFZXkjk?zbt)kS*FrW2DG32rm zm__^}+2Ic|g;|h(=9lMiSyW8M@CJY(AuB5$NMh#QakT5ZyFz{&)QC(ZhAkrRNZ{F6 zPm)o0l)#`~idqciq@@l*(Y7@tm2Z-9;RO(8d{tCp=Ay7IB$pQ$;95A^dHK?~L!$h% z7X)}^9Sc$_D){=JQu#K)&Y;WzJ+ggW={vT@Z=L@spxlq2+5`}S7iYcq@81{a75HSJtNU@MiSNIVUjtzGq?5fE&dqFn zgs}Z&XLoluwJIb_pDtv-=-7O2;n`&LXvG-pRgjmbUNK-2gXwlofQyIcRWlXaO&>tR zZ_$UXGZ1OYm3Kw&cl-kE`(JHyA?s!%>s>-Z+omM$Lmr;B+jA$?sE5Jv6{N?Ts2-bR z=&eZpzfvbrF7YtLW89n}*ow)=()#+;8b6+~;5 zB8el%hR69>UUHEg`Uj)}MJovkbT5vJRZ07WeYH&Q<3gT55_!J!B~d`}=^6NJq4)=D zcjc5rM^-o+(i2*h2s66q`4c@c> zLF-m0s^(Ac^TY`1F;W}7MQI3aB<4qPNcSylIs64&ABd_vT7Om^07#F3fIxOmPMcOk zNI_v?*v;3%_A|(rNa}jLTyywwS^^xo%!q|(adThP@9jk@Te4|9P-(4mU31!gOl1y&kx_vU0Fz+(1@#eQDl3X(p-1P(?D;PW6qGi{snjM6c<6c5ThU-~7HXMe>&nE2|6 z@a&+A;&ZtMKR(OC!u^qj%=P0%Gkv?e)%a7S4GgVUZOIJ&`%7YCd_L_MrgL4HbS-o1 z+j43yKeE)Rq*Z;p7G)WxI-8`1(FM?*Z(2TNY}cq=iOnuwk>Z5eAX=L6w3Xj5C~0J*%1D)e$RUfjsdl^+%TDa%M zqcKbHnB;YPNgr4FEdq|#vw!`}AGI>fnnP|8hCOTt<(+3qm z*waEMSy_4Zos9qtI09X)df!&?s}Cll?mKB|wb%I8?Wao_js0zovZeh+@vC`qE5RDW zdTI>4pN_YDV+>tL%G5MR-H4@9ReWsoWNS=%n%jl}zRA_q)${xJ5-Grgy%m1&TWt|k zO(1FxUhHjecP6qbUzHRjgTV^d9e$a3x9}#v^jeQs7Na8v#>;_<7eB-f_{~*=-ID)? zrx~l0(OrIvL6b+P0^*?{qaHh0qQICJ^``;AJ@C$l56I0A+7P~9w#KDt;pfjmJX~D& z;oA@WMmczRwC!6eEAO@Tbjvt5KKj@(vg3|768fTH@qe=by2F*F9uLYly1I0LC<(t< zXU>oeFdAURH`OBY1n_>O@F0)R&hY4|2Q*)qdOMfTq0WkQ0+T*`@Snl~ zMlcKlfD8>XGcyBz3S`0_6{7O+t0szC*x_D@bVlbZJo5Q9lfY3 zC9l9x=V9aEaCWI>d^`++X6$=9VF`d6%vC?aCpWL02^9c13xvp3h$qZnTUJ~^?Ga?X z)Ye|}z=v8gOUAYcyikAt{#|(3d(wk)Y`GSKOwM*^AOz?D$m?^z+;4ScWy5Mb zR5nEO@7}y;9F%}5<=brZ-&*l5pyqdIB@zh*Y!8{voV#miAnY}GUJK#{X`<&@Bi%I; z?WhnrSE&37(%FTJ`vrlcZ8hO+4k@w~cge@clxZZ&Aef@Pf+$n&wU^ zQcK0Y?;MChnq`u4y=8nb?K-dkx@48zP19onD$|P?%6+s{57f2HO$(S-G~n`EQA8Lv z>M2$c{NI8%_$}D~1sdo*qrIBPlH^4((~#uEwniW$2C1+(xbay#oojQp_a-XXK5uWe z^~IZb^N!s4ylS48Y=vQ}9`S2@-Q*-IC8ayMw1ABNGeZv+jl_xaqWTH${sd^$Uy)x) zq?idH(_il&ep!~(yccpz$MAv}l*fB%cTyWInAt2}=f=_pex8B1?eg+IbPsPEqFR=A zb?O}mxN#M~+V6nEI zojp=99&>&vKFbLTp4PNhiou=?VRzFokRV8;M=1Qss)pwQjd!a+$Nc9z<=CezY*;bv zqK{n86ctP7UUsBxrMxGG=VV4n~tUUdbbCkO^^oWXTb4xroL z5iR!--;x#v9Uz$%)PSL(%xEY$+XqZDF|fnT+iY8S2PpVJaqi;j!nd8!Fo*&D3~7P# z_ub$8o+fYgQ5u+LKt+x4nDxT49V>bImBbkTI^xbeaCN!9JWme;y4O57Z>k&W8VSmc zas0?5AQ9M8`R@nQV>8KiDsUnsk!?hr_obX~0&{qU&8DKRrV=p!R^&u7az}uN;(M`C zP+iMF!QAr{V|)Ugi=BPm)x`y*yn=4&3=pM?Zn&hjLe^b$_$Z&uOEO-es=NiEbDRYq zA0L7N`3DN4r4g{Qr{`7)@7^JR@5*Ude@`Kv?p2Iy)!jqP&ScgfgmqXc*g+ZVsdX&G zk!aBTnmhxOa+p$p*u#hO=IKaJX6wg3k-1JP!Q8M1?Z1Qw}Yoe+)A|e28chPqk0W44A|G0v@!~5A97KInO8GRcwy`dqyJNh82!LO|1D0})v zidUe@tFU+clKk<4t92U_oBlQf(pZh}^XG=v3Z5v#xpAvY^k-9W=K35z)KK*R zFP0&E{^ZG%D`f}{?ccp}#1zZ6&mx%_Y(`m4S*Bt|Gn?~L;49rGIlzAuR8f5cMC3}308Qbj$VJ@RoN4lju1 zvGe+z+I9IwlX1y_1cSqLEn@=;bXLaF0gTi(6AadFsSM{Ob_$leD$fS|PAQw4U06+g zco)bzZa)rT;pcyO^n^_{ql|&|ShvQ3R>*FA{>*19nd^rP4eonSRp@I8SgcH&K1ko(UYx_<^89-ABz3?|+)Fj4;69jCq;ae}uqspBv(XkML^bY}( zNkfeo^KYyM!e_5q@>WdnYSoU<$`?=`+J;>}7VmAB)JJvGQ`>&K&br>Vln$WI|N0dh za4nh2j^d@Crr@H^>u3>-BsUko?ym;%qJ10>Nw!DKqF2G$!pE46Eb^yfwul#US=*mL zR5?6E@`qWuOEeWC4=U_+oqzS9Bpzd>K9iM2hvv(>>CmCZqd#I00$9yy4je%FbmAxO zl(Cibg*|A6)@S;7!Xy18h=+Rk+L~u=1UUm%ny0Xxa znqUT#Bo2v|1{+0S^V5TYU-sU~bEhD3xX%KMkOqSC=A6TKZTbH*5$}xlZP;Sm4&GqK zU=5bekNlQs)z7owhA9O9-6(B6!Ppe-@~G{04)BKE+V12wx)=TF!oRtdfx9u})If(kJ6H&(Uu-&?ed%_n|0Vzkl&NAK+_M2FKLKIkDVr=I5aqb? zXg;FNxgw$!4FRE)uf38T;;DE{Xp!;p3I+x=!^6WsMG5Tel+)i~d+>mXnHk;M+ByO_ zsJ_09#i!P!q@+vQHx4!F?uis6xTGdw+!?BD;LCuU97H(LPvb$3VzlrOgk^z{rjF@e zVK?zOGepS?WWn2ved09S}NU%O7Y44k?#Xg|t8z6d`Y4+cR_*}7wT}}JpdtA9_&xRh+w+rEw&NQ5c%%Q!=n%2y#fBlS0=Xi0 zRjrw#z{t&RZZ>jn7=EI(R2Xc!n#f==StE*C7=)mq(`slMuto3bZnO;@N>P$% zNVHpr`-vT@HNf!Q>H4p>x{3t!XCUi9?D9``_3i}W(b47Eg}A7m;HfVG`qWeWg|G>$jqW7?;yWZ+!ckEa$3M|J{u5+a)doHHU6(;n^R5cbok# zYq!hI`I-xHTl8y*$0CrE-d(`iF3+p_ zt3e)-F=$llPC(inM=)LkG&*h`p7?-^NkP*o3j%_W;X1ueBjqPLaK=ke(9|_G@3~cb zJ_HB?yx_A-Vy5Pa;2GrNY~9Dxlh57$UojD7rX83ziyULb968l6rt-?+D-OY0z3Lmf^Z9`O_c275r1eQcgFanm|J zt}`v_kYOBe4gdp;$#<(Z$B}(mq{7mRbS?Udiw&W7WUQ{>?_qY*Q1rpU0R_JWzGr5Nz3+!j&EA{(w_8_-K#mRpB_6CY;MA{+o!;OxR&M0w8x20I!joKlN)RPQxJtFqv{-3`Isw zRCtAjWvIW}<*T9OA@Lzt{-^wQ-Zx$b$X+#wA)Egg)UuAP6SKwow<7x$S*HC*19)q@ z0Vl8Qych2HO1M4{vY*ULbx*7YzVWS2oS&cnqg&CQdK30rB4qimh>m9>8Hg%e`IGu+ zkR)H20=TbYi=9W5jYQWhTN>R52?$XBWw8qbu206UPrHBq{3Rr^5Ru59B#lP|M`o85 z12GyT>p{@(?jcxH0CG8Tz|>^?BLx1;zs(Y;?tB2X?6|}_fdv0Pf>a-Pv+J9iGN8+V z-Z0lA6!cH@mFVo&$zo189d1tx35cwKr4sS1%E>052^g)1$DD?t)H}NI#f62qAhi?W z+Ps$O13^p85?IED2Jz+B17>}xeCu0Vq&I4+s-O?>?@K}!{b`}bgyFr{hr102YW$Xq zr4R@psv8(=kF7`A8^N6Rn$9jhU5*#&BKZ-wO`F2TEw8$?Znm|y@`)51@7qmH6A^;o z;NW)GouhL!J9JD8osu;U`G?|)8~_9mH_ItII+XK9)+AxJ#_(o8jV8kxyEpYAstlPM zgRE8W`y@sV8m5!zCzvbVv)`IDehjmitwPRZ3at?%?5ZguGeGpu+CLl4R}KyTwRW@s zg8UG}vax8T7B?#IPuCQLVTZL$y--xd2^>O@KaHU#+peq>aH1h+XjOX4bMyR$%u)MS z0LU}Z5GqLBoG{&&5}PI>FEQ)@QwjL{cmxPt00?ftDukzohM(r#4=;aZp+vTi=r-Sy zPA#K=5@P~Gq@_`DQpCN;^w_*-V{2P(f)ssymzgPqE*zBsza(ixXm1#~TjfOzEU%YTo`lnr_nVnlWMehQ z9W>tptZ%v`K7(t@>CVHdxTAhs-MWC{3u^dlZz4}HNN(f5zHsAK_7+CTBeIZ-`C9L7 z9lOH9_61YP-Gx3CPGB2smYXMdt`mc3s)0eq+>_-eGxW>Ttk}nI$1cxvu1DN~3GPI* zChVLvvVqUe-;Y*woTi9@h(N&GFKP^KrlzJ6Qd1*1T#$N^6hg&3bD6Ib(y=H(?|_ z;opwMc8RMuB4v18u?t>Ywl#Z3pFN}{?`w8@NDTm(GBrcKRk%}3&^w3QdnLZZaC5;C zuE7$Nh3#-mP%LmibNgH$;-}ns0rp;rA-2F_+LAlKxOuXrG83{X%Pv z{lHC0f~g53{graxZJC8Xo9G3t@Ef;B)j8v0-m0eyQDMJi-IqiNv!YnDz@{erM{y`X zMb3b)A>#`lO}98PDxp@4f!^)7C53IW{vB0YNk0K6W-$OwkY3@2vQAYlE+ol+Ke9SO zr!r>-ir%p$Sr|fiiuR}hnfM$OVF10Jmu^@%`D_y<41VMe3FSM^(M5EavKJx+d8oRy zcL`d#NpQn4b+#`Oqx~uRBMO3jE&HidJQqT9HW;4f)@+-A#P@ik7r$1Cf%W&9p|D5v zWz(HZAi@-N36ig2y5&E;cShQG>lpIRC7tFG#@G6WL>7~5(V<4ozI6)mJ5GWB+})XTWa?eIOHIKUc+fzNYW@5)dT@L^0+<0vzhi+U_45Kl zl-|zw`$iID)ud@7(hpczZbMRl4BX;j^v_}xn>deJl@hQm|775d3;A8RxoX^lo$jz` zqJI_aRK?5rg=)UsCH0mT*ql?kTu?uA0XN6V&fXgMPpio5#_Q3D^swH0H-Q}XRwdG* zb;BeTjs=@JRVyK>wqM2rX;uK>*57pG?0&d?*eRb672Te+%X_j{95t=dUn^e_Sag=huE(-CnH+hS52|-}lJK76CK_ z*exX(}RNu&~gaVg&nJ3 zK`GpZzmhHS1fw7?2U zu}`X|W|VPDcBIC9i_WJ*^0KnQSCIo|R;a^q@`J);s3R^8j% zJ4-L?+{J2JI|5%hEiJ~xi&j6>l0eCRfXEF2hsZNXNJy;j>~wWSlMns-M>c$IA~Z8I zV`XdG0a7)CQ&Su&Hs<6;rDFp(Aih%!cwz;%51_M*p+#2Zwqx9?S2c#GEB_cPe!Gk0 z=YIYyQ-%UdLgi!a`6Ej_gnxcD-JPzxeI{8TGpE0k`1E0o!%S4Mehml!|2g%dSRO8a zyQQT+QVv%A_?wtO99l(E^73KZ-VRzXbaZ-LX~I{2r%X9a*}363nVK@HHIMp;)6MRp z-5Or6E{7r}A6Hj!S3Atuq&$RfB>uemu4VeS@D+gdMB|p)qMKV=p>93-LrTD?0IT89 z9;nu!-wl`^8?$V%uNc}vHv;_$s9P-m3erTf_J76tD$5e9xb zS;3H!RTRSpA~tMa))1}lNF2~^K^Tia+mBYp4)H&k5*!VNoL`i>t)8fI$?2?kj}{jf zr#^B0k|ma1RdpW>W1*%3F0kG-P(s~0eq1Sn>%i?@9{%at49F96lsb9fTCH)$Qt`RlK zSO9#}E$H|6U>xU&opmoX<|ap0`ZC&$?1w>lXU~_=vnMF-not$f}r*k`67LnB?9PtH^{ywVoPc<@Qgqh!}MJm?&8o%1k=FdQ9R zXS-F;Gx-$AxW%8AfPlaXgo?!^3O%DZsX>9+gCXe<7Yp~5D1W}YuZD-vv}*B)bN+N!S??K02XATAif{lQ{8m=9Ju^(OY78wV^AjO-}g zDO(z56_2}a*yZSdM9rKs7&}9Nm?e>ypTo79APA!z zB5+|pF_XO7mu(@km5<}UODS#es11Je@83V%?$ibHn_e~lAdv8w@G;<~b?@vdc%Fs< z>8R`C;1966dUoML*u>`i3AppO)~@GG<6QMpfvT=W);I>D>cfZj>M{IfiO-g@{9skp zDelz7#5cv|$arsMXFdQ-JU2K@!MZRh4lc{A@%zSVTrTci>-U-XbE!K+sIVWquBt#e zSV1A8e`5A4!92*$&Xz)Q?K=O8WSaPr&sPkHX$7N)VR`!EAF;jB>p=eZm+}tPO`kuB zy^!D(hu-PwMiLG=erG_d&Hiz>hRBh5k>|d7mDOA0d@U{9&&vMMN2=aSIjh#Qz!N1O zLbH1SN~unTMXd2Ng7ez_N!wD>)xM9OD<8CFj4XF1tJ>%Ow zB%=Bs=lu*E5USD<&C?ulap7HLP^VG$@J~{PpCC9OEGCHeh0-0a|IGqK4fp(dbhsec z!>1R=kK6mbQoJWUT*vN%cYCKLceCXCcMTU-`nfgBk)@qQgV%N-=K9R`}%zFzaG6f9{#=wzG z=KJm6&ZpbDk{-eT*dr<|2OjyCz5JY?&uTI?UFUkMR^pmkxPW@~#{ra3iurC(TR!ZQ zX@J(L%tnU0aw(Vu(g0u$Uglb;PyCt};CPr|@pfY)jpJz*;iZ9s=T@fA;OJ!3`Prz_M*x62{6K?R0$z_G;I8pxed24&R`I92{k%HP5U@X%_{C?ynpp| ztGcS{X*FKE%575tEI^sOp+ zJSdC&Tk5|e+*bRa8y}x)_7elt_8qy&>$|M1fKz)!W*6&K;R5C@6H|IGf2nf}Z$*r7 zWj31+yAwZ|Q}^zC_a`7R?Qe>K0B4&AK7Jkb_Ep()yY9|T3>62p-E{ick2r^I(fi$K7hMC+iG2jA`dPurl7xu4vmCAf3B$FL0g462q7k;;;jfTD|hy_!oQo zSH|n#e&3&@RhgFoBmkx4U8d9`OY3;-Z9&}kH2e5KwLe1j`* z`v8hgOziwM#c}*v%IH$;#}AB__17GCA9jGWj|qGOrrc>94Z+WslfYsi61CZT!5?6} z%Z_AgO`;sOo%C?d*1V#d{cuT!@wZ@6WGYcAgOQ~&;d6TRp6quQ-hYR%l_Z8ie8RVNIc*#UdwZGWbR8HgYh z4zm)T6apa4j%$|MA>@ldXQ-v`QQ*l%!-ha$f$@l^zv1QkGaJQO`$%+5nHJpm2UY}+ zBRku;fZTir8vmazkb}Q7#ImULnHrH3Z>x7Yknv>XaJDqD#T~@o>Q^~Q8W{8FFN)$$ z2<~|O_2*|(h(NFYzJ@1-Tz|^TgwP|IChoYgfP(h7q-!A3mSkSyAhe-TNbW8GYNK2I z;AA}YIkmOpJnf95{uLtb+o_B2a-uPnN+V$%s(vXdOWU{8#rN*oUjF4Mjp>9@6H9UF zBxoC=(Ga@waq9l)bYvGWKW2_|8mySZzC7JoI!1bQt=U%P7pz@1%w7NaQS-ogU>Gbp z8eVACB9g2&3;Cp1^vkF79MMG-gv5;P)INC@!Ws6kW=17~T4r01*R_SN^DNU1yKLgj z`0Lihhd7gG;pqC2I`hdq#(xI>pQ_$EDylEsA3o$D(x5a03X0MKf{L_=AW}-VfP|#d z-CZIn5&|mH(%mB6jkF>qC5`Yt^S!^j)_ecc#hjQu`|SNZpE^nWsPogl^Kh}#c~U6D zgEr)Klj59ocOO~b;QkiBVB}unB_`^;_e|kxX*V+@GhC$RZUqhp<8z&?#+5IX6g_?X z?zRGru(**rI12czCI#UCJ#R^+Ti=Vfs;=wtK5ro3-JM)7Z&vG&UAS=JdrwarATf4-e=ARYWTBEGWFAal4WVlFy|!#A zn3?eC%B8ohgL(gm7W*$tc+Y(KZu(0%0U6SZd%GxXfw`oyci^b9g_ehX2EOn2iT)BX z3UyAW^e*P+-di&0srWZ3UEIbB6HDPcxB4sbYX~pU^itU6DbqDyi;*410CmcfhzYIRf?Wcfc~osef7LF{td* zfEBvLp#}jN2mt04|LzB886NHY1k(n5ygb_w1XP%Vs$bvu_~gBX^p_Gh`jhVsZY-eW|92NEHJ!{|-(6bBU8tsZ~R!rg$%bsogeLy}-nJ@l&l8A() z`KNu;%4?YoafUZex336%pyz3Ve#dlCv zAV`6J!;?E~uR&1$4RCzuistrQ2d1Xv?>!=VPoqWoq?-4A9AJJ82MRfdAqP`}H^29u z2KiZ;Gvc;%-nFgyVP;_=2}W!LlWuZT)vyDMzg1wIJo6(JCG%8$LLqfM8CT;Nk)!@t zqJ=vqa*{V|W2k9CuErg!z<*xamCBrta|iI~+k%3Z`b2h#-o(b*t&j879?ZDKPhNc3 zN~ywkg}UedTwcv4iA#9gmBR;a_YeaK6E#`aq5&#wlE$g7BB062};L=C22=ZhA=XZ%Rt||uy-T=za_|5=Mc@JV@k5b*$jb6p{4Yx&Xw|)h zb~;b0M+9m^P_rE#I)DGc!CIYJQQqmA4S}Mh$kw1-96s5K2x+Qp&Kp1^_IQSXw zlpJyNV1z<}wyJ8&GpPSAUgktF;WW61swXEW1O5HXZ*TApZ!ugRX@ada{dpT9=jXgu z^}|OP9Rpvay5NJH zi1_Y9z8tr-zU#wYvWr9t0Iz@?kq3jQ!%X|PAJWy3pHB>)BH)2zp>Aa00Y5rC_NQjA zYyNYtfrB15T_mp(_UAdQJiTJ<2lt#7^4Y|L9cN4IU?%M2 zsM=hr8}@$P#8@aQ#uvrpjQkhfL(0&Ofj#DJy%&YIM56jcPl#ZIYNv5Hp414OKY4T( zg5>AtwccyN&WeW!1-%H3m|&EkiQ*vLYPB?Sk&w{;7A*sV|IiB5o)~gQI8q88E~St9 zr4<(o&?>0i%{ukUYj%pj%{&esQLDE8Y0D!D>Xc`iKfu`O*xhZy~KjdMc z{xbdaH=C(-kw8B+kREP}J`KZ@CADb%l93_dFcDiCSp5fN^jHW;X%I4ZJyMmAMndhR zimAA=S9x_%#^>NHlf2ysw7%A}pRa-5oU{e&g~Z zPsJyS?Q1r*(jwVcd_aao>G<%~GtK?+XBP>sK z^Ru!ni3r5e$tjoH&36LLa-WG*afg)Mi(pt4r4=1N1}NO@-2ft)EHWJNy&jH8K{ipv zX3ICEN@{!DvOJsMh@=g{xlQAeFdV{C&MQhfHSW?XSYK76&4k3~RZ#E@LzLG4`mUaxnU;_jVhPi=WYRR<;N;X% zJS)h_(JXW}AP~4fu2eL(TAihaNnW@wEnC+PQuzv;al0^e{1 z>D6Q2lC!H?-YpWR&4z|bbp2EklVSFOEunKnu8ErGFNE_5 zdeeiF_Rs@PWLDc36W|WTwQ<|bi{9C4kf%tH!d)2Q3G1}-=!g;w_=5LA?``ZpoU9si zGLA;XV>`2smt8@&OAMs!Q&vNIZ}}P2a9{MdbRS2_j*J8Ja4_*A%@B0tb1tc!(wsGp z8w;S$Q38imVq)Uwcbd5$KL#$kFx_+dBdx9dE(6Bf%dEhMK4u-XbGmu<>cI?Q?5-i8SEi^jvL8L|UVEQlN{LjTU6;@LB z=KvvDwX4h|&SgT%?n|4BReIF@F70d5_a9-llv<;22FE>jjYn_F9gI5WN5Sh}U8f(} zqj@HKiUo{$M8m^%69;K5Sl7--K|YAqB1KBj)AdY5lcdgOE~#UGk8|5Si*`$O6m9M# zYo2?%nBP7*;|Hr688&^SIk5m5G1YIdoiNdlAfvaEHSJ5~s<{u6Vb-Sg0 z+QFJph$J`Fl@KX18@QrLeoMvLqChGzBk1e%ETZ8hmV5WKX_9DL%RhvPCm?{@ErJEg zwn_(Sq8~btwgQ5!sd%^xyC3IyIGv=YE^8lxvV0__tM5$t3)i%6len+q1`pb9^!RQy_8y@Pqy2KSz`83P&<+%#E zYA162ZVAOSusn(m(>PFwpkeKUxwVDK!Mp%P*(ossPq*QsDfx-$PbOrAW8iWhTRTb+#+>SN-hPQj`W+f$+A5*^h7 zaK8j_@^A%{johSGnU3ZBr`HE7B<<)xe;nY-+~;LvbOru7zvpVQc|W`2G202or8=7- z`TAitLVfvi0VXfQv^$Z!$l?b1GiaB9uz&5~z{1T<0+Ec3(OwZ$%$imcYkMDxig-Dv zxs0g&D|a6Cg{{ZZ&sTz+8@Vcf2jUyB5a>$%?Oi~WVzLoxBYB0u^shV22#KD3taGMB z0V}!t{BOJrvd(Z(6>`AlwUW{Ya)y9QfT%>&9(3jWPF3Cy^kY4j` zjFf)BRpoExVe1O+S1wzv{cDke{f`mJ1(?*Amm5@%~*1n-lKctUdWt z(?@l}&^~{TQPBpf>ur}PM#gw1^c(4esS3w6`bNdH?9 zHJ27uG&+ZI=irzA8HIYo(KWNlpEPCI?n~dvS^TAQ{P_ z8es~iCzzH$9iQ2}d@23p$&j)JXAEzAa^+wUI>gLheTh|q>4fzX~ZMc4EsZ&GSpsc2Lt^28|%$dH+ z&r7E})D4Y7@837y&aoujYC!*-5eGb-Jnw*g-zBWe|5Tw<{;v23P<~+U;I8)4QB+hE z*teyOj6Uek*nmoZ?N4k;PJ;4{Mx-Q(f-=ax=qI;svqM%=$^D5NzgGOXR?F3BQ{AUNrf|Wbx6;Atn z$|)yI=iG%mg9`ic*DC6^v%MHHC5qBh$)<=|wFKET4~(rPU1I*V4`(twF%N$eotPM% zsPTNEN`_A5ypofE?asTBXalRV>q=UY5ylUqha1Ii7XO-AtfC36C8&9Iu93RZz24p1 z)w|x^y!$Ae_ujqPr1_-T-FLIQZk~N%)Mkf6X~T4e9f^d3jW_V$UwCo*C0a)r)s67uYYoqFy5q!s>*n9c-S963_lai((>{T@Tb>k%OBso$N255 z8atZTlWcPkzGk(@0dcEHw+O1L`Igoi1%0;SwIpQV5yvUk!;&&A0EfhtA|kv*?RY&O z5Xsp`yCDm4A07vaBJ1N-lvBo?+iX%|wCq2;ZjHx2_ISf2BrF^ZM9xqziyoUWB{8p) zQnuXdQvv==WmP<$fj4Qx$P`1SMRjt5&Hldx4rA-D%Uz5bPrU5y zDa2pDL3QwRb8-s&WnH*rC!~@_XF#7hj2zMYKsNHyIM-eOb@VTfNJi@{4ZU1i^@gma z<_*VJs$oY{5uN41>VBFrd<5x*@ zZM-dQzVZ_2Ft8pxefErnif|s}&U~|OknCxXiFFFt`vqd?AnA z;^X7|(Te1ek!MYN^3P1=FL~(t*%GxBLEnzC!hHWuU_DctG_1}XXgCgXJpxRaDol63 z`T6;*RmdDGfv>&v*XwxY`ZM`lC3Y%8v@Vk^qzr;Cw8&-G^yO?lqnu?StpdmmG2I>z z{8zzN0&U}?k-pAOir?B*kA(vyAL+iPos(tt1**=v3eCYh3Gqw8(pTbtzW~6OpFj2+ z){VEsa#mJc@`L!afrf1t3vXt0Ih5QY=;bAP2Z0&3!riob@g_~YM3zr!Bo%IzJ8w%0 z&MLq1w1~_^-IaTiK||X0^>bbxZVT@^0H6aiGX*Or$;7-Zyf2|5fgKkw)2rjQ_o*fr zX2+dpRo$#%2(~+?*ltliT4B0je%&{|A!>vYD{nMGGWW&vzpY5_-i^U%p?Qeq36G4l zIIGXXQgcN#;@bePR>zNQ^^P?`_PX0fCndi3v_ML8Y)YsG$c8E$ed2S#sd5KoMeVqrWf< zj&{qp)D~r;514Mz%4}*Rz9eXtCGF?L`5Y)+_ozy%=+w7+TQ)1j@PmUbC0F+6k2oqf z@l(IUO{Vn$tlAGsrkEJ=j=qO7GL?Pb>t&3}MA<}LKV5B)z@neWN;W~T2nbc=4WDwU zZ`&P?d2G(ypExm)X0fXqGk8k=3Ybfd@7AsVd$!87qi@j-KOX0eernxW9pS+Blb9eh zmt!YsW?R6V%V&19?aSxS(SLorbsk96UVC?`Ymk*Pha@=9Z~yml8e2je-_DtKK2N}i zOy5h7d_PY)GvXkP{6Y-g;##MNh(CLFiAluS8~lS!i`zw@^Z4@jsfolE+Pi{~5ceW^ zr;E3#C?Xvt65OFd9Y*SN8)&|t`p_%mF*a>a8T9i22%HJ zV)vIzmKP-1wjLtI-;_c@)1%NnR^6Z+EpWHE-kH`Gd&R$1cH^E`7<3fmLYQ|1C`R5$ z_;US|!i@0ns{BS_7MD|j+~S`ZMmk z3V&YYSQ$xaf=?6DpxzFQb&e{a7u&kMp09n367*7cBKPyEch2ZMglcC2pg&9@{a7c6 zbqMol!rZzV0!sxLJ3=Q&WSr~av4LkB9$hH2@VmYO2}$GI#QaIIma8mPbRsP;S^kd% zU;z+r3##D>fB`r;r8#c@T3&utHGFD0TWTK5JdGp0d2hCbO)Pf9*oz`FEhPn$1_+Ql zLZH75pJdxDX&WnCG7l9KbNa&|8*}|^R-emaukZc6AfCy|tp)w_(23MwPm#O#?m;bd zdFb}1PoH8JgjuD;^zhqY9E`6~b@;wJb)||a#>_skdW|R=^=;9G z4RHZ^KQAx62G0ms?UBaLPQuI7)Z5?aZ47`=MLv|A9FFNJD`ScOUfEepJMC+=Q*H)< z0OpL{eSMiZIU!x@L_sZ>)wxy-5Y+)=_l~OQCgrQlV;_InDD*z$=D(&ayS%kN!T)EI zAGS}(*rBudoj-h?1wr@>5$0sPJrE!!S{d=AoF9{#kxFP}7X|@FgAD8~r1th0h7IMc zx&_8>FVLGT_-xMSnHa*4BKS z8*!zE`VXT6xk)6pO0Kptjl(kxc=DfVpO*Q#+9KFXk;a2rFP@wSBK`C8h7+jhmqTl` zv$Za&>1kPuwyZC<-Mr{hZzM|;?|i;+lH>2}#g%bwr@U3)Og#5YW*Jbpxm4w< zr@Y&eBq~fdl42g#YT7@p`R|^!_ylm9gqmA%I5;_%m|DR;@~lncyEqQno_Nn=p#@UO z7)~F!*(Yf4yn@M%B_=XI4#BOqKHoXZt|qi?n3Fz6fITtMLG1h`r=6wVbKBt4;M@!F zkS+h)JwLNh9$dDeCT*n6K$GT36alp&kD3o3#mGXV(Y>=5Isn23_kdnA_j-dux>*8K#S+isU37 z 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 diff --git a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm index 13654a1fe37..8decad4a791 100644 --- a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm +++ b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm @@ -507,6 +507,11 @@ /obj/structure/bed/handrail{ dir = 8 }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + id_tag = "intrepid_shuttle_cargo_pump_out_external"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "azl" = ( @@ -854,6 +859,12 @@ /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, /area/security/checkpoint) +"aLc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 10 + }, +/turf/simulated/wall/shuttle/scc/cardinal, +/area/shuttle/intrepid/crew_compartment) "aLu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -886,7 +897,7 @@ /turf/simulated/floor/tiled, /area/medical/morgue/lower) "aME" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 5 }, /turf/simulated/wall/shuttle/scc/cardinal, @@ -938,6 +949,9 @@ }, /obj/item/reagent_containers/inhaler/pneumalin, /obj/item/reagent_containers/inhaler/pneumalin, +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "aNR" = ( @@ -1041,7 +1055,8 @@ master_tag = "intrepid_shuttle_cargo"; name = "exterior access button"; pixel_x = 8; - pixel_y = -10 + pixel_y = -5; + dir = 4 }, /turf/simulated/wall/shuttle/scc/cardinal, /area/shuttle/intrepid/atmos_compartment) @@ -1505,14 +1520,21 @@ frequency = 1385; id_tag = "intrepid_shuttle_west_exterior_sensor"; pixel_x = -42; - pixel_y = 32 + pixel_y = 30; + dir = 8 }, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/structure/lattice/catwalk/indoor/grate, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + id_tag = "intrepid_shuttle_west_pump_out_external"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, -/area/shuttle/intrepid/rotary) +/area/shuttle/intrepid/crew_compartment) "bij" = ( /obj/structure/window/shuttle/scc_space_ship, /obj/structure/grille, @@ -1708,6 +1730,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, @@ -2715,15 +2738,18 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "ccU" = ( @@ -3006,7 +3032,7 @@ icon_state = "door_locked"; id_tag = "intrepid_shuttle_west_in" }, -/obj/machinery/atmospherics/pipe/simple/hidden{ +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ dir = 8 }, /turf/simulated/floor/plating, @@ -3095,7 +3121,7 @@ /obj/item/device/gps/stationary/sccv_intrepid{ pixel_x = 32 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/cargo_bay) "cty" = ( /obj/structure/closet/crate, @@ -3244,6 +3270,14 @@ /obj/structure/lattice/catwalk/indoor, /turf/simulated/floor/plating, /area/maintenance/wing/port/deck1) +"cyt" = ( +/obj/machinery/door/firedoor, +/obj/structure/window/shuttle/scc, +/obj/machinery/atmospherics/pipe/simple/hidden/red, +/obj/machinery/atmospherics/pipe/simple/hidden/red, +/obj/machinery/atmospherics/pipe/simple/hidden/red, +/turf/simulated/floor/plating, +/area/shuttle/mining) "cyS" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Hangar" @@ -3986,8 +4020,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 }, /obj/structure/window/shuttle/scc, /turf/simulated/floor/plating, @@ -4055,8 +4089,8 @@ /area/engineering/atmos/propulsion) "dir" = ( /obj/structure/lattice/catwalk/indoor, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + dir = 10 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) @@ -5198,12 +5232,22 @@ master_tag = "intrepid_shuttle_west"; name = "interior access button"; pixel_x = -24; - pixel_y = -10 + pixel_y = -5; + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/visible, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 1 + }, +/obj/machinery/airlock_sensor/airlock_interior{ + dir = 4; + pixel_x = -23; + pixel_y = 5; + id_tag = "intrepid_shuttle_west_interior_sensor"; + frequency = 1385 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "eeb" = ( @@ -5622,13 +5666,6 @@ /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, /area/medical/morgue/lower) -"evK" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/floor/tiled/dark, -/area/shuttle/intrepid/crew_compartment) "ewy" = ( /obj/machinery/door/airlock/external{ frequency = 1385; @@ -5640,8 +5677,12 @@ frequency = 1385; master_tag = "intrepid_shuttle_west"; name = "exterior access button"; - pixel_x = -10; - pixel_y = -20 + pixel_x = -9; + pixel_y = -23; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/visible/red{ + dir = 8 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) @@ -5665,9 +5706,6 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 - }, /obj/machinery/power/apc/intrepid{ dir = 1; pixel_y = 24 @@ -5675,6 +5713,9 @@ /obj/structure/cable/green{ icon_state = "0-4" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "exw" = ( @@ -5744,10 +5785,18 @@ tag_chamber_sensor = "intrepid_shuttle_west_sensor"; tag_exterior_door = "intrepid_shuttle_west_out"; tag_exterior_sensor = "intrepid_shuttle_west_exterior_sensor"; - tag_interior_door = "intrepid_shuttle_west_in" + tag_interior_door = "intrepid_shuttle_west_in"; + cycle_to_external_air = 1; + tag_interior_sensor = "intrepid_shuttle_west_interior_sensor" }, /obj/structure/bed/handrail, /obj/structure/lattice/catwalk/indoor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + id_tag = "intrepid_shuttle_west_pump_out_internal"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "ezh" = ( @@ -6329,12 +6378,12 @@ }, /obj/structure/window/reinforced, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/atmospherics/portables_connector{ - dir = 8 - }, /obj/effect/floor_decal/corner/blue{ dir = 6 }, +/obj/machinery/atmospherics/portables_connector/fuel{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "eVw" = ( @@ -6607,7 +6656,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 5 }, /obj/effect/floor_decal/corner/brown{ @@ -6617,6 +6666,9 @@ pixel_x = -32; req_access = null }, +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 6 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "fbL" = ( @@ -6641,6 +6693,7 @@ /obj/machinery/computer/ship/engines{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "fdA" = ( @@ -6823,6 +6876,10 @@ dir = 10 }, /obj/structure/railing/mapped, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4; + name = "Spark scrubber vent" + }, /turf/simulated/floor/tiled/dark/full/airless, /area/shuttle/mining) "fjS" = ( @@ -6836,11 +6893,11 @@ /obj/structure/bed/stool/chair/shuttle{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/firealarm/east, /obj/effect/floor_decal/corner/brown{ dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "fkH" = ( @@ -7204,7 +7261,6 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/window/southleft, /obj/machinery/door/firedoor, @@ -7215,6 +7271,9 @@ c_tag = "Intrepid - Atmos Compartment"; dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/ramp, /area/shuttle/intrepid/atmos_compartment) "fAj" = ( @@ -7332,6 +7391,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 5 + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/mining) "fFf" = ( @@ -7689,7 +7751,7 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/refinery) "fTb" = ( -/obj/machinery/atmospherics/pipe/simple/visible/red{ +/obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 6 }, /turf/simulated/floor/tiled/dark, @@ -8082,11 +8144,11 @@ }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/plating, /area/shuttle/intrepid/engine_compartment) "ggp" = ( @@ -8194,7 +8256,7 @@ /turf/simulated/floor/tiled, /area/horizon/custodial) "ghP" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/black, +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "gig" = ( @@ -8352,15 +8414,19 @@ tag_chamber_sensor = "intrepid_shuttle_cargo_sensor"; tag_exterior_door = "intrepid_shuttle_cargo_out"; tag_exterior_sensor = "intrepid_shuttle_cargo_exterior_sensor"; - tag_interior_door = "intrepid_shuttle_cargo_in" + tag_interior_door = "intrepid_shuttle_cargo_in"; + dir = 8; + cycle_to_external_air = 1; + tag_interior_sensor = "intrepid_shuttle_cargo_interior_sensor" }, /obj/structure/bed/handrail{ dir = 8 }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ dir = 8; frequency = 1385; - id_tag = "intrepid_shuttle_cargo_pump" + id_tag = "intrepid_shuttle_cargo_pump"; + layer = 2.8 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) @@ -8690,7 +8756,6 @@ /obj/effect/floor_decal/corner/blue{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/visible/black, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -8700,6 +8765,7 @@ icon_state = "2-4" }, /obj/machinery/firealarm/west, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "gAK" = ( @@ -8782,9 +8848,7 @@ /area/engineering/atmos/air) "gDj" = ( /obj/structure/lattice/catwalk/indoor, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 - }, +/obj/machinery/atmospherics/pipe/manifold/visible/red, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "gDC" = ( @@ -8849,9 +8913,6 @@ /turf/simulated/floor/tiled/dark, /area/teleporter) "gGb" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal{ - dir = 4 - }, /obj/machinery/meter, /obj/effect/floor_decal/corner/blue{ dir = 5 @@ -8859,6 +8920,9 @@ /obj/machinery/alarm{ pixel_y = 28 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/atmos_compartment) "gGg" = ( @@ -9161,10 +9225,10 @@ pixel_y = 28 }, /obj/machinery/portable_atmospherics/canister/air/airlock, -/obj/machinery/atmospherics/portables_connector{ +/obj/machinery/atmospherics/portables_connector/aux{ dir = 8 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/cargo_bay) "gTq" = ( /obj/machinery/artifact_scanpad, @@ -9419,7 +9483,8 @@ /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; frequency = 1385; - id_tag = "intrepid_shuttle_cargo_pump" + id_tag = "intrepid_shuttle_cargo_pump_out_internal"; + layer = 2.8 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) @@ -9447,13 +9512,14 @@ /turf/simulated/floor/reinforced/oxygen, /area/engineering/atmos/air) "hfm" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1385; - id_tag = "intrepid_shuttle_west_pump" - }, /obj/structure/bed/handrail, /obj/structure/lattice/catwalk/indoor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + dir = 4; + frequency = 1385; + id_tag = "intrepid_shuttle_west_pump"; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "hfv" = ( @@ -9758,6 +9824,7 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/cargo_bay) "hqC" = ( @@ -10345,11 +10412,13 @@ name = "Intrepid Crew Area" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "hQO" = ( @@ -10547,7 +10616,6 @@ /turf/simulated/floor/tiled, /area/hangar/intrepid) "hZr" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/corner/blue{ dir = 9 @@ -10562,6 +10630,7 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "hZS" = ( @@ -10735,6 +10804,9 @@ /obj/effect/landmark/entry_point/starboard{ name = "starboard, airlock" }, +/obj/machinery/atmospherics/pipe/simple/visible/red{ + dir = 6 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "ifD" = ( @@ -11508,17 +11580,6 @@ }, /turf/simulated/floor/tiled, /area/operations/storage) -"iQL" = ( -/obj/machinery/door/airlock/external{ - frequency = 1385; - icon_state = "door_locked"; - id_tag = "intrepid_shuttle_west_in" - }, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/shuttle/intrepid/crew_compartment) "iQM" = ( /obj/structure/sign/nosmoking_1{ pixel_y = 32 @@ -12241,14 +12302,14 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 9 - }, /obj/structure/cable/green{ icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 9 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "jwL" = ( @@ -12312,20 +12373,22 @@ /turf/simulated/floor/tiled/dark/cooled, /area/turret_protected/ai) "jyn" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1385; - id_tag = "intrepid_shuttle_west_pump" - }, /obj/machinery/airlock_sensor{ frequency = 1385; id_tag = "intrepid_shuttle_west_sensor"; - pixel_y = -23 + pixel_y = -23; + dir = 1 }, /obj/structure/bed/handrail{ dir = 1 }, /obj/structure/lattice/catwalk/indoor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + dir = 4; + frequency = 1385; + id_tag = "intrepid_shuttle_west_pump"; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "jyH" = ( @@ -12530,10 +12593,10 @@ icon = 'icons/turf/shuttles_unique/scc_shuttle_pieces.dmi'; icon_state = "me1" }, -/obj/machinery/atmospherics/pipe/manifold/visible/black{ +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ dir = 8 }, -/obj/machinery/meter, /turf/simulated/floor/reinforced{ blocks_air = 1; density = 1; @@ -12867,6 +12930,12 @@ }, /turf/simulated/floor/plating, /area/outpost/mining_main/refinery) +"jUm" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/red{ + dir = 1 + }, +/turf/simulated/wall/shuttle/scc/cardinal, +/area/shuttle/intrepid/crew_compartment) "jUT" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4 @@ -12961,7 +13030,8 @@ /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; frequency = 1385; - id_tag = "intrepid_shuttle_cargo_pump" + id_tag = "intrepid_shuttle_cargo_pump_out_internal"; + layer = 2.8 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) @@ -13198,20 +13268,22 @@ frequency = 1385; id_tag = "intrepid_shuttle_cargo_sensor"; pixel_x = -24; - pixel_y = -6 + pixel_y = -6; + dir = 4 }, /obj/structure/bed/handrail{ dir = 4 }, -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 4; - frequency = 1385; - id_tag = "intrepid_shuttle_cargo_pump" - }, /obj/machinery/camera/network/intrepid{ c_tag = "Intrepid - Airlock Aft"; dir = 1 }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + dir = 4; + id_tag = "intrepid_shuttle_cargo_pump"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "kkS" = ( @@ -13708,7 +13780,7 @@ /turf/simulated/floor/tiled, /area/hangar/operations) "kCj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 9 }, /turf/simulated/wall/shuttle/scc/cardinal, @@ -13797,22 +13869,21 @@ /obj/effect/floor_decal/corner/blue{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/structure/cable/green{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/aux{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "kEg" = ( @@ -14136,7 +14207,8 @@ name = "exterior access button"; pixel_x = -25; pixel_y = 10; - req_one_access = list(31,48,67) + req_one_access = list(31,48,67); + dir = 1 }, /obj/machinery/door/airlock/external{ frequency = 1380; @@ -14277,9 +14349,7 @@ /area/maintenance/engineering) "kVu" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/machinery/atmospherics/portables_connector{ - layer = 2.8 - }, +/obj/machinery/atmospherics/portables_connector/fuel, /obj/structure/cable/green{ icon_state = "1-4" }, @@ -14296,6 +14366,15 @@ /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, /area/rnd/xenoarch_atrium) +"kWb" = ( +/obj/effect/floor_decal/corner/blue{ + dir = 6 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled, +/area/shuttle/intrepid/cargo_bay) "kWp" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 8 @@ -14531,9 +14610,6 @@ id_tag = "intrepid_shuttle"; pixel_y = 28 }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, @@ -14984,6 +15060,13 @@ }, /turf/simulated/floor/tiled/dark, /area/engineering/atmos/propulsion/starboard) +"lFU" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/intrepid/crew_compartment) "lGb" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable{ @@ -15522,12 +15605,12 @@ c_tag = "Intrepid - Engine Compartment"; dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ - dir = 9 - }, /obj/effect/floor_decal/corner/blue{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "lXZ" = ( @@ -16078,6 +16161,12 @@ /obj/item/device/radio, /obj/item/device/radio, /obj/item/device/radio, +/obj/machinery/airlock_sensor/airlock_interior{ + id_tag = "intrepid_shuttle_cargo_interior_sensor"; + pixel_y = 23; + pixel_x = -3; + frequency = 1385 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "mxq" = ( @@ -16162,10 +16251,7 @@ icon = 'icons/turf/shuttles_unique/scc_shuttle_pieces.dmi'; icon_state = "me1" }, -/obj/machinery/atmospherics/pipe/manifold/visible/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 5 }, /turf/simulated/floor/reinforced{ @@ -16574,8 +16660,14 @@ dir = 4 }, /obj/structure/lattice/catwalk/indoor/grate, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 1; + id_tag = "intrepid_shuttle_west_pump_out_external"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, -/area/shuttle/intrepid/rotary) +/area/shuttle/intrepid/crew_compartment) "mSk" = ( /obj/effect/floor_decal/corner/green{ dir = 10 @@ -16732,9 +16824,8 @@ /turf/simulated/floor/plating, /area/maintenance/research_port) "mWV" = ( -/obj/machinery/atmospherics/portables_connector{ - dir = 1; - layer = 2.8 +/obj/machinery/atmospherics/portables_connector/aux{ + dir = 1 }, /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/machinery/alarm{ @@ -17417,9 +17508,7 @@ /obj/structure/cable/green{ icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 0 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/aux, /turf/simulated/floor/tiled, /area/shuttle/intrepid/cargo_bay) "nyl" = ( @@ -17430,12 +17519,11 @@ /turf/simulated/floor/grass/alt, /area/horizon/hydroponics/lower) "nyz" = ( -/obj/structure/lattice/catwalk/indoor, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 5 }, -/turf/simulated/floor/plating, -/area/shuttle/intrepid/cargo_bay) +/turf/simulated/wall/shuttle/scc/cardinal, +/area/shuttle/intrepid/crew_compartment) "nyL" = ( /turf/unsimulated/wall/fakepdoor{ dir = 4 @@ -17524,20 +17612,20 @@ /turf/simulated/floor/airless, /area/engineering/atmos) "nBA" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1380; - id_tag = "mining_shuttle_pump" - }, /obj/structure/cable/green{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 }, /obj/structure/bed/handrail{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/full, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + frequency = 1380; + id_tag = "mining_shuttle_pump" + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/mining) "nBK" = ( @@ -17887,6 +17975,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /turf/simulated/floor/tiled, /area/shuttle/intrepid/cargo_bay) "nRy" = ( @@ -17975,15 +18064,15 @@ /turf/simulated/floor/tiled/dark, /area/storage/eva) "nUc" = ( -/obj/machinery/atmospherics/pipe/simple/visible/black, -/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, /obj/effect/floor_decal/corner/blue/full, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "nUn" = ( @@ -18106,6 +18195,14 @@ /obj/machinery/atmospherics/pipe/manifold4w/visible/yellow, /turf/simulated/floor/plating, /area/rnd/xenoarch_atrium) +"nZx" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/closet/crate, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/shuttle/intrepid/crew_compartment) "oam" = ( /obj/structure/grille/diagonal{ dir = 8 @@ -18551,12 +18648,14 @@ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ icon_state = "1-2" }, /obj/machinery/firealarm/east, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "ows" = ( @@ -19453,7 +19552,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 6 }, /turf/simulated/floor/tiled/dark, @@ -19612,11 +19711,18 @@ /obj/machinery/airlock_sensor/airlock_exterior{ frequency = 1385; id_tag = "intrepid_shuttle_cargo_exterior_sensor"; - pixel_x = -24 + pixel_x = -23; + dir = 4; + pixel_y = 5 }, /obj/structure/bed/handrail{ dir = 4 }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + id_tag = "intrepid_shuttle_cargo_pump_out_external"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "pvO" = ( @@ -19785,7 +19891,6 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, @@ -19797,6 +19902,9 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "pAB" = ( @@ -20247,7 +20355,7 @@ icon_state = "door_locked"; id_tag = "intrepid_shuttle_cargo_in" }, -/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/cargo_bay) "pTF" = ( @@ -20343,8 +20451,10 @@ d2 = 2; icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/visible/supply, -/obj/machinery/atmospherics/pipe/simple/visible/black, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/atmos_compartment) "pXv" = ( @@ -20599,11 +20709,11 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "qfH" = ( @@ -20651,6 +20761,16 @@ /obj/machinery/meter, /turf/simulated/floor/tiled/dark, /area/engineering/atmos/propulsion/starboard) +"qhG" = ( +/obj/structure/railing/mapped, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/floor_decal/industrial/warning, +/obj/structure/bed/handrail{ + dir = 1; + pixel_y = 8 + }, +/turf/simulated/floor/tiled/dark/full/airless, +/area/shuttle/mining) "qhZ" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Engineering Lower Deck Substation" @@ -20920,6 +21040,7 @@ /obj/machinery/computer/ship/sensors{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "qrh" = ( @@ -21075,7 +21196,6 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -21083,6 +21203,9 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "qxn" = ( @@ -21461,7 +21584,8 @@ pixel_x = 6; pixel_y = -25; req_one_access = list(31,48,67); - tag_door = "mining_shuttle_dock_doors" + tag_door = "mining_shuttle_dock_doors"; + dir = 1 }, /turf/simulated/floor/tiled, /area/hangar/operations) @@ -21633,7 +21757,6 @@ /turf/simulated/floor/tiled/dark, /area/security/checkpoint) "qTC" = ( -/obj/structure/bed/stool/chair/office/bridge, /obj/effect/floor_decal/corner/blue{ dir = 9 }, @@ -21645,6 +21768,7 @@ pixel_y = 8; specialfunctions = 4 }, +/obj/structure/bed/stool/chair/office/bridge, /turf/simulated/floor/carpet/rubber, /area/shuttle/intrepid/cockpit) "qUu" = ( @@ -21717,15 +21841,13 @@ /turf/simulated/floor/tiled/dark/full, /area/rnd/test_range) "qWV" = ( -/obj/effect/floor_decal/corner/blue{ - dir = 6 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "qWW" = ( @@ -22002,13 +22124,15 @@ /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/closet/walllocker/emerglocker/east, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "riL" = ( @@ -22685,13 +22809,16 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 9 }, /obj/effect/floor_decal/corner/brown{ dir = 4 }, /obj/machinery/bluespace_beacon, +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "rNe" = ( @@ -22884,10 +23011,13 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 9 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "rSe" = ( @@ -23062,9 +23192,6 @@ /obj/structure/cable/green{ icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/black{ - dir = 1 - }, /obj/effect/floor_decal/corner/brown/full{ dir = 1 }, @@ -23076,6 +23203,9 @@ pixel_x = -32; pixel_y = 32 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "rZu" = ( @@ -23350,21 +23480,18 @@ /turf/simulated/floor/tiled/dark/full, /area/horizon/hydroponics/lower) "snD" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - frequency = 1380; - id_tag = "mining_shuttle_pump" - }, /obj/machinery/light/small{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 }, /obj/machinery/airlock_sensor{ frequency = 1380; id_tag = "mining_shuttle_sensor"; pixel_x = 25; - pixel_y = -7 + pixel_y = -7; + dir = 8 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; @@ -23375,9 +23502,15 @@ tag_airpump = "mining_shuttle_pump"; tag_chamber_sensor = "mining_shuttle_sensor"; tag_exterior_door = "mining_shuttle_external"; - tag_interior_door = "mining_shuttle_internal" + tag_interior_door = "mining_shuttle_internal"; + dir = 8; + tag_interior_sensor = "mining_shuttle_interior_sensor" }, /obj/effect/floor_decal/industrial/warning/full, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + frequency = 1380; + id_tag = "mining_shuttle_pump" + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/mining) "soD" = ( @@ -24263,10 +24396,6 @@ /turf/simulated/floor/tiled/dark/full, /area/engineering/atmos) "sXU" = ( -/obj/machinery/atmospherics/binary/pump/high_power{ - dir = 1; - name = "Fuel Tank to Thrusters" - }, /obj/structure/cable/green{ icon_state = "2-8" }, @@ -24276,6 +24405,10 @@ /obj/structure/bed/handrail{ dir = 8 }, +/obj/machinery/atmospherics/binary/pump/fuel{ + dir = 1; + name = "Fuel Tank to Thrusters" + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "sYZ" = ( @@ -24343,10 +24476,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/visible{ +/obj/machinery/atmospherics/pipe/manifold/hidden/aux{ dir = 4 }, /turf/simulated/floor/tiled/dark, @@ -24393,11 +24523,18 @@ /obj/machinery/light/small{ dir = 8 }, -/obj/machinery/atmospherics/portables_connector{ - dir = 4; - layer = 2.8 +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/window/eastleft, +/obj/machinery/atmospherics/pipe/tank/air{ + dir = 4; + layer = 3.5 }, -/obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "tes" = ( @@ -24551,7 +24688,7 @@ icon_state = "me2" }, /obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/visible/black{ +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ dir = 4 }, /turf/simulated/floor/reinforced{ @@ -24847,6 +24984,10 @@ }, /turf/simulated/floor/tiled/full, /area/horizon/crew_quarters/cryo/living_quarters_lift) +"tuL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/red, +/turf/simulated/floor/tiled/dark/full/airless, +/area/shuttle/mining) "tuP" = ( /turf/simulated/wall/shuttle/scc_space_ship/cardinal, /area/engineering/storage/lower) @@ -25033,15 +25174,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 - }, /obj/structure/cable/green{ icon_state = "1-4" }, /obj/structure/cable/green{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "tEc" = ( @@ -25565,14 +25706,17 @@ dir = 1; pixel_y = 8 }, +/obj/machinery/atmospherics/pipe/simple/hidden/red{ + dir = 9 + }, /turf/simulated/floor/tiled/dark/full/airless, /area/shuttle/mining) "tWc" = ( -/obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/cable/green{ icon_state = "4-8" }, /obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "tWy" = ( @@ -25780,15 +25924,15 @@ /turf/simulated/floor/tiled, /area/outpost/mining_main/refinery) "ucE" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 5 - }, /obj/structure/cable/green{ icon_state = "4-8" }, /obj/effect/floor_decal/corner/brown{ dir = 5 }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "ucG" = ( @@ -26003,12 +26147,12 @@ /area/maintenance/engineering) "umg" = ( /obj/effect/floor_decal/corner/blue/full, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, /obj/effect/floor_decal/industrial/warning{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 9 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "umt" = ( @@ -26814,15 +26958,15 @@ /turf/simulated/floor/plating, /area/shuttle/intrepid/cockpit) "uUP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; master_tag = "mining_shuttle_controller"; name = "interior access button"; pixel_x = 23; - pixel_y = -10; - req_one_access = list(31,48,67) + pixel_y = -20; + req_one_access = list(31,48,67); + dir = 8 }, /obj/machinery/door/airlock/external{ frequency = 1380; @@ -26831,6 +26975,9 @@ req_access = list(13) }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/atmospherics/pipe/manifold/hidden/aux{ + dir = 4 + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/mining) "uUZ" = ( @@ -27287,14 +27434,11 @@ /turf/simulated/floor/tiled/dark, /area/engineering/atmos) "vkB" = ( -/obj/effect/floor_decal/corner/blue{ - dir = 6 - }, -/obj/structure/cable/green{ - icon_state = "1-2" - }, -/turf/simulated/floor/tiled, -/area/shuttle/intrepid/cargo_bay) +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/bed/handrail, +/obj/machinery/atmospherics/pipe/simple/hidden/red, +/turf/simulated/floor/tiled/dark/full/airless, +/area/shuttle/mining) "vlJ" = ( /obj/effect/shuttle_landmark/escape_pod/start/pod1, /turf/simulated/floor/shuttle/dark_blue, @@ -27761,8 +27905,8 @@ /obj/structure/cable/green{ icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 }, /obj/effect/floor_decal/corner/brown/full{ dir = 8 @@ -27819,12 +27963,12 @@ icon = 'icons/turf/shuttles_unique/scc_shuttle_pieces.dmi'; icon_state = "me2" }, -/obj/machinery/atmospherics/pipe/simple/visible/black{ - dir = 9 - }, /obj/effect/floor_decal/corner/blue{ dir = 5 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 9 + }, /turf/simulated/floor/reinforced{ blocks_air = 1; density = 1; @@ -28506,15 +28650,18 @@ pixel_x = -24; pixel_y = 24 }, -/obj/machinery/atmospherics/pipe/simple/hidden/black{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "wjW" = ( @@ -28710,8 +28857,8 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/hidden/aux{ + dir = 8 }, /turf/simulated/floor/tiled, /area/shuttle/intrepid/cargo_bay) @@ -28912,9 +29059,6 @@ /turf/simulated/floor/tiled/dark/full, /area/rnd/xenoarch_atrium) "wvY" = ( -/obj/machinery/atmospherics/binary/pump/high_power{ - dir = 1 - }, /obj/machinery/alarm{ dir = 4; pixel_x = -28 @@ -28922,6 +29066,9 @@ /obj/effect/floor_decal/corner/blue/full{ dir = 8 }, +/obj/machinery/atmospherics/binary/pump/fuel{ + dir = 1 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "wwN" = ( @@ -29770,9 +29917,6 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden{ - dir = 4 - }, /obj/structure/cable/green{ icon_state = "0-8" }, @@ -29783,6 +29927,14 @@ dir = 4; pixel_x = 24 }, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/airlock_sensor/airlock_interior{ + dir = 8; + pixel_y = 23; + pixel_x = 22; + id_tag = "mining_shuttle_interior_sensor"; + frequency = 1380 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "xiq" = ( @@ -29969,6 +30121,12 @@ dir = 1 }, /obj/structure/lattice/catwalk/indoor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 8; + id_tag = "intrepid_shuttle_west_pump_out_internal"; + frequency = 1385; + layer = 2.8 + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/crew_compartment) "xmb" = ( @@ -30118,6 +30276,9 @@ /obj/machinery/alarm{ pixel_y = 28 }, +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + dir = 4 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/crew_compartment) "xpX" = ( @@ -30141,13 +30302,19 @@ /turf/simulated/wall/shuttle/scc/cardinal, /area/shuttle/intrepid/rotary) "xqo" = ( -/obj/effect/floor_decal/industrial/outline/yellow, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 +/obj/effect/floor_decal/industrial/warning{ + dir = 1 }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/door/airlock/external{ + frequency = 1385; + icon_state = "door_locked"; + id_tag = "intrepid_shuttle_cargo_in" + }, +/obj/machinery/atmospherics/pipe/simple/hidden, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, /turf/simulated/floor/tiled/dark, -/area/shuttle/intrepid/crew_compartment) +/area/shuttle/intrepid/cargo_bay) "xqE" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -30284,6 +30451,7 @@ icon_state = "door_locked"; id_tag = "intrepid_shuttle_cargo_out" }, +/obj/machinery/atmospherics/pipe/simple/visible/red, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) "xvG" = ( @@ -30784,12 +30952,12 @@ /turf/simulated/floor/tiled, /area/hangar/intrepid) "xOs" = ( -/obj/machinery/atmospherics/pipe/manifold/visible/black{ - dir = 8 - }, /obj/effect/floor_decal/corner/blue{ dir = 9 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + dir = 8 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/engine_compartment) "xOV" = ( @@ -31270,8 +31438,8 @@ /area/operations/loading) "yib" = ( /obj/structure/lattice/catwalk/indoor, -/obj/machinery/atmospherics/pipe/manifold/visible{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + dir = 6 }, /turf/simulated/floor/plating, /area/shuttle/intrepid/cargo_bay) @@ -31291,12 +31459,12 @@ /obj/effect/floor_decal/corner/blue/full{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/visible/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/binary/pump/high_power{ +/obj/machinery/atmospherics/binary/pump/fuel{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/atmos_compartment) @@ -46852,9 +47020,9 @@ kVu fbJ fdb qqS -ePy -xpX -tqs +cyt +vkB +tuL tVI tNp jCg @@ -47667,7 +47835,7 @@ mWV ePy xpX tqs -tVI +qhG tNp jCg tNp @@ -50101,7 +50269,7 @@ aEw aEw ifw ewy -aEw +nyz iRC iRC iRC @@ -50304,7 +50472,7 @@ teq aEw eyW xlX -aEw +jUm bhi aHu bGE @@ -50503,11 +50671,11 @@ joi aEw lRu rKh -xqo +nZx aEw hfm jyn -aEw +aLc mSf hcE djr @@ -50706,9 +50874,9 @@ iau aEw cAU nGN -evK +lFU aEw -iQL +cpn cpn aEw aIP @@ -51713,12 +51881,12 @@ iZk dhi ayq xvk -nyz +gDj yib -pTp +xqo nxj -vkB -vkB +kWb +kWb njr rsz exg