From 33b566afbaa91042646b0ddd907717006e926f20 Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Fri, 26 Jul 2024 02:02:13 +0300 Subject: [PATCH] Runtime fix --- maps/torch_fd/fd_torch.dm | 2 +- maps/torch_fd/torch2_deck4.dmm | 2 +- maps/torch_fd/torch_shuttles.dm | 482 ++++++++++++++++++++++++++++++++ maps/torch_fd/z7_admin.dmm | 11 +- 4 files changed, 489 insertions(+), 8 deletions(-) create mode 100644 maps/torch_fd/torch_shuttles.dm diff --git a/maps/torch_fd/fd_torch.dm b/maps/torch_fd/fd_torch.dm index 3bec82acae481..7189a3ce15099 100644 --- a/maps/torch_fd/fd_torch.dm +++ b/maps/torch_fd/fd_torch.dm @@ -27,7 +27,7 @@ #include "torch_ranks.dm" #include "../torch/torch_security_state.dm" #include "../torch/torch_setup.dm" - #include "../torch/torch_shuttles.dm" + #include "torch_shuttles.dm" #include "../torch/torch_submaps.dm" #include "../torch/torch_turfs.dm" #include "../torch/torch_unit_testing.dm" diff --git a/maps/torch_fd/torch2_deck4.dmm b/maps/torch_fd/torch2_deck4.dmm index 13286e6d032e0..1168151fa5e65 100644 --- a/maps/torch_fd/torch2_deck4.dmm +++ b/maps/torch_fd/torch2_deck4.dmm @@ -120,7 +120,7 @@ "ct" = (/obj/floor_decal/industrial/warning{dir = 1; icon_state = "warning"},/obj/machinery/door/blast/regular/escape_pod,/turf/simulated/floor/reinforced,/area/maintenance/fourthdeck/aft) "cu" = (/turf/simulated/wall/r_wall/prepainted,/area/maintenance/fourthdeck/aft) "cv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/catwalk,/turf/simulated/floor/plating,/area/maintenance/fourthdeck/aft) -"cw" = (/obj/shuttle_landmark/merchant/out,/turf/space,/area/space) +"cw" = (/turf/space,/area/space) "cx" = (/obj/structure/railing/mapped,/turf/simulated/floor/reinforced{map_airless = 1; name = "vacuum reinforced floor"},/area/space) "cy" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled/monotile,/area/maintenance/fourthdeck/forestarboard) "cz" = (/obj/catwalk_plated,/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fourthdeck/forestarboard) diff --git a/maps/torch_fd/torch_shuttles.dm b/maps/torch_fd/torch_shuttles.dm new file mode 100644 index 0000000000000..11096913625bc --- /dev/null +++ b/maps/torch_fd/torch_shuttles.dm @@ -0,0 +1,482 @@ +//Some helpers because so much copypasta for pods +/datum/shuttle/autodock/ferry/escape_pod/torchpod + category = /datum/shuttle/autodock/ferry/escape_pod/torchpod + sound_takeoff = 'sound/effects/rocket.ogg' + sound_landing = 'sound/effects/rocket_backwards.ogg' + warmup_time = 10 + +/obj/shuttle_landmark/escape_pod/start + name = "Docked" + base_turf = /turf/simulated/floor/reinforced + +/obj/shuttle_landmark/escape_pod/transit + name = "In transit" + +/obj/shuttle_landmark/escape_pod/out + name = "Escaped" + +//Pods +#define TORCH_ESCAPE_POD(NUMBER) \ +/datum/shuttle/autodock/ferry/escape_pod/torchpod/escape_pod##NUMBER { \ + shuttle_area = /area/shuttle/escape_pod##NUMBER/station; \ + name = "Escape Pod " + #NUMBER; \ + dock_target = "escape_pod_" + #NUMBER; \ + arming_controller = "escape_pod_"+ #NUMBER +"_berth"; \ + waypoint_station = "escape_pod_"+ #NUMBER +"_start"; \ + landmark_transition = "escape_pod_"+ #NUMBER +"_internim"; \ + waypoint_offsite = "escape_pod_"+ #NUMBER +"_out"; \ +} \ +/obj/shuttle_landmark/escape_pod/start/pod##NUMBER { \ + landmark_tag = "escape_pod_"+ #NUMBER +"_start"; \ + docking_controller = "escape_pod_"+ #NUMBER +"_berth"; \ +} \ +/obj/shuttle_landmark/escape_pod/out/pod##NUMBER { \ + landmark_tag = "escape_pod_"+ #NUMBER +"_internim"; \ +} \ +/obj/shuttle_landmark/escape_pod/transit/pod##NUMBER { \ + landmark_tag = "escape_pod_"+ #NUMBER +"_out"; \ +} + +TORCH_ESCAPE_POD(6) +TORCH_ESCAPE_POD(7) +// TORCH_ESCAPE_POD(8) +TORCH_ESCAPE_POD(9) +TORCH_ESCAPE_POD(10) +TORCH_ESCAPE_POD(11) +TORCH_ESCAPE_POD(12) +TORCH_ESCAPE_POD(13) +TORCH_ESCAPE_POD(15) +TORCH_ESCAPE_POD(16) +TORCH_ESCAPE_POD(17) + +//Petrov + +/datum/shuttle/autodock/ferry/petrov + name = "Petrov" + warmup_time = 10 + dock_target = "petrov_shuttle_airlock" + waypoint_station = "nav_petrov_start" + waypoint_offsite = "nav_petrov_out" + logging_home_tag = "nav_petrov_start" + logging_access = access_petrov_helm + ceiling_type = /turf/simulated/floor/shuttle_ceiling + +/datum/shuttle/autodock/ferry/petrov/New(_name, obj/shuttle_landmark/initial_location) + shuttle_area = subtypesof(/area/shuttle/petrov) + ..() + +/obj/shuttle_landmark/petrov/start + name = "First Deck" + landmark_tag = "nav_petrov_start" + docking_controller = "petrov_shuttle_dock_airlock" + +/obj/shuttle_landmark/petrov/out + name = "Space near the ship" + landmark_tag = "nav_petrov_out" + +//Ninja Shuttle. +/datum/shuttle/autodock/multi/antag/ninja + destination_tags = list( + "nav_ninja_deck1", + "nav_ninja_deck2", + "nav_ninja_deck3", + "nav_ninja_deck4", + "nav_ninja_deck5", + "nav_ninja_hanger", + "nav_away_6", + "nav_derelict_5", + "nav_cluster_6", + "nav_ninja_start", + "nav_lost_supply_base_antag", + "nav_marooned_antag", + "nav_smugglers_antag", + "nav_magshield_antag", + "nav_casino_antag", + "nav_yacht_antag", + "nav_slavers_base_antag" + ) + +/obj/shuttle_landmark/ninja/hanger + name = "West of Hanger Deck" + landmark_tag = "nav_ninja_hanger" + +/obj/shuttle_landmark/ninja/deck1 + name = "South of First Deck" + landmark_tag = "nav_ninja_deck1" + +/obj/shuttle_landmark/ninja/deck2 + name = "Northeast of Second Deck" + landmark_tag = "nav_ninja_deck2" + +/obj/shuttle_landmark/ninja/deck3 + name = "East of Third Deck" + landmark_tag = "nav_ninja_deck3" + +/obj/shuttle_landmark/ninja/deck4 + name = "West of Fourth Deck" + landmark_tag = "nav_ninja_deck4" + +/obj/shuttle_landmark/ninja/deck5 + name = "Southeast of Bridge" + landmark_tag = "nav_ninja_deck5" + +//Merchant +/* +/datum/shuttle/autodock/ferry/merchant + name = "Merchant" + warmup_time = 10 + shuttle_area = /area/shuttle/merchant/home + waypoint_station = "nav_merchant_start" + waypoint_offsite = "nav_merchant_out" + dock_target = "merchant_ship_dock" + +/obj/shuttle_landmark/merchant/start + name = "Merchant Base" + landmark_tag = "nav_merchant_start" + docking_controller = "merchant_station_dock" + +/obj/shuttle_landmark/merchant/out + name = "Docking Bay" + landmark_tag = "nav_merchant_out" + docking_controller = "merchant_shuttle_station_dock" +*/ +//Admin + +/datum/shuttle/autodock/ferry/administration + name = "Administration" + warmup_time = 10 //want some warmup time so people can cancel. + shuttle_area = /area/shuttle/administration/centcom + dock_target = "admin_shuttle" + waypoint_station = "nav_admin_start" + waypoint_offsite = "nav_admin_out" + +/obj/shuttle_landmark/admin/start + name = "Centcom" + landmark_tag = "nav_admin_start" + docking_controller = "admin_shuttle" + base_area = /area/centcom + base_turf = /turf/simulated/floor/plating + +/obj/shuttle_landmark/admin/out + name = "Docking Bay" + landmark_tag = "nav_admin_out" + docking_controller = "admin_shuttle_dock_airlock" + +//Transport +/* +/datum/shuttle/autodock/ferry/centcom + name = "Centcom" + location = 1 + warmup_time = 10 + shuttle_area = /area/shuttle/transport1/centcom + dock_target = "centcom_shuttle" + waypoint_offsite = "nav_ferry_start" + waypoint_station = "nav_ferry_out" + +/obj/shuttle_landmark/ferry/start + name = "Centcom" + landmark_tag = "nav_ferry_start" + docking_controller = "centcom_shuttle_bay" + +/obj/shuttle_landmark/ferry/out + name = "Docking Bay" + landmark_tag = "nav_ferry_out" + docking_controller = "centcom_shuttle_dock_airlock" +*/ +/obj/shuttle_landmark/merc/hanger + name = "Northeast of Hanger Deck" + landmark_tag = "nav_merc_hanger" + +/obj/shuttle_landmark/merc/deck1 + name = "Northeast of First Deck" + landmark_tag = "nav_merc_deck1" + +/obj/shuttle_landmark/merc/deck2 + name = "Southeast of the Second deck" + landmark_tag = "nav_merc_deck2" + +/obj/shuttle_landmark/merc/deck3 + name = "South of Third deck" + landmark_tag = "nav_merc_deck3" + +/obj/shuttle_landmark/merc/deck4 + name = "Northwest of Fourth Deck" + landmark_tag = "nav_merc_deck4" + +/obj/shuttle_landmark/merc/deck5 + name = "East of Bridge" + landmark_tag = "nav_merc_deck5" + +/obj/shuttle_landmark/vox_raider/dock + name = "4th Deck, Aft Starboard Airlock" + landmark_tag = "nav_vox_raider_dock" + +//Skipjack +/datum/shuttle/autodock/multi/antag/skipjack + destination_tags = list( + "nav_skipjack_deck1", + "nav_skipjack_deck2", + "nav_skipjack_deck3", + "nav_skipjack_deck4", + "nav_skipjack_deck5", + "nav_skipjack_hanger", + "nav_away_7", + "nav_derelict_7", + "nav_cluster_7", + "nav_skipjack_dock", + "nav_skipjack_start", + "nav_lost_supply_base_antag", + "nav_marooned_antag", + "nav_smugglers_antag", + "nav_magshield_antag", + "nav_casino_antag", + "nav_yacht_antag", + "nav_slavers_base_antag", + ) + +/obj/shuttle_landmark/skipjack/hanger + name = "North of Hanger Deck" + landmark_tag = "nav_skipjack_hanger" + +/obj/shuttle_landmark/skipjack/deck1 + name = "Northwest of First Deck" + landmark_tag = "nav_skipjack_deck1" + +/obj/shuttle_landmark/skipjack/deck2 + name = "Southwest of the Second deck" + landmark_tag = "nav_skipjack_deck2" + +/obj/shuttle_landmark/skipjack/deck3 + name = "Southeast of Third deck" + landmark_tag = "nav_skipjack_deck3" + +/obj/shuttle_landmark/skipjack/deck4 + name = "Northwest of Fourth Deck" + landmark_tag = "nav_skipjack_deck4" + +/obj/shuttle_landmark/skipjack/deck5 + name = "South of Bridge" + landmark_tag = "nav_skipjack_deck5" + +//NT Rescue Shuttle + +/datum/shuttle/autodock/multi/antag/rescue + destination_tags = list( + "nav_ert_deck1", + "nav_ert_deck2", + "nav_ert_deck3", + "nav_ert_deck4", + "nav_ert_deck5", + "nav_ert_hanger", + "nav_away_4", + "nav_derelict_4", + "nav_cluster_4", + "nav_ert_dock", + "nav_ert_start", + "nav_lost_supply_base_antag", + "nav_marooned_antag", + "nav_smugglers_antag", + "nav_magshield_antag", + "nav_casino_antag", + "nav_yacht_antag", + "nav_slavers_base_antag", + ) + +/obj/shuttle_landmark/ert/hanger + name = "Southeast of Hanger deck" + landmark_tag = "nav_ert_hanger" + +/obj/shuttle_landmark/ert/deck1 + name = "Southwest of Fourth deck" + landmark_tag = "nav_ert_deck1" + +/obj/shuttle_landmark/ert/deck2 + name = "Northwest of Third deck" + landmark_tag = "nav_ert_deck2" + +/obj/shuttle_landmark/ert/deck3 + name = "Northwest of Second deck" + landmark_tag = "nav_ert_deck3" + +/obj/shuttle_landmark/ert/deck4 + name = "Southwest of First Deck" + landmark_tag = "nav_ert_deck4" + +/obj/shuttle_landmark/ert/deck5 + name = "West of Bridge" + landmark_tag = "nav_ert_deck5" + +//SCGMC Assault Pod +/* +/datum/shuttle/autodock/ferry/specops/ert + name = "Special Operations" + warmup_time = 10 + shuttle_area = /area/shuttle/specops/centcom + dock_target = "specops_shuttle_fore" + waypoint_station = "nav_specops_start" + waypoint_offsite = "nav_specops_out" + +/obj/shuttle_landmark/specops/start + name = "Centcom" + landmark_tag = "nav_specops_start" + docking_controller = "specops_shuttle_port" + +/obj/shuttle_landmark/specops/out + name = "Docking Bay" + landmark_tag = "nav_specops_out" + docking_controller = "specops_dock_airlock" +*/ +//Cargo drone + +/datum/shuttle/autodock/ferry/supply/drone + name = "Supply Drone" + location = 1 + warmup_time = 10 + shuttle_area = /area/supply/dock + waypoint_offsite = "nav_cargo_start" + waypoint_station = "nav_cargo_station" + +/obj/shuttle_landmark/supply/centcom + name = "Offsite" + landmark_tag = "nav_cargo_start" + +/obj/shuttle_landmark/supply/station + name = "Hangar" + landmark_tag = "nav_cargo_station" + base_area = /area/quartermaster/hangar + base_turf = /turf/simulated/floor/plating + +/datum/shuttle/autodock/overmap/exploration_shuttle + name = "Charon" + move_time = 60 + shuttle_area = list(/area/exploration_shuttle/cockpit, /area/exploration_shuttle/atmos, /area/exploration_shuttle/power, /area/exploration_shuttle/crew, /area/exploration_shuttle/cargo, /area/exploration_shuttle/airlock, /area/exploration_shuttle/medical, /area/exploration_shuttle/fuel) + dock_target = "charon_shuttle" + current_location = "nav_hangar_charon" + landmark_transition = "nav_transit_charon" + range = 1 + fuel_consumption = 4 + logging_home_tag = "nav_hangar_charon" + logging_access = access_expedition_shuttle_helm + ceiling_type = /turf/simulated/floor/shuttle_ceiling/torch + +/obj/shuttle_landmark/torch/hangar/exploration_shuttle + name = "Charon Hangar" + landmark_tag = "nav_hangar_charon" + base_area = /area/quartermaster/hangar + base_turf = /turf/simulated/floor/plating + +/obj/shuttle_landmark/torch/deck1/exploration_shuttle + name = "Space near Forth Deck" + landmark_tag = "nav_deck1_charon" + +/obj/shuttle_landmark/torch/deck2/exploration_shuttle + name = "Space near Third Deck" + landmark_tag = "nav_deck2_charon" + +/obj/shuttle_landmark/torch/deck3/exploration_shuttle + name = "Space near Second Deck" + landmark_tag = "nav_deck3_charon" + +/obj/shuttle_landmark/torch/deck4/exploration_shuttle + name = "Space near First Deck" + landmark_tag = "nav_deck4_charon" + +/obj/shuttle_landmark/torch/deck5/exploration_shuttle + name = "Space near Bridge" + landmark_tag = "nav_bridge_charon" + +/obj/shuttle_landmark/transit/torch/exploration_shuttle + name = "In transit" + landmark_tag = "nav_transit_charon" + +/datum/shuttle/autodock/overmap/guppy + name = "Guppy" + warmup_time = 5 + move_time = 20 + shuttle_area = /area/guppy_hangar/start + dock_target ="guppy_shuttle" + current_location = "nav_hangar_guppy" + landmark_transition = "nav_transit_guppy" + sound_takeoff = 'sound/effects/rocket.ogg' + sound_landing = 'sound/effects/rocket_backwards.ogg' + fuel_consumption = 2 + logging_home_tag = "nav_hangar_guppy" + logging_access = access_guppy_helm + skill_needed = SKILL_UNSKILLED + ceiling_type = /turf/simulated/floor/shuttle_ceiling/torch + +/obj/shuttle_landmark/torch/hangar/guppy + name = "Guppy Hangar" + landmark_tag = "nav_hangar_guppy" + base_area = /area/quartermaster/hangar + base_turf = /turf/simulated/floor/plating + +/obj/shuttle_landmark/torch/deck1/guppy + name = "Space near Forth Deck" + landmark_tag = "nav_deck1_guppy" + +/obj/shuttle_landmark/torch/deck2/guppy + name = "Space near Third Deck" + landmark_tag = "nav_deck2_guppy" + +/obj/shuttle_landmark/torch/deck3/guppy + name = "Space near Second Deck" + landmark_tag = "nav_deck3_guppy" + +/obj/shuttle_landmark/torch/deck4/guppy + name = "Space near First Deck" + landmark_tag = "nav_deck4_guppy" + +/obj/shuttle_landmark/torch/deck5/guppy + name = "Space near Bridge" + landmark_tag = "nav_bridge_guppy" + +/obj/shuttle_landmark/transit/torch/guppy + name = "In transit" + landmark_tag = "nav_transit_guppy" + +/datum/shuttle/autodock/overmap/aquila + name = "Aquila" + move_time = 50 + shuttle_area = list(/area/aquila/cockpit, /area/aquila/power, /area/aquila/storage, /area/aquila/suits, /area/aquila/air, /area/aquila/crew, /area/aquila/medical, /area/aquila/airlock) + current_location = "nav_hangar_aquila" + landmark_transition = "nav_transit_aquila" + dock_target = "aquila_shuttle" + range = 2 + logging_home_tag = "nav_hangar_aquila" + logging_access = access_aquila_helm + ceiling_type = /turf/simulated/floor/shuttle_ceiling/torch + +/obj/shuttle_landmark/torch/hangar/aquila + name = "Aquila Hangar" + landmark_tag = "nav_hangar_aquila" + docking_controller = "aquila_shuttle_dock_airlock" + base_turf = /turf/simulated/floor/reinforced + +/obj/shuttle_landmark/torch/deck1/aquila + name = "Space near Forth Deck" + landmark_tag = "nav_deck1_aquila" + +/obj/shuttle_landmark/torch/deck2/aquila + name = "Space near Third Deck" + landmark_tag = "nav_deck2_aquila" + +/obj/shuttle_landmark/torch/deck3/aquila + name = "Space near Second Deck" + landmark_tag = "nav_deck3_aquila" + +/obj/shuttle_landmark/torch/deck4/aquila + name = "Space near First Deck" + landmark_tag = "nav_deck4_aquila" + +/obj/shuttle_landmark/torch/deck5/aquila + name = "Space near Bridge" + landmark_tag = "nav_bridge_aquila" + +/obj/shuttle_landmark/transit/torch/aquila + name = "In transit" + landmark_tag = "nav_transit_aquila" + +//Makes the deck management program use hangar access +/datum/nano_module/deck_management + default_access = list(access_hangar, access_cargo, access_heads) diff --git a/maps/torch_fd/z7_admin.dmm b/maps/torch_fd/z7_admin.dmm index 6c4d497801f10..3e81be3a1a65e 100644 --- a/maps/torch_fd/z7_admin.dmm +++ b/maps/torch_fd/z7_admin.dmm @@ -628,7 +628,7 @@ "avn" = (/obj/structure/bed/chair/shuttle,/obj/structure/sign/warning/nosmoking_1{pixel_y = 24},/obj/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled/dark,/area/centcom/ferry) "avp" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/surgery,/obj/item/reagent_containers/glass/bottle/stoxin,/obj/item/reagent_containers/syringe,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/cleaner,/obj/structure/closet/medical_wall{pixel_x = -32},/obj/item/storage/bag/cash/infinite,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom) "avq" = (/obj/machinery/vending/cola{dir = 4},/turf/simulated/floor/tiled/monotile,/area/centcom/hallway) -"avs" = (/obj/machinery/door/airlock/centcom{name = "General Access"},/turf/unsimulated/floor/plating,/area/shuttle/administration/centcom) +"avs" = (/obj/machinery/door/airlock/centcom{name = "General Access"; id_tag = "admin_shuttle_inner"},/turf/unsimulated/floor/plating,/area/shuttle/administration/centcom) "avt" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom) "avu" = (/obj/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled,/area/centcom/hallway) "avv" = (/turf/unsimulated/wall{color = "black"; name = "void"},/area/fd/end) @@ -648,7 +648,7 @@ "avO" = (/obj/floor_decal/borderfloorblack{dir = 8},/obj/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/steel_grid,/area/centcom/hallway/adherent) "avP" = (/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/black,/area/shuttle/administration/centcom) "avQ" = (/obj/structure/table/reinforced,/obj/item/deck/cards,/turf/simulated/floor/wood/walnut,/area/shuttle/administration/centcom) -"avS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "closed"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"},/obj/shuttle_landmark/admin/start,/turf/unsimulated/floor/plating,/area/shuttle/administration/centcom) +"avS" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "closed"; id_tag = "admin_shuttle_outer"; locked = 1; name = "Shuttle Hatch"},/obj/shuttle_landmark/admin/start,/turf/unsimulated/floor/plating,/area/shuttle/administration/centcom) "avT" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space) "avU" = (/obj/machinery/light/small{dir = 8},/obj/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled,/area/centcom/arrivals/docks) "avV" = (/turf/simulated/wall/invincible/prepainted,/area/centcom/control) @@ -1926,7 +1926,7 @@ "gZJ" = (/obj/floor_decal/industrial/warning/fulltile,/turf/simulated/floor/tiled/techfloor,/area/centcom/engineering/reactor) "haT" = (/obj/floor_decal/spline/plain/black{dir = 9},/turf/simulated/floor/shuttle/black,/area/space) "hbm" = (/obj/structure/table/woodentable/walnut,/obj/floor_decal/spline/fancy/wood,/turf/simulated/floor/wood/walnut,/area/centcom/control/command) -"hbJ" = (/obj/shuttle_landmark/ferry/start,/turf/space,/area/space) +"hbJ" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{cycle_to_external_air = 1; dir = 8; frequency = 1331; id_tag = "admin_shuttle"; pixel_x = 26; req_access = list("ACCESS_CENT_GENERAL")},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom) "hcj" = (/obj/structure/hygiene/sink{dir = 4; pixel_x = 11; pixel_y = 5},/obj/item/storage/mirror{pixel_x = 25},/obj/floor_decal/borderfloorwhite{dir = 6},/obj/floor_decal/corner/green{dir = 1},/turf/simulated/floor/tiled/old_tile,/area/fd/end) "hel" = (/obj/floor_decal/corner/black/border{dir = 4},/turf/simulated/floor/tiled,/area/centcom/beauro) "hep" = (/obj/structure/table/steel_reinforced,/obj/machinery/photocopier/faxmachine{department = "Observatory - Command"},/obj/machinery/light/spot{dir = 8},/turf/simulated/floor/tiled/dark/monotile,/area/centcom/control) @@ -3051,7 +3051,6 @@ "uQe" = (/obj/floor_decal/corner/paleblue/three_quarters{dir = 8},/turf/simulated/floor/tiled/white,/area/centcom/hallway) "uRe" = (/obj/floor_decal/corner/red/three_quarters,/obj/machinery/light/small,/turf/simulated/floor/tiled/techfloor,/area/space) "uRT" = (/obj/structure/window/boron_reinforced{dir = 8},/obj/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/blackgrid,/area/space) -"uSb" = (/obj/shuttle_landmark/specops/start,/turf/space,/area/space) "uSI" = (/obj/floor_decal/scglogo{dir = 8; icon_state = "top-left"},/turf/simulated/floor/tiled/dark,/area/centcom/control/conference) "uTQ" = (/obj/structure/sign/warning/radioactive{pixel_y = 32},/obj/structure/table/steel_reinforced,/obj/item/paper_bin,/obj/item/pen/multi,/turf/simulated/floor/tiled/techfloor/grid,/area/centcom/engineering/control) "uUD" = (/obj/machinery/light/small,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_monotile"},/area/centcom/arrivals/docks) @@ -3383,7 +3382,7 @@ aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaa aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOvbwpgYatObTsmFNeGaatOtxwpgYatOlaktBmbTsatOxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOvbwpgYatOarxaiypgYlIVtxwpgYlIVtxwaiyxqXatOxoaatOaiyaiyaiyaiyaiyaiyaiyaLLqfjaLFaLLaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOvbwpgYatObTsezzeGaatOtxwpgYatOlakftabTsatOxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab -aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabhbJaabuSbaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOatOhpYatOatOatOatOatOatOatOatOatOatOatOatOxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab +aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOatOhpYatOatOatOatOatOatOatOatOatOatOatOatOxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOaiyaiyaiyaiyaiyaiyaiyatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabxoaxoaatOaiyaiyaiyaiyaiyaiyaiyatOqfjaLFatOaiyaiyaiyaiyaiyaiyaiyatOatOatOatOatOatOatOatOatOatOatOatOatOatOatOatOatOxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab @@ -3454,7 +3453,7 @@ aabaabaabaabaabaabaabaabaabaabaabaabaabaabaYepTGpTGpTGpTGaabaabaabaabaabaabaabaa aabaabaabaabaabaabaabaabaabaabaabaabaabaabaYepTGpTGpTGpTGaabaabaabaabaabaabaabaabaabavEavEaulaulaulaulaulaulaulaulatdatdaulaulaulaulaulayratfrUfaDDaHkaabaabaabaCzaHochSaxyatOatOatOatOatOxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaavxlcQaIbaHuatRauwauzjlAauzauzauwavxxoaxoaxoapKupKupKupKupKupKuxoaxoaaxwqgLiKxuAyaxwaGolKZkZLvMJrtortorFxaxwaxwvPdaxwaxwoLSnOiwJGnOioLSnOiwJGnOioLSbNYgYdgpOwenaEeaEeaEeaEeaEeaEeaEeaEeaEeaEewenxoaxoaxoanaolaElaEqVpnaonaoaxFqYDnaowyCpbzsYRqlznaoxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabaabaYepTGpTGpTGpTGaabaabaabaabaabaabaabaabaabaabatBatCavaavbavcavdaveavfaulatqatdaulasZasZasZaulaulaulaulaulasSaabaabaabaCzwMMaDmaxyxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaavxatYaIbaHuatRauoauoauoavBauoauoavxxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaxwaxwaxwaxwaxwayqlKZeyThQRnyWhQRpqTaxwuAypzGmMhaxwoLSoLSrQroLSoLSoLSrQroLSoLSuGSjyKnTTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTkWZowLqAvaGTaGTnaonaonaonaoxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabpTGaYepTGpTGpTGpTGaabaabaabaabaabaabaabaabaabaabatUatCatdatdatdatdatdatdaDlatdatdaDlatdatdatdaulaHXoDsaGEaGEaHkaabaabaabaCzaHochSaxyxoaxoaxoabRHbRHbRHbRHbRHbRHbRHxoaxoaxoaxoaxoaxoaavxlcQaIbikkavxatRauoauoauoauoatRavxxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaxwfNAdAcxgEaxwaGolKZeyTxGzxGzhQRekjaxwuFsuFshbmaxwuXMugKcCZcCZcCZcCZcCZugKcCZehOvVSfqpcCZugKcCZcCZcCZajycCZcCZcCZugKcCZcCZcCZugKcCZcCZehOvVSnKHvVSvVSvVSvVSvVSnKHaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab -aabaabaabaabaabaabaabaabaabaabaabaabaabpTGaYepTGpTGpTGpTGpTGaabaabaabaabaabaabaabaabavEavEavEavEaulaulatdatdatdaulatdatdaulatqatdatdaGsaHXaHXdSbbhgaHkaabaabaabaxypUCbhbaxybRHbRHbRHbRHjsEazWtwoqQUwjtbRHbRHbRHaGTaGTaGTaGTavxavxaHYavxavxavxavxavxavxavxavxavxaGTaGTaGTaGTaGTaGTaGTaGTaGTxoaxoaaxwjwaiKxpzGvPdaGolKZeyTxGzaFbxGzxGzaxwfBKawmdEDaxwvftmvSgeCgeCgeCgeCgeCgeCgeCozZvVSmvSgeCgeCgeCgeCgeCpEcgeCgeCgeCgeCgeCgeCgeCgeCgeCgeCozZvVSatPatPatPwqHaLXaLXaLXaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab +aabaabaabaabaabaabaabaabaabaabaabaabaabpTGaYepTGpTGpTGpTGpTGaabaabaabaabaabaabaabaabavEavEavEavEaulaulatdatdatdaulatdhbJaulatqatdatdaGsaHXaHXdSbbhgaHkaabaabaabaxypUCbhbaxybRHbRHbRHbRHjsEazWtwoqQUwjtbRHbRHbRHaGTaGTaGTaGTavxavxaHYavxavxavxavxavxavxavxavxavxaGTaGTaGTaGTaGTaGTaGTaGTaGTxoaxoaaxwjwaiKxpzGvPdaGolKZeyTxGzaFbxGzxGzaxwfBKawmdEDaxwvftmvSgeCgeCgeCgeCgeCgeCgeCozZvVSmvSgeCgeCgeCgeCgeCpEcgeCgeCgeCgeCgeCgeCgeCgeCgeCgeCozZvVSatPatPatPwqHaLXaLXaLXaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabaabpTGaYepTGpTGpTGpTGpTGaabaabaabaabaabaabaabaabaabaabaabatBatCatdatdatdatdaulaIhavsaulatdatdatdaulaHyaHXaHXauIaHkaabaabaabaCzaHochSaxybRHbpbbxbbRHazCaHraHraHrautbRHavHjTcaPFaPFaPFaPFaJAaPFaPFaPFaPFaPFaJAaPFaPFaPFmBhaGTxcuxcuxcukvUwhomCQaHwaILaGTxoaxoaaxwpSfiKxuAyaxwaGolKZaxwaxwaxwaxwaxwaxwaxwaxwaxwaxwvftkiAavVavVavVavVavVibneCKvftvVSkiAeCKewqavVavVavVavVavVavVavVavVavVavVavVavVavVavVvftatPaGTaGTeacaGTeacjSHjSHaGTaGTaGTaGTaGTaGTaGTaGTaGTaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabaabaabaabpTGpTGaYepTGpTGpTGpTGpTGpTGaabaabaabaabaabaabaabaabaabaabatUatCavtaunavKavLaulcESerPaulauiaxzauiasSasSasSaHkaHkaHkaabaabaabaCzwMMaDmaxybRHkBtaBObRHaIXaHraxfateayXbRHavHjTcavlavlavlatPatPatPavlavlavlatPatPatPavlavlauVaGTxcuxcuxcuxcuxcuxcuxcuxcuaGTxoaxoaaxwaxwaxwaxwaxwaGolKZaxwmMhniBwOmaxwuFvhgoshdgjeaGTnqtxFXavVavVvLnmNcavVavVavVbEbawbbEbavVavVavVmNcvLnavVavVawyawzawAawBaaeavVatvatvavVvftatPaGTlfCfbfehhwdbiFubPYlOIakUcBHlCQcBHrbbhQOsJFiJTaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab aabaabaabaabaabaabaabaabaabpTGpTGpTGpTGpTGaYepTGpTGpTGpTGpTGpTGpTGaabaabaabaabaabaabaabaabavEavEasSasSasSasSasSasShIzavSxDjasSasSasSdQQmvtaabaabaabaabaabaabaabaCzaHochSaxybRHaBhaHrbRHaGDaHJaHBaEHqWGbRHavHjTcgYdgYdgYdgYdgYdgYdgYdgYdgYdgYdgYdgYdawvavlauVaGTxcuxcuxcuxcuxcuxcuxcuxcuaGTaGTaGTaGTaGTaGThZQmVYprflKZvPdpzGvwsvrSaxwuXMcCZcCZcCZcCZehOkiAavVeXWusKvbMhSvaGcuvpayvayvayvayvaGcubacMGpIEhNAavVernmpGawGawGawGavVatvatvavVvftatPeacjYsuQehGQhGQgrfnaIhGQhGQgpxpZlejfpZlveFveFprWaGTxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaxoaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaab