From 09be3e9b6b1110dfe587e9dea19d84c3b816f22f Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Mon, 11 Dec 2017 02:23:43 +0500 Subject: [PATCH] Airlock Construction Update (#33152) * removed typetext and icontext vars from door assemblies, airlock painter no longer works on door assemblies removed 'anchored = TRUE, state = 1' copypasta from door assemblies door assemblies update their name more regularly during construction added new airlock types to airlock painter on airlocks, and to the RCD airlock assemblies built with metal are now in a list, you can build many more airlocks vault door assemblies can be built with 4 plasteel added a solid version of station2 airlocks, renamed to "public airlock" glass and mineral sheets are now able to be welded out of door assemblies * find n replace airlock/glass to airlock/glass_public in maps door_assembly_glass to door_assembly_public * made highsec airlocks built with 6 plasteel, removed from RCD and airlock painter vault doors built with 8 plasteel removed redundant vars in airlock_types.dm reverts the dumb rglass 'replacement' addition in door assembly construction * moved airlock assembly defines to construction defines file fixed incorrectly named shuttle airlock glass_closed and maint panel protected closed overlays improved examination message for glass/minerals present in assembly * airlocks take their dir from the assembly when built from assembly removed "vertical" variant of survival pod airlock, unneeded survival pod airlock assembly can have glass applied solid and glass overlays for survival pod airlocks * OOPs some airlocks, removes a duplicate door assembly, removes some var edits on maps for a new glass type * turn copied door assembly code into a proc some feedback during door assembly construction door assembly created airlock takes name from base_name if no custom name moved plasma airlock proc to airlock_types.dm --- .../LavaRuins/lavaland_surface_hermit.dmm | 2 +- .../lavaland_surface_survivalpod.dmm | 2 +- _maps/RandomRuins/SpaceRuins/DJstation.dmm | 4 +- _maps/RandomRuins/SpaceRuins/TheDerelict.dmm | 4 +- _maps/RandomRuins/SpaceRuins/bigderelict1.dmm | 2 +- _maps/RandomRuins/SpaceRuins/deepstorage.dmm | 6 +- _maps/RandomRuins/SpaceRuins/derelict6.dmm | 4 +- .../SpaceRuins/gondolaasteroid.dmm | 4 +- .../SpaceRuins/intactemptyship.dmm | 2 +- _maps/RandomRuins/SpaceRuins/oldstation.dmm | 10 +- _maps/RandomRuins/SpaceRuins/onehalf.dmm | 4 +- _maps/RandomRuins/SpaceRuins/shuttlerelic.dmm | 2 +- _maps/RandomRuins/SpaceRuins/spacehotel.dmm | 16 +- .../SpaceRuins/turretedoutpost.dmm | 4 +- .../SpaceRuins/whiteshipruin_box.dmm | 4 +- _maps/RandomZLevels/Academy.dmm | 4 +- _maps/RandomZLevels/centcomAway.dmm | 2 +- _maps/RandomZLevels/moonoutpost19.dmm | 6 +- _maps/RandomZLevels/snowdin.dmm | 12 +- _maps/RandomZLevels/undergroundoutpost45.dmm | 28 +- _maps/map_files/BoxStation/BoxStation.dmm | 82 +- .../map_files/Deltastation/DeltaStation2.dmm | 106 ++- _maps/map_files/MetaStation/MetaStation.dmm | 104 +-- _maps/map_files/Mining/Lavaland.dmm | 6 +- _maps/map_files/OmegaStation/OmegaStation.dmm | 46 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 114 +-- _maps/map_files/debug/runtimestation.dmm | 6 +- _maps/shuttles/emergency_bar.dmm | 4 +- _maps/shuttles/emergency_birdboat.dmm | 2 +- _maps/shuttles/emergency_box.dmm | 6 +- _maps/shuttles/emergency_cere.dmm | 4 +- _maps/shuttles/emergency_clown.dmm | 6 +- _maps/shuttles/emergency_goon.dmm | 6 +- _maps/shuttles/emergency_pubby.dmm | 8 +- _maps/shuttles/emergency_raven.dmm | 4 +- _maps/shuttles/emergency_russiafightpit.dmm | 2 +- _maps/shuttles/emergency_scrapheap.dmm | 4 +- _maps/shuttles/emergency_wabbajack.dmm | 4 +- _maps/shuttles/whiteship_box.dmm | 6 +- _maps/shuttles/whiteship_delta.dmm | 12 +- _maps/shuttles/whiteship_pubby.dmm | 4 +- _maps/templates/medium_shuttle1.dmm | 6 +- _maps/templates/medium_shuttle2.dmm | 4 +- _maps/templates/medium_shuttle3.dmm | 4 +- _maps/templates/medium_shuttle4.dmm | 2 +- _maps/templates/pirate_ship.dmm | 4 +- _maps/templates/shelter_1.dmm | 2 +- _maps/templates/shelter_2.dmm | 2 +- code/__DEFINES/construction.dm | 5 + .../miniantags/abduction/abduction_gear.dm | 29 +- code/game/machinery/doors/airlock.dm | 54 +- code/game/machinery/doors/airlock_types.dm | 134 ++-- code/game/machinery/doors/alarmlock.dm | 3 +- code/game/objects/items/RCD.dm | 36 +- .../items/stacks/sheets/sheet_types.dm | 27 +- code/game/objects/structures/door_assembly.dm | 708 +++++++----------- code/modules/mining/equipment/survival_pod.dm | 27 +- code/modules/shuttle/shuttle_rotate.dm | 8 - icons/obj/doors/airlocks/shuttle/overlays.dmi | Bin 7561 -> 7558 bytes icons/obj/doors/airlocks/station2/glass.dmi | Bin 3584 -> 3910 bytes .../obj/doors/airlocks/survival/survival.dmi | Bin 22410 -> 8061 bytes .../airlocks/survival/survival_overlays.dmi | Bin 18378 -> 19943 bytes 62 files changed, 785 insertions(+), 928 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm index 6fd614754de..8d52fc91800 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm @@ -140,7 +140,7 @@ icon_state = "blood1"; dir = 1 }, -/obj/machinery/door/airlock/survival_pod, +/obj/machinery/door/airlock/survival_pod/glass, /obj/structure/fans/tiny, /turf/open/floor/pod/dark, /area/ruin/powered) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm index d50777c92f5..713385d0e45 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm @@ -109,7 +109,7 @@ icon_state = "blood1"; dir = 1 }, -/obj/machinery/door/airlock/survival_pod, +/obj/machinery/door/airlock/survival_pod/glass, /turf/open/floor/pod/dark, /area/ruin/powered) "u" = ( diff --git a/_maps/RandomRuins/SpaceRuins/DJstation.dmm b/_maps/RandomRuins/SpaceRuins/DJstation.dmm index 6a859fccdcf..f60b3bd4a5f 100644 --- a/_maps/RandomRuins/SpaceRuins/DJstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/DJstation.dmm @@ -172,7 +172,7 @@ /turf/open/floor/plasteel/bar, /area/ruin/space/djstation) "aG" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Kitchen" }, /turf/open/floor/plasteel/cafeteria, @@ -193,7 +193,7 @@ /turf/open/floor/plasteel/cafeteria, /area/ruin/space/djstation) "aJ" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Rest Room" }, /turf/open/floor/plasteel/cafeteria, diff --git a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm index e5de6294f9d..ced41e0d81e 100644 --- a/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm +++ b/_maps/RandomRuins/SpaceRuins/TheDerelict.dmm @@ -1030,7 +1030,7 @@ /turf/open/floor/plasteel, /area/ruin/space/derelict/bridge/access) "dp" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/structure/cable{ icon_state = "4-8" }, @@ -2759,7 +2759,7 @@ /turf/open/floor/plasteel/airless/white, /area/ruin/space/derelict/medical) "ja" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Med-Sci"; req_access_txt = "9" }, diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index 6c20d55fdf6..04e9d6ba687 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -950,7 +950,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/cargobay) "cy" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/poddoor{ id = "bigderelictcheckpoint"; name = "checkpoint security doors" diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm index a5b3c5b9c7f..9ff1aad4c69 100644 --- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm @@ -879,7 +879,7 @@ }, /area/ruin/space/has_grav/deepstorage) "bQ" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics" }, /turf/open/floor/plasteel/hydrofloor{ @@ -962,7 +962,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Kitchen" }, /turf/open/floor/plasteel/cafeteria{ @@ -1929,7 +1929,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dorms" }, /turf/open/floor/plasteel/floorgrime{ diff --git a/_maps/RandomRuins/SpaceRuins/derelict6.dmm b/_maps/RandomRuins/SpaceRuins/derelict6.dmm index 1dfd9b90cda..6b714814af4 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict6.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict6.dmm @@ -197,11 +197,11 @@ /turf/open/floor/plating/airless, /area/ruin/unpowered) "aF" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/airless/bar, /area/ruin/unpowered) "aG" = ( -/obj/structure/door_assembly/door_assembly_glass{ +/obj/structure/door_assembly/door_assembly_public{ name = "broken airlock" }, /turf/open/floor/plasteel/airless/bar, diff --git a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm index b7a5910b1e6..5b0387bb39f 100644 --- a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm +++ b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm @@ -81,7 +81,9 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav) "u" = ( -/obj/machinery/door/airlock/survival_pod/vertical, +/obj/machinery/door/airlock/survival_pod/glass{ + dir = 4 + }, /turf/open/floor/plating/asteroid/airless, /area/ruin/space/has_grav) diff --git a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm index d46e880401a..636eb1f6149 100644 --- a/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm +++ b/_maps/RandomRuins/SpaceRuins/intactemptyship.dmm @@ -106,7 +106,7 @@ /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/powered/authorship) "u" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/powered/authorship) "v" = ( diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index c1a18d879ad..93154afd94f 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -1468,7 +1468,7 @@ "eo" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics" }, /turf/open/floor/plasteel/floorgrime, @@ -1502,7 +1502,7 @@ /area/ruin/space/has_grav/ancientstation/hydroponics) "es" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics" }, /obj/machinery/door/firedoor/closed, @@ -3143,14 +3143,14 @@ "ii" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dining Area" }, /turf/open/floor/plasteel/cafeteria, /area/ruin/space/has_grav/ancientstation/kitchen) "ij" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dining Area" }, /obj/machinery/door/firedoor/closed, @@ -3881,7 +3881,7 @@ /area/ruin/space/has_grav/ancientstation) "jU" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Cryogenics Room" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index f9e61815c4c..7b2e8f6751e 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -511,7 +511,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/structure/cable{ icon_state = "4-8" }, @@ -631,7 +631,7 @@ /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/onehalf/hallway) "bC" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/structure/disposalpipe/segment{ dir = 4 }, diff --git a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm index 3cc67daaec2..ecadecdd049 100644 --- a/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm +++ b/_maps/RandomRuins/SpaceRuins/shuttlerelic.dmm @@ -11,7 +11,7 @@ /turf/closed/indestructible/oldshuttle, /area/ruin/powered) "d" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/oldshuttle, /area/ruin/powered) "e" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index f4f1711b41a..2eab7198062 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -1242,12 +1242,12 @@ name = "Hotel Guest Room 1" }) "df" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "dg" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/carpet, @@ -2228,7 +2228,7 @@ /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "fW" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -2283,7 +2283,7 @@ /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "gf" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel/dock) @@ -3023,7 +3023,7 @@ /turf/open/floor/carpet, /area/ruin/space/has_grav/hotel) "il" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/structure/cable{ icon_state = "4-8" }, @@ -3475,7 +3475,7 @@ /turf/closed/wall, /area/ruin/space/has_grav/hotel/pool) "ju" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -3491,7 +3491,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/hotel/pool) "jw" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -3893,7 +3893,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/hotel/power) "kJ" = ( -/obj/machinery/door/airlock/glass_external, +/obj/machinery/door/airlock/external/glass, /obj/structure/cable/yellow{ icon_state = "1-2" }, diff --git a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm index 4146ec1df6e..f55f7cf0e64 100644 --- a/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm +++ b/_maps/RandomRuins/SpaceRuins/turretedoutpost.dmm @@ -108,7 +108,7 @@ }, /area/ruin/space/has_grav/turretedoutpost) "aw" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/ruin/space/has_grav/turretedoutpost) "ax" = ( @@ -172,7 +172,7 @@ /turf/open/floor/plasteel/vault, /area/ruin/space/has_grav/turretedoutpost) "aI" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/turretedoutpost) "aJ" = ( diff --git a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm index 34ddbb265e2..71196719a47 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm @@ -69,7 +69,7 @@ /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) "ao" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) "ap" = ( @@ -181,7 +181,7 @@ /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) "aH" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) "aI" = ( diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index a724ded444e..4e943346f26 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -1273,12 +1273,12 @@ /turf/open/floor/plating, /area/awaymission/academy) "eA" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/awaymission/academy/classrooms) "eB" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plating, /area/awaymission/academy/classrooms) "eC" = ( diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index a80fa51a300..0c7fd7f7132 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -1600,7 +1600,7 @@ /turf/open/floor/carpet, /area/awaymission/centcomAway/courtroom) "fU" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Med-Sci"; req_access_txt = "9" }, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 9277b95a794..f6815d7b1db 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -786,7 +786,7 @@ }, /area/awaymission/moonoutpost19/syndicate) "bO" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Break Room" }, /turf/open/floor/plasteel{ @@ -1127,7 +1127,7 @@ }, /area/awaymission/moonoutpost19/syndicate) "cr" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ density = 0; emagged = 1; icon_state = "open"; @@ -5322,7 +5322,7 @@ /area/awaymission/moonoutpost19/arrivals) "km" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Diner" }, /turf/open/floor/plasteel{ diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 7e416c0aaeb..7fb4fa76f14 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -720,7 +720,7 @@ /turf/open/floor/plating/asteroid/snow, /area/awaymission/snowdin) "bN" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/cafeteria{ baseturf = /turf/open/floor/plating/asteroid/snow }, @@ -1493,7 +1493,7 @@ }, /area/awaymission/snowdin/post) "dV" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ req_access_txt = "150" }, /turf/open/floor/plasteel{ @@ -2453,7 +2453,7 @@ }, /area/awaymission/snowdin/post) "gJ" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /obj/structure/barricade/wooden, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/asteroid/snow; @@ -2490,7 +2490,7 @@ /turf/open/floor/plating/snowed/colder, /area/awaymission/snowdin/dungeon1) "gP" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/cafeteria{ baseturf = /turf/open/floor/plating/asteroid/snow; temperature = 180 @@ -2549,7 +2549,7 @@ }, /area/awaymission/snowdin/post) "gX" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/asteroid/snow; wet = 0 @@ -4299,7 +4299,7 @@ }, /area/awaymission/snowdin/sekret) "lE" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/cafeteria{ baseturf = /turf/open/floor/plating/asteroid/snow }, diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index 9553930fba0..a00c460da86 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -1307,7 +1307,7 @@ /area/awaymission/undergroundoutpost45/central) "da" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel{ @@ -1784,7 +1784,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics"; req_access_txt = "201" }, @@ -1918,7 +1918,7 @@ /area/awaymission/undergroundoutpost45/central) "eo" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics"; req_access_txt = "201" }, @@ -2796,7 +2796,7 @@ "ge" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel{ @@ -3545,7 +3545,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "hP" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Kitchen"; req_access_txt = "201" }, @@ -4348,7 +4348,7 @@ "jt" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel{ @@ -4357,7 +4357,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "ju" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel{ @@ -4842,7 +4842,7 @@ /area/awaymission/undergroundoutpost45/crew_quarters) "kp" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Diner" }, /turf/open/floor/plasteel{ @@ -5795,7 +5795,7 @@ "lV" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Diner" }, /turf/open/floor/plasteel{ @@ -5809,7 +5809,7 @@ }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Diner" }, /turf/open/floor/plasteel{ @@ -6347,7 +6347,7 @@ "mV" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitories" }, /obj/effect/decal/cleanable/dirt, @@ -6358,7 +6358,7 @@ "mW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitories" }, /turf/open/floor/plasteel{ @@ -6720,7 +6720,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitories" }, /turf/open/floor/plasteel{ @@ -7208,7 +7208,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitories" }, /turf/open/floor/plasteel{ diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 6416eec868c..b3153375526 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -760,7 +760,7 @@ id = "permacell3"; name = "cell blast door" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt3"; name = "Cell 3" }, @@ -771,7 +771,7 @@ id = "permacell2"; name = "cell blast door" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt2"; name = "Cell 2" }, @@ -786,7 +786,7 @@ id = "permacell1"; name = "cell blast door" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt1"; name = "Cell 1" }, @@ -5326,7 +5326,7 @@ /turf/open/floor/plating, /area/security/courtroom) "amt" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Courtroom"; req_access_txt = "42" }, @@ -5966,7 +5966,7 @@ /area/hallway/primary/fore) "anU" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Courtroom" }, /turf/open/floor/plasteel/dark, @@ -8189,7 +8189,7 @@ /area/security/vacantoffice/b) "atZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -8390,7 +8390,7 @@ /area/crew_quarters/dorms) "auy" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9226,7 +9226,7 @@ /area/crew_quarters/fitness) "awz" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fitness" }, /turf/open/floor/plasteel, @@ -9784,7 +9784,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fitness" }, /turf/open/floor/plasteel, @@ -9843,7 +9843,7 @@ /area/crew_quarters/fitness) "axZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -13795,7 +13795,7 @@ /area/ai_monitored/nuke_storage) "aHH" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitory" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -13850,14 +13850,14 @@ /area/ai_monitored/storage/eva) "aHP" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel, /area/hallway/primary/central) "aHQ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel/blue/corner{ @@ -13866,7 +13866,7 @@ /area/hallway/primary/central) "aHR" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel/blue/side{ @@ -13887,7 +13887,7 @@ /area/maintenance/starboard/fore) "aHT" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitory" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -14769,7 +14769,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -14777,7 +14777,7 @@ /area/storage/primary) "aKa" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -14875,7 +14875,7 @@ /area/hallway/secondary/entry) "aKm" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Garden" }, /turf/open/floor/plasteel, @@ -15890,7 +15890,7 @@ /area/hallway/secondary/entry) "aNc" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -16128,7 +16128,7 @@ /area/crew_quarters/kitchen) "aNN" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics"; req_access_txt = "35" }, @@ -16198,7 +16198,7 @@ /turf/open/floor/wood, /area/library) "aNW" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel Office"; req_access_txt = "22" }, @@ -16460,7 +16460,7 @@ /area/hallway/primary/port) "aOB" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -16842,7 +16842,7 @@ /turf/closed/wall, /area/storage/art) "aPH" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Art Storage" }, /turf/open/floor/plasteel, @@ -17342,7 +17342,7 @@ /area/storage/tools) "aRf" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Auxiliary Tool Storage"; req_access_txt = "12" }, @@ -17892,7 +17892,7 @@ /turf/open/floor/plasteel/bar, /area/crew_quarters/bar) "aSI" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Kitchen"; req_access_txt = "28" }, @@ -19120,7 +19120,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -19161,7 +19161,7 @@ /area/library) "aWe" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel" }, /turf/open/floor/carpet, @@ -19792,7 +19792,7 @@ /area/crew_quarters/locker) "aXy" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -19939,7 +19939,7 @@ /area/hydroponics) "aXT" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -20432,7 +20432,7 @@ /area/library) "aZe" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -21283,7 +21283,7 @@ /area/crew_quarters/heads/captain) "bbx" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Diner" }, /turf/open/floor/plasteel, @@ -21309,7 +21309,7 @@ /area/hallway/primary/starboard) "bbB" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics"; req_access_txt = "35" }, @@ -31376,7 +31376,7 @@ /area/quartermaster/miningdock) "bzG" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -32582,7 +32582,7 @@ "bCu" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -47299,7 +47299,7 @@ /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) "cmf" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -47779,7 +47779,7 @@ /turf/closed/wall, /area/construction) "cnC" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -51335,7 +51335,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "cwX" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -51394,7 +51394,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "cxf" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, @@ -51638,7 +51638,7 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) "cxO" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/mineral/titanium/blue, @@ -51957,7 +51957,7 @@ /turf/open/floor/plating, /area/shuttle/abandoned) "cyz" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plating, /area/shuttle/abandoned) "cyA" = ( @@ -52184,7 +52184,7 @@ /turf/open/floor/plating, /area/shuttle/supply) "cza" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "czb" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 67065c32ceb..70227bf6483 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -1059,10 +1059,8 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/door/airlock{ - glass = 1; - name = "Dormitory"; - opacity = 0 +/obj/machinery/door/airlock/glass{ + name = "Dormitory" }, /turf/open/floor/plasteel/neutral, /area/shuttle/abandoned) @@ -1419,10 +1417,8 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/door/airlock{ - glass = 1; - name = "Crew Quarters"; - opacity = 0 +/obj/machinery/door/airlock/glass{ + name = "Crew Quarters" }, /turf/open/floor/plasteel/neutral/side{ dir = 1 @@ -10242,7 +10238,7 @@ /area/crew_quarters/toilet/auxiliary) "avM" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -10257,7 +10253,7 @@ /area/hallway/primary/fore) "avN" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -10271,7 +10267,7 @@ "avO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -17469,7 +17465,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Garden" }, /turf/open/floor/plasteel, @@ -18800,7 +18796,7 @@ /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) "aNS" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -18827,7 +18823,7 @@ /turf/open/floor/engine, /area/maintenance/disposal/incinerator) "aNU" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -20012,7 +20008,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -20833,7 +20829,7 @@ /area/crew_quarters/bar/atrium) "aSc" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -21110,7 +21106,7 @@ id = "permacell3"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt3"; name = "Cell 3" }, @@ -21128,7 +21124,7 @@ id = "permacell2"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt2"; name = "Cell 2" }, @@ -21148,7 +21144,7 @@ id = "permacell1"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt1"; name = "Cell 1" }, @@ -21742,7 +21738,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -31222,7 +31218,7 @@ /area/hallway/secondary/service) "bno" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Service Foyer" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -31267,7 +31263,7 @@ "bns" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -31280,7 +31276,7 @@ /area/hallway/primary/fore) "bnt" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /obj/structure/cable/white{ @@ -48581,7 +48577,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -48743,7 +48739,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /obj/structure/disposalpipe/segment{ @@ -49734,7 +49730,7 @@ /area/hallway/primary/port) "bWK" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -50005,7 +50001,7 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -50960,7 +50956,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -51148,7 +51144,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /obj/structure/disposalpipe/segment{ @@ -51852,7 +51848,7 @@ /turf/open/floor/plating, /area/library) "caI" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -51861,7 +51857,7 @@ }, /area/library) "caJ" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -56200,7 +56196,7 @@ /turf/open/floor/plasteel/grimy, /area/library) "cjv" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -56430,7 +56426,7 @@ /area/security/courtroom) "cjX" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Courtroom"; req_access_txt = "42" }, @@ -56863,7 +56859,7 @@ /turf/open/floor/plasteel/grimy, /area/library) "ckU" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -60344,7 +60340,7 @@ /area/hallway/primary/central) "cso" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -61109,7 +61105,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -61816,14 +61812,14 @@ }, /area/maintenance/port) "cvi" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Game Room" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/grimy, /area/library) "cvj" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Game Room" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -62026,7 +62022,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Auxiliary Hallway" }, /obj/structure/disposalpipe/segment{ @@ -62684,7 +62680,7 @@ /area/hallway/primary/central) "cwZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Auxiliary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -63452,7 +63448,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Auxiliary Hallway" }, /obj/structure/disposalpipe/segment{ @@ -68804,7 +68800,7 @@ }, /area/crew_quarters/fitness/recreation) "cJA" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -68830,7 +68826,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cJC" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -68845,7 +68841,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cJD" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -70811,7 +70807,7 @@ "cNv" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /obj/structure/disposalpipe/segment, @@ -70825,7 +70821,7 @@ /area/hallway/primary/central) "cNw" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /obj/effect/turf_decal/stripes/line{ @@ -70839,7 +70835,7 @@ "cNx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /obj/structure/disposalpipe/segment, @@ -71046,7 +71042,7 @@ /turf/open/floor/plasteel/neutral/corner, /area/crew_quarters/fitness/recreation) "cOb" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -71071,7 +71067,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cOd" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -71086,7 +71082,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "cOe" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -95692,7 +95688,7 @@ /area/hallway/primary/aft) "dNP" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departures Lounge" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -95707,7 +95703,7 @@ /area/hallway/primary/aft) "dNQ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departures Lounge" }, /obj/effect/turf_decal/stripes/line{ @@ -95720,7 +95716,7 @@ /area/hallway/primary/aft) "dNR" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departures Lounge" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -98058,7 +98054,7 @@ /area/hallway/secondary/exit/departure_lounge) "dSQ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departures Lounge" }, /obj/structure/disposalpipe/segment, @@ -98072,7 +98068,7 @@ /area/hallway/secondary/exit/departure_lounge) "dSR" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departures Lounge" }, /obj/effect/turf_decal/stripes/line{ diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 57e8259a7c7..8670ead6442 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -346,7 +346,7 @@ /turf/open/floor/plating, /area/security/prison) "abb" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permahydro"; name = "Hydroponics Module" }, @@ -1318,7 +1318,7 @@ id = "permacell3"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt3"; name = "Cell 3" }, @@ -1333,7 +1333,7 @@ id = "permacell2"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt2"; name = "Cell 2" }, @@ -1348,7 +1348,7 @@ id = "permacell1"; name = "Cell Shutters" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt1"; name = "Cell 1" }, @@ -3793,7 +3793,7 @@ dir = 9 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -3803,7 +3803,7 @@ dir = 5 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -5295,7 +5295,7 @@ dir = 10 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -5305,7 +5305,7 @@ dir = 6 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -8441,7 +8441,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "arY" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "space-bridge access" }, /obj/machinery/button/door{ @@ -8483,7 +8483,7 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "asc" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "space-bridge access" }, /obj/machinery/button/door{ @@ -15405,7 +15405,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Vault Storage" }, /turf/open/floor/plasteel/vault{ @@ -17353,7 +17353,7 @@ /area/storage/primary) "aJP" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /turf/open/floor/plasteel/brown{ @@ -17362,7 +17362,7 @@ /area/storage/primary) "aJQ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -19886,7 +19886,7 @@ /area/security/courtroom) "aPC" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Courtroom"; req_access_txt = "42" }, @@ -22276,7 +22276,7 @@ "aUC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /turf/open/floor/plasteel/red/corner{ @@ -22288,7 +22288,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /turf/open/floor/plasteel, @@ -22296,7 +22296,7 @@ "aUE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" }, /turf/open/floor/plasteel/red/corner{ @@ -22851,7 +22851,7 @@ /area/storage/primary) "aVS" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -22864,7 +22864,7 @@ /area/storage/primary) "aVT" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -23025,7 +23025,7 @@ "aWm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Crew Quarters Access" }, /obj/structure/cable/yellow{ @@ -23035,7 +23035,7 @@ /area/crew_quarters/locker) "aWn" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Crew Quarters Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -24749,7 +24749,7 @@ /area/security/checkpoint/engineering) "aZO" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library" }, /turf/open/floor/wood, @@ -27726,7 +27726,7 @@ /area/storage/tools) "bfI" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Auxiliary Tool Storage"; req_access_txt = "12" }, @@ -28659,7 +28659,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /turf/open/floor/plasteel/yellow/corner{ @@ -29486,7 +29486,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /obj/structure/disposalpipe/segment{ @@ -30371,7 +30371,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Starboard Primary Hallway" }, /turf/open/floor/plasteel/caution/corner{ @@ -31277,7 +31277,7 @@ /area/storage/art) "bmN" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Art Storage" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -32002,7 +32002,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /turf/open/floor/plasteel/neutral/corner{ @@ -33109,7 +33109,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /turf/open/floor/plasteel, @@ -34344,7 +34344,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Port Primary Hallway" }, /turf/open/floor/plasteel/neutral/corner{ @@ -35029,7 +35029,7 @@ "bug" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library" }, /turf/open/floor/wood, @@ -35037,7 +35037,7 @@ "buh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library" }, /turf/open/floor/wood, @@ -39181,7 +39181,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /turf/open/floor/plasteel/neutral/corner{ @@ -39455,7 +39455,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /obj/structure/disposalpipe/segment{ @@ -39502,7 +39502,7 @@ /area/hallway/primary/central) "bDC" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /turf/open/floor/plasteel, @@ -39902,7 +39902,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /turf/open/floor/plasteel/neutral/corner{ @@ -40282,7 +40282,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Command Hallway" }, /turf/open/floor/plasteel/neutral/corner{ @@ -40335,7 +40335,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /turf/open/floor/plasteel, @@ -45455,7 +45455,7 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Gateway Chamber" }, /obj/structure/cable/yellow{ @@ -49166,7 +49166,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics Storage" }, /turf/open/floor/plasteel/hydrofloor, @@ -49713,7 +49713,7 @@ "bZf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /turf/open/floor/plasteel/blue/corner{ @@ -49725,7 +49725,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /turf/open/floor/plasteel, @@ -49733,7 +49733,7 @@ "bZh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" }, /turf/open/floor/plasteel/purple/corner{ @@ -54548,7 +54548,7 @@ /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) "cja" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -55950,7 +55950,7 @@ /turf/open/space, /area/space/nearstation) "cmd" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -67900,7 +67900,7 @@ "cJE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /turf/open/floor/plasteel/neutral/corner{ @@ -67912,7 +67912,7 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /turf/open/floor/plasteel, @@ -67920,7 +67920,7 @@ "cJG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /turf/open/floor/plasteel/neutral/corner{ @@ -69955,7 +69955,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel" }, /turf/open/floor/plasteel/dark, @@ -70236,7 +70236,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel" }, /turf/open/floor/plasteel/dark, @@ -70659,7 +70659,7 @@ /area/chapel/office) "cPl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Chapel Office"; req_access_txt = "22" }, @@ -71066,7 +71066,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Funeral Parlour" }, /turf/open/floor/plasteel/dark, diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 0d0ee8e1524..bbf998aabab 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -1762,10 +1762,8 @@ /area/mine/living_quarters) "eR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - glass = 1; - name = "Break Room"; - opacity = 0 +/obj/machinery/door/airlock/glass{ + name = "Break Room" }, /turf/open/floor/plasteel, /area/mine/living_quarters) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index cc47a9d0b83..8f42b5e3b6e 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -7682,7 +7682,7 @@ "anR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/structure/cable/white{ @@ -7698,7 +7698,7 @@ /area/hallway/primary/central) "anS" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -7712,7 +7712,7 @@ "anT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -9508,7 +9508,7 @@ "arc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/structure/cable/white{ @@ -9524,7 +9524,7 @@ /area/crew_quarters/bar/atrium) "ard" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -9538,7 +9538,7 @@ "are" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/effect/turf_decal/stripes/line{ @@ -14518,7 +14518,7 @@ /area/hallway/primary/central) "aAD" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Lockerroom" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -15116,7 +15116,7 @@ /area/hallway/primary/central) "aBM" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Lockerroom" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -16618,7 +16618,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Engineering Foyer" }, /obj/effect/turf_decal/stripes/line{ @@ -16933,7 +16933,7 @@ /area/hallway/primary/central) "aFj" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -17195,7 +17195,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Engineering Foyer" }, /obj/structure/cable/white{ @@ -17352,7 +17352,7 @@ /area/hallway/primary/central) "aFZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/effect/turf_decal/stripes/line{ @@ -21292,7 +21292,7 @@ /area/hydroponics) "aNy" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -21309,7 +21309,7 @@ /area/crew_quarters/bar/atrium) "aNz" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Atrium" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -23154,7 +23154,7 @@ /area/library) "aQY" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -23168,7 +23168,7 @@ /area/library) "aQZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Library Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -31023,7 +31023,7 @@ /area/hallway/secondary/entry) "bgR" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Arrivals Port" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -31037,7 +31037,7 @@ /area/hallway/secondary/entry) "bgS" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Arrivals Port" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -31066,7 +31066,7 @@ /area/hallway/secondary/entry) "bgW" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Arrivals Port" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -33456,7 +33456,7 @@ /turf/open/floor/plasteel, /area/engine/engineering) "blL" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/effect/turf_decal/stripes/line{ @@ -33507,7 +33507,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "blY" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/effect/turf_decal/stripes/line{ @@ -33612,7 +33612,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bsB" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/effect/turf_decal/stripes/line{ @@ -33685,7 +33685,7 @@ /area/hallway/secondary/exit) "bsN" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index b1f073c4e25..30c8084a4d4 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -1801,7 +1801,7 @@ id = "permacell2"; name = "cell blast door" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt2"; name = "Cell 2" }, @@ -1820,7 +1820,7 @@ id = "permacell1"; name = "cell blast door" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ id_tag = "permabolt1"; name = "Cell 1" }, @@ -3459,7 +3459,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "space-bridge access" }, /obj/effect/turf_decal/stripes/line{ @@ -3499,7 +3499,7 @@ /turf/open/floor/plating, /area/maintenance/department/crew_quarters/dorms) "akp" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "space-bridge access" }, /obj/structure/cable{ @@ -9139,7 +9139,7 @@ /area/crew_quarters/fitness/recreation) "axy" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" }, /turf/open/floor/plasteel, @@ -9482,7 +9482,7 @@ /area/crew_quarters/dorms) "ayt" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Recreation Room" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9982,7 +9982,7 @@ /area/crew_quarters/dorms) "azB" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Recreation Room" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -12754,7 +12754,7 @@ /area/security/detectives_office) "aGb" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -12762,14 +12762,14 @@ /area/hallway/primary/fore) "aGc" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel, /area/hallway/primary/fore) "aGd" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -13093,7 +13093,7 @@ /area/storage/primary) "aGY" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/structure/cable{ @@ -13104,7 +13104,7 @@ /area/storage/primary) "aGZ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -13646,7 +13646,7 @@ /area/hallway/primary/central) "aIg" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitory" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14053,7 +14053,7 @@ /area/hallway/primary/central) "aJf" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitory" }, /obj/structure/cable{ @@ -14527,7 +14527,7 @@ /area/hallway/primary/central) "aKb" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Dormitory" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -14645,7 +14645,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aKv" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -14739,7 +14739,7 @@ /turf/open/floor/plating, /area/storage/art) "aKL" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Art Storage" }, /obj/structure/cable{ @@ -14758,7 +14758,7 @@ /area/crew_quarters/cafeteria/lunchroom) "aKO" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Lunchroom" }, /obj/structure/cable{ @@ -14904,7 +14904,7 @@ /turf/open/floor/plating, /area/maintenance/disposal) "aLp" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cargo Hold"; req_access_txt = "0" }, @@ -14917,7 +14917,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aLr" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, @@ -16672,7 +16672,7 @@ /area/hallway/secondary/exit/departure_lounge) "aPv" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /turf/open/floor/plasteel, @@ -17061,7 +17061,7 @@ /area/hallway/secondary/exit/departure_lounge) "aQz" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/structure/disposalpipe/segment{ @@ -17890,7 +17890,7 @@ /turf/open/floor/plating, /area/maintenance/disposal) "aSp" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/mineral/titanium/blue, @@ -18922,7 +18922,7 @@ /area/hallway/secondary/exit/departure_lounge) "aUJ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/structure/cable{ @@ -19485,7 +19485,7 @@ /area/hallway/secondary/exit/departure_lounge) "aVQ" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -19527,7 +19527,7 @@ /area/janitor) "aVV" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Hydroponics"; req_access_txt = "35" }, @@ -22164,7 +22164,7 @@ /area/crew_quarters/bar) "bcw" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -22446,7 +22446,7 @@ /area/hallway/secondary/entry) "bdf" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /turf/open/floor/plasteel, @@ -22546,7 +22546,7 @@ /area/crew_quarters/bar) "bdy" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /obj/machinery/door/poddoor/shutters/preopen{ @@ -22848,7 +22848,7 @@ /area/hydroponics) "bek" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ cyclelinkeddir = 4; name = "Hydroponics"; req_access_txt = "35" @@ -22895,7 +22895,7 @@ /area/hallway/primary/central) "beo" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ cyclelinkeddir = 8; name = "Kitchen"; req_access_txt = "28" @@ -23212,7 +23212,7 @@ /area/hallway/secondary/entry) "bfe" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Central Access" }, /obj/structure/cable{ @@ -23613,7 +23613,7 @@ /area/crew_quarters/lounge) "bgb" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Lounge" }, /obj/structure/cable{ @@ -23767,7 +23767,7 @@ /area/hallway/primary/central) "bgt" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /turf/open/floor/plasteel, @@ -23775,7 +23775,7 @@ "bgu" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /turf/open/floor/plasteel, @@ -24900,14 +24900,14 @@ "biV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Medbay" }, /turf/open/floor/plasteel/white/side, /area/medical/medbay/zone3) "biW" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Medbay" }, /turf/open/floor/plasteel/white/side, @@ -24915,7 +24915,7 @@ "biX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Medbay" }, /turf/open/floor/plasteel/white/side, @@ -25317,18 +25317,18 @@ "bkj" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/hallway/primary/central) "bkk" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/hallway/primary/central) "bkl" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/hallway/primary/central) "bkm" = ( @@ -27685,7 +27685,7 @@ "bqd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/effect/turf_decal/delivery, @@ -27696,7 +27696,7 @@ "bqe" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/effect/turf_decal/delivery, @@ -27704,7 +27704,7 @@ /area/science/research/lobby) "bqf" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/effect/turf_decal/delivery, @@ -28963,7 +28963,7 @@ "bsH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Medbay" }, /turf/open/floor/plasteel/whiteblue/corner{ @@ -28974,7 +28974,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Medbay" }, /turf/open/floor/plasteel/whiteblue/corner, @@ -30668,7 +30668,7 @@ /area/shuttle/transport) "bwq" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Monastery Transit" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -30676,7 +30676,7 @@ /area/hallway/secondary/entry) "bwr" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Monastery Transit" }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, @@ -35684,7 +35684,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/effect/turf_decal/delivery, @@ -36259,7 +36259,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/structure/cable{ @@ -36392,7 +36392,7 @@ /turf/closed/wall/r_wall, /area/science/mixing) "bIL" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -36724,7 +36724,7 @@ dir = 4 }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Research Division" }, /obj/effect/turf_decal/delivery, @@ -37386,7 +37386,7 @@ /turf/open/floor/engine/vacuum, /area/engine/atmos) "bLf" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -43895,7 +43895,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -43918,7 +43918,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ autoclose = 0; frequency = 1449; heat_proof = 1; @@ -46326,7 +46326,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cin" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Shuttle Airlock" }, /turf/open/floor/plasteel/dark, @@ -46712,7 +46712,7 @@ /turf/open/floor/plating/abductor, /area/shuttle/abandoned) "cjB" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Shuttle Airlock" }, /obj/docking_port/mobile{ diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 7715b623bd5..0ef75448e6a 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -836,7 +836,7 @@ /turf/open/floor/plasteel, /area/bridge) "cx" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "cy" = ( @@ -961,7 +961,7 @@ /turf/closed/wall/r_wall, /area/construction) "cQ" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/construction) "cR" = ( @@ -982,7 +982,7 @@ /turf/closed/wall/r_wall, /area/storage/primary) "cV" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/storage/primary) "cW" = ( diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index a117bdbec87..6ba0875a669 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -131,7 +131,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -201,7 +201,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "aJ" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, diff --git a/_maps/shuttles/emergency_birdboat.dmm b/_maps/shuttles/emergency_birdboat.dmm index 460211f03cb..3b2617bfe1e 100644 --- a/_maps/shuttles/emergency_birdboat.dmm +++ b/_maps/shuttles/emergency_birdboat.dmm @@ -141,7 +141,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "aA" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/white, /area/shuttle/escape) "aB" = ( diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index ab0c739939c..65cc9803cb5 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -122,7 +122,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ay" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -185,7 +185,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "aH" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, @@ -297,7 +297,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aZ" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/mineral/titanium/blue, diff --git a/_maps/shuttles/emergency_cere.dmm b/_maps/shuttles/emergency_cere.dmm index bbdbd8a7630..2090fbe199d 100644 --- a/_maps/shuttles/emergency_cere.dmm +++ b/_maps/shuttles/emergency_cere.dmm @@ -244,7 +244,7 @@ /turf/open/floor/plasteel/darkred, /area/shuttle/escape) "aR" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -423,7 +423,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "bq" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, diff --git a/_maps/shuttles/emergency_clown.dmm b/_maps/shuttles/emergency_clown.dmm index 96bd21e8b7e..b0cd4e7113e 100644 --- a/_maps/shuttles/emergency_clown.dmm +++ b/_maps/shuttles/emergency_clown.dmm @@ -99,7 +99,7 @@ /turf/open/floor/noslip, /area/shuttle/escape) "as" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Premium Lounge"; req_access_txt = "0" }, @@ -143,7 +143,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "aA" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Greentext"; req_access_txt = "0" }, @@ -275,7 +275,7 @@ /turf/open/floor/bluespace, /area/shuttle/escape) "aU" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/bluespace, diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index 7a80420f560..25e4e603ebc 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -104,7 +104,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "w" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/mineral/titanium, @@ -157,7 +157,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "E" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -193,7 +193,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "K" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm index be05c317c82..9c84d5883bb 100644 --- a/_maps/shuttles/emergency_pubby.dmm +++ b/_maps/shuttles/emergency_pubby.dmm @@ -149,7 +149,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aB" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -169,7 +169,7 @@ /turf/open/floor/plating, /area/shuttle/escape) "aE" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cargo Hold"; req_access_txt = "0" }, @@ -182,7 +182,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aG" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, @@ -262,7 +262,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aU" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, /turf/open/floor/mineral/titanium/blue, diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index a48f766a088..c8178fd9a2b 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -893,7 +893,7 @@ }, /area/shuttle/escape) "cf" = ( -/obj/machinery/door/airlock/glass_titanium{ +/obj/machinery/door/airlock/titanium/glass{ name = "Shuttle Engine Room" }, /turf/open/floor/plasteel/darkgreen/side{ @@ -901,7 +901,7 @@ }, /area/shuttle/escape) "cg" = ( -/obj/machinery/door/airlock/glass_titanium{ +/obj/machinery/door/airlock/titanium/glass{ name = "Shuttle Engine Room" }, /turf/open/floor/plasteel/darkgreen/side{ diff --git a/_maps/shuttles/emergency_russiafightpit.dmm b/_maps/shuttles/emergency_russiafightpit.dmm index 127c22daab7..1adc770925e 100644 --- a/_maps/shuttles/emergency_russiafightpit.dmm +++ b/_maps/shuttles/emergency_russiafightpit.dmm @@ -117,7 +117,7 @@ /turf/closed/wall/rust, /area/shuttle/escape) "at" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Glorious Leaders"; req_access_txt = "19" }, diff --git a/_maps/shuttles/emergency_scrapheap.dmm b/_maps/shuttles/emergency_scrapheap.dmm index 53733b1437b..c2452c17610 100644 --- a/_maps/shuttles/emergency_scrapheap.dmm +++ b/_maps/shuttles/emergency_scrapheap.dmm @@ -95,7 +95,7 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "ar" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, @@ -148,7 +148,7 @@ /area/shuttle/escape) "az" = ( /obj/structure/grille, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, diff --git a/_maps/shuttles/emergency_wabbajack.dmm b/_maps/shuttles/emergency_wabbajack.dmm index 87e90155e8e..9c7fe55f742 100644 --- a/_maps/shuttles/emergency_wabbajack.dmm +++ b/_maps/shuttles/emergency_wabbajack.dmm @@ -139,7 +139,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aB" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, @@ -255,7 +255,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aU" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aV" = ( diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 8f52b0bf490..f1c6c838b18 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -110,7 +110,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aw" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plating, /area/shuttle/abandoned) "ax" = ( @@ -220,7 +220,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aR" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aS" = ( @@ -288,7 +288,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "be" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "bf" = ( diff --git a/_maps/shuttles/whiteship_delta.dmm b/_maps/shuttles/whiteship_delta.dmm index 5961fef79f4..78dabd25768 100644 --- a/_maps/shuttles/whiteship_delta.dmm +++ b/_maps/shuttles/whiteship_delta.dmm @@ -584,10 +584,8 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/door/airlock{ - glass = 1; - name = "Dormitory"; - opacity = 0 +/obj/machinery/door/airlock/glass{ + name = "Dormitory" }, /turf/open/floor/plasteel/neutral, /area/shuttle/abandoned) @@ -722,10 +720,8 @@ desc = "A thin layer of dust coating the floor."; name = "dust" }, -/obj/machinery/door/airlock{ - glass = 1; - name = "Crew Quarters"; - opacity = 0 +/obj/machinery/door/airlock/glass{ + name = "Crew Quarters" }, /turf/open/floor/plasteel/neutral/side{ dir = 1 diff --git a/_maps/shuttles/whiteship_pubby.dmm b/_maps/shuttles/whiteship_pubby.dmm index f76c0bb2514..1ea9db3063a 100644 --- a/_maps/shuttles/whiteship_pubby.dmm +++ b/_maps/shuttles/whiteship_pubby.dmm @@ -12,7 +12,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "d" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Shuttle Airlock" }, /turf/open/floor/plasteel/dark, @@ -81,7 +81,7 @@ /turf/open/floor/plating/abductor, /area/shuttle/abandoned) "o" = ( -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Shuttle Airlock" }, /obj/docking_port/mobile{ diff --git a/_maps/templates/medium_shuttle1.dmm b/_maps/templates/medium_shuttle1.dmm index aea32eb2f4c..4b2df43281c 100644 --- a/_maps/templates/medium_shuttle1.dmm +++ b/_maps/templates/medium_shuttle1.dmm @@ -49,7 +49,7 @@ name = "Shuttle" }) "h" = ( -/obj/machinery/door/airlock/glass_external, +/obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/ruin/powered{ name = "Shuttle" @@ -65,7 +65,7 @@ name = "Shuttle" }) "k" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/dark, /area/ruin/powered{ name = "Shuttle" @@ -89,7 +89,7 @@ name = "Shuttle" }) "o" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/ruin/powered{ name = "Shuttle" diff --git a/_maps/templates/medium_shuttle2.dmm b/_maps/templates/medium_shuttle2.dmm index f676819f8a5..5039f5174c2 100644 --- a/_maps/templates/medium_shuttle2.dmm +++ b/_maps/templates/medium_shuttle2.dmm @@ -75,7 +75,7 @@ name = "Shuttle" }) "l" = ( -/obj/machinery/door/airlock/glass_external, +/obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/ruin/powered{ name = "Shuttle" @@ -86,7 +86,7 @@ name = "Shuttle" }) "n" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel/dark, /area/ruin/powered{ name = "Shuttle" diff --git a/_maps/templates/medium_shuttle3.dmm b/_maps/templates/medium_shuttle3.dmm index 61842f022b5..edc267f44ac 100644 --- a/_maps/templates/medium_shuttle3.dmm +++ b/_maps/templates/medium_shuttle3.dmm @@ -62,7 +62,7 @@ name = "Shuttle" }) "j" = ( -/obj/machinery/door/airlock/glass_external, +/obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/ruin/powered{ name = "Shuttle" @@ -100,7 +100,7 @@ name = "Shuttle" }) "p" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/plasteel, /area/ruin/powered{ name = "Shuttle" diff --git a/_maps/templates/medium_shuttle4.dmm b/_maps/templates/medium_shuttle4.dmm index d3af27d0c43..bfb7f5d88ec 100644 --- a/_maps/templates/medium_shuttle4.dmm +++ b/_maps/templates/medium_shuttle4.dmm @@ -11,7 +11,7 @@ /turf/closed/indestructible/oldshuttle, /area/ruin/powered) "d" = ( -/obj/machinery/door/airlock/glass, +/obj/machinery/door/airlock/public/glass, /turf/open/floor/oldshuttle, /area/ruin/powered) "e" = ( diff --git a/_maps/templates/pirate_ship.dmm b/_maps/templates/pirate_ship.dmm index a2170c29eea..e9be381c99c 100644 --- a/_maps/templates/pirate_ship.dmm +++ b/_maps/templates/pirate_ship.dmm @@ -929,7 +929,7 @@ /area/shuttle/pirate) "cg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ name = "Bar" }, /turf/open/floor/plasteel, @@ -1740,7 +1740,7 @@ icon_state = "1-2"; pixel_y = 0 }, -/obj/machinery/door/airlock/glass{ +/obj/machinery/door/airlock/public/glass{ heat_proof = 1; id_tag = "pirateturbinebolt"; locked = 1; diff --git a/_maps/templates/shelter_1.dmm b/_maps/templates/shelter_1.dmm index 42e8ec75404..fff5f4c2cd6 100644 --- a/_maps/templates/shelter_1.dmm +++ b/_maps/templates/shelter_1.dmm @@ -61,7 +61,7 @@ /area/survivalpod) "n" = ( /obj/structure/fans/tiny, -/obj/machinery/door/airlock/survival_pod, +/obj/machinery/door/airlock/survival_pod/glass, /turf/open/floor/pod, /area/survivalpod) "o" = ( diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index e9489df641c..69e7369af74 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -203,7 +203,7 @@ /area/survivalpod) "D" = ( /obj/structure/fans/tiny, -/obj/machinery/door/airlock/survival_pod, +/obj/machinery/door/airlock/survival_pod/glass, /turf/open/floor/pod, /area/survivalpod) "E" = ( diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index ae3f9f6fe99..b3a9a051192 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -23,6 +23,11 @@ #define WINDOW_IN_FRAME 1 #define WINDOW_SCREWED_TO_FRAME 2 +//airlock assembly construction states +#define AIRLOCK_ASSEMBLY_NEEDS_WIRES 0 +#define AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS 1 +#define AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER 2 + //plastic flaps construction states #define PLASTIC_FLAPS_NORMAL 0 #define PLASTIC_FLAPS_DETACHED 1 diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index ca31677bd05..9128847e166 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -684,31 +684,8 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/structure/door_assembly/door_assembly_abductor name = "alien airlock assembly" icon = 'icons/obj/doors/airlocks/abductor/abductor_airlock.dmi' + base_name = "alien airlock" overlays_file = 'icons/obj/doors/airlocks/abductor/overlays.dmi' - typetext = "abductor" - icontext = "abductor" airlock_type = /obj/machinery/door/airlock/abductor - anchored = TRUE - state = 1 - -/obj/structure/door_assembly/door_assembly_abductor/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/weldingtool) && !anchored ) - var/obj/item/weldingtool/WT = W - if(WT.remove_fuel(0,user)) - user.visible_message("[user] disassembles the airlock assembly.", \ - "You start to disassemble the airlock assembly...") - playsound(src.loc, 'sound/items/welder2.ogg', 50, 1) - if(do_after(user, 40*W.toolspeed, target = src)) - if( !WT.isOn() ) - return - to_chat(user, "You disassemble the airlock assembly.") - new /obj/item/stack/sheet/mineral/abductor(get_turf(src), 4) - qdel(src) - else - return - else if(istype(W, /obj/item/airlock_painter)) - return // no repainting - else if(istype(W, /obj/item/stack/sheet)) - return // no material modding - else - ..() + material_type = /obj/item/stack/sheet/mineral/abductor + noglass = TRUE diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 663b9387419..84bdb67420a 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -64,7 +64,7 @@ var/obj/machinery/door/airlock/closeOther = null var/closeOtherId = null var/lockdownbyai = FALSE - assemblytype = /obj/structure/door_assembly/door_assembly_0 + assemblytype = /obj/structure/door_assembly var/justzap = FALSE normalspeed = 1 var/obj/item/electronics/airlock/electronics = null @@ -80,7 +80,7 @@ var/boltUp = 'sound/machines/boltsup.ogg' var/boltDown = 'sound/machines/boltsdown.ogg' var/noPower = 'sound/machines/doorclick.ogg' - + var/previous_airlock //what airlock assembly mineral plating was applied to var/airlock_material = null //material of inner filling; if its an airlock with glass, this should be set to "glass" var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi' //Used for papers and photos pinned to the airlock @@ -1030,14 +1030,6 @@ if(density && !open(2)) to_chat(user, "Despite your attempts, [src] refuses to open.") -/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params) - if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite - message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]") - log_game("Plasma wall ignited by [key_name(user)] in [COORD(src)]") - ignite(C.is_hot()) - else - return ..() - /obj/machinery/door/airlock/open(forced=0) if( operating || welded || locked ) return FALSE @@ -1158,22 +1150,22 @@ var/list/optionlist if(airlock_material == "glass") - optionlist = list("Public", "Public2", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance") + optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance") else - optionlist = list("Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security") + optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance") var/paintjob = input(user, "Please select a paintjob for this airlock.") in optionlist if((!in_range(src, usr) && src.loc != usr) || !W.use(user)) return switch(paintjob) - if("Public") + if("Standard") icon = 'icons/obj/doors/airlocks/station/public.dmi' overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_0 - if("Public2") + assemblytype = /obj/structure/door_assembly + if("Public") icon = 'icons/obj/doors/airlocks/station2/glass.dmi' overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_glass + assemblytype = /obj/structure/door_assembly/door_assembly_public if("Engineering") icon = 'icons/obj/doors/airlocks/station/engineering.dmi' overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' @@ -1198,6 +1190,18 @@ icon = 'icons/obj/doors/airlocks/station/research.dmi' overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_research + if("Freezer") + icon = 'icons/obj/doors/airlocks/station/freezer.dmi' + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_fre + if("Science") + icon = 'icons/obj/doors/airlocks/station/science.dmi' + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_science + if("Virology") + icon = 'icons/obj/doors/airlocks/station/virology.dmi' + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_viro if("Mining") icon = 'icons/obj/doors/airlocks/station/mining.dmi' overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' @@ -1210,10 +1214,10 @@ icon = 'icons/obj/doors/airlocks/external/external.dmi' overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_ext - if("High Security") - icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi' - overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_highsecurity + if("External Maintenance") + icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' + overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_extmai update_icon() /obj/machinery/door/airlock/CanAStarPass(obj/item/card/id/ID) @@ -1306,11 +1310,17 @@ var/obj/structure/door_assembly/A if(assemblytype) A = new assemblytype(src.loc) - A.heat_proof_finished = src.heat_proof //tracks whether there's rglass in else - A = new /obj/structure/door_assembly/door_assembly_0(src.loc) + A = new /obj/structure/door_assembly(loc) //If you come across a null assemblytype, it will produce the default assembly instead of disintegrating. + A.heat_proof_finished = src.heat_proof //tracks whether there's rglass in + A.anchored = TRUE + A.glass = src.glass + A.state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS A.created_name = name + A.previous_assembly = previous_airlock + A.update_name() + A.update_icon() if(!disassembled) if(A) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 8b41cf3748c..f303b892b3a 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -1,6 +1,7 @@ /* Station Airlocks Regular */ + /obj/machinery/door/airlock/abandoned abandoned = TRUE @@ -17,7 +18,7 @@ /obj/machinery/door/airlock/engineering icon = 'icons/obj/doors/airlocks/station/engineering.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_eng - + /obj/machinery/door/airlock/engineering/abandoned abandoned = TRUE @@ -37,8 +38,7 @@ /obj/machinery/door/airlock/maintenance/external name = "external airlock access" icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_mai - normal_integrity = 250 + assemblytype = /obj/structure/door_assembly/door_assembly_extmai /obj/machinery/door/airlock/mining name = "mining airlock" @@ -75,23 +75,27 @@ Station Airlocks Glass */ +/obj/machinery/door/airlock/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/glass_command icon = 'icons/obj/doors/airlocks/station/command.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_com/glass + assemblytype = /obj/structure/door_assembly/door_assembly_com glass = TRUE normal_integrity = 400 /obj/machinery/door/airlock/glass_engineering icon = 'icons/obj/doors/airlocks/station/engineering.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_eng/glass + assemblytype = /obj/structure/door_assembly/door_assembly_eng glass = TRUE /obj/machinery/door/airlock/glass_security icon = 'icons/obj/doors/airlocks/station/security.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_sec/glass + assemblytype = /obj/structure/door_assembly/door_assembly_sec glass = TRUE normal_integrity = 400 @@ -101,45 +105,50 @@ /obj/machinery/door/airlock/glass_medical icon = 'icons/obj/doors/airlocks/station/medical.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_med/glass + assemblytype = /obj/structure/door_assembly/door_assembly_med glass = TRUE /obj/machinery/door/airlock/glass_research icon = 'icons/obj/doors/airlocks/station/research.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_research/glass + assemblytype = /obj/structure/door_assembly/door_assembly_research glass = TRUE /obj/machinery/door/airlock/glass_mining icon = 'icons/obj/doors/airlocks/station/mining.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_min/glass + assemblytype = /obj/structure/door_assembly/door_assembly_min glass = TRUE /obj/machinery/door/airlock/glass_atmos icon = 'icons/obj/doors/airlocks/station/atmos.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_atmo/glass + assemblytype = /obj/structure/door_assembly/door_assembly_atmo glass = TRUE /obj/machinery/door/airlock/glass_science icon = 'icons/obj/doors/airlocks/station/science.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_science/glass + assemblytype = /obj/structure/door_assembly/door_assembly_science glass = TRUE /obj/machinery/door/airlock/glass_virology icon = 'icons/obj/doors/airlocks/station/virology.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_viro/glass + assemblytype = /obj/structure/door_assembly/door_assembly_viro glass = TRUE /obj/machinery/door/airlock/glass_maintenance icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_mai/glass + assemblytype = /obj/structure/door_assembly/door_assembly_mai glass = TRUE +/obj/machinery/door/airlock/maintenance/external/glass + opacity = 0 + glass = TRUE + normal_integrity = 200 + ////////////////////////////////// /* Station Airlocks Mineral @@ -148,27 +157,36 @@ /obj/machinery/door/airlock/gold name = "gold airlock" icon = 'icons/obj/doors/airlocks/station/gold.dmi' - var/mineral = "gold" assemblytype = /obj/structure/door_assembly/door_assembly_gold +/obj/machinery/door/airlock/gold/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/silver name = "silver airlock" icon = 'icons/obj/doors/airlocks/station/silver.dmi' - var/mineral = "silver" assemblytype = /obj/structure/door_assembly/door_assembly_silver +/obj/machinery/door/airlock/silver/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/diamond name = "diamond airlock" icon = 'icons/obj/doors/airlocks/station/diamond.dmi' - var/mineral = "diamond" assemblytype = /obj/structure/door_assembly/door_assembly_diamond normal_integrity = 1000 explosion_block = 2 +/obj/machinery/door/airlock/diamond/glass + normal_integrity = 950 + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/uranium name = "uranium airlock" icon = 'icons/obj/doors/airlocks/station/uranium.dmi' - var/mineral = "uranium" assemblytype = /obj/structure/door_assembly/door_assembly_uranium var/last_event = 0 @@ -183,11 +201,14 @@ radiation_pulse(get_turf(src), 150) return +/obj/machinery/door/airlock/uranium/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/plasma name = "plasma airlock" desc = "No way this can end badly." icon = 'icons/obj/doors/airlocks/station/plasma.dmi' - var/mineral = "plasma" assemblytype = /obj/structure/door_assembly/door_assembly_plasma /obj/machinery/door/airlock/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) @@ -200,62 +221,84 @@ /obj/machinery/door/airlock/plasma/proc/PlasmaBurn(temperature) atmos_spawn_air("plasma=500;TEMP=1000") - new/obj/structure/door_assembly/door_assembly_0( src.loc ) + var/obj/structure/door_assembly/DA + DA = new /obj/structure/door_assembly(loc) + if(glass) + DA.glass = TRUE + if(heat_proof) + DA.heat_proof_finished = TRUE + DA.update_icon() + DA.update_name() qdel(src) /obj/machinery/door/airlock/plasma/BlockSuperconductivity() //we don't stop the heat~ return 0 +/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params) + if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite + message_admins("Plasma airlock ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]") + log_game("Plasma airlock ignited by [key_name(user)] in [COORD(src)]") + ignite(C.is_hot()) + else + return ..() + +/obj/machinery/door/airlock/plasma/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/clown name = "bananium airlock" desc = "Honkhonkhonk" icon = 'icons/obj/doors/airlocks/station/bananium.dmi' - var/mineral = "bananium" + assemblytype = /obj/structure/door_assembly/door_assembly_bananium doorOpen = 'sound/items/bikehorn.ogg' - assemblytype = /obj/structure/door_assembly/door_assembly_clown + +/obj/machinery/door/airlock/clown/glass + opacity = 0 + glass = TRUE /obj/machinery/door/airlock/sandstone name = "sandstone airlock" icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' - var/mineral = "sandstone" assemblytype = /obj/structure/door_assembly/door_assembly_sandstone +/obj/machinery/door/airlock/sandstone/glass + opacity = 0 + glass = TRUE /obj/machinery/door/airlock/wood name = "wooden airlock" icon = 'icons/obj/doors/airlocks/station/wood.dmi' - var/mineral = "wood" assemblytype = /obj/structure/door_assembly/door_assembly_wood +/obj/machinery/door/airlock/wood/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/titanium name = "shuttle airlock" - var/mineral = "titanium" + assemblytype = /obj/structure/door_assembly/door_assembly_titanium icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_titanium normal_integrity = 400 -/obj/machinery/door/airlock/glass_titanium - name = "shuttle airlock" - var/mineral = "titanium" - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' - overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' - opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_titanium/glass - glass = TRUE +/obj/machinery/door/airlock/titanium/glass normal_integrity = 350 + opacity = 0 + glass = TRUE ////////////////////////////////// /* Station2 Airlocks */ -/obj/machinery/door/airlock/glass - name = "glass airlock" +/obj/machinery/door/airlock/public icon = 'icons/obj/doors/airlocks/station2/glass.dmi' overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' + assemblytype = /obj/structure/door_assembly/door_assembly_public + +/obj/machinery/door/airlock/public/glass opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_glass glass = TRUE ////////////////////////////////// @@ -269,13 +312,8 @@ overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_ext - explosion_block = 1 -/obj/machinery/door/airlock/glass_external - name = "external airlock" - icon = 'icons/obj/doors/airlocks/external/external.dmi' - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_ext/glass +/obj/machinery/door/airlock/external/glass opacity = 0 glass = TRUE @@ -287,7 +325,6 @@ /obj/machinery/door/airlock/centcom icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' - opacity = 1 assemblytype = /obj/structure/door_assembly/door_assembly_centcom normal_integrity = 1000 security_level = 6 @@ -305,7 +342,6 @@ name = "vault door" icon = 'icons/obj/doors/airlocks/vault/vault.dmi' overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi' - opacity = 1 assemblytype = /obj/structure/door_assembly/door_assembly_vault explosion_block = 2 normal_integrity = 400 // reverse engieneerd: 400 * 1.5 (sec lvl 6) = 600 = original @@ -321,7 +357,6 @@ icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi' overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - opacity = 1 assemblytype = /obj/structure/door_assembly/door_assembly_hatch /obj/machinery/door/airlock/maintenance_hatch @@ -329,7 +364,6 @@ icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi' overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' note_overlay_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - opacity = 1 assemblytype = /obj/structure/door_assembly/door_assembly_mhatch /obj/machinery/door/airlock/maintenance_hatch/abandoned @@ -361,6 +395,10 @@ overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_shuttle +/obj/machinery/door/airlock/shuttle/glass + opacity = 0 + glass = TRUE + /obj/machinery/door/airlock/abductor name = "alien airlock" desc = "With humanity's current technological level, it could take years to hack this advanced airlock... or maybe we should give a screwdriver a try?" @@ -369,7 +407,6 @@ assemblytype = /obj/structure/door_assembly/door_assembly_abductor note_overlay_file = 'icons/obj/doors/airlocks/external/overlays.dmi' damage_deflection = 30 - opacity = 1 explosion_block = 3 hackProof = TRUE aiControlDisabled = 1 @@ -422,7 +459,6 @@ friendly = TRUE /obj/machinery/door/airlock/cult/glass - assemblytype = /obj/structure/door_assembly/door_assembly_cult/glass glass = TRUE opacity = 0 @@ -439,7 +475,6 @@ friendly = TRUE /obj/machinery/door/airlock/cult/unruned/glass - assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned/glass glass = TRUE opacity = 0 @@ -452,7 +487,6 @@ desc = "A massive cogwheel set into two heavy slabs of brass." icon = 'icons/obj/doors/airlocks/clockwork/pinion_airlock.dmi' overlays_file = 'icons/obj/doors/airlocks/clockwork/overlays.dmi' - opacity = 1 hackProof = TRUE aiControlDisabled = TRUE req_access = list(ACCESS_CLOCKCULT) diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 86da30429ee..16490821381 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -1,10 +1,9 @@ /obj/machinery/door/airlock/alarmlock - name = "glass alarm airlock" icon = 'icons/obj/doors/airlocks/station2/glass.dmi' overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' opacity = 0 - assemblytype = /obj/structure/door_assembly/door_assembly_glass + assemblytype = /obj/structure/door_assembly/door_assembly_public glass = TRUE var/datum/radio_frequency/air_connection diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index fe935910a3d..1a7b3475142 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -241,10 +241,12 @@ ARCD switch(airlockcat) if("Solid") if(advanced_airlock_setting == 1) - var/airlockpaint = input(usr, "Select the paintjob of the airlock.") in list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining", "Maintenance", "External", "High Security") + var/airlockpaint = input(usr, "Select the type of the airlock.") in list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance", "Airtight Hatch", "Maintenance Hatch") switch(airlockpaint) - if("Default") + if("Standard") airlock_type = /obj/machinery/door/airlock + if("Public") + airlock_type = /obj/machinery/door/airlock/public if("Engineering") airlock_type = /obj/machinery/door/airlock/engineering if("Atmospherics") @@ -257,14 +259,24 @@ ARCD airlock_type = /obj/machinery/door/airlock/medical if("Research") airlock_type = /obj/machinery/door/airlock/research + if("Freezer") + airlock_type = /obj/machinery/door/airlock/freezer + if("Science") + airlock_type = /obj/machinery/door/airlock/science + if("Virology") + airlock_type = /obj/machinery/door/airlock/virology if("Mining") airlock_type = /obj/machinery/door/airlock/mining if("Maintenance") airlock_type = /obj/machinery/door/airlock/maintenance if("External") airlock_type = /obj/machinery/door/airlock/external - if("High Security") - airlock_type = /obj/machinery/door/airlock/highsecurity + if("External Maintenance") + airlock_type = /obj/machinery/door/airlock/maintenance/external + if("Airtight Hatch") + airlock_type = /obj/machinery/door/airlock/hatch + if("Maintenance Hatch") + airlock_type = /obj/machinery/door/airlock/maintenance_hatch airlock_glass = FALSE else airlock_type = /obj/machinery/door/airlock @@ -272,10 +284,12 @@ ARCD if("Glass") if(advanced_airlock_setting == 1) - var/airlockpaint = input(usr, "Select the paintjob of the airlock.") in list("Default", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Mining") + var/airlockpaint = input(usr, "Select the type of the airlock.") in list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance") switch(airlockpaint) - if("Default") + if("Standard") airlock_type = /obj/machinery/door/airlock/glass + if("Public") + airlock_type = /obj/machinery/door/airlock/public/glass if("Engineering") airlock_type = /obj/machinery/door/airlock/glass_engineering if("Atmospherics") @@ -288,8 +302,18 @@ ARCD airlock_type = /obj/machinery/door/airlock/glass_medical if("Research") airlock_type = /obj/machinery/door/airlock/glass_research + if("Science") + airlock_type = /obj/machinery/door/airlock/glass_science + if("Virology") + airlock_type = /obj/machinery/door/airlock/glass_virology if("Mining") airlock_type = /obj/machinery/door/airlock/glass_mining + if("Maintenance") + airlock_type = /obj/machinery/door/airlock/glass_maintenance + if("External") + airlock_type = /obj/machinery/door/airlock/external/glass + if("External Maintenance") + airlock_type = /obj/machinery/door/airlock/maintenance/external/glass airlock_glass = TRUE else airlock_type = /obj/machinery/door/airlock/glass diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 3daab1ad9e0..fa80ed17b35 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -45,7 +45,27 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("modular console", /obj/machinery/modular_computer/console/buildable/, 10, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ + null, \ + new /datum/stack_recipe_list("airlock assemblies", list( \ + new /datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("public airlock assembly", /obj/structure/door_assembly/door_assembly_public, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("virology airlock assembly", /obj/structure/door_assembly/door_assembly_viro, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("external maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_extmai, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 50, one_per_turf = 1, on_floor = 1), \ + )), \ + null, \ new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ @@ -108,6 +128,11 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = TRUE), \ new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \ + null, \ + new /datum/stack_recipe_list("airlock assemblies", list( \ + new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 6, time = 50, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 8, time = 50, one_per_turf = 1, on_floor = 1), \ + )), \ )) /obj/item/stack/sheet/plasteel diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index c6af589cb55..43bb540375b 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -1,8 +1,3 @@ - -#define AIRLOCK_ASSEMBLY_NEEDS_WIRES 0 -#define AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS 1 -#define AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER 2 - /obj/structure/door_assembly name = "airlock assembly" icon = 'icons/obj/doors/airlocks/station/public.dmi' @@ -12,376 +7,279 @@ density = TRUE max_integrity = 200 var/state = AIRLOCK_ASSEMBLY_NEEDS_WIRES + var/base_name = "airlock" var/mineral = null - var/typetext = "" - var/icontext = "" var/obj/item/electronics/airlock/electronics = null var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed var/glass_type = /obj/machinery/door/airlock/glass + var/glass = 0 // 0 = glass can be installed. 1 = glass is already installed. var/created_name = null var/heat_proof_finished = 0 //whether to heat-proof the finished airlock - var/material = null //icon state logic + var/previous_assembly = /obj/structure/door_assembly + var/noglass = FALSE //airlocks with no glass version, also cannot be modified with sheets + var/material_type = /obj/item/stack/sheet/metal + var/material_amt = 4 /obj/structure/door_assembly/New() update_icon() + update_name() ..() -/obj/structure/door_assembly/door_assembly_0 - name = "airlock assembly" - airlock_type = /obj/machinery/door/airlock - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS +/obj/structure/door_assembly/door_assembly_public + name = "public airlock assembly" + icon = 'icons/obj/doors/airlocks/station2/glass.dmi' + overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' + glass_type = /obj/machinery/door/airlock/public/glass + airlock_type = /obj/machinery/door/airlock/public /obj/structure/door_assembly/door_assembly_com name = "command airlock assembly" icon = 'icons/obj/doors/airlocks/station/command.dmi' - typetext = "command" - icontext = "com" + base_name = "command airlock" glass_type = /obj/machinery/door/airlock/glass_command airlock_type = /obj/machinery/door/airlock/command - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_com/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_sec name = "security airlock assembly" icon = 'icons/obj/doors/airlocks/station/security.dmi' - typetext = "security" - icontext = "sec" + base_name = "security airlock" glass_type = /obj/machinery/door/airlock/glass_security airlock_type = /obj/machinery/door/airlock/security - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_sec/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_eng name = "engineering airlock assembly" icon = 'icons/obj/doors/airlocks/station/engineering.dmi' - typetext = "engineering" - icontext = "eng" + base_name = "engineering airlock" glass_type = /obj/machinery/door/airlock/glass_engineering airlock_type = /obj/machinery/door/airlock/engineering - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_eng/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_min name = "mining airlock assembly" icon = 'icons/obj/doors/airlocks/station/mining.dmi' - typetext = "mining" - icontext = "min" + base_name = "mining airlock" glass_type = /obj/machinery/door/airlock/glass_mining airlock_type = /obj/machinery/door/airlock/mining - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_min/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_atmo name = "atmospherics airlock assembly" icon = 'icons/obj/doors/airlocks/station/atmos.dmi' - typetext = "atmos" - icontext = "atmo" + base_name = "atmospherics airlock" glass_type = /obj/machinery/door/airlock/glass_atmos airlock_type = /obj/machinery/door/airlock/atmos - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_atmo/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_research name = "research airlock assembly" icon = 'icons/obj/doors/airlocks/station/research.dmi' - typetext = "research" - icontext = "res" + base_name = "research airlock" glass_type = /obj/machinery/door/airlock/glass_research airlock_type = /obj/machinery/door/airlock/research - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_research/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_science name = "science airlock assembly" icon = 'icons/obj/doors/airlocks/station/science.dmi' - typetext = "science" - icontext = "sci" + base_name = "science airlock" glass_type = /obj/machinery/door/airlock/glass_science airlock_type = /obj/machinery/door/airlock/science - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_science/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_med name = "medical airlock assembly" icon = 'icons/obj/doors/airlocks/station/medical.dmi' - typetext = "medical" - icontext = "med" + base_name = "medical airlock" glass_type = /obj/machinery/door/airlock/glass_medical airlock_type = /obj/machinery/door/airlock/medical - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_med/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_mai name = "maintenance airlock assembly" icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - typetext = "maintenance" - icontext = "mai" + base_name = "maintenance airlock" glass_type = /obj/machinery/door/airlock/glass_maintenance airlock_type = /obj/machinery/door/airlock/maintenance - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS -/obj/structure/door_assembly/door_assembly_mai/glass - mineral = "glass" - material = "glass" +/obj/structure/door_assembly/door_assembly_extmai + name = "external maintenance airlock assembly" + icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' + base_name = "external maintenance airlock" + glass_type = /obj/machinery/door/airlock/maintenance/external/glass + airlock_type = /obj/machinery/door/airlock/maintenance/external /obj/structure/door_assembly/door_assembly_ext name = "external airlock assembly" icon = 'icons/obj/doors/airlocks/external/external.dmi' + base_name = "external airlock" overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' - typetext = "external" - icontext = "ext" - glass_type = /obj/machinery/door/airlock/glass_external + glass_type = /obj/machinery/door/airlock/external/glass airlock_type = /obj/machinery/door/airlock/external - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_ext/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_fre name = "freezer airlock assembly" icon = 'icons/obj/doors/airlocks/station/freezer.dmi' - typetext = "freezer" - icontext = "fre" + base_name = "freezer airlock" airlock_type = /obj/machinery/door/airlock/freezer - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + noglass = TRUE /obj/structure/door_assembly/door_assembly_hatch name = "airtight hatch assembly" icon = 'icons/obj/doors/airlocks/hatch/centcom.dmi' + base_name = "airtight hatch" overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - typetext = "hatch" - icontext = "hatch" airlock_type = /obj/machinery/door/airlock/hatch - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + noglass = TRUE /obj/structure/door_assembly/door_assembly_mhatch name = "maintenance hatch assembly" icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi' + base_name = "maintenance hatch" overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi' - typetext = "maintenance_hatch" - icontext = "mhatch" airlock_type = /obj/machinery/door/airlock/maintenance_hatch - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_glass - name = "glass airlock assembly" - icon = 'icons/obj/doors/airlocks/station2/glass.dmi' - overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' - airlock_type = /obj/machinery/door/airlock/glass - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "glass" - material = "glass" - -/obj/structure/door_assembly/door_assembly_gold - name = "gold airlock assembly" - icon = 'icons/obj/doors/airlocks/station/gold.dmi' - airlock_type = /obj/machinery/door/airlock/gold - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "gold" - -/obj/structure/door_assembly/door_assembly_silver - name = "silver airlock assembly" - icon = 'icons/obj/doors/airlocks/station/silver.dmi' - airlock_type = /obj/machinery/door/airlock/silver - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "silver" - -/obj/structure/door_assembly/door_assembly_diamond - name = "diamond airlock assembly" - icon = 'icons/obj/doors/airlocks/station/diamond.dmi' - airlock_type = /obj/machinery/door/airlock/diamond - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "diamond" - -/obj/structure/door_assembly/door_assembly_uranium - name = "uranium airlock assembly" - icon = 'icons/obj/doors/airlocks/station/uranium.dmi' - airlock_type = /obj/machinery/door/airlock/uranium - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "uranium" - -/obj/structure/door_assembly/door_assembly_plasma - name = "plasma airlock assembly" - icon = 'icons/obj/doors/airlocks/station/plasma.dmi' - airlock_type = /obj/machinery/door/airlock/plasma - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "plasma" - -/obj/structure/door_assembly/door_assembly_clown - name = "bananium airlock assembly" - desc = "Honk." - icon = 'icons/obj/doors/airlocks/station/bananium.dmi' - airlock_type = /obj/machinery/door/airlock/clown - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "bananium" - -/obj/structure/door_assembly/door_assembly_sandstone - name = "sandstone airlock assembly" - icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' - airlock_type = /obj/machinery/door/airlock/sandstone - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "sandstone" - -/obj/structure/door_assembly/door_assembly_titanium - name = "titanium airlock assembly" - icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' - overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' - typetext = "titanium" - icontext = "titanium" - glass_type = /obj/machinery/door/airlock/glass_titanium - airlock_type = /obj/machinery/door/airlock/titanium - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "titanium" - -/obj/structure/door_assembly/door_assembly_titanium/glass - mineral = "glass" - material = "glass" + noglass = TRUE /obj/structure/door_assembly/door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly name = "high security airlock assembly" icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi' + base_name = "high security airlock" overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi' - typetext = "highsecurity" - icontext = "highsec" airlock_type = /obj/machinery/door/airlock/highsecurity - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + noglass = TRUE + material_type = /obj/item/stack/sheet/plasteel + material_amt = 6 /obj/structure/door_assembly/door_assembly_vault name = "vault door assembly" icon = 'icons/obj/doors/airlocks/vault/vault.dmi' + base_name = "vault door" overlays_file = 'icons/obj/doors/airlocks/vault/overlays.dmi' - typetext = "vault" - icontext = "vault" airlock_type = /obj/machinery/door/airlock/vault - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + noglass = TRUE + material_type = /obj/item/stack/sheet/plasteel + material_amt = 8 /obj/structure/door_assembly/door_assembly_shuttle name = "shuttle airlock assembly" icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' + base_name = "shuttle airlock" overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' - typetext = "shuttle" - icontext = "shuttle" airlock_type = /obj/machinery/door/airlock/shuttle - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + glass_type = /obj/machinery/door/airlock/shuttle/glass /obj/structure/door_assembly/door_assembly_cult name = "cult airlock assembly" icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' + base_name = "cult airlock" overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' - typetext = "cult" - icontext = "cult" airlock_type = /obj/machinery/door/airlock/cult - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_cult/glass - mineral = "glass" - material = "glass" + glass_type = /obj/machinery/door/airlock/cult/glass /obj/structure/door_assembly/door_assembly_cult/unruned icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' - -/obj/structure/door_assembly/door_assembly_cult/unruned/glass - mineral = "glass" - material = "glass" - -/obj/structure/door_assembly/door_assembly_wood - name = "wooden airlock assembly" - icon = 'icons/obj/doors/airlocks/station/wood.dmi' - airlock_type = /obj/machinery/door/airlock/wood - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - mineral = "wood" + airlock_type = /obj/machinery/door/airlock/cult/unruned + glass_type = /obj/machinery/door/airlock/cult/unruned/glass /obj/structure/door_assembly/door_assembly_viro name = "virology airlock assembly" icon = 'icons/obj/doors/airlocks/station/virology.dmi' - typetext = "virology" - icontext = "viro" + base_name = "virology airlock" glass_type = /obj/machinery/door/airlock/glass_virology airlock_type = /obj/machinery/door/airlock/virology - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS - -/obj/structure/door_assembly/door_assembly_viro/glass - mineral = "glass" - material = "glass" /obj/structure/door_assembly/door_assembly_centcom - typetext = "centcom" icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' overlays_file = 'icons/obj/doors/airlocks/centcom/overlays.dmi' - icontext = "ele" airlock_type = /obj/machinery/door/airlock/centcom - anchored = TRUE - state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS + noglass = TRUE + +/obj/structure/door_assembly/door_assembly_gold + name = "gold airlock assembly" + icon = 'icons/obj/doors/airlocks/station/gold.dmi' + base_name = "gold airlock" + airlock_type = /obj/machinery/door/airlock/gold + mineral = "gold" + glass_type = /obj/machinery/door/airlock/gold/glass + +/obj/structure/door_assembly/door_assembly_silver + name = "silver airlock assembly" + icon = 'icons/obj/doors/airlocks/station/silver.dmi' + base_name = "silver airlock" + airlock_type = /obj/machinery/door/airlock/silver + mineral = "silver" + glass_type = /obj/machinery/door/airlock/silver/glass + +/obj/structure/door_assembly/door_assembly_diamond + name = "diamond airlock assembly" + icon = 'icons/obj/doors/airlocks/station/diamond.dmi' + base_name = "diamond airlock" + airlock_type = /obj/machinery/door/airlock/diamond + mineral = "diamond" + glass_type = /obj/machinery/door/airlock/diamond/glass + +/obj/structure/door_assembly/door_assembly_uranium + name = "uranium airlock assembly" + icon = 'icons/obj/doors/airlocks/station/uranium.dmi' + base_name = "uranium airlock" + airlock_type = /obj/machinery/door/airlock/uranium + mineral = "uranium" + glass_type = /obj/machinery/door/airlock/uranium/glass + +/obj/structure/door_assembly/door_assembly_plasma + name = "plasma airlock assembly" + icon = 'icons/obj/doors/airlocks/station/plasma.dmi' + base_name = "plasma airlock" + airlock_type = /obj/machinery/door/airlock/plasma + mineral = "plasma" + glass_type = /obj/machinery/door/airlock/plasma/glass + +/obj/structure/door_assembly/door_assembly_bananium + name = "bananium airlock assembly" + desc = "Honk." + icon = 'icons/obj/doors/airlocks/station/bananium.dmi' + base_name = "bananium airlock" + airlock_type = /obj/machinery/door/airlock/clown + mineral = "bananium" + glass_type = /obj/machinery/door/airlock/clown/glass + +/obj/structure/door_assembly/door_assembly_sandstone + name = "sandstone airlock assembly" + icon = 'icons/obj/doors/airlocks/station/sandstone.dmi' + base_name = "sandstone airlock" + airlock_type = /obj/machinery/door/airlock/sandstone + mineral = "sandstone" + glass_type = /obj/machinery/door/airlock/sandstone/glass + +/obj/structure/door_assembly/door_assembly_titanium + name = "titanium airlock assembly" + icon = 'icons/obj/doors/airlocks/shuttle/shuttle.dmi' + base_name = "shuttle airlock" + overlays_file = 'icons/obj/doors/airlocks/shuttle/overlays.dmi' + glass_type = /obj/machinery/door/airlock/titanium/glass + airlock_type = /obj/machinery/door/airlock/titanium + mineral = "titanium" + +/obj/structure/door_assembly/door_assembly_wood + name = "wooden airlock assembly" + icon = 'icons/obj/doors/airlocks/station/wood.dmi' + base_name = "wooden airlock" + airlock_type = /obj/machinery/door/airlock/wood + mineral = "wood" + glass_type = /obj/machinery/door/airlock/wood/glass /obj/structure/door_assembly/examine(mob/user) ..() switch(state) - if(0) + if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) if(anchored) to_chat(user, "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.") else to_chat(user, "The assembly is welded together, but the anchoring bolts are unwrenched.") - if(1) + if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) to_chat(user, "The maintenance panel is wired, but the circuit slot is empty.") - if(2) + if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) to_chat(user, "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open.") - if(!mineral || !material) - to_chat(user, "There is a small paper placard on the assembly. There are empty slots for glass windows or mineral covers.") + if(!mineral && !glass && !noglass) + to_chat(user, "There is a small paper placard on the assembly. There are empty slots for glass windows and mineral covers.") + else if(!mineral && glass && !noglass) + to_chat(user, "There is a small paper placard on the assembly. There are empty slots for mineral covers.") + else if(mineral && !glass && !noglass) + to_chat(user, "There is a small paper placard on the assembly. There are empty slots for glass windows.") else to_chat(user, "There is a small paper placard on the assembly.") @@ -394,148 +292,41 @@ return created_name = t - else if(istype(W, /obj/item/airlock_painter)) // |- Ricotez - //INFORMATION ABOUT ADDING A NEW AIRLOCK TO THE PAINT LIST: - //If your airlock has a regular version, add it to the list with regular versions. - //If your airlock has a glass version, add it to the list with glass versions. - //Don't forget to also set has_solid and has_glass to the proper value. - //Do NOT add your airlock to a list if it does not have a version for that list, - // or you will get broken icons. - var/obj/item/airlock_painter/WT = W - if(WT.can_use(user)) - var/icontype - var/optionlist - if(mineral && mineral == "glass") - //These airlocks have a glass version. - optionlist = list("Public", "Public2", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Mining") - else - //These airlocks have a regular version. - optionlist = list("Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Mining", "Maintenance", "External", "High Security") - - - icontype = input(user, "Please select a paintjob for this airlock.") in optionlist - if((!in_range(src, usr) && loc != usr) || !WT.use(user)) - return - var/has_solid = FALSE - var/has_glass = FALSE - switch(icontype) - if("Public") - icon = 'icons/obj/doors/airlocks/station/public.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "" - icontext = "" - has_solid = TRUE - has_glass = TRUE - if("Public2") - icon = 'icons/obj/doors/airlocks/station2/glass.dmi' - overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' - typetext = "" - icontext = "" - has_solid = TRUE - has_glass = TRUE - if("Engineering") - icon = 'icons/obj/doors/airlocks/station/engineering.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "engineering" - icontext = "eng" - has_solid = TRUE - has_glass = TRUE - if("Atmospherics") - icon = 'icons/obj/doors/airlocks/station/atmos.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "atmos" - icontext = "atmo" - has_solid = TRUE - has_glass = TRUE - if("Security") - icon = 'icons/obj/doors/airlocks/station/security.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "security" - icontext = "sec" - has_solid = TRUE - has_glass = TRUE - if("Command") - icon = 'icons/obj/doors/airlocks/station/command.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "command" - icontext = "com" - has_solid = TRUE - has_glass = TRUE - if("Medical") - icon = 'icons/obj/doors/airlocks/station/medical.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "medical" - icontext = "med" - has_solid = TRUE - has_glass = TRUE - if("Research") - icon = 'icons/obj/doors/airlocks/station/research.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "research" - icontext = "res" - has_solid = TRUE - has_glass = TRUE - if("Science") - icon = 'icons/obj/doors/airlocks/station/science.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "research" - icontext = "res" - has_solid = TRUE - has_glass = TRUE - if("Mining") - icon = 'icons/obj/doors/airlocks/station/mining.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "mining" - icontext = "min" - has_solid = TRUE - has_glass = TRUE - if("Maintenance") - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - typetext = "maintenance" - icontext = "mai" - has_solid = TRUE - has_glass = FALSE - if("External") - icon = 'icons/obj/doors/airlocks/external/external.dmi' - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' - typetext = "external" - icontext = "ext" - has_solid = TRUE - has_glass = FALSE - if("High Security") - icon = 'icons/obj/doors/airlocks/highsec/highsec.dmi' - overlays_file = 'icons/obj/doors/airlocks/highsec/overlays.dmi' - typetext = "highsecurity" - icontext = "highsec" - has_solid = TRUE - has_glass = FALSE - if(has_solid) - airlock_type = text2path("/obj/machinery/door/airlock/[typetext]") - else - airlock_type = /obj/machinery/door/airlock - - if(has_glass) - glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") - else - glass_type = /obj/machinery/door/airlock/glass - - if(mineral && mineral != "glass") - mineral = null //I know this is stupid, but until we change glass to a boolean it's how this code works. - to_chat(user, "You change the paintjob on the airlock assembly.") - - else if(istype(W, /obj/item/weldingtool) && !anchored ) + else if(istype(W, /obj/item/weldingtool) && (mineral || glass || !anchored )) var/obj/item/weldingtool/WT = W if(WT.remove_fuel(0,user)) - user.visible_message("[user] disassembles the airlock assembly.", \ - "You start to disassemble the airlock assembly...") playsound(src, 'sound/items/welder2.ogg', 50, 1) + if(mineral) + var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]") + user.visible_message("[user] welds the [mineral] plating off the airlock assembly.", "You start to weld the [mineral] plating off the airlock assembly...") + if(do_after(user, 40 * WT.toolspeed, target = src)) + if(!src || !WT.isOn()) + return + to_chat(user, "You weld the [mineral] plating off.") + new mineral_path(loc, 2) + var/obj/structure/door_assembly/PA = new previous_assembly(loc) + transfer_assembly_vars(src, PA) - if(do_after(user, 40*W.toolspeed, target = src)) - if( !WT.isOn() ) - return - to_chat(user, "You disassemble the airlock assembly.") - deconstruct(TRUE) + else if(glass) + user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly...") + if(do_after(user, 40 * WT.toolspeed, target = src)) + if(!src || !WT.isOn()) + return + to_chat(user, "You weld the glass panel out.") + if(heat_proof_finished) + new /obj/item/stack/sheet/rglass(get_turf(src)) + heat_proof_finished = 0 + else + new /obj/item/stack/sheet/glass(get_turf(src)) + glass = 0 + else if(!anchored) + user.visible_message("[user] disassembles the airlock assembly.", \ + "You start to disassemble the airlock assembly...") + if(do_after(user, 40*W.toolspeed, target = src)) + if(!WT.isOn()) + return + to_chat(user, "You disassemble the airlock assembly.") + deconstruct(TRUE) else if(istype(W, /obj/item/wrench)) if(!anchored ) @@ -572,7 +363,7 @@ name = "airlock assembly" anchored = FALSE - else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored ) + else if(istype(W, /obj/item/stack/cable_coil) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored ) var/obj/item/stack/cable_coil/C = W if (C.get_amount() < 1) to_chat(user, "You need one length of cable to wire the airlock assembly!") @@ -580,32 +371,32 @@ user.visible_message("[user] wires the airlock assembly.", \ "You start to wire the airlock assembly...") if(do_after(user, 40, target = src)) - if(C.get_amount() < 1 || state != 0) + if(C.get_amount() < 1 || state != AIRLOCK_ASSEMBLY_NEEDS_WIRES) return C.use(1) state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS to_chat(user, "You wire the airlock assembly.") name = "wired airlock assembly" - else if(istype(W, /obj/item/wirecutters) && state == 1 ) + else if(istype(W, /obj/item/wirecutters) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) playsound(src, W.usesound, 100, 1) user.visible_message("[user] cuts the wires from the airlock assembly.", \ "You start to cut the wires from the airlock assembly...") if(do_after(user, 40*W.toolspeed, target = src)) - if(state != 1) + if(state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) return to_chat(user, "You cut the wires from the airlock assembly.") new/obj/item/stack/cable_coil(get_turf(user), 1) state = AIRLOCK_ASSEMBLY_NEEDS_WIRES name = "secured airlock assembly" - else if(istype(W, /obj/item/electronics/airlock) && state == 1 ) + else if(istype(W, /obj/item/electronics/airlock) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) playsound(src, W.usesound, 100, 1) user.visible_message("[user] installs the electronics into the airlock assembly.", \ "You start to install electronics into the airlock assembly...") if(do_after(user, 40, target = src)) - if( state != 1 ) + if( state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS ) return if(!user.transferItemToLoc(W, src)) return @@ -616,13 +407,13 @@ electronics = W - else if(istype(W, /obj/item/crowbar) && state == 2 ) + else if(istype(W, /obj/item/crowbar) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) playsound(src, W.usesound, 100, 1) user.visible_message("[user] removes the electronics from the airlock assembly.", \ "You start to remove electronics from the airlock assembly...") if(do_after(user, 40*W.toolspeed, target = src)) - if(state != 2) + if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) return to_chat(user, "You remove the airlock electronics.") state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS @@ -634,66 +425,65 @@ ae = electronics electronics = null ae.forceMove(src.loc) - else if(istype(W, /obj/item/stack/sheet) && !mineral) + + else if(istype(W, /obj/item/stack/sheet) && (!glass || !mineral)) var/obj/item/stack/sheet/G = W if(G) if(G.get_amount() >= 1) - if(is_glass_sheet(G)) - playsound(src, 'sound/items/crowbar.ogg', 100, 1) - user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") - if(do_after(user, 40, target = src)) - if(G.get_amount() < 1 || mineral) - return - if(!istype(G, /obj/item/stack/sheet/glass)) - to_chat(user, "You install [G.name] windows into the airlock assembly.") - heat_proof_finished = 1 //plasma & reinforced glass makes the airlock heat-proof - name = "near finished heat-proofed window airlock assembly" - else - to_chat(user, "You install regular glass windows into the airlock assembly.") - name = "near finished window airlock assembly" - G.use(1) - mineral = "glass" - material = "glass" - //This list contains the airlock paintjobs that have a glass version: - if(icontext in list("eng", "atmo", "sec", "com", "med", "res", "min")) - airlock_type = text2path("/obj/machinery/door/airlock/[typetext]") - glass_type = text2path("/obj/machinery/door/airlock/glass_[typetext]") - else - //This airlock is default or does not have a glass version, so we revert to the default glass airlock. |- Ricotez - airlock_type = /obj/machinery/door/airlock - glass_type = /obj/machinery/door/airlock/glass - typetext = "" - icontext = "" - else if(istype(G, /obj/item/stack/sheet/mineral)) - var/M = G.sheettype - if(G.get_amount() >= 2) - playsound(src, 'sound/items/crowbar.ogg', 100, 1) - user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") - if(do_after(user, 40, target = src)) - if(G.get_amount() < 2 || mineral) - return - to_chat(user, "You install [M] plating into the airlock assembly.") - G.use(2) - mineral = "[M]" - name = "near finished [M] airlock assembly" - airlock_type = text2path ("/obj/machinery/door/airlock/[M]") - glass_type = /obj/machinery/door/airlock/glass + if(!noglass) + if(!glass) + if(istype(G, /obj/item/stack/sheet/rglass) || istype(G, /obj/item/stack/sheet/glass)) + playsound(src, 'sound/items/crowbar.ogg', 100, 1) + user.visible_message("[user] adds [G.name] to the airlock assembly.", \ + "You start to install [G.name] into the airlock assembly...") + if(do_after(user, 40, target = src)) + if(G.get_amount() < 1 || glass) + return + if(G.type == /obj/item/stack/sheet/rglass) + to_chat(user, "You install [G.name] windows into the airlock assembly.") + heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof + name = "near finished heat-proofed window airlock assembly" + else + to_chat(user, "You install regular glass windows into the airlock assembly.") + name = "near finished window airlock assembly" + G.use(1) + glass = TRUE + if(!mineral) + if(istype(G, /obj/item/stack/sheet/mineral) && G.sheettype) + var/M = G.sheettype + if(G.get_amount() >= 2) + playsound(src, 'sound/items/crowbar.ogg', 100, 1) + user.visible_message("[user] adds [G.name] to the airlock assembly.", \ + "You start to install [G.name] into the airlock assembly...") + if(do_after(user, 40, target = src)) + if(G.get_amount() < 2 || mineral) + return + to_chat(user, "You install [M] plating into the airlock assembly.") + G.use(2) + var/mineralassembly = text2path("/obj/structure/door_assembly/door_assembly_[M]") + var/obj/structure/door_assembly/MA = new mineralassembly(loc) + transfer_assembly_vars(src, MA, TRUE) + else + to_chat(user, "You need at least two sheets add a mineral cover!") + else + to_chat(user, "You cannot add [G] to [src]!") + else + to_chat(user, "You cannot add [G] to [src]!") - else if(istype(W, /obj/item/screwdriver) && state == 2 ) + else if(istype(W, /obj/item/screwdriver) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) playsound(src, W.usesound, 100, 1) user.visible_message("[user] finishes the airlock.", \ "You start finishing the airlock...") if(do_after(user, 40*W.toolspeed, target = src)) - if(loc && state == 2) + if(loc && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) to_chat(user, "You finish the airlock.") var/obj/machinery/door/airlock/door - if(mineral == "glass") + if(glass) door = new glass_type( loc ) else door = new airlock_type( loc ) + door.setDir(dir) //door.req_access = req_access door.electronics = electronics door.heat_proof = heat_proof_finished @@ -703,38 +493,66 @@ door.req_access = electronics.accesses if(created_name) door.name = created_name + else + door.name = base_name + door.previous_airlock = previous_assembly electronics.forceMove(door) qdel(src) else return ..() + update_name() update_icon() /obj/structure/door_assembly/update_icon() cut_overlays() - if(!material) + if(!glass) add_overlay(get_airlock_overlay("fill_construction", icon)) - else - add_overlay(get_airlock_overlay("[material]_construction", overlays_file)) + else if(glass) + add_overlay(get_airlock_overlay("glass_construction", overlays_file)) add_overlay(get_airlock_overlay("panel_c[state+1]", overlays_file)) +/obj/structure/door_assembly/proc/update_name() + name = "" + switch(state) + if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) + if(anchored) + name = "secured " + if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS) + name = "wired " + if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) + name = "near finished " + name += "[heat_proof_finished ? "heat-proofed " : ""][glass ? "window " : ""][base_name] assembly" + +/obj/structure/door_assembly/proc/transfer_assembly_vars(obj/structure/door_assembly/source, obj/structure/door_assembly/target, previous = FALSE) + target.glass = source.glass + target.heat_proof_finished = source.heat_proof_finished + target.created_name = source.created_name + target.state = source.state + target.anchored = source.anchored + if(previous) + target.previous_assembly = source.type + if(electronics) + target.electronics = source.electronics + source.electronics.forceMove(target) + target.update_icon() + target.update_name() + qdel(source) /obj/structure/door_assembly/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) var/turf/T = get_turf(src) - var/metal_amt = 4 if(!disassembled) - metal_amt = rand(2,4) - new /obj/item/stack/sheet/metal(T, metal_amt) - if(mineral) - if (mineral == "glass") - if(disassembled) - if (heat_proof_finished) - new /obj/item/stack/sheet/rglass(T) - else - new /obj/item/stack/sheet/glass(T) + material_amt = rand(2,4) + new material_type(T, material_amt) + if(glass) + if(disassembled) + if(heat_proof_finished) + new /obj/item/stack/sheet/rglass(T) else - new /obj/item/shard(T) + new /obj/item/stack/sheet/glass(T) else - var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]") - new mineral_path(T, 2) + new /obj/item/shard(T) + if(mineral) + var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]") + new mineral_path(T, 2) qdel(src) diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 28e3e71d537..4f4b16e6d32 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -92,38 +92,19 @@ name = "airlock" icon = 'icons/obj/doors/airlocks/survival/survival.dmi' overlays_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi' - note_overlay_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_pod + +/obj/machinery/door/airlock/survival_pod/glass opacity = FALSE glass = TRUE - var/expected_dir = SOUTH //we visually turn when shuttle rotated, but need to not turn for any other reason - -/obj/machinery/door/airlock/survival_pod/setDir(direction) - direction = expected_dir - ..() - -/obj/machinery/door/airlock/survival_pod/vertical - dir = EAST - expected_dir = EAST /obj/structure/door_assembly/door_assembly_pod name = "pod airlock assembly" icon = 'icons/obj/doors/airlocks/survival/survival.dmi' + base_name = "pod airlock" overlays_file = 'icons/obj/doors/airlocks/survival/survival_overlays.dmi' airlock_type = /obj/machinery/door/airlock/survival_pod - anchored = TRUE - state = 1 - mineral = "glass" - material = "glass" - var/expected_dir = SOUTH - -/obj/structure/door_assembly/door_assembly_pod/setDir(direction) - direction = expected_dir - ..() - -/obj/structure/door_assembly/door_assembly_pod/vertical - dir = EAST - expected_dir = EAST + glass_type = /obj/machinery/door/airlock/survival_pod/glass //Windoor /obj/machinery/door/window/survival_pod diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index d322f2cd326..49c7396dbad 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -48,10 +48,6 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate /************************************Structure rotate procs************************************/ -/obj/structure/door_assembly/door_assembly_pod/shuttleRotate(rotation, params) - . = ..() - expected_dir = angle2dir(rotation+dir2angle(dir)) - /obj/structure/cable/shuttleRotate(rotation, params) params &= ~ROTATE_DIR . = ..() @@ -105,10 +101,6 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate params = NONE return ..() -/obj/machinery/door/airlock/survival_pod/shuttleRotate(rotation, params) - expected_dir = angle2dir(rotation+dir2angle(dir)) - return ..() - //prevents shuttles attempting to rotate this since it messes up sprites /obj/machinery/gravity_generator/shuttleRotate(rotation, params) params = NONE diff --git a/icons/obj/doors/airlocks/shuttle/overlays.dmi b/icons/obj/doors/airlocks/shuttle/overlays.dmi index 50b2e25d8f15be54bfe86272c52d017cd4c93b99..b2bb2cfa04a0781dfe3417f5609fe2236c0f6f89 100644 GIT binary patch delta 335 zcmV-V0kHmwJBB-uB!4)1R9JLGWpiV4X>fFDZ*Bkpc$}@1&x(UE5QopnQw;4@mW?jk zQ!d4_cxYciQZuWeF_9#@rEk9nVf)8OwMb5Z&u?bTZ`QEgeH91D_XYh$=an_U;p6R{ zlCzSb0S;M8NrS3xLVxi=1OyH%t?DND(spQ+saKRpfqz9AuQ1-lyN$Hs2r>5JK;_v)n<2&ExH;_b&31Z8(*5R zn^)X`$c@wr7XvPyc^3NUxM`us3DrzmfpSpNGJZXcj=mJ5zHo2V4 h8Xw$G6_gzvW(~VT4*9;If6y@2H@XGBtg~nVAsjy=pa1{> delta 338 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 diff --git a/icons/obj/doors/airlocks/survival/survival.dmi b/icons/obj/doors/airlocks/survival/survival.dmi index b796b4c8e01f575fdbc11ba28a35f6e222ee6b8d..478834eb9326cf249a60ff39d7427e728a5beb03 100644 GIT binary patch literal 8061 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 DfjnMkYM68lSK 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 diff --git a/icons/obj/doors/airlocks/survival/survival_overlays.dmi b/icons/obj/doors/airlocks/survival/survival_overlays.dmi index 94c1a9fa34a127b46ed3d86d80155a3fe6263d56..f6b0d8eb699c7d3803751f550be4dfb3057559c4 100644 GIT binary patch literal 19943 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 RGu{U|(9_k=Wt~$(696D^*%AN% literal 18378 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%0DsGBYpu+>EFIU xuzd$i?G?`fski^#_?^uuPDf1qq3?>&b1|8Uq_e3I{2x6Kxu;67{KtCU{~w?VI!6Ei