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..cd48226cedf
--- /dev/null
+++ b/code/game/machinery/embedded_controller/mapping_helpers.dm
@@ -0,0 +1,176 @@
+/*
+
+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 = 170
+
+ //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_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]")
+ 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_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
+
+
+/*
+ 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.id_tag = my_controller.id_tag + tag_addon
+ 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"
+ 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"
+
+/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.
+*/
+/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
+ 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 00000000000..da565a67c08
Binary files /dev/null and b/icons/misc/map_helpers.dmi differ
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 8a83a199beb..1243b9bee09 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" = (
@@ -8525,6 +8532,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" = (
@@ -8540,6 +8548,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" = (
@@ -8876,6 +8885,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" = (
@@ -8924,6 +8934,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" = (
@@ -9314,6 +9325,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" = (
@@ -9325,6 +9337,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
@@ -9335,6 +9348,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" = (
@@ -9345,6 +9359,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" = (
@@ -22720,6 +22735,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" = (
@@ -22736,6 +22752,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" = (
@@ -22959,6 +22976,7 @@
pixel_x = 11;
pixel_y = 30
},
+/obj/effect/map_helper/airlock/sensor/chamber_sensor,
/turf/simulated/floor/tiled,
/area/rnd/external)
"aLp" = (
@@ -23019,6 +23037,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" = (
@@ -23728,6 +23747,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" = (
@@ -23743,6 +23763,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" = (
@@ -32372,6 +32393,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 2d4fd83be1e..d680761a9dc 100644
--- a/maps/tether/tether-03-surface3.dmm
+++ b/maps/tether/tether-03-surface3.dmm
@@ -32162,6 +32162,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" = (
@@ -32543,11 +32544,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 fc10efd4a20..1df63f34ee5 100644
--- a/maps/tether/tether-05-station1.dmm
+++ b/maps/tether/tether-05-station1.dmm
@@ -16323,6 +16323,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" = (
@@ -16724,6 +16725,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" = (
@@ -17593,6 +17595,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" = (
@@ -18201,17 +18204,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" = (
@@ -18478,6 +18476,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" = (
@@ -18490,6 +18489,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" = (
@@ -22104,26 +22104,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" = (
@@ -22142,14 +22132,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" = (
@@ -22182,13 +22168,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;
@@ -22198,19 +22178,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" = (
@@ -22223,13 +22199,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;
@@ -22237,7 +22207,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{
@@ -22349,26 +22321,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" = (
@@ -22376,13 +22338,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;
@@ -22395,6 +22351,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" = (
@@ -22423,26 +22381,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" = (
@@ -22461,14 +22409,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" = (
@@ -22529,48 +22473,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" = (
@@ -22582,15 +22506,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)
@@ -22609,15 +22528,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
@@ -22626,7 +22540,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{
@@ -22639,7 +22553,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{
@@ -22656,6 +22570,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" = (
@@ -22673,7 +22589,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{
@@ -22684,7 +22602,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,
@@ -22713,33 +22632,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;
@@ -22749,6 +22652,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" = (
@@ -22769,13 +22673,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" = (
@@ -23121,19 +23020,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,
@@ -23168,14 +23054,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" = (
@@ -23270,13 +23152,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" = (
@@ -29112,7 +28989,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 289b2b830f6..c8d60a7745c 100644
--- a/maps/tether/tether-06-station2.dmm
+++ b/maps/tether/tether-06-station2.dmm
@@ -13861,14 +13861,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";
@@ -13877,19 +13870,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{
@@ -13904,22 +13891,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";
@@ -13930,6 +13910,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" = (
@@ -20777,19 +20758,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,
@@ -22227,11 +22206,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
},
@@ -22781,13 +22758,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 35853067994..a3668e3ba77 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" = (
@@ -3939,16 +3913,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" = (
@@ -4072,6 +4039,7 @@
frequency = 1379;
id_tag = "sec_fore_pump"
},
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
/turf/simulated/floor/tiled,
/area/security/eva)
"gy" = (
@@ -6533,16 +6501,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";
@@ -6554,6 +6515,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" = (
@@ -6561,9 +6523,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{
@@ -6576,6 +6535,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" = (
@@ -6750,12 +6711,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;
@@ -6768,6 +6724,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" = (
@@ -18636,12 +18593,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";
@@ -19205,17 +19157,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" = (
@@ -19842,13 +19789,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" = (
@@ -21339,17 +21281,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" = (
@@ -25607,10 +25544,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;
@@ -25763,24 +25700,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" = (
@@ -25822,15 +25755,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{
@@ -25838,6 +25765,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" = (
@@ -25912,22 +25841,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;
@@ -25942,6 +25861,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" = (
@@ -26037,18 +25957,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" = (
@@ -28411,6 +28327,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;
@@ -28685,35 +28602,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" = (
@@ -28790,17 +28700,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" = (
@@ -28815,14 +28719,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" = (
@@ -28887,6 +28785,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" = (
@@ -28927,6 +28826,7 @@
frequency = 1379;
id_tag = "belter_access_pump"
},
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
/turf/simulated/floor/plating,
/area/quartermaster/belterdock)
"TL" = (
@@ -28938,6 +28838,7 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/effect/map_helper/airlock/atmos/chamber_pump,
/turf/simulated/floor/plating,
/area/quartermaster/belterdock)
"TM" = (
@@ -29126,6 +29027,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" = (
@@ -29527,6 +29429,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" = (
@@ -29602,6 +29505,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" = (
@@ -29964,13 +29868,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{
@@ -29978,6 +29880,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" = (
@@ -30073,10 +29977,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" = (
@@ -30711,6 +30613,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" = (
@@ -30768,10 +30671,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
},
@@ -30779,6 +30678,7 @@
dir = 5;
icon_state = "intact"
},
+/obj/effect/map_helper/airlock/sensor/int_sensor,
/turf/simulated/floor/tiled/white,
/area/shuttle/medivac/general)
"Ys" = (
@@ -31199,13 +31099,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
@@ -31213,12 +31106,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;
@@ -31235,6 +31123,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" = (
@@ -42707,7 +42597,7 @@ Wy
XW
Zr
Xy
-Xy
+Ya
Yk
aa
aa
@@ -43925,7 +43815,7 @@ UR
VQ
Ws
ZE
-ZB
+Wp
Wp
Wp
cK
diff --git a/vorestation.dme b/vorestation.dme
index 523f64be924..913192e8c1a 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -880,6 +880,7 @@
#include "code\game\machinery\embedded_controller\docking_program_multi.dm"
#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
#include "code\game\machinery\embedded_controller\embedded_program_base.dm"
+#include "code\game\machinery\embedded_controller\mapping_helpers.dm"
#include "code\game\machinery\embedded_controller\simple_docking_controller.dm"
#include "code\game\machinery\pipe\construction.dm"
#include "code\game\machinery\pipe\pipe_dispenser.dm"