From af6ebb996f0eb8b4e0cf9f785ad9fcfc5d66653d Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Tue, 31 Mar 2020 18:36:51 -0400 Subject: [PATCH 1/3] Adds airlock setup helpers --- .../embedded_controller/mapping_helpers.dm | 140 ++++++++++++++++++ icons/misc/map_helpers.dmi | Bin 0 -> 766 bytes vorestation.dme | 1 + 3 files changed, 141 insertions(+) create mode 100644 code/game/machinery/embedded_controller/mapping_helpers.dm create mode 100644 icons/misc/map_helpers.dmi diff --git a/code/game/machinery/embedded_controller/mapping_helpers.dm b/code/game/machinery/embedded_controller/mapping_helpers.dm new file mode 100644 index 00000000000..c4db355ab6a --- /dev/null +++ b/code/game/machinery/embedded_controller/mapping_helpers.dm @@ -0,0 +1,140 @@ +/* + +Note that these have to be in the same /area that the controller is in for them to function. +You still need to set the controller's "id_tag" to something unique. +Any frequency works, it's self-setting, but it seems like people have decided 1380 for airlocks so maybe set that on the controller too. + +*/ + +/obj/effect/map_helper/airlock + name = "use a subtype!" + icon = 'icons/misc/map_helpers.dmi' + plane = 20 //I dunno just high. + alpha = 200 + + var/area/my_area + //The controller we're wanting our device to use + var/obj/machinery/embedded_controller/radio/my_controller + var/my_controller_type = /obj/machinery/embedded_controller/radio/airlock/ + //The device we're setting up + var/my_device + var/my_device_type + //Most things have a radio tag of some sort that needs adjusting + var/tag_addon + +/obj/effect/map_helper/airlock/Initialize() + ..() + my_area = get_area(src) + my_controller = locate() in my_area + my_device = locate(my_device_type) in get_turf(src) + if(!my_device) + to_world("WARNING:Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]") + else if(!my_controller) + to_world("WARNING:Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]") + else if(!my_controller.id_tag) + to_world("WARNING:Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]") + else + setup() + return INITIALIZE_HINT_QDEL + +/obj/effect/map_helper/airlock/Destroy() + my_controller = null + my_area = null + my_device = null + return ..() + +/obj/effect/map_helper/airlock/proc/setup() + return //Stub for subtypes + + +/* + Doors +*/ +/obj/effect/map_helper/airlock/door + name = "use a subtype! - airlock door" + my_device_type = /obj/machinery/door/airlock + +/obj/effect/map_helper/airlock/door/setup() + var/obj/machinery/door/airlock/my_airlock = my_device + my_airlock.lock() + my_airlock.frequency = my_controller.frequency + my_airlock.id_tag = my_controller.id_tag + tag_addon + if(my_airlock.radio_connection) //Initialized before us + my_airlock.set_frequency(my_controller.frequency) + +/obj/effect/map_helper/airlock/door/ext_door + name = "exterior airlock door" + icon_state = "doorout" + tag_addon = "_outer" + +/obj/effect/map_helper/airlock/door/int_door + name = "interior airlock door" + icon_state = "doorin" + tag_addon = "_inner" + +/obj/effect/map_helper/airlock/door/simple + name = "simple docking controller hatch" + icon_state = "doorsimple" + tag_addon = "_hatch" + my_controller_type = /obj/machinery/embedded_controller/radio/simple_docking_controller + + +/* + Atmos +*/ +/obj/effect/map_helper/airlock/atmos + name = "use a subtype! - airlock pump" + my_device_type = /obj/machinery/atmospherics/unary/vent_pump + +/obj/effect/map_helper/airlock/atmos/setup() + var/obj/machinery/atmospherics/unary/vent_pump/my_pump = my_device + my_pump.frequency = my_controller.frequency //Unlike doors, these set up their radios in atmos init, so they won't have gone before us. + my_pump.id_tag = my_controller.id_tag + tag_addon + +/obj/effect/map_helper/airlock/atmos/chamber_pump + name = "chamber pump" + icon_state = "pump" + tag_addon = "_pump" + + +/* + Sensors - did you know they function as buttons? You don't also need a button. +*/ +/obj/effect/map_helper/airlock/sensor + name = "use a subtype! - airlock sensor" + my_device_type = /obj/machinery/airlock_sensor + var/command + +/obj/effect/map_helper/airlock/sensor/setup() + var/obj/machinery/airlock_sensor/my_sensor = my_device + my_sensor.id_tag = my_controller.id_tag + tag_addon + my_sensor.frequency = my_controller.frequency + if(my_sensor.radio_connection) //Initialized before us + my_sensor.set_frequency(my_controller.frequency) + if(command) + my_sensor.command = command + +/obj/effect/map_helper/airlock/sensor/ext_sensor + name = "exterior sensor" + icon_state = "sensout" + tag_addon = "_exterior_sensor" + command = "cycle_exterior" + +/obj/effect/map_helper/airlock/sensor/chamber_sensor + name = "chamber sensor" + icon_state = "sens" + tag_addon = "_sensor" + command = "cycle" + +/obj/effect/map_helper/airlock/sensor/int_sensor + name = "interior sensor" + icon_state = "sensin" + tag_addon = "_interior_sensor" + command = "cycle_interior" + +/* + Buttons +*/ + +/obj/effect/map_helper/airlock/buttons + name = "Just use a sensor instead. They are actually buttons." diff --git a/icons/misc/map_helpers.dmi b/icons/misc/map_helpers.dmi new file mode 100644 index 0000000000000000000000000000000000000000..b59020c3b81476901b70c7a22ad9e4195e0b47ec GIT binary patch literal 766 zcmVb&JG=qp00001bW%=J06^y0W&i*HqIy(VbVOxyV{&P5 zbZKvH004NLQ&w2c!Hqq0B(_N;00Ps3l!A;Bb1UQ|4->_`2wXm+KDsu8Hxo5o+ko2`fpKUArf6VV0W({S?Z7k}v;)Cn z)BscXR{(tbQ3p(6846(DsK0cOYgqEwap( zqb&7gj5B%w6@C^;EKq#GyYs$m`KQFC-^$Q^WI~K4iz;DWa4Sd)Sfnt`BifM%^^}{phERrJY zOc#+wS!V|CY0s~)&VhUC-vQPDFvOwY79L;?0rF9!0oF$V?Cu|d23Y67&FmK~Y6Nif zxrG-X^>e|2pI`;ieNd+Nn^VJ3`gTCMDmRbwIo| zTO4+8%{n07nsq?DHLFtZlKLE;ZvIQD^Iq*JX;AH13Do9)4pinp0*d4O03e_L#h`%s zzhn{aTL3~&=U>t=>;a&i!}1Xc+X*=Ij%omZ;%xz9IZN*6A>gFLEDYpX;xSbKKw23H w9{7 Date: Tue, 31 Mar 2020 20:20:20 -0400 Subject: [PATCH 2/3] Redo maps for airlock helpers --- maps/tether/submaps/om_ships/aro.dmm | 6 +- maps/tether/tether-01-surface1.dmm | 22 +++ maps/tether/tether-03-surface3.dmm | 6 +- maps/tether/tether-05-station1.dmm | 269 ++++++++------------------- maps/tether/tether-06-station2.dmm | 60 ++---- maps/tether/tether-07-station3.dmm | 260 ++++++++------------------ 6 files changed, 192 insertions(+), 431 deletions(-) diff --git a/maps/tether/submaps/om_ships/aro.dmm b/maps/tether/submaps/om_ships/aro.dmm index a5634d28561..4e7ae07f3c8 100644 --- a/maps/tether/submaps/om_ships/aro.dmm +++ b/maps/tether/submaps/om_ships/aro.dmm @@ -3025,11 +3025,10 @@ /area/shuttle/aroboat) "gc" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; frequency = 1380; id_tag = "aroboat_docker"; - pixel_x = 25; - pixel_y = 0; - tag_door = "aroboat_doors" + pixel_x = 28 }, /obj/effect/floor_decal/techfloor{ icon_state = "techfloor_edges"; @@ -3123,6 +3122,7 @@ id_tag = "aroboat_doors" }, /obj/structure/fans/hardlight, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/aroboat) "gq" = ( diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index 91f682cce29..d72d7ae6806 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -91,6 +91,7 @@ id_tag = "mining_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aaq" = ( @@ -105,6 +106,7 @@ pixel_x = 25; pixel_y = 8 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aar" = ( @@ -141,6 +143,7 @@ frequency = 1379; id_tag = "mining_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techmaint, /area/tether/surfacebase/mining_main/airlock) "aaw" = ( @@ -450,6 +453,7 @@ /area/tether/surfacebase/mining_main/refinery) "aaY" = ( /obj/machinery/embedded_controller/radio/airlock/phoron{ + dir = 8; id_tag = "mining_airlock"; pixel_x = 25 }, @@ -473,6 +477,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 9 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/tether/surfacebase/mining_main/airlock) "aaZ" = ( @@ -489,6 +494,7 @@ locked = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "aba" = ( @@ -506,6 +512,7 @@ id_tag = "mining_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/tether/surfacebase/mining_main/airlock) "abc" = ( @@ -8507,6 +8514,7 @@ frequency = 1379; id_tag = "civ_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "aot" = ( @@ -8522,6 +8530,7 @@ frequency = 1379; id_tag = "civ_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "aou" = ( @@ -8858,6 +8867,7 @@ id_tag = "civ_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "aoX" = ( @@ -8906,6 +8916,7 @@ d2 = 8; icon_state = "4-8" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apa" = ( @@ -9296,6 +9307,7 @@ id_tag = "civ_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apI" = ( @@ -9307,6 +9319,7 @@ /area/storage/surface_eva/external) "apJ" = ( /obj/machinery/embedded_controller/radio/airlock/phoron{ + dir = 8; id_tag = "civ_airlock"; pixel_x = 25; pixel_y = -30 @@ -9317,6 +9330,7 @@ pixel_x = 25; pixel_y = -40 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/storage/surface_eva/external) "apK" = ( @@ -9327,6 +9341,7 @@ id_tag = "civ_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/storage/surface_eva/external) "apL" = ( @@ -22669,6 +22684,7 @@ id_tag = "rnd_s_airlock_inner"; locked = 1 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aKN" = ( @@ -22685,6 +22701,7 @@ locked = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aKO" = ( @@ -22908,6 +22925,7 @@ pixel_x = 11; pixel_y = 30 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/rnd/external) "aLp" = ( @@ -22968,6 +22986,7 @@ frequency = 1379; id_tag = "rnd_s_airlock_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/rnd/external) "aLs" = ( @@ -23677,6 +23696,7 @@ id_tag = "rnd_s_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aMK" = ( @@ -23692,6 +23712,7 @@ id_tag = "rnd_s_airlock_outer"; locked = 1 }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/steel_grid, /area/rnd/external) "aML" = ( @@ -32307,6 +32328,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals3{ dir = 5 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/rnd/external) "bcV" = ( diff --git a/maps/tether/tether-03-surface3.dmm b/maps/tether/tether-03-surface3.dmm index da13978ae45..7f9b1b0595c 100644 --- a/maps/tether/tether-03-surface3.dmm +++ b/maps/tether/tether-03-surface3.dmm @@ -32103,6 +32103,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/monotile, /area/shuttle/tourbus/general) "jpB" = ( @@ -32484,11 +32485,10 @@ dir = 6 }, /obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; frequency = 1380; id_tag = "tourbus_docker"; - pixel_x = 24; - pixel_y = 0; - tag_door = "tourbus_right" + pixel_x = 28 }, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index e62273da504..f955e25c02d 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -16313,6 +16313,7 @@ frequency = 1380; id_tag = "dock_d1l_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "aBR" = ( @@ -16714,6 +16715,7 @@ name = "Engineering Starboard External Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/engineering/engineering_airlock) "aCC" = ( @@ -17583,6 +17585,7 @@ frequency = 1379; id_tag = "eng_starboard_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aEb" = ( @@ -18191,17 +18194,12 @@ pixel_y = 10 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; + dir = 8; id_tag = "eng_starboard_airlock"; - pixel_x = 24; - pixel_y = 0; - req_access = newlist(); - req_one_access = list(11,24); - tag_airpump = "eng_starboard_pump"; - tag_chamber_sensor = "eng_starboard_sensor"; - tag_exterior_door = "eng_starboard_outer"; - tag_interior_door = "eng_starboard_inner" + pixel_x = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aFL" = ( @@ -18468,6 +18466,7 @@ name = "Engineering Starboard Internal Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aHT" = ( @@ -18480,6 +18479,7 @@ name = "Engineering Starboard Internal Access" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/engineering/engineering_airlock) "aHY" = ( @@ -22090,26 +22090,16 @@ pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a2_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHu" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a2_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHw" = ( @@ -22128,14 +22118,10 @@ /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; id_tag = "dock_d1a2"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "dock_d1a2_pump"; - tag_chamber_sensor = "dock_d1a2_sensor"; - tag_exterior_door = "dock_d1a2_outer"; - tag_interior_door = "dock_d1a2_inner" + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bHy" = ( @@ -22168,13 +22154,7 @@ /turf/simulated/floor/tiled, /area/tether/station/dock_one) "bHG" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2a2_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; @@ -22184,19 +22164,15 @@ pixel_y = -26; req_one_access = list(13) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bHN" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2a2_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bHO" = ( @@ -22209,13 +22185,7 @@ /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; id_tag = "dock_d2a2"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "dock_d2a2_pump"; - tag_chamber_sensor = "dock_d2a2_sensor"; - tag_exterior_door = "dock_d2a2_outer"; - tag_interior_door = "dock_d2a2_inner" + pixel_y = 28 }, /obj/machinery/airlock_sensor{ frequency = 1380; @@ -22223,7 +22193,9 @@ pixel_x = 0; pixel_y = -25 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bHV" = ( /obj/effect/floor_decal/industrial/warning{ @@ -22335,26 +22307,16 @@ pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a1_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPq" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a1_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPr" = ( @@ -22362,13 +22324,7 @@ /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; id_tag = "dock_d1a1"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "dock_d1a1_pump"; - tag_chamber_sensor = "dock_d1a1_sensor"; - tag_exterior_door = "dock_d1a1_outer"; - tag_interior_door = "dock_d1a1_inner" + pixel_y = 28 }, /obj/machinery/airlock_sensor{ frequency = 1380; @@ -22381,6 +22337,8 @@ frequency = 1380; id_tag = "dock_d1a1_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPs" = ( @@ -22409,26 +22367,16 @@ pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2a1_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPx" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2a1_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPz" = ( @@ -22447,14 +22395,10 @@ /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; id_tag = "dock_d2a1"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "dock_d2a1_pump"; - tag_chamber_sensor = "dock_d2a1_sensor"; - tag_exterior_door = "dock_d2a1_outer"; - tag_interior_door = "dock_d2a1_inner" + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bPD" = ( @@ -22515,48 +22459,28 @@ /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bPX" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1l_inner"; - locked = 1; - name = "Dock One Internal Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bPY" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1l_inner"; - locked = 1; - name = "Dock One Internal Access" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQa" = ( /turf/simulated/floor, /area/tether/station/stairs_one) "bQc" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2l_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQd" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2l_inner"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQe" = ( @@ -22568,15 +22492,10 @@ icon_state = "intact" }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ + dir = 8; frequency = 1380; id_tag = "dock_d1l"; - pixel_x = 28; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = "dock_d1l_pump"; - tag_chamber_sensor = "dock_d1l_sensor"; - tag_exterior_door = "dock_d1l_outer"; - tag_interior_door = "dock_d1l_inner" + pixel_x = 28 }, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) @@ -22595,15 +22514,10 @@ /area/tether/station/dock_one) "bQk" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ + dir = 4; frequency = 1380; id_tag = "dock_d2l"; - pixel_x = -28; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = "dock_d2l_pump"; - tag_chamber_sensor = "dock_d2l_sensor"; - tag_exterior_door = "dock_d2l_outer"; - tag_interior_door = "dock_d2l_inner" + pixel_x = -28 }, /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -22612,7 +22526,7 @@ dir = 8; icon_state = "map" }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -22625,7 +22539,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 5 }, -/turf/simulated/floor/tiled, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQm" = ( /obj/effect/floor_decal/industrial/warning{ @@ -22642,6 +22556,8 @@ pixel_x = 30; pixel_y = 8 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQt" = ( @@ -22659,7 +22575,9 @@ /obj/effect/floor_decal/industrial/warning{ dir = 10 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQu" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ @@ -22670,7 +22588,8 @@ /obj/effect/floor_decal/industrial/warning{ dir = 6 }, -/turf/simulated/floor/tiled, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/turf/simulated/floor/tiled/dark, /area/tether/station/dock_two) "bQv" = ( /obj/structure/grille, @@ -22699,33 +22618,17 @@ pixel_y = -6; req_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1l_outer"; - locked = 1; - name = "Dock One External Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQz" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1l_outer"; - locked = 1; - name = "Dock One External Access" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "bQC" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2l_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1380; @@ -22735,6 +22638,7 @@ pixel_y = -6; req_one_access = list(13) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bQD" = ( @@ -22755,13 +22659,8 @@ /turf/simulated/floor/plating, /area/tether/station/dock_two) "bQF" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d2l_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled, /area/tether/station/dock_two) "bXl" = ( @@ -23101,19 +23000,6 @@ /obj/machinery/light/small, /turf/simulated/floor, /area/engineering/shaft) -"jys" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a3_inner"; - locked = 1; - name = "Docking Port Airlock" - }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, -/turf/simulated/floor/tiled/dark, -/area/tether/station/dock_one) "jRS" = ( /obj/random/junk, /turf/simulated/floor, @@ -23148,14 +23034,10 @@ /obj/machinery/embedded_controller/radio/airlock/docking_port{ frequency = 1380; id_tag = "dock_d1a3"; - pixel_x = 0; - pixel_y = 30; - req_one_access = list(13); - tag_airpump = "dock_d1a3_pump"; - tag_chamber_sensor = "dock_d1a3_sensor"; - tag_exterior_door = "dock_d1a3_outer"; - tag_interior_door = "dock_d1a3_inner" + pixel_y = 28 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "lGA" = ( @@ -23250,13 +23132,8 @@ pixel_y = -26; req_one_access = list(13) }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "dock_d1a3_outer"; - locked = 1; - name = "Docking Port Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/tether/station/dock_one) "vbm" = ( @@ -29092,7 +28969,7 @@ aDH aFU scB wlD -jys +bHu wlD aCF aCF diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm index 80c4b99ce11..7c726adc270 100644 --- a/maps/tether/tether-06-station2.dmm +++ b/maps/tether/tether-06-station2.dmm @@ -13849,14 +13849,7 @@ dir = 4 }, /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "eva_port_inner"; - locked = 1; - name = "EVA Internal Access"; - req_access = list(18) - }, +/obj/machinery/door/airlock/glass_external, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; @@ -13865,19 +13858,13 @@ pixel_x = 0; pixel_y = -32 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "uM" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; id_tag = "eva_port_airlock"; - name = "Airlock Console"; - pixel_y = 30; - req_access = list(18); - tag_airpump = "eva_port_pump"; - tag_chamber_sensor = "eva_port_sensor"; - tag_exterior_door = "eva_port_outer"; - tag_interior_door = "eva_port_inner" + pixel_y = 28 }, /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -13892,22 +13879,15 @@ id_tag = "eva_port_pump" }, /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "eva_port_sensor"; - pixel_x = 0; - pixel_y = -25 + pixel_y = -28 }, /obj/machinery/camera/network/command, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/ai_monitored/storage/eva) "uO" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "eva_port_outer"; - locked = 1; - name = "EVA External Access" - }, +/obj/machinery/door/airlock/glass_external, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/access_button{ command = "cycle_exterior"; @@ -13918,6 +13898,7 @@ pixel_y = -26; req_access = list(18) }, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/dark, /area/ai_monitored/storage/eva) "uP" = ( @@ -20761,19 +20742,17 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ frequency = 1380; id_tag = "large_escape_pod_1"; - pixel_x = -26; - pixel_y = 26; - tag_door = "large_escape_pod_1_hatch" + pixel_x = -28; + pixel_y = 28 }, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1) "Is" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ + dir = 1; frequency = 1380; id_tag = "large_escape_pod_1_berth"; - pixel_x = 0; - pixel_y = -28; - tag_door = "escape_bay_1_door" + pixel_y = -28 }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/lightgrey/border, @@ -22209,11 +22188,9 @@ /turf/simulated/floor, /area/maintenance/station/sec_lower) "Un" = ( -/obj/machinery/door/airlock/multi_tile/glass{ - frequency = 1380; - id_tag = "escape_bay_1_door" - }, +/obj/machinery/door/airlock/multi_tile/glass, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/monofloor{ dir = 8 }, @@ -22763,13 +22740,8 @@ /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1) "YI" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "large_escape_pod_1_hatch"; - locked = 1; - name = "Emergency Airlock" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/shuttle/floor, /area/shuttle/large_escape_pod1) "YK" = ( diff --git a/maps/tether/tether-07-station3.dmm b/maps/tether/tether-07-station3.dmm index 753abc37712..7783a20819e 100644 --- a/maps/tether/tether-07-station3.dmm +++ b/maps/tether/tether-07-station3.dmm @@ -7,15 +7,8 @@ /area/mine/explored/upper_level) "ac" = ( /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_outer"; - locked = 1; - name = "Security Starboard External Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/security/eva) "ad" = ( @@ -81,22 +74,17 @@ id_tag = "sec_fore_pump" }, /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "sec_fore_sensor"; - pixel_x = 24; - pixel_y = 10 + pixel_x = 28; + pixel_y = -8 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; + dir = 8; id_tag = "sec_fore_airlock"; - pixel_x = 24; - pixel_y = 0; - req_one_access = list(13); - tag_airpump = "sec_fore_pump"; - tag_chamber_sensor = "sec_fore_sensor"; - tag_exterior_door = "sec_fore_outer"; - tag_interior_door = "sec_fore_inner" + pixel_x = 28; + pixel_y = 4 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/tiled, /area/security/eva) "al" = ( @@ -110,15 +98,7 @@ /turf/simulated/floor/tiled/dark, /area/security/armory/red) "am" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_inner"; - locked = 1; - name = "Security Fore Internal Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; @@ -132,6 +112,7 @@ dir = 5; icon_state = "intact" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor, /area/security/eva) "an" = ( @@ -261,19 +242,12 @@ /area/security/eva) "ax" = ( /obj/effect/floor_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_inner"; - locked = 1; - name = "Security Fore Internal Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10; icon_state = "intact" }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor, /area/security/eva) "ay" = ( @@ -3935,16 +3909,9 @@ /turf/simulated/floor/tiled/dark, /area/security/range) "gl" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "sec_fore_outer"; - locked = 1; - name = "Security Starboard External Access"; - req_access = newlist(); - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor, /area/security/eva) "gm" = ( @@ -4068,6 +4035,7 @@ frequency = 1379; id_tag = "sec_fore_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled, /area/security/eva) "gy" = ( @@ -6529,16 +6497,9 @@ /area/hallway/station/upper) "kj" = ( /obj/machinery/embedded_controller/radio/airlock/docking_port{ - cycle_to_external_air = 1; frequency = 1380; id_tag = "expshuttle_docker"; - pixel_y = 26; - req_one_access = list(19,43,67); - tag_airpump = "expshuttle_vent"; - tag_chamber_sensor = "expshuttle_sensor"; - tag_exterior_door = "expshuttle_door_Ro"; - tag_exterior_sensor = "expshuttle_exterior_sensor"; - tag_interior_door = "expshuttle_door_Ri" + pixel_y = 28 }, /obj/effect/floor_decal/industrial/warning{ icon_state = "warning"; @@ -6550,6 +6511,7 @@ id_tag = "expshuttle_vent" }, /obj/structure/handrail, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "kk" = ( @@ -6557,9 +6519,6 @@ dir = 5 }, /obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "expshuttle_sensor"; - master_tag = "expshuttle_docker"; pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ @@ -6572,6 +6531,8 @@ dir = 4; pixel_y = 0 }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "kl" = ( @@ -6746,12 +6707,7 @@ /turf/simulated/floor/tiled, /area/hallway/station/upper) "kx" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "expshuttle_door_Ri"; - locked = 1 - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1380; @@ -6764,6 +6720,7 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "ky" = ( @@ -18630,12 +18587,7 @@ /obj/machinery/embedded_controller/radio/simple_docking_controller{ frequency = 1380; id_tag = "cargo_bay"; - layer = 3.3; - name = "cargo bay hatch controller"; - pixel_x = 30; - pixel_y = 0; - req_one_access = list(13,31); - tag_door = "cargo_bay_door" + pixel_x = 28 }, /obj/effect/floor_decal/industrial/warning/corner{ icon_state = "warningcorner"; @@ -19199,17 +19151,12 @@ /area/quartermaster/storage) "DD" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/conveyor{ dir = 4; id = "QMLoad2" }, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/plating, /area/quartermaster/storage) "DE" = ( @@ -19836,13 +19783,8 @@ /area/quartermaster/storage) "Ez" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled, /area/quartermaster/storage) "EA" = ( @@ -21327,17 +21269,12 @@ /area/quartermaster/storage) "GQ" = ( /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "cargo_bay_door"; - locked = 1; - name = "Cargo Docking Hatch" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/conveyor{ dir = 4; id = "QMLoad" }, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/plating, /area/quartermaster/storage) "GR" = ( @@ -25579,10 +25516,10 @@ dir = 10 }, /obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 4; frequency = 1380; id_tag = "medivac_bay"; - pixel_x = -28; - tag_door = "medivac_bay_door" + pixel_x = -28 }, /obj/structure/cable/green{ d1 = 1; @@ -25735,24 +25672,20 @@ /turf/simulated/floor/tiled, /area/security/hallway) "NF" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_bay_door" - }, +/obj/machinery/door/airlock/glass_external, /obj/structure/cable/green{ d1 = 1; d2 = 2; icon_state = "1-2" }, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "NG" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_bay_door" - }, +/obj/machinery/door/airlock/glass_external, /obj/effect/floor_decal/industrial/hatch/yellow, +/obj/effect/map_helper/airlock/door/simple, /turf/simulated/floor/tiled/white, /area/hallway/secondary/escape/medical_escape_pod_hallway) "NH" = ( @@ -25794,15 +25727,9 @@ /turf/simulated/wall/rshull, /area/shuttle/medivac/engines) "NM" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_out_door" - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/airlock_sensor/airlock_exterior/shuttle{ dir = 5; - frequency = 1380; - id_tag = "medivac_out_sensor"; - master_tag = "medivac_docker"; pixel_x = -28 }, /obj/structure/cable/green{ @@ -25810,6 +25737,8 @@ d2 = 2; icon_state = "1-2" }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "NN" = ( @@ -25884,22 +25813,12 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/engines) "NT" = ( -/obj/machinery/atmospherics/unary/vent_pump/high_volume{ - dir = 2; - frequency = 1380; - id_tag = "medivac_pump" - }, +/obj/machinery/atmospherics/unary/vent_pump/high_volume, /obj/machinery/embedded_controller/radio/airlock/docking_port{ - cycle_to_external_air = 1; + dir = 4; frequency = 1380; id_tag = "medivac_docker"; - pixel_x = -28; - tag_airpump = "medivac_pump"; - tag_chamber_sensor = "medivac_c_sensor"; - tag_exterior_door = "medivac_out_door"; - tag_exterior_sensor = "medivac_out_sensor"; - tag_interior_door = "medivac_in_door"; - tag_interior_sensor = "medivac_in_sensor" + pixel_x = -28 }, /obj/structure/cable/green{ d1 = 1; @@ -25914,6 +25833,7 @@ name = "Medivac Bay" }, /obj/effect/overmap/visitable/ship/landable/medivac, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "NV" = ( @@ -26009,18 +25929,14 @@ d2 = 2; icon_state = "1-2" }, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_in_door" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "Oe" = ( /obj/machinery/atmospherics/pipe/simple/hidden, -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_in_door" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "Og" = ( @@ -28379,6 +28295,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; frequency = 1380; id_tag = "expshuttle_dock"; pixel_x = 32; @@ -28653,35 +28570,28 @@ /area/shuttle/excursion/general) "Tm" = ( /obj/machinery/airlock_sensor{ - frequency = 1379; - id_tag = "belter_access_sensor"; - pixel_x = 4; - pixel_y = 24 + pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 2; frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tn" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - frequency = 1379; id_tag = "belter_access_airlock"; - pixel_x = 2; - pixel_y = 24; - req_one_access = list(48,65,66); - tag_airpump = "belter_access_pump"; - tag_chamber_sensor = "belter_access_sensor"; - tag_exterior_door = "belter_access_outer"; - tag_interior_door = "belter_access_inner" + pixel_y = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 2; frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "To" = ( @@ -28758,17 +28668,11 @@ /turf/simulated/floor/tiled, /area/quartermaster/belterdock) "Tw" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "belter_access_inner"; - locked = 1; - name = "Belter Pad Internal Access"; - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/effect/map_helper/airlock/door/int_door, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tx" = ( @@ -28783,14 +28687,8 @@ /turf/simulated/floor/plating, /area/quartermaster/belterdock) "Tz" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1379; - icon_state = "door_locked"; - id_tag = "belter_access_outer"; - locked = 1; - name = "Belter Pad External Access"; - req_one_access = list(1,2,18) - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TA" = ( @@ -28855,6 +28753,7 @@ /obj/structure/handrail{ dir = 1 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "TH" = ( @@ -28895,6 +28794,7 @@ frequency = 1379; id_tag = "belter_access_pump" }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TL" = ( @@ -28906,6 +28806,7 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/plating, /area/quartermaster/belterdock) "TM" = ( @@ -29094,6 +28995,7 @@ dir = 4 }, /obj/effect/floor_decal/industrial/warning/full, +/obj/effect/map_helper/airlock/atmos/pump_out_external, /turf/simulated/floor/plating, /area/shuttle/excursion/cargo) "Ug" = ( @@ -29495,6 +29397,7 @@ req_access = list() }, /obj/structure/handrail, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "UV" = ( @@ -29570,6 +29473,7 @@ dir = 4; pixel_y = 0 }, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "Ve" = ( @@ -29932,13 +29836,11 @@ id_tag = "medivac_docker_pump_out_external" }, /obj/effect/floor_decal/industrial/warning/full, +/obj/effect/map_helper/airlock/atmos/pump_out_external, /turf/simulated/floor/airless, -/area/shuttle/medivac/cockpit) +/area/shuttle/medivac/general) "Wa" = ( /obj/machinery/airlock_sensor{ - frequency = 1380; - id_tag = "medivac_c_sensor"; - master_tag = "medivac_docker"; pixel_x = 28 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ @@ -29946,6 +29848,8 @@ frequency = 1380; id_tag = "medivac_docker_pump_out_internal" }, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/effect/map_helper/airlock/atmos/pump_out_internal, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "Wb" = ( @@ -30041,10 +29945,8 @@ /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "Wu" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - id_tag = "medivac_out_door" - }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/ext_door, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/medivac/general) "Wv" = ( @@ -30679,6 +30581,7 @@ /obj/structure/handrail{ dir = 1 }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "Yk" = ( @@ -30736,10 +30639,6 @@ /area/shuttle/medivac/general) "Yr" = ( /obj/machinery/airlock_sensor{ - command = "cycle_interior"; - frequency = 1380; - id_tag = "medivac_in_sensor"; - master_tag = "medivac_docker"; pixel_x = 28; pixel_y = 28 }, @@ -30747,6 +30646,7 @@ dir = 5; icon_state = "intact" }, +/obj/effect/map_helper/airlock/sensor/int_sensor, /turf/simulated/floor/tiled/white, /area/shuttle/medivac/general) "Ys" = ( @@ -31167,13 +31067,6 @@ }, /turf/simulated/floor/tiled/dark, /area/shuttle/medivac/general) -"ZB" = ( -/obj/machinery/shuttle_sensor{ - dir = 5; - id_tag = "shuttlesens_exp" - }, -/turf/simulated/wall/rshull, -/area/shuttle/excursion/cargo) "ZD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 @@ -31181,12 +31074,7 @@ /turf/simulated/wall/rshull, /area/shuttle/excursion/cargo) "ZE" = ( -/obj/machinery/door/airlock/glass_external{ - frequency = 1380; - icon_state = "door_locked"; - id_tag = "expshuttle_door_Ro"; - locked = 1 - }, +/obj/machinery/door/airlock/glass_external, /obj/machinery/airlock_sensor/airlock_exterior/shuttle{ dir = 6; frequency = 1380; @@ -31203,6 +31091,8 @@ icon_state = "warning"; dir = 8 }, +/obj/effect/map_helper/airlock/door/ext_door, +/obj/effect/map_helper/airlock/sensor/ext_sensor, /turf/simulated/floor/tiled/techfloor/grid, /area/shuttle/excursion/cargo) "ZF" = ( @@ -42675,7 +42565,7 @@ Wy XW Zr Xy -Xy +Ya Yk aa aa @@ -43893,7 +43783,7 @@ UR VQ Ws ZE -ZB +Wp Wp Wp cK From 7ccca32db06c52fa49801d35cf6cea680a4ba526 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Tue, 31 Mar 2020 20:20:35 -0400 Subject: [PATCH 3/3] Add a few more features to airlock helpers --- .../embedded_controller/mapping_helpers.dm | 58 ++++++++++++++---- icons/misc/map_helpers.dmi | Bin 766 -> 840 bytes 2 files changed, 47 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/embedded_controller/mapping_helpers.dm b/code/game/machinery/embedded_controller/mapping_helpers.dm index c4db355ab6a..cd48226cedf 100644 --- a/code/game/machinery/embedded_controller/mapping_helpers.dm +++ b/code/game/machinery/embedded_controller/mapping_helpers.dm @@ -10,12 +10,11 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 name = "use a subtype!" icon = 'icons/misc/map_helpers.dmi' plane = 20 //I dunno just high. - alpha = 200 + alpha = 170 - var/area/my_area //The controller we're wanting our device to use var/obj/machinery/embedded_controller/radio/my_controller - var/my_controller_type = /obj/machinery/embedded_controller/radio/airlock/ + var/my_controller_type = /obj/machinery/embedded_controller/radio/airlock //The device we're setting up var/my_device var/my_device_type @@ -24,8 +23,7 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 /obj/effect/map_helper/airlock/Initialize() ..() - my_area = get_area(src) - my_controller = locate() in my_area + my_controller = get_controller(get_area(src)) my_device = locate(my_device_type) in get_turf(src) if(!my_device) to_world("WARNING:Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]") @@ -39,10 +37,40 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 /obj/effect/map_helper/airlock/Destroy() my_controller = null - my_area = null my_device = null return ..() +/obj/effect/map_helper/airlock/proc/get_controller(var/area/A) + if(!A) + return null + + var/list/potentials = list() + for(var/obj/O in A) + if(istype(O, my_controller_type)) + potentials += O + + //Couldn't find one + if(!potentials.len) + return null + + //Only found one + if(potentials.len == 1) + return potentials[1] + + //Gotta find closest + var/closest = potentials[potentials.len] + var/closest_dist = get_dist(src, closest) + potentials.len-- + while(potentials.len) + var/C = potentials[potentials.len] + potentials.len-- + var/dist = get_dist(src, C) + if(dist < closest_dist) + closest_dist = dist + closest = C + + return closest + /obj/effect/map_helper/airlock/proc/setup() return //Stub for subtypes @@ -57,10 +85,9 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 /obj/effect/map_helper/airlock/door/setup() var/obj/machinery/door/airlock/my_airlock = my_device my_airlock.lock() - my_airlock.frequency = my_controller.frequency my_airlock.id_tag = my_controller.id_tag + tag_addon - if(my_airlock.radio_connection) //Initialized before us - my_airlock.set_frequency(my_controller.frequency) + my_airlock.frequency = my_controller.frequency + my_airlock.set_frequency(my_controller.frequency) /obj/effect/map_helper/airlock/door/ext_door name = "exterior airlock door" @@ -96,6 +123,16 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 icon_state = "pump" tag_addon = "_pump" +/obj/effect/map_helper/airlock/atmos/pump_out_internal + name = "air dump intake" + icon_state = "pumpdin" + tag_addon = "_pump_out_internal" + +/obj/effect/map_helper/airlock/atmos/pump_out_external + name = "air dump output" + icon_state = "pumpdout" + tag_addon = "_pump_out_external" + /* Sensors - did you know they function as buttons? You don't also need a button. @@ -109,8 +146,7 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 var/obj/machinery/airlock_sensor/my_sensor = my_device my_sensor.id_tag = my_controller.id_tag + tag_addon my_sensor.frequency = my_controller.frequency - if(my_sensor.radio_connection) //Initialized before us - my_sensor.set_frequency(my_controller.frequency) + my_sensor.set_frequency(my_controller.frequency) if(command) my_sensor.command = command diff --git a/icons/misc/map_helpers.dmi b/icons/misc/map_helpers.dmi index b59020c3b81476901b70c7a22ad9e4195e0b47ec..da565a67c083dbf4b7b493e8496cd3b31aaf34ad 100644 GIT binary patch delta 802 zcmV+-1Ks@o1;_>=iBL{Q4GJ0x0000DNk~Le0001h0001B1Oos704G#udXXVCf2w*^ zSad{Xb7OL8aCB*JZU6vyoQ=`J3c@f92H(ah)E$$cF6T-eJ&a3$`gur?2li z1@WNk?GJoE38WOq?$i&WJ@@<$febov5WCHmvxiYp&qE_Q(_pSTz6Oe8ggF)kXUYVc zW6jwmj27NmV%Y7xAs{V8ce;gV2tNF!nidk+IDa4SmGqIeV$&s=C2CLLh)@LD= zao^(p99W8OXqQJm0Z;;i`>1(xc>n+cC`m*?R9J=Wm+NtZFc5_84hU4hBq@Mo;tpuQ zMrt5)*MA8)JwYcK36aOd!zTH$8S`=IbSrZ@?bi9psS?n>TfH@P1-uBWf2pqne2f+_ z4wZn(79eT?!jv%9113{IJwTT*?g32tcL#uOKkfredKq>AOe6lX0=@=*zM8b>0N#c3 zvm3BJ=_3H&2d$egacxqb1EQVSNwgQ-nv~~&XcjsU0tH=#7Qj3M#M4N3ln7Ev@D&7} z0pdL9gp@-4Nef^;=t?S)e>$XU)g9d?!>%M!nJ%Ck3YY=fB0@n| zEP$RDW`I-+0Q6JPl_J1eS7v~`58z!%0Mre_HK51#0M?aAxmj494W-;Pu1=>`E)Ul7 z;Xmrkc5==~YS}F1d{n@z>uF!)W5C5t)==aV00FdVX}E?Wp9Fv!e-#*t{7(R=I#nVJ zMP4b`$mVojELz5&7PHjb574Mng~FX!qX!H1cteK{J(hSxZH+7*lAA-5$Mojd?${d;_jy2Y+Qz;NFdvqY{{;XB zr)}i(0Cw7LK7IX*ssre+Z4&RjlcfOWJ<|cyHxT+yc^kh6AnO6Gdr@^;S-n;R0ZO;> g?qS+J&W8?t0m<&rJehnoQUCw|07*qoM6N<$f}?j=I{*Lx delta 728 zcmV;}0w?{*2L1&hiBL{Q4GJ0x0000DNk~Le0001B0001B1Oos701&on3y~o-f1-L+ zSad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1* z5qgSK^NKU`aOp%*mS0*zlsbZne^T=Ei-@ojq>LClLF$S#a|?1(2`Vip%`L#CNLj(v z&jlRr0M~>K|)*AIgZ>%-`XCtt!QOEU;-TfWY zBkgL?)BUn5$zfZAslgZUe+><-Kq#GyYs$m`KQFC-^$Q^WI~K4iz;DWa4Sd)Sfnt`B zifM%^^}{phERrJYOc#+wS!V|CY0s~)&VhUC-vQPDFvOwY79L;?0rF9!0oF$V?Cu|d z23Y67&FmK~Y6NifxrG-X^>e|2pI`;O|%wCekzN!qDU zpF2X;$tES=nsq?DHCr5ZZ_PR&-kNnlyfv#*?~?i)o^Jk2sq9KFzf-Kox}1G3EK%c^p0u(f8uQcVmV9h=ON&v z!z>KsS>iEO06