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 cf4ea7a3c84..bb7c007d8ee 100644 Binary files a/icons/atmos/connector.dmi and b/icons/atmos/connector.dmi differ diff --git a/icons/atmos/manifold.dmi b/icons/atmos/manifold.dmi index b7c5d0a2f14..1ded9249c9e 100644 Binary files a/icons/atmos/manifold.dmi and b/icons/atmos/manifold.dmi differ diff --git a/icons/atmos/passive_gate.dmi b/icons/atmos/passive_gate.dmi index ff8cf2419ab..797cbf6bc0d 100644 Binary files a/icons/atmos/passive_gate.dmi and b/icons/atmos/passive_gate.dmi differ diff --git a/icons/atmos/pipe_underlays.dmi b/icons/atmos/pipe_underlays.dmi index f6f38a9a7d7..5a6e96a9dd3 100644 Binary files a/icons/atmos/pipe_underlays.dmi and b/icons/atmos/pipe_underlays.dmi differ diff --git a/icons/atmos/pipes.dmi b/icons/atmos/pipes.dmi index 1ef58ff1b37..be53081793f 100644 Binary files a/icons/atmos/pipes.dmi and b/icons/atmos/pipes.dmi differ diff --git a/icons/atmos/pump.dmi b/icons/atmos/pump.dmi index a1e2d43ca2d..06194547ab8 100644 Binary files a/icons/atmos/pump.dmi and b/icons/atmos/pump.dmi differ diff --git a/icons/atmos/vent_pump.dmi b/icons/atmos/vent_pump.dmi index 2a8b3fc21a9..8c91d6cc0de 100644 Binary files a/icons/atmos/vent_pump.dmi and b/icons/atmos/vent_pump.dmi differ diff --git a/icons/atmos/vent_scrubber.dmi b/icons/atmos/vent_scrubber.dmi index 48bfd88136d..2dd293a428e 100644 Binary files a/icons/atmos/vent_scrubber.dmi and b/icons/atmos/vent_scrubber.dmi differ diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 763a616353d..00984305fc4 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ 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