diff --git a/_maps/basemap.dm b/_maps/basemap.dm
deleted file mode 100644
index 47d760f17d..0000000000
--- a/_maps/basemap.dm
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "map_files\generic\CentCom.dmm"
-#include "map_files\generic\SpaceStation.dmm"
-#include "map_files\generic\Space.dmm"
-#include "map_files\generic\SpaceDock.dmm"
-#include "map_files\Mining\Lavaland.dmm"
-#include "map_files\generic\City_of_Cogs.dmm"
-
-#ifdef ALL_MAPS
-#include "map_files\debug\runtimestation.dmm"
-#include "cit_map_files\Deltastation\DeltaStation2.dmm"
-#include "cit_map_files\MetaStation\MetaStation.dmm"
-#include "cit_map_files\OmegaStation\OmegaStation.dmm"
-#include "cit_map_files\PubbyStation\PubbyStation.dmm"
-#include "cit_map_files\BoxStation\BoxStation.dmm"
-
-#ifdef TRAVISBUILDING
-#include "templates.dm"
-#endif
-#endif
\ No newline at end of file
diff --git a/_maps/birdstation.dm b/_maps/birdstation.dm
deleted file mode 100644
index 326a5217bc..0000000000
--- a/_maps/birdstation.dm
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Birdstation by Tokiko1
-
-A small map intended for lowpop(40 players and less).
-
-*/
-
-
-#if !defined(MAP_FILE)
-
- #define TITLESCREEN "title" //Add an image in misc/fullscreen.dmi, and set this define to the icon_state, to set a custom titlescreen for your map
-
- #define MINETYPE "lavaland"
-
- #include "map_files\BirdStation\BirdStation.dmm"
-#ifndef TRAVIS_MASS_MAP_BUILD
- #include "map_files\generic\z2.dmm"
- #include "map_files\generic\z3.dmm"
- #include "map_files\generic\z4.dmm"
- #include "map_files\generic\lavaland.dmm"
- #include "map_files\generic\z6.dmm"
- #include "map_files\generic\z7.dmm"
- #include "map_files\generic\z8.dmm"
- #include "map_files\generic\z9.dmm"
- #include "map_files\generic\z10.dmm"
- #include "map_files\generic\z11.dmm"
-
- #define MAP_PATH "map_files/BirdStation"
- #define MAP_FILE "BirdStation.dmm"
- #define MAP_NAME "BirdboatStation"
-
- #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG
-#endif
- #if !defined(MAP_OVERRIDE_FILES)
- #define MAP_OVERRIDE_FILES
- #include "map_files\BirdStation\job\job_changes.dm"
- #include "map_files\BirdStation\job\removed_jobs.dm"
- #endif
-
-#elif !defined(MAP_OVERRIDE)
-
- #warn a map has already been included, ignoring birdstation.
-
-#endif
diff --git a/_maps/map_files/OmegaStation/job/job_changes.dm b/_maps/map_files/OmegaStation/job/job_changes.dm
deleted file mode 100644
index a844a95305..0000000000
--- a/_maps/map_files/OmegaStation/job/job_changes.dm
+++ /dev/null
@@ -1,129 +0,0 @@
-
-//custom access for some jobs. pasted together from ministation.
-
-/datum/job/New()
- ..()
- supervisors = "the captain and the head of personnel"
-
-/datum/outfit/job/New()
- box = /obj/item/storage/box/survival/radio
-
-/datum/job/assistant // Here so assistant appears on the top of the select job list.
-
-//Command
-
-/datum/job/captain/New()
- ..()
- supervisors = "Nanotrasen and Central Command"
-
-/datum/job/hop/New()
- ..()
- supervisors = "the captain and Central Command"
-
-/datum/job/hop/get_access()
- return get_all_accesses()
-
-//Security
-
-/datum/job/officer/New()
- ..()
- total_positions = 3
- spawn_positions = 3
- access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
- minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
-
-/datum/outfit/job/officer/New()
- box = /obj/item/storage/box/security/radio
-
-/datum/job/detective/New()
- ..()
- access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
- minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
-
-/datum/outfit/job/detective/New()
- box = /obj/item/storage/box/security/radio
-
-//Medbay
-
-/datum/job/doctor/New()
- ..()
- selection_color = "#ffffff"
- total_positions = 3
- spawn_positions = 3
- access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
- minimal_access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
-
-//Engineering
-
-/datum/job/engineer/New()
- ..()
- total_positions = 2
- spawn_positions = 2
- access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_tcomsat)
- minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_tcomsat)
-
-/datum/outfit/job/engineer/New()
- box = /obj/item/storage/box/engineer/radio
-
-/datum/job/atmos/New()
- ..()
- total_positions = 2
- spawn_positions = 2
-
-//Science
-
-/datum/job/scientist/New()
- ..()
- total_positions = 3
- spawn_positions = 3
- access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage)
- minimal_access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage)
-
-//Cargo
-
-/datum/job/cargo_tech/New()
- ..()
- total_positions = 2
- spawn_positions = 2
- access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
- minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
-
-/datum/job/mining/New()
- ..()
- total_positions = 2
- spawn_positions = 2
- access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
- minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
-
-/datum/outfit/job/mining/New()
- box = /obj/item/storage/box/engineer/radio
-
-//Service
-
-/datum/job/bartender/New()
- ..()
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
-
-/datum/job/cook/New()
- ..()
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
-
-/datum/job/hydro/New()
- ..()
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
- // they get maint access because of all the hydro content in maint
-
-/datum/job/janitor/New()
- ..()
- access = list(access_janitor, access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
- minimal_access = list(access_janitor, access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
-
-
-//Civilian
-
-/datum/job/clown/New()
- ..()
- supervisors = "nobody but yourself" //Honk
diff --git a/_maps/map_files/OmegaStation/job/removed_jobs.dm b/_maps/map_files/OmegaStation/job/removed_jobs.dm
deleted file mode 100644
index 447f4ebd76..0000000000
--- a/_maps/map_files/OmegaStation/job/removed_jobs.dm
+++ /dev/null
@@ -1,29 +0,0 @@
-//removed jobs. pasted together from MiniStation.
-
-
-/datum/job/hos/config_check()
- return 0
-
-/datum/job/chief_engineer/config_check()
- return 0
-
-/datum/job/qm/config_check()
- return 0
-
-/datum/job/cmo/config_check()
- return 0
-
-/datum/job/geneticist/config_check()
- return 0
-
-/datum/job/virologist/config_check()
- return 0
-
-/datum/job/rd/config_check()
- return 0
-
-/datum/job/warden/config_check()
- return 0
-
-/datum/job/lawyer/config_check()
- return 0
\ No newline at end of file
diff --git a/_maps/map_files/PubbyStation/EDITING_README.txt b/_maps/map_files/PubbyStation/EDITING_README.txt
deleted file mode 100644
index a97e77f994..0000000000
--- a/_maps/map_files/PubbyStation/EDITING_README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Before opening PubbyStation.dme in DreamMaker, you have to tick all the
-.dm files in this folder first. Otherwise you will get path errors.
-
-Do not commit these changes to tgstation.dme.
diff --git a/_maps/map_files/PubbyStation/areas.dm b/_maps/map_files/PubbyStation/areas.dm
deleted file mode 100644
index e15bc87193..0000000000
--- a/_maps/map_files/PubbyStation/areas.dm
+++ /dev/null
@@ -1,7 +0,0 @@
-/area/chapel/asteroid
- name = "Chapel Asteroid"
- icon_state = "explored"
-
-/area/chapel/dock
- name = "Chapel Dock"
- icon_state = "construction"
diff --git a/_maps/map_files/PubbyStation/job/job_changes.dm b/_maps/map_files/PubbyStation/job/job_changes.dm
deleted file mode 100644
index 232f127f2d..0000000000
--- a/_maps/map_files/PubbyStation/job/job_changes.dm
+++ /dev/null
@@ -1,20 +0,0 @@
-/datum/job/assistant
-/datum/job/captain
-/datum/job/hop
-
-/datum/job/hos/New()
- ..()
- access += access_crematorium
- minimal_access += access_crematorium
-
-/datum/job/warden/New()
- ..()
- access += access_crematorium
- minimal_access += access_crematorium
-
-/datum/job/officer/New()
- ..()
- access += access_crematorium
- minimal_access += access_crematorium
-
-/datum/job/detective
diff --git a/_maps/map_files/PubbyStation/job/removed_jobs.dm b/_maps/map_files/PubbyStation/job/removed_jobs.dm
deleted file mode 100644
index aea9363737..0000000000
--- a/_maps/map_files/PubbyStation/job/removed_jobs.dm
+++ /dev/null
@@ -1,5 +0,0 @@
-/datum/job/librarian/config_check()
- return 0
-
-/datum/job/lawyer/config_check()
- return 0
diff --git a/_maps/map_files/PubbyStation/monastery_shuttle.dm b/_maps/map_files/PubbyStation/monastery_shuttle.dm
deleted file mode 100644
index b1cbb3c7b2..0000000000
--- a/_maps/map_files/PubbyStation/monastery_shuttle.dm
+++ /dev/null
@@ -1,11 +0,0 @@
-/obj/machinery/computer/shuttle/monastery_shuttle
- name = "monastery shuttle console"
- desc = "Used to control the monastery shuttle."
- circuit = /obj/item/circuitboard/computer/shuttle/monastery_shuttle
- shuttleId = "pod1"
- possible_destinations = "monastery_shuttle_asteroid;monastery_shuttle_station"
- no_destination_swap = TRUE
-
-/obj/item/circuitboard/computer/shuttle/monastery_shuttle
- name = "Monastery Shuttle (Computer Board)"
- build_path = /obj/machinery/computer/shuttle/monastery_shuttle
diff --git a/_maps/ministation.dm b/_maps/ministation.dm
deleted file mode 100644
index 268439050a..0000000000
--- a/_maps/ministation.dm
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-MiniStation FAQ - Mod Created By Giacom
-
-
-What is it?
-
-A mod of tgstation 13 that is modified for low population servers; with simplified jobs, maps, duties and command structure.
-
-How do I run it?
-
-Simply tick this file, and only this file in the _maps folder, then compile and you will be running MiniStation.
-
-Who is the target audience?
-
-Server hosters who want to host a server for a player count of around 5 to 20 people.
-
-What about the map?
-
-The map has been created from the ground up with population size in mind.
-
-What about the jobs?
-
-Many jobs have been combined or just plainly cut out. These are the remaining jobs with their duties next to them.
-
- * Captain - Make sure your station is running.
- * HoP - You're second in command, protect the Captain and be his right hand man.
- * Cargo Tech x3 - Running cargo bay and mining minerals for the station.
- * Bartender - Keeping the bar, serving drinks and food. Hire the unemployeed to grow food for you, or do it yourself.
- * Janitor - Cleans the station, removes litter and empty trash bins to be recycled by the crusher.
- * Station Engineer x4 - Keeping the power running and fixing station damage.
- * Security Officer x4 - Protecting the crewmembers and serving space law.
- * Detective - Using forensic science to help security officers catch criminals.
- * Scientist x4 - Research and development of new technologies and create bombs.
- * Medical Doctor x4 - Healing the crew, performing surgeries and cloning dead crew.
- * Chemist - Creating useful chemicals for the crew to use.
- * Clown - Create laughter and boost the morale of the crew. Honk!
- * Assistant xInfinity - Not in charge at all.
-
-There will be 26 job slots (not including Assistant) available on MiniStation; the HoP can add more from his ID computer.
-There is a more simplified command system, with the Captain being the big boss and the HoP being second in command.
-The heads will have control over all departments and jobs.
-
-What else has changed?
-
-Changes to the uplinks were made to discourage murderboning, the rest is the same.
-
-*/
-
-#if !defined(MAP_FILE)
-
- #define TITLESCREEN "title" //Add an image in misc/fullscreen.dmi, and set this define to the icon_state, to set a custom titlescreen for your map
-
- #define MINETYPE "mining"
-
- #include "map_files\MiniStation\MiniStation.dmm"
- #include "map_files\generic\z2.dmm"
- #include "map_files\generic\z3.dmm"
- #include "map_files\generic\z4.dmm"
- #include "map_files\MiniStation\z5.dmm"
- #include "map_files\generic\z6.dmm"
- #include "map_files\generic\z7.dmm"
- #include "map_files\generic\z8.dmm"
- #include "map_files\generic\z9.dmm"
- #include "map_files\generic\z10.dmm"
- #include "map_files\generic\z11.dmm"
-
- #define MAP_PATH "map_files/MiniStation"
- #define MAP_FILE "MiniStation.dmm"
- #define MAP_NAME "MiniStation"
-
- #define MAP_TRANSITION_CONFIG DEFAULT_MAP_TRANSITION_CONFIG
-
- #if !defined(MAP_OVERRIDE_FILES)
- #define MAP_OVERRIDE_FILES
- #include "map_files\MiniStation\misc.dm"
- #include "map_files\MiniStation\cargopacks.dm"
- #include "map_files\MiniStation\telecomms.dm"
- #include "map_files\MiniStation\uplink_item.dm"
- #include "map_files\MiniStation\job\jobs.dm"
- #include "map_files\MiniStation\job\removed.dm"
- #endif
-
-#elif !defined(MAP_OVERRIDE)
-
- #warn a map has already been included, ignoring ministation.
-
-#endif
diff --git a/_maps/shuttles/arrival_box.dmm b/_maps/shuttles/arrival_box.dmm
new file mode 100644
index 0000000000..1bd1c69d39
--- /dev/null
+++ b/_maps/shuttles/arrival_box.dmm
@@ -0,0 +1,288 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+"b" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"c" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Arrivals Shuttle Airlock"
+ },
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"d" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"e" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/regular,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"f" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"g" = (
+/obj/machinery/computer/arcade,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"h" = (
+/obj/structure/closet/wardrobe/green,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"i" = (
+/obj/structure/closet/wardrobe/black,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"j" = (
+/obj/structure/closet/wardrobe/mixed,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"k" = (
+/obj/structure/closet/wardrobe/grey,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"l" = (
+/obj/machinery/requests_console{
+ department = "Arrival shuttle";
+ name = "Arrivals Shuttle console";
+ pixel_y = 30
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"m" = (
+/obj/structure/shuttle/engine/heater{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"n" = (
+/obj/structure/shuttle/engine/propulsion/burst/right{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"o" = (
+/obj/structure/window/shuttle,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"p" = (
+/obj/structure/chair,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"q" = (
+/obj/structure/chair,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"r" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"s" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"t" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Arrivals Shuttle Airlock"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"u" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 4
+ },
+/obj/docking_port/mobile/arrivals,
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"v" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"w" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"x" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"y" = (
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"z" = (
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_y = -29
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"A" = (
+/obj/structure/shuttle/engine/propulsion/burst/left{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+
+(1,1,1) = {"
+a
+b
+o
+d
+d
+b
+a
+"}
+(2,1,1) = {"
+a
+b
+p
+f
+v
+b
+a
+"}
+(3,1,1) = {"
+a
+b
+q
+f
+w
+b
+a
+"}
+(4,1,1) = {"
+b
+b
+b
+t
+b
+b
+b
+"}
+(5,1,1) = {"
+b
+e
+f
+f
+f
+x
+b
+"}
+(6,1,1) = {"
+c
+f
+r
+r
+r
+f
+c
+"}
+(7,1,1) = {"
+b
+g
+f
+f
+f
+y
+b
+"}
+(8,1,1) = {"
+d
+h
+r
+r
+r
+f
+d
+"}
+(9,1,1) = {"
+d
+i
+f
+f
+f
+f
+d
+"}
+(10,1,1) = {"
+d
+j
+r
+r
+r
+f
+d
+"}
+(11,1,1) = {"
+d
+k
+f
+f
+f
+f
+d
+"}
+(12,1,1) = {"
+b
+l
+r
+r
+r
+z
+b
+"}
+(13,1,1) = {"
+c
+f
+f
+f
+f
+f
+c
+"}
+(14,1,1) = {"
+b
+m
+m
+m
+m
+m
+b
+"}
+(15,1,1) = {"
+b
+n
+s
+u
+s
+A
+b
+"}
diff --git a/_maps/shuttles/arrival_delta.dmm b/_maps/shuttles/arrival_delta.dmm
new file mode 100644
index 0000000000..df4976c7e4
--- /dev/null
+++ b/_maps/shuttles/arrival_delta.dmm
@@ -0,0 +1,565 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+"b" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"c" = (
+/obj/docking_port/mobile/arrivals{
+ dir = 2;
+ dwidth = 4;
+ height = 17;
+ name = "delta arrivals shuttle";
+ timid = 1;
+ width = 9
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/arrival)
+"d" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/arrival)
+"e" = (
+/obj/structure/window/reinforced,
+/obj/structure/shuttle/engine/heater{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"f" = (
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/arrival)
+"g" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"h" = (
+/obj/structure/window/shuttle,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"i" = (
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/structure/closet/crate/internals,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"j" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/wardrobe/mixed,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"k" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/toolbox/emergency,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"l" = (
+/obj/structure/table/reinforced,
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/item/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/regular,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"m" = (
+/obj/structure/table/reinforced,
+/obj/machinery/cell_charger,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"n" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Arrival Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/arrival)
+"o" = (
+/turf/open/floor/plasteel/neutral/side{
+ dir = 8;
+ heat_capacity = 1e+006
+ },
+/area/shuttle/arrival)
+"p" = (
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/arrival)
+"q" = (
+/turf/open/floor/plasteel/neutral/side{
+ dir = 4
+ },
+/area/shuttle/arrival)
+"r" = (
+/obj/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ dir = 8;
+ heat_capacity = 1e+006
+ },
+/area/shuttle/arrival)
+"s" = (
+/obj/machinery/holopad,
+/obj/effect/turf_decal/bot,
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"t" = (
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ dir = 4
+ },
+/area/shuttle/arrival)
+"u" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"v" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"w" = (
+/obj/machinery/requests_console{
+ department = "Arrival shuttle";
+ name = "Arrivals Shuttle console"
+ },
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/arrival)
+"x" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/structure/flora/ausbushes/ppflowers,
+/obj/structure/flora/ausbushes/sunnybush,
+/obj/structure/window/shuttle,
+/turf/open/floor/grass,
+/area/shuttle/arrival)
+"y" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/structure/flora/ausbushes/ywflowers,
+/obj/structure/flora/ausbushes/fernybush,
+/obj/structure/window/shuttle,
+/turf/open/floor/grass,
+/area/shuttle/arrival)
+"z" = (
+/obj/structure/sign/nanotrasen,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"A" = (
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ dir = 8;
+ heat_capacity = 1e+006
+ },
+/area/shuttle/arrival)
+"B" = (
+/obj/structure/table/reinforced,
+/obj/item/clipboard,
+/obj/item/toy/figure/assistant,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"C" = (
+/obj/machinery/vending/wallmed{
+ name = "Emergency NanoMed";
+ req_access_txt = "0";
+ use_power = 0
+ },
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/arrival)
+"D" = (
+/obj/structure/table/reinforced,
+/obj/item/folder,
+/obj/item/storage/pill_bottle/dice,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"E" = (
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ dir = 4
+ },
+/area/shuttle/arrival)
+"F" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/arrival)
+"G" = (
+/obj/structure/table/reinforced,
+/obj/item/paper_bin,
+/obj/item/pen,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"H" = (
+/obj/structure/closet/wardrobe/black,
+/turf/open/floor/plasteel/neutral/side,
+/area/shuttle/arrival)
+"I" = (
+/obj/structure/closet/wardrobe/grey,
+/turf/open/floor/plasteel/blue/corner,
+/area/shuttle/arrival)
+"J" = (
+/turf/open/floor/plasteel/blue/side,
+/area/shuttle/arrival)
+"K" = (
+/obj/structure/closet/wardrobe/yellow,
+/turf/open/floor/plasteel/blue/corner{
+ dir = 8
+ },
+/area/shuttle/arrival)
+"L" = (
+/obj/structure/closet/wardrobe/grey,
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/arrival)
+"M" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/briefcase{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/secure/briefcase,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"N" = (
+/obj/machinery/status_display,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"O" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/obj/machinery/door/airlock/shuttle{
+ name = "Arrival Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/arrival)
+"P" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"Q" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/blue/side{
+ dir = 8
+ },
+/area/shuttle/arrival)
+"R" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/plasteel/blue/side{
+ dir = 1
+ },
+/area/shuttle/arrival)
+"S" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/blue/side{
+ dir = 4
+ },
+/area/shuttle/arrival)
+"U" = (
+/obj/structure/frame/computer{
+ dir = 1
+ },
+/turf/open/floor/plasteel/blue,
+/area/shuttle/arrival)
+"V" = (
+/obj/structure/frame/computer{
+ dir = 1
+ },
+/turf/open/floor/plasteel/blue/side,
+/area/shuttle/arrival)
+
+(1,1,1) = {"
+a
+d
+f
+g
+n
+g
+h
+h
+h
+h
+z
+n
+g
+g
+a
+a
+a
+"}
+(2,1,1) = {"
+b
+d
+g
+i
+o
+r
+u
+u
+u
+u
+A
+o
+G
+g
+a
+a
+a
+"}
+(3,1,1) = {"
+b
+e
+h
+j
+p
+p
+p
+p
+p
+p
+p
+p
+H
+g
+g
+h
+g
+"}
+(4,1,1) = {"
+b
+e
+h
+k
+p
+p
+v
+v
+v
+v
+B
+p
+I
+N
+Q
+U
+h
+"}
+(5,1,1) = {"
+c
+d
+f
+l
+p
+s
+w
+x
+y
+x
+C
+F
+J
+O
+R
+V
+h
+"}
+(6,1,1) = {"
+b
+e
+h
+m
+p
+p
+u
+u
+u
+u
+D
+p
+K
+P
+S
+U
+h
+"}
+(7,1,1) = {"
+b
+e
+h
+j
+p
+p
+p
+p
+p
+p
+p
+p
+L
+g
+g
+h
+g
+"}
+(8,1,1) = {"
+b
+d
+g
+i
+q
+t
+v
+v
+v
+v
+E
+q
+M
+g
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+d
+f
+g
+n
+g
+h
+h
+h
+h
+z
+n
+g
+g
+a
+a
+a
+"}
diff --git a/_maps/shuttles/arrival_pubby.dmm b/_maps/shuttles/arrival_pubby.dmm
new file mode 100644
index 0000000000..7912a7a5ef
--- /dev/null
+++ b/_maps/shuttles/arrival_pubby.dmm
@@ -0,0 +1,246 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+"b" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"c" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Arrivals Shuttle Airlock"
+ },
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"d" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"e" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/regular{
+ pixel_y = 4
+ },
+/obj/item/storage/toolbox/emergency,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"f" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"g" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/poster/official/enlist{
+ pixel_y = 32
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"h" = (
+/obj/structure/closet/wardrobe/black,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"i" = (
+/obj/structure/closet/wardrobe/mixed,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"j" = (
+/obj/machinery/requests_console{
+ department = "Arrival shuttle";
+ name = "Arrivals Shuttle console";
+ pixel_y = 30
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"k" = (
+/obj/structure/shuttle/engine/heater{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"l" = (
+/obj/structure/shuttle/engine/propulsion/burst/right{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"m" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "arrivy";
+ name = "ship shutters"
+ },
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"n" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Arrivals Shuttle Airlock"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"o" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"p" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 4
+ },
+/obj/docking_port/mobile/arrivals{
+ height = 13;
+ name = "pubby arrivals shuttle";
+ width = 6
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"q" = (
+/obj/machinery/light/small,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"r" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"s" = (
+/obj/structure/closet/emcloset,
+/obj/item/storage/firstaid/o2,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/clothing/mask/breath,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"t" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -29
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"u" = (
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_y = -29
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
+"v" = (
+/obj/structure/shuttle/engine/propulsion/burst/left{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+
+(1,1,1) = {"
+a
+b
+m
+m
+b
+a
+"}
+(2,1,1) = {"
+a
+b
+f
+q
+b
+a
+"}
+(3,1,1) = {"
+b
+b
+n
+n
+b
+b
+"}
+(4,1,1) = {"
+b
+e
+f
+f
+s
+b
+"}
+(5,1,1) = {"
+c
+f
+o
+o
+f
+c
+"}
+(6,1,1) = {"
+b
+g
+f
+f
+t
+b
+"}
+(7,1,1) = {"
+d
+h
+o
+o
+f
+d
+"}
+(8,1,1) = {"
+d
+i
+f
+f
+f
+d
+"}
+(9,1,1) = {"
+d
+f
+o
+o
+f
+d
+"}
+(10,1,1) = {"
+b
+j
+o
+o
+u
+b
+"}
+(11,1,1) = {"
+c
+f
+f
+f
+f
+c
+"}
+(12,1,1) = {"
+b
+k
+k
+k
+k
+b
+"}
+(13,1,1) = {"
+b
+l
+p
+r
+v
+b
+"}
diff --git a/_maps/shuttles/assaultpod_basic.dmm b/_maps/shuttles/assaultpod_basic.dmm
new file mode 100644
index 0000000000..38d6210f01
--- /dev/null
+++ b/_maps/shuttles/assaultpod_basic.dmm
@@ -0,0 +1,68 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/_maps/shuttles/cargo_delta.dmm b/_maps/shuttles/cargo_delta.dmm
new file mode 100644
index 0000000000..ba8a8a555f
--- /dev/null
+++ b/_maps/shuttles/cargo_delta.dmm
@@ -0,0 +1,320 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/supply)
+"b" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"c" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"d" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"e" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"f" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"g" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"h" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"i" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"j" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"k" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "cargounload"
+ },
+/obj/machinery/door/poddoor{
+ id = "cargounload";
+ name = "supply dock unloading door"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"l" = (
+/obj/effect/decal/cleanable/oil,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"m" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"n" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/docking_port/mobile/supply{
+ dir = 4;
+ dwidth = 4;
+ timid = 1;
+ width = 12
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"o" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"p" = (
+/obj/machinery/button/door{
+ dir = 2;
+ id = "cargounload";
+ name = "Loading Doors";
+ pixel_x = -24;
+ pixel_y = 8
+ },
+/obj/machinery/button/door{
+ id = "cargoload";
+ name = "Loading Doors";
+ pixel_x = -24;
+ pixel_y = -8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"q" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"r" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"s" = (
+/obj/machinery/door/poddoor{
+ id = "cargoload";
+ name = "supply dock loading door"
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "cargoload"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"t" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"u" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"v" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"w" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"x" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"y" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/supply)
+"z" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"A" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"B" = (
+/turf/template_noop,
+/area/template_noop)
+"C" = (
+/obj/structure/shuttle/engine/propulsion/burst/left,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"D" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"E" = (
+/obj/structure/shuttle/engine/propulsion/burst/right,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+
+(1,1,1) = {"
+a
+a
+a
+k
+n
+a
+r
+s
+a
+a
+a
+B
+"}
+(2,1,1) = {"
+a
+b
+g
+g
+o
+p
+o
+o
+t
+a
+a
+C
+"}
+(3,1,1) = {"
+a
+c
+h
+l
+h
+h
+h
+i
+u
+x
+z
+D
+"}
+(4,1,1) = {"
+a
+d
+i
+i
+i
+h
+i
+h
+v
+x
+A
+D
+"}
+(5,1,1) = {"
+a
+e
+i
+h
+h
+h
+h
+h
+v
+y
+A
+D
+"}
+(6,1,1) = {"
+a
+f
+j
+m
+j
+q
+m
+j
+w
+a
+a
+E
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+B
+"}
diff --git a/_maps/shuttles/emergency_omega.dmm b/_maps/shuttles/emergency_omega.dmm
new file mode 100644
index 0000000000..19c1cadb7e
--- /dev/null
+++ b/_maps/shuttles/emergency_omega.dmm
@@ -0,0 +1,955 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"ab" = (
+/obj/structure/window/shuttle,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"ac" = (
+/obj/structure/sign/nanotrasen,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"ad" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_y = 32
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = -32
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"ae" = (
+/obj/structure/chair,
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"af" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom";
+ pixel_y = 24
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"ag" = (
+/obj/structure/table/reinforced,
+/obj/machinery/recharger,
+/obj/machinery/status_display{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"ah" = (
+/obj/machinery/computer/emergency_shuttle,
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"ai" = (
+/obj/machinery/computer/communications,
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"aj" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/firstaid/regular,
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"ak" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"al" = (
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"am" = (
+/obj/machinery/door/airlock/command{
+ name = "Emergency Recovery Airlock";
+ req_access = null;
+ req_access_txt = "19"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"an" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/escape)
+"ao" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/escape)
+"ap" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/fancy/donut_box,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"aq" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/escape)
+"ar" = (
+/obj/structure/table/reinforced,
+/obj/machinery/recharger,
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"as" = (
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 4
+ },
+/area/shuttle/escape)
+"at" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/escape)
+"au" = (
+/obj/machinery/computer/crew{
+ dir = 8
+ },
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/escape)
+"av" = (
+/obj/machinery/door/airlock/security/glass{
+ name = "Holding Area";
+ req_access_txt = "2"
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"aw" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"ax" = (
+/obj/machinery/door/airlock/command/glass{
+ name = "Cockpit";
+ req_access_txt = "19"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"ay" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock"
+ },
+/obj/docking_port/mobile/emergency{
+ dheight = 0;
+ dwidth = 5;
+ height = 11;
+ name = "Omega emergency shuttle";
+ width = 19
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/escape)
+"az" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aA" = (
+/turf/open/floor/plasteel/neutral/side{
+ dir = 1
+ },
+/area/shuttle/escape)
+"aB" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/side{
+ dir = 1
+ },
+/area/shuttle/escape)
+"aC" = (
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom";
+ pixel_x = 26
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aD" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aE" = (
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/escape)
+"aF" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aG" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/structure/flora/ausbushes/ppflowers,
+/obj/structure/flora/ausbushes/sunnybush,
+/obj/structure/window/shuttle,
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"aH" = (
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/structure/closet/crate/internals,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aI" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/structure/flora/ausbushes/ywflowers,
+/obj/structure/flora/ausbushes/fernybush,
+/obj/structure/window/shuttle,
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"aJ" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aK" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aL" = (
+/obj/structure/extinguisher_cabinet,
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"aM" = (
+/obj/machinery/vending/wallmed{
+ name = "Emergency NanoMed";
+ req_access_txt = "0";
+ use_power = 0
+ },
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"aN" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aO" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/structure/flora/ausbushes/brflowers,
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/flora/ausbushes/pointybush,
+/turf/open/floor/grass,
+/area/shuttle/escape)
+"aP" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/escape)
+"aQ" = (
+/turf/open/floor/plasteel/neutral/side,
+/area/shuttle/escape)
+"aR" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/side,
+/area/shuttle/escape)
+"aS" = (
+/obj/item/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aT" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Cargo"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aU" = (
+/obj/machinery/status_display,
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"aV" = (
+/obj/machinery/door/airlock/medical/glass{
+ id_tag = null;
+ name = "Escape Shuttle Infirmary";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aX" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aY" = (
+/obj/structure/closet/crate/medical{
+ name = "medical crate"
+ },
+/obj/item/storage/firstaid/regular,
+/obj/item/storage/firstaid/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/toxin{
+ pixel_x = -4;
+ pixel_y = 3
+ },
+/obj/item/device/healthanalyzer{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/lazarus_injector,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/mob/living/simple_animal/bot/medbot{
+ name = "\improper emergency medibot";
+ pixel_x = -3;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"aZ" = (
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"ba" = (
+/obj/machinery/sleeper{
+ dir = 4
+ },
+/obj/machinery/vending/wallmed{
+ name = "Emergency NanoMed";
+ pixel_x = -26;
+ req_access_txt = "0";
+ use_power = 0
+ },
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bb" = (
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bc" = (
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom";
+ pixel_x = 26
+ },
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bd" = (
+/obj/machinery/recharge_station,
+/obj/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"be" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bf" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bg" = (
+/obj/structure/closet/crate{
+ name = "emergency supplies crate"
+ },
+/obj/item/storage/toolbox/emergency,
+/obj/item/storage/toolbox/emergency,
+/obj/item/device/flashlight/flare{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/device/flashlight/flare{
+ pixel_x = -6;
+ pixel_y = -2
+ },
+/obj/item/crowbar,
+/obj/item/wrench,
+/obj/item/device/radio,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bh" = (
+/obj/machinery/shower{
+ dir = 4;
+ icon_state = "shower";
+ name = "emergency shower"
+ },
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bi" = (
+/obj/item/storage/firstaid/toxin,
+/obj/item/storage/firstaid/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/status_display{
+ pixel_x = 32
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ dir = 5
+ },
+/area/shuttle/escape)
+"bj" = (
+/obj/structure/table,
+/obj/item/clipboard,
+/obj/item/folder/yellow,
+/obj/item/pen,
+/obj/item/hand_labeler_refill,
+/obj/structure/sign/warning/nosmoking/circle{
+ pixel_x = -32
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom";
+ pixel_y = -26
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bk" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bl" = (
+/obj/structure/rack,
+/obj/item/storage/toolbox/electrical{
+ pixel_x = -3;
+ pixel_y = 1
+ },
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = -1
+ },
+/obj/item/storage/toolbox/emergency{
+ pixel_x = 3;
+ pixel_y = -5
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bm" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/stock_parts/cell/high,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/shuttle/escape)
+"bn" = (
+/obj/item/scalpel{
+ pixel_y = 12
+ },
+/obj/item/circular_saw,
+/obj/item/retractor{
+ pixel_x = 4
+ },
+/obj/item/hemostat{
+ pixel_x = -4
+ },
+/obj/item/clothing/gloves/color/latex,
+/obj/item/clothing/mask/surgical,
+/obj/structure/table/reinforced,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bo" = (
+/obj/structure/table/optable,
+/obj/item/surgical_drapes,
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bp" = (
+/obj/item/defibrillator/loaded,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/cmo,
+/area/shuttle/escape)
+"bq" = (
+/obj/item/storage/firstaid/fire,
+/obj/item/storage/firstaid/regular{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/whiteblue/side{
+ dir = 4
+ },
+/area/shuttle/escape)
+"br" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/escape)
+"bs" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"bt" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"bu" = (
+/turf/template_noop,
+/area/template_noop)
+"bv" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aq
+ac
+ay
+aa
+ab
+ab
+ab
+aa
+aP
+ac
+aP
+aa
+aa
+aZ
+br
+bu
+"}
+(2,1,1) = {"
+aa
+ad
+ak
+al
+ab
+az
+aD
+aJ
+aJ
+aJ
+aD
+az
+ab
+az
+bd
+bj
+aa
+br
+bv
+"}
+(3,1,1) = {"
+ab
+ae
+al
+al
+av
+aA
+aE
+aE
+aE
+aE
+aE
+aQ
+aT
+aW
+be
+bk
+ab
+bs
+bv
+"}
+(4,1,1) = {"
+ab
+ae
+al
+al
+ab
+aA
+aF
+aK
+aF
+aF
+aF
+aQ
+aT
+aX
+bf
+bl
+ab
+bt
+bv
+"}
+(5,1,1) = {"
+aa
+af
+al
+ar
+ab
+aA
+aG
+aL
+aI
+aM
+aG
+aQ
+ab
+aY
+bg
+bm
+aa
+bt
+bv
+"}
+(6,1,1) = {"
+ac
+ab
+am
+ab
+aw
+aB
+aH
+aG
+aO
+aI
+aH
+aR
+aU
+aZ
+ab
+aZ
+aZ
+br
+br
+"}
+(7,1,1) = {"
+aa
+ag
+an
+as
+ab
+aA
+aI
+aM
+aG
+aL
+aI
+aQ
+ab
+ba
+bh
+bn
+aa
+bt
+bv
+"}
+(8,1,1) = {"
+ab
+ah
+ao
+an
+ax
+aA
+aJ
+aN
+aJ
+aJ
+aJ
+aQ
+aV
+bb
+bb
+bo
+ab
+bt
+bv
+"}
+(9,1,1) = {"
+ab
+ai
+an
+at
+ab
+aA
+aE
+aE
+aE
+aE
+aE
+aQ
+aV
+bb
+bb
+bp
+ab
+bt
+bv
+"}
+(10,1,1) = {"
+ab
+aj
+ap
+au
+aa
+aC
+aF
+aF
+aF
+aF
+aF
+aS
+ab
+bc
+bi
+bq
+aa
+br
+bv
+"}
+(11,1,1) = {"
+aa
+ab
+ab
+aa
+ac
+aa
+ab
+ab
+ab
+ab
+ab
+aa
+ac
+aa
+aa
+aa
+aZ
+br
+bu
+"}
diff --git a/_maps/shuttles/ferry_fancy.dmm b/_maps/shuttles/ferry_fancy.dmm
new file mode 100644
index 0000000000..83795f0c55
--- /dev/null
+++ b/_maps/shuttles/ferry_fancy.dmm
@@ -0,0 +1,195 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/template_noop,
+/area/template_noop)
+"b" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/transport)
+"c" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/transport)
+"d" = (
+/obj/machinery/door/airlock/external,
+/turf/open/floor/pod/dark,
+/area/shuttle/transport)
+"e" = (
+/obj/structure/shuttle/engine/propulsion/left{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/transport)
+"f" = (
+/obj/structure/shuttle/engine/heater{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/plating/airless,
+/area/shuttle/transport)
+"g" = (
+/obj/structure/chair,
+/turf/open/floor/pod/dark,
+/area/shuttle/transport)
+"h" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"i" = (
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"j" = (
+/obj/structure/shuttle/engine/heater{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/transport)
+"k" = (
+/obj/machinery/light/small,
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"l" = (
+/obj/machinery/door/airlock/titanium,
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"m" = (
+/obj/machinery/computer/shuttle/ferry/request{
+ dir = 8
+ },
+/turf/open/floor/pod/dark,
+/area/shuttle/transport)
+"n" = (
+/obj/machinery/door/airlock/titanium,
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 2;
+ height = 13;
+ id = "ferry";
+ name = "ferry shuttle";
+ port_direction = 1;
+ preferred_direction = 4;
+ timid = 1;
+ width = 5
+ },
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"o" = (
+/obj/structure/shuttle/engine/heater{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ pixel_y = 1
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/transport)
+"p" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/pod/dark,
+/area/shuttle/transport)
+"q" = (
+/obj/machinery/light,
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+"r" = (
+/obj/machinery/door/airlock/external,
+/turf/open/floor/pod/light,
+/area/shuttle/transport)
+
+(1,1,1) = {"
+a
+a
+e
+a
+a
+"}
+(2,1,1) = {"
+a
+e
+j
+e
+a
+"}
+(3,1,1) = {"
+a
+f
+i
+o
+a
+"}
+(4,1,1) = {"
+a
+b
+k
+b
+a
+"}
+(5,1,1) = {"
+b
+b
+l
+b
+b
+"}
+(6,1,1) = {"
+c
+g
+i
+p
+c
+"}
+(7,1,1) = {"
+b
+g
+i
+p
+b
+"}
+(8,1,1) = {"
+b
+h
+i
+i
+b
+"}
+(9,1,1) = {"
+d
+i
+m
+i
+r
+"}
+(10,1,1) = {"
+b
+i
+i
+q
+b
+"}
+(11,1,1) = {"
+b
+g
+i
+p
+b
+"}
+(12,1,1) = {"
+c
+g
+i
+p
+c
+"}
+(13,1,1) = {"
+b
+c
+n
+c
+b
+"}
diff --git a/_maps/shuttles/infiltrator_basic.dmm b/_maps/shuttles/infiltrator_basic.dmm
new file mode 100644
index 0000000000..8f45a0c4f1
--- /dev/null
+++ b/_maps/shuttles/infiltrator_basic.dmm
@@ -0,0 +1,1379 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/template_noop,
+/area/template_noop)
+"ac" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 9
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/bridge)
+"ad" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/bridge)
+"ae" = (
+/obj/structure/window/plastitanium,
+/obj/machinery/door/poddoor/shutters{
+ id = "syndieshutters";
+ name = "blast shutters"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/bridge)
+"af" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 5
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/bridge)
+"ag" = (
+/obj/machinery/computer/med_data/syndie,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"ah" = (
+/obj/machinery/computer/crew/syndie,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"ai" = (
+/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"aj" = (
+/obj/machinery/computer/shuttle/syndicate,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"ak" = (
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"al" = (
+/obj/machinery/computer/camera_advanced/syndie,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"am" = (
+/obj/machinery/computer/secure_data/syndie,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"an" = (
+/obj/structure/table/reinforced,
+/obj/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/item/clipboard,
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/item/folder/red,
+/obj/item/toy/figure/syndie,
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/bridge)
+"ao" = (
+/obj/structure/chair/office/dark{
+ dir = 8;
+ name = "tactical swivel chair"
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"ap" = (
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"aq" = (
+/obj/structure/chair/office/dark{
+ dir = 1;
+ name = "tactical swivel chair"
+ },
+/obj/machinery/button/door{
+ id = "syndieshutters";
+ name = "Cockpit View Control";
+ pixel_x = 32;
+ pixel_y = 32;
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"ar" = (
+/obj/structure/chair/office/dark{
+ dir = 4;
+ name = "tactical swivel chair"
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/bridge)
+"as" = (
+/obj/structure/table/reinforced,
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/obj/item/storage/fancy/donut_box,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/bridge)
+"at" = (
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/bridge)
+"au" = (
+/obj/machinery/status_display,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/bridge)
+"av" = (
+/obj/machinery/door/airlock/hatch{
+ name = "Cockpit";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/bridge)
+"aw" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 10
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/hallway)
+"ax" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/hallway)
+"ay" = (
+/obj/structure/table/reinforced,
+/obj/item/stack/cable_coil/white,
+/obj/item/stack/cable_coil/white,
+/obj/item/crowbar/red,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"az" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aA" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/box/handcuffs{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/box/zipties,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aB" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 6
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/hallway)
+"aC" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aD" = (
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/hallway)
+"aE" = (
+/obj/structure/chair{
+ dir = 8;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aF" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 9
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/eva)
+"aG" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/eva)
+"aH" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aI" = (
+/obj/structure/chair{
+ dir = 8;
+ name = "tactical chair"
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"aJ" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"aK" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 5
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"aL" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/eva)
+"aM" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/eva)
+"aN" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/eva)
+"aO" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/airlock)
+"aP" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/airlock)
+"aQ" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/toolbox/syndicate,
+/obj/item/crowbar/red,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"aR" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/eva)
+"aS" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/eva)
+"aT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"aU" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/eva)
+"aV" = (
+/obj/structure/grille,
+/obj/structure/window/plastitanium,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/hallway)
+"aW" = (
+/obj/machinery/door/airlock/external{
+ name = "Ready Room";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/hallway)
+"aX" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/obj/effect/turf_decal/bot_white,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/airlock)
+"aY" = (
+/obj/machinery/door/poddoor{
+ id = "smindicate";
+ name = "outer blast door"
+ },
+/obj/machinery/button/door{
+ id = "smindicate";
+ name = "external door control";
+ pixel_y = 26;
+ req_access_txt = "150"
+ },
+/obj/docking_port/mobile{
+ dheight = 1;
+ dir = 8;
+ dwidth = 12;
+ height = 17;
+ hidden = 1;
+ id = "syndicate";
+ movement_force = list("KNOCKDOWN" = 0, "THROW" = 0);
+ name = "syndicate infiltrator";
+ port_direction = 4;
+ width = 23
+ },
+/obj/structure/fans/tiny,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"aZ" = (
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/eva)
+"ba" = (
+/obj/machinery/door/airlock/external{
+ name = "E.V.A. Gear Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/eva)
+"bb" = (
+/obj/machinery/door/airlock/external{
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"bc" = (
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/airlock)
+"bd" = (
+/obj/structure/sign/warning/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK"
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"be" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/eva)
+"bf" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/eva)
+"bg" = (
+/obj/structure/grille,
+/obj/structure/window/plastitanium,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/eva)
+"bh" = (
+/obj/structure/grille,
+/obj/structure/window/plastitanium,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/airlock)
+"bi" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/syndicate/black/red,
+/obj/item/clothing/head/helmet/space/syndicate/black/red,
+/obj/effect/turf_decal/bot_white,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/airlock)
+"bj" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 9
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bk" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bl" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bm" = (
+/turf/closed/wall/mineral/plastitanium/nodiagonal,
+/area/shuttle/syndicate/medical)
+"bn" = (
+/turf/closed/wall/mineral/plastitanium/nodiagonal,
+/area/shuttle/syndicate/armory)
+"bo" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bp" = (
+/obj/machinery/status_display,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bq" = (
+/obj/machinery/sleeper/syndie{
+ dir = 4
+ },
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"br" = (
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"bs" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"bt" = (
+/obj/item/reagent_containers/glass/bottle/epinephrine{
+ pixel_x = 6
+ },
+/obj/item/reagent_containers/glass/bottle/charcoal{
+ pixel_x = -3
+ },
+/obj/item/reagent_containers/glass/bottle/epinephrine{
+ pixel_x = -3;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/glass/bottle/charcoal{
+ pixel_x = 6;
+ pixel_y = 8
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 4;
+ pixel_y = 1
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/reagent_containers/syringe/epinephrine{
+ pixel_x = 2;
+ pixel_y = 8
+ },
+/obj/structure/table/reinforced,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"bu" = (
+/obj/structure/table/reinforced,
+/obj/item/stack/medical/gauze,
+/obj/item/stack/medical/bruise_pack,
+/obj/item/stack/medical/ointment,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"bv" = (
+/obj/structure/grille,
+/obj/structure/window/plastitanium,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/medical)
+"bw" = (
+/obj/structure/grille,
+/obj/structure/window/plastitanium,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/armory)
+"bx" = (
+/obj/item/stock_parts/cell/high{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/stock_parts/cell/high,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"by" = (
+/obj/item/screwdriver{
+ pixel_y = 9
+ },
+/obj/item/device/assembly/voice{
+ pixel_y = 3
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bz" = (
+/obj/item/wrench,
+/obj/item/device/assembly/infra,
+/obj/structure/table/reinforced,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bA" = (
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bB" = (
+/obj/item/weldingtool/largetank{
+ pixel_y = 3
+ },
+/obj/item/device/multitool,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bC" = (
+/obj/structure/bed/roller,
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"bD" = (
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"bE" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"bF" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/hallway)
+"bG" = (
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"bH" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/medical)
+"bI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bK" = (
+/obj/machinery/door/airlock/hatch{
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/medical)
+"bL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/hallway)
+"bM" = (
+/obj/machinery/door/airlock/hatch{
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate/armory)
+"bN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bP" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/armory)
+"bQ" = (
+/obj/structure/closet/syndicate/personal,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bR" = (
+/obj/structure/table/reinforced,
+/obj/item/reagent_containers/glass/beaker/large,
+/obj/item/reagent_containers/glass/beaker,
+/obj/item/reagent_containers/dropper,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"bS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bT" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"bU" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/hallway)
+"bV" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"bX" = (
+/obj/structure/closet/syndicate/nuclear,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/armory)
+"bY" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/item/bodypart/r_arm/robot,
+/obj/item/bodypart/l_arm/robot,
+/obj/structure/table/reinforced,
+/obj/item/toy/plush/nukeplushie,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"bZ" = (
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Surgery";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"ca" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"cb" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/brute,
+/obj/item/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"cc" = (
+/obj/item/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/firstaid/fire,
+/obj/item/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/medical)
+"cd" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate/hallway)
+"ce" = (
+/obj/item/device/sbeacondrop/bomb{
+ pixel_y = 5
+ },
+/obj/item/device/sbeacondrop/bomb,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"cf" = (
+/obj/item/grenade/syndieminibomb{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/grenade/syndieminibomb{
+ pixel_x = -1
+ },
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/grenade/plastic/c4,
+/obj/item/grenade/plastic/c4,
+/obj/item/grenade/plastic/c4,
+/obj/item/grenade/plastic/c4,
+/obj/item/grenade/plastic/c4,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"cg" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"ch" = (
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Technological Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"ci" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/table/reinforced,
+/obj/item/device/aicard,
+/turf/open/floor/plasteel/vault/side,
+/area/shuttle/syndicate/armory)
+"cj" = (
+/obj/item/surgicaldrill,
+/obj/item/circular_saw,
+/obj/structure/table/reinforced,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/medical)
+"ck" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ pixel_x = 30
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/medical)
+"cl" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/shuttle/syndicate/hallway)
+"cm" = (
+/obj/machinery/nuclearbomb/syndicate,
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Theatre Stage";
+ req_access_txt = "0"
+ },
+/turf/open/floor/circuit/red,
+/area/shuttle/syndicate/hallway)
+"cn" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/armory)
+"co" = (
+/obj/item/cautery,
+/obj/item/scalpel,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/medical)
+"cp" = (
+/obj/structure/table/optable,
+/obj/item/surgical_drapes,
+/obj/effect/turf_decal/bot_white,
+/turf/open/floor/plasteel/dark,
+/area/shuttle/syndicate/medical)
+"cq" = (
+/obj/item/retractor,
+/obj/item/hemostat,
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate/medical)
+"cr" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/hallway)
+"cs" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/circuit/red,
+/area/shuttle/syndicate/armory)
+"ct" = (
+/obj/machinery/telecomms/allinone{
+ intercept = 1
+ },
+/turf/open/floor/circuit/red,
+/area/shuttle/syndicate/armory)
+"cu" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/medical)
+"cv" = (
+/obj/structure/shuttle/engine/propulsion/left,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/hallway)
+"cw" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/hallway)
+"cx" = (
+/obj/structure/shuttle/engine/propulsion/right,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/hallway)
+"cy" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/armory)
+"cz" = (
+/obj/structure/shuttle/engine/propulsion/left,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/medical)
+"cA" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/medical)
+"cB" = (
+/obj/structure/shuttle/engine/propulsion/right,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/medical)
+"cC" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 6
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/medical)
+"cD" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 10
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate/armory)
+"cE" = (
+/obj/structure/shuttle/engine/propulsion/left,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/armory)
+"cF" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/armory)
+"cG" = (
+/obj/structure/shuttle/engine/propulsion/right,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate/armory)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bk
+bk
+bk
+bk
+bk
+bk
+bk
+bk
+bk
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aF
+aG
+aG
+aG
+aG
+aG
+bk
+bq
+bC
+bq
+bR
+bY
+cj
+co
+cu
+cz
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aG
+aL
+aR
+aR
+aR
+be
+bk
+br
+bD
+bH
+bH
+bZ
+bH
+cp
+cu
+cA
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aG
+aM
+aM
+aM
+aM
+aM
+bl
+bs
+bD
+bI
+bS
+ca
+ck
+cq
+cu
+cB
+"}
+(5,1,1) = {"
+ac
+ad
+ad
+ad
+ad
+aa
+aa
+aG
+aM
+aM
+aM
+aM
+aM
+bk
+bt
+bD
+bJ
+bT
+cb
+bm
+bk
+bk
+cC
+"}
+(6,1,1) = {"
+ad
+ag
+an
+at
+ad
+aw
+aa
+aG
+aN
+aS
+aU
+aZ
+bf
+bk
+bu
+bD
+bJ
+bT
+cc
+bk
+aa
+aa
+aa
+"}
+(7,1,1) = {"
+ae
+ah
+ao
+at
+ad
+ax
+ax
+aG
+aG
+aG
+aG
+ba
+bg
+bm
+bv
+bv
+bK
+bv
+bk
+bk
+ax
+ax
+aa
+"}
+(8,1,1) = {"
+ae
+ai
+ap
+at
+au
+ay
+aC
+aH
+aC
+aC
+aV
+az
+az
+az
+az
+bE
+bL
+bU
+cd
+cl
+cr
+cv
+aa
+"}
+(9,1,1) = {"
+ae
+aj
+aq
+at
+av
+az
+aD
+aD
+aD
+az
+aW
+az
+aD
+aD
+aD
+aD
+bL
+bU
+cd
+cm
+cr
+cw
+aa
+"}
+(10,1,1) = {"
+ae
+ak
+ap
+at
+ad
+aA
+aE
+aI
+aE
+aE
+aV
+az
+az
+az
+az
+bF
+bL
+bU
+cd
+cl
+cr
+cx
+aa
+"}
+(11,1,1) = {"
+ae
+al
+ar
+at
+ad
+ax
+ax
+ax
+ax
+aJ
+aJ
+bb
+bh
+bn
+bw
+bw
+bM
+bw
+bo
+bo
+ax
+ax
+aa
+"}
+(12,1,1) = {"
+ad
+am
+as
+at
+ad
+aB
+aa
+aJ
+aO
+aO
+aX
+bc
+aO
+bo
+bx
+bG
+bN
+bV
+ce
+bo
+aa
+aa
+aa
+"}
+(13,1,1) = {"
+af
+ad
+ad
+ad
+ad
+aa
+aa
+aJ
+aP
+aP
+aP
+aP
+aP
+bo
+by
+bG
+bN
+bV
+cf
+bn
+bo
+bo
+cD
+"}
+(14,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+aP
+aP
+aP
+aP
+aP
+bp
+bz
+bG
+bO
+bW
+cg
+bP
+cs
+cy
+cE
+"}
+(15,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+aQ
+aT
+aT
+aT
+bi
+bo
+bA
+bG
+bP
+bP
+ch
+bP
+ct
+cy
+cF
+"}
+(16,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+aJ
+aJ
+aY
+bd
+aJ
+bo
+bB
+bG
+bQ
+bX
+ci
+cn
+cs
+cy
+cG
+"}
+(17,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aK
+bo
+bo
+bo
+bo
+bo
+bo
+bo
+bo
+bo
+"}
diff --git a/_maps/shuttles/labour_box.dmm b/_maps/shuttles/labour_box.dmm
new file mode 100644
index 0000000000..dac173c279
--- /dev/null
+++ b/_maps/shuttles/labour_box.dmm
@@ -0,0 +1,186 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/labor)
+"b" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/labor)
+"c" = (
+/obj/machinery/computer/shuttle/labor{
+ dir = 4
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = -31
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"d" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"e" = (
+/obj/structure/table,
+/obj/item/folder/red,
+/obj/item/restraints/handcuffs,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"f" = (
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"g" = (
+/obj/machinery/button/flasher{
+ id = "gulagshuttleflasher";
+ name = "Flash Control";
+ pixel_y = -26;
+ req_access_txt = "1"
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"h" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 2;
+ pixel_x = 30;
+ pixel_y = 30
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"i" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"j" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/labor)
+"k" = (
+/obj/machinery/mineral/stacking_machine/laborstacker{
+ input_dir = 2;
+ output_dir = 1
+ },
+/turf/open/floor/plasteel/dark,
+/area/shuttle/labor)
+"l" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"m" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"n" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 1;
+ pixel_x = 30
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"o" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/flasher{
+ id = "gulagshuttleflasher";
+ pixel_x = 25
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"p" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"q" = (
+/obj/machinery/door/airlock/titanium{
+ id_tag = "prisonshuttle";
+ name = "Labor Shuttle Airlock"
+ },
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 2;
+ height = 5;
+ id = "laborcamp";
+ name = "labor camp shuttle";
+ port_direction = 4;
+ timid = 1;
+ width = 9
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"r" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+"s" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+
+(1,1,1) = {"
+a
+a
+b
+a
+a
+b
+a
+a
+a
+"}
+(2,1,1) = {"
+b
+c
+f
+j
+l
+l
+p
+r
+s
+"}
+(3,1,1) = {"
+b
+d
+g
+a
+m
+l
+l
+r
+s
+"}
+(4,1,1) = {"
+b
+e
+h
+k
+n
+o
+l
+r
+s
+"}
+(5,1,1) = {"
+a
+a
+i
+a
+a
+a
+q
+a
+a
+"}
diff --git a/_maps/shuttles/labour_delta.dmm b/_maps/shuttles/labour_delta.dmm
new file mode 100644
index 0000000000..2ad922d9f4
--- /dev/null
+++ b/_maps/shuttles/labour_delta.dmm
@@ -0,0 +1,333 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/labor)
+"b" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/labor)
+"c" = (
+/obj/machinery/computer/shuttle/labor{
+ dir = 4
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = -31
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"d" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"e" = (
+/obj/item/folder/red,
+/obj/item/restraints/handcuffs,
+/obj/structure/table/reinforced,
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"f" = (
+/obj/structure/grille,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/labor)
+"g" = (
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"h" = (
+/obj/machinery/button/flasher{
+ id = "gulagshuttleflasher";
+ name = "Flash Control";
+ pixel_y = -26;
+ req_access_txt = "1"
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"i" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 2;
+ pixel_x = 30;
+ pixel_y = 30
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/labor)
+"j" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/labor)
+"k" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/labor)
+"l" = (
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/labor)
+"m" = (
+/obj/machinery/mineral/stacking_machine/laborstacker{
+ input_dir = 2;
+ output_dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/labor)
+"n" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"o" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"p" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 1;
+ pixel_x = 30
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"q" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"r" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"s" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/flasher{
+ id = "gulagshuttleflasher";
+ pixel_x = 25
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"t" = (
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/structure/closet/crate/internals,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"u" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"v" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/labor)
+"w" = (
+/obj/machinery/door/airlock/shuttle{
+ id_tag = "prisonshuttle";
+ name = "Labor Shuttle Airlock"
+ },
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 2;
+ height = 5;
+ id = "laborcamp";
+ name = "labor camp shuttle";
+ port_direction = 4;
+ width = 9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/labor)
+"x" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+"y" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+
+(1,1,1) = {"
+a
+a
+f
+a
+a
+f
+a
+a
+a
+"}
+(2,1,1) = {"
+b
+c
+g
+k
+n
+q
+t
+a
+y
+"}
+(3,1,1) = {"
+b
+d
+h
+l
+o
+r
+u
+x
+y
+"}
+(4,1,1) = {"
+b
+e
+i
+m
+p
+s
+v
+a
+y
+"}
+(5,1,1) = {"
+a
+a
+j
+a
+a
+a
+w
+a
+a
+"}
diff --git a/_maps/shuttles/mining_box.dmm b/_maps/shuttles/mining_box.dmm
new file mode 100644
index 0000000000..2b1771e0c7
--- /dev/null
+++ b/_maps/shuttles/mining_box.dmm
@@ -0,0 +1,114 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/mining)
+"b" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"c" = (
+/obj/structure/table,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"d" = (
+/obj/machinery/computer/shuttle/mining,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"e" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"f" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"g" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"h" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Mining Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 3;
+ height = 5;
+ id = "mining";
+ name = "mining shuttle";
+ port_direction = 4;
+ timid = 1;
+ width = 7
+ },
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"i" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"j" = (
+/obj/structure/shuttle/engine/heater,
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"k" = (
+/obj/structure/ore_box,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"l" = (
+/obj/structure/shuttle/engine/propulsion/burst,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/mining)
+
+(1,1,1) = {"
+a
+a
+b
+a
+b
+a
+a
+"}
+(2,1,1) = {"
+a
+c
+e
+g
+f
+i
+a
+"}
+(3,1,1) = {"
+b
+d
+f
+e
+f
+j
+l
+"}
+(4,1,1) = {"
+a
+c
+e
+e
+f
+k
+a
+"}
+(5,1,1) = {"
+a
+a
+b
+h
+b
+a
+a
+"}
diff --git a/_maps/shuttles/mining_delta.dmm b/_maps/shuttles/mining_delta.dmm
new file mode 100644
index 0000000000..bbdc919afc
--- /dev/null
+++ b/_maps/shuttles/mining_delta.dmm
@@ -0,0 +1,310 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/mining)
+"b" = (
+/obj/effect/spawner/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"c" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/toolbox/emergency,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"d" = (
+/obj/machinery/computer/shuttle/mining,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"e" = (
+/obj/structure/table/reinforced,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/crowbar/red,
+/obj/item/wrench,
+/obj/item/tank/internals/emergency_oxygen/engi,
+/obj/item/clothing/mask/gas,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"f" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"g" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/mining)
+"h" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/old,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"i" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Mining Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/docking_port/mobile{
+ dir = 4;
+ dwidth = 3;
+ height = 5;
+ id = "mining";
+ name = "mining shuttle";
+ port_direction = 8;
+ width = 7
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/mining)
+"j" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"k" = (
+/turf/open/floor/plasteel/neutral,
+/area/shuttle/mining)
+"l" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"m" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Mining Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/shuttle/mining)
+"n" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"o" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"p" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/end{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"q" = (
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/clothing/suit/hazardvest{
+ desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
+ name = "emergency lifejacket"
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/tank/internals/emergency_oxygen/double{
+ pixel_x = 3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/mask/breath{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/item/clothing/head/hardhat/orange{
+ name = "protective hat";
+ pixel_y = 9
+ },
+/obj/structure/closet/crate/internals,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/pickaxe/emergency,
+/obj/item/pickaxe/emergency,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"r" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/mining)
+"s" = (
+/obj/structure/ore_box,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/shuttle/mining)
+"t" = (
+/obj/structure/shuttle/engine/propulsion/burst,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/mining)
+
+(1,1,1) = {"
+a
+a
+b
+i
+b
+a
+a
+"}
+(2,1,1) = {"
+a
+c
+f
+j
+n
+q
+a
+"}
+(3,1,1) = {"
+b
+d
+g
+k
+o
+r
+t
+"}
+(4,1,1) = {"
+a
+e
+h
+l
+p
+s
+a
+"}
+(5,1,1) = {"
+a
+a
+b
+m
+b
+a
+a
+"}
diff --git a/apc_repair.dmi b/apc_repair.dmi
deleted file mode 100644
index 6e861eef61..0000000000
Binary files a/apc_repair.dmi and /dev/null differ
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 9f48166e31..a3e2222f2e 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -62,6 +62,7 @@
#define SPACEVINE_LAYER 4.8
#define SPACEVINE_MOB_LAYER 4.9
//#define FLY_LAYER 5 //For easy recordkeeping; this is a byond define
+#define GASFIRE_LAYER 5.05
#define RIPPLE_LAYER 5.1
#define GHOST_LAYER 6
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 1500bd1c48..48e6be8915 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -50,19 +50,19 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
//Human Overlays Indexes/////////
//LOTS OF CIT CHANGES HERE. BE CAREFUL WHEN UPSTREAM ADDS MORE LAYERS
-#define MUTATIONS_LAYER 31 //mutations. Tk headglows, cold resistance glow, etc
-#define GENITALS_BEHIND_LAYER 30 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
-#define BODY_BEHIND_LAYER 29 //certain mutantrace features (tail when looking south) that must appear behind the body parts
-#define BODYPARTS_LAYER 28 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
-#define BODY_ADJ_LAYER 27 //certain mutantrace features (snout, body markings) that must appear above the body parts
-#define GENITALS_ADJ_LAYER 26
-#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup)
-#define FRONT_MUTATIONS_LAYER 24 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
-#define DAMAGE_LAYER 23 //damage indicators (cuts and burns)
-#define UNIFORM_LAYER 22
-#define ID_LAYER 21
-#define SHOES_LAYER 20
-#define HANDS_PART_LAYER 19
+#define MUTATIONS_LAYER 30 //mutations. Tk headglows, cold resistance glow, etc
+#define GENITALS_BEHIND_LAYER 29 //Some genitalia needs to be behind everything, such as with taurs (Taurs use body_behind_layer
+#define BODY_BEHIND_LAYER 28 //certain mutantrace features (tail when looking south) that must appear behind the body parts
+#define BODYPARTS_LAYER 27 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
+#define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts
+#define GENITALS_ADJ_LAYER 25
+#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup)
+#define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
+#define DAMAGE_LAYER 22 //damage indicators (cuts and burns)
+#define UNIFORM_LAYER 21
+#define ID_LAYER 20
+#define HANDS_PART_LAYER 20
+#define SHOES_LAYER 19
#define GLOVES_LAYER 18
#define EARS_LAYER 17
#define SUIT_LAYER 16
@@ -81,7 +81,7 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s
#define HANDS_LAYER 3
#define BODY_FRONT_LAYER 2
#define FIRE_LAYER 1 //If you're on fire
-#define TOTAL_LAYERS 31 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
+#define TOTAL_LAYERS 30 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
//Human Overlay Index Shortcuts for alternate_worn_layer, layers
//Because I *KNOW* somebody will think layer+1 means "above"
diff --git a/code/citadel/dogborgstuff.dm b/code/citadel/dogborgstuff.dm
index 7780e779dc..6d97013415 100644
--- a/code/citadel/dogborgstuff.dm
+++ b/code/citadel/dogborgstuff.dm
@@ -351,7 +351,8 @@
/obj/item/documents/syndicate,
/obj/item/disk/nuclear,
/obj/item/bombcore,
- /obj/item/grenade
+ /obj/item/grenade,
+ /obj/item/storage
)
var/list/important_items = list(
@@ -374,8 +375,10 @@
/obj/item/documents/syndicate,
/obj/item/disk/nuclear,
/obj/item/bombcore,
- /obj/item/grenade
+ /obj/item/grenade,
+ /obj/item/storage
)
+// Bags are prohibited from this due to the potential explotation of objects, same with brought
/obj/item/device/dogborg/sleeper/New()
..()
@@ -389,7 +392,7 @@
hound = loc
if(!proximity)
return
- if(!ishuman(target))
+ if(!iscarbon(target))
return
if(target.buckled)
to_chat(user, "The user is buckled and can not be put into your [src.name].")
@@ -398,7 +401,7 @@
to_chat(user, "Your [src.name] is already occupied.")
return
user.visible_message("[hound.name] is carefully inserting [target.name] into their [src.name].", "You start placing [target] into your [src]...")
- if(!patient && ishuman(target) && !target.buckled && do_after (user, 50, target = target))
+ if(!patient && iscarbon(target) && !target.buckled && do_after (user, 50, target = target))
if(!in_range(src, target)) //Proximity is probably old news by now, do a new check.
return //If they moved away, you can't eat them.
@@ -406,10 +409,10 @@
if(patient) return //If you try to eat two people at once, you can only eat one.
else //If you don't have someone in you, proceed.
- if(!isslimeperson(target) && ("toxin" in injection_chems))
+ if(!isjellyperson(target) && ("toxin" in injection_chems))
injection_chems -= "toxin"
injection_chems += "antitoxin"
- if(isslimeperson(target) && !("toxin" in injection_chems))
+ if(isjellyperson(target) && !("toxin" in injection_chems))
injection_chems -= "antitoxin"
injection_chems += "toxin"
target.forceMove(src)
@@ -443,8 +446,8 @@
if(length(contents) > 0)
hound.visible_message("[hound.name] empties out their contents via their release port.", "You empty your contents via your release port.")
if(target)
- if(ishuman(target))
- var/mob/living/carbon/human/person = target
+ if(iscarbon(target))
+ var/mob/living/carbon/person = target
person.forceMove(get_turf(src))
person.reset_perspective()
else
@@ -452,8 +455,8 @@
T.loc = hound.loc
else
for(var/C in contents)
- if(ishuman(C))
- var/mob/living/carbon/human/person = C
+ if(iscarbon(C))
+ var/mob/living/carbon/person = C
person.forceMove(get_turf(src))
person.reset_perspective()
else
@@ -572,7 +575,6 @@
hound.update_icons()
//Return original patient
return(patient)
-
//Check for a new patient
else
for(var/mob/living/carbon/human/C in contents)
@@ -593,7 +595,6 @@
if(cleaning && !patient)
hound.sleeper_r = 1
hound.sleeper_g = 0
-
//Couldn't find anyone, and not cleaning
else if(!cleaning && !patient)
hound.sleeper_r = 0
@@ -607,18 +608,15 @@
//Gurgleborg process
/obj/item/device/dogborg/sleeper/proc/clean_cycle()
testing("clean_cycle activated")
- //Sanity? Maybe not required. More like if indigestible person OOC escapes.
+ //Sanity
for(var/I in items_preserved)
if(!(I in contents))
items_preserved -= I
-
var/list/touchable_items = contents - items_preserved
-
if(cleaning_cycles)
testing("clean_cycle being used")
cleaning_cycles--
cleaning = TRUE
- //Burn all the mobs or add them to the exclusion list
for(var/mob/living/carbon/human/T in (touchable_items))
if((T.status_flags & GODMODE) || !T.digestable)
src.items_preserved += T
@@ -626,13 +624,37 @@
T.adjustBruteLoss(2)
T.adjustFireLoss(3)
update_gut()
- addtimer(CALLBACK(src, .proc/clean_cycle), 50)
+
+ var/atom/target = pick(touchable_items)
+ if(iscarbon(target)) //Handle the target being a mob
+ var/mob/living/carbon/T = target
+ if(T.stat == DEAD && T.digestable) //Mob is now dead
+ message_admins("[key_name(hound)] has digested [key_name(T)] as a dogborg. ([hound ? "JMP" : "null"])")
+ to_chat(hound,"You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.")
+ to_chat(T,"You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.")
+ src.hound.cell.give(30000) //Fueeeeellll
+ T.stop_sound_channel(CHANNEL_PRED)
+ playsound(get_turf(hound),"death_pred",50,0,-6,0,channel=CHANNEL_PRED)
+ T.stop_sound_channel(CHANNEL_PRED)
+ T.playsound_local("death_prey",60)
+ qdel(T)
+ update_gut()
+//Handle the target being anything but a mob
+ else if(isobj(target))
+ var/obj/T = target
+ if(T.type in important_items) //If the object is in the items_preserved global list
+ src.items_preserved += T
+ //If the object is not one to preserve
+ else
+ qdel(T)
+ src.update_gut()
+ src.hound.cell.give(10)
else
- testing("clean_cycle resetted")
+ testing("clean_cycle finished and reset")
cleaning_cycles = initial(cleaning_cycles)
cleaning = FALSE
- update_gut()
to_chat(hound, "Your [src.name] chimes it ends its self-cleaning cycle.")//Belly is entirely empty
+ update_gut()
if(!length(contents))
to_chat(hound, "Your [src.name] is now clean. Ending self-cleaning cycle.")
@@ -640,7 +662,7 @@
update_gut()
return
- //sound effects
+//sound effects
for(var/mob/living/M in contents)
if(prob(50))
M.stop_sound_channel(CHANNEL_PRED)
@@ -648,42 +670,8 @@
M.stop_sound_channel(CHANNEL_PRED)
M.playsound_local("digest_prey",60)
-
- //Pick a random item to deal with (if there are any)
- var/atom/target = pick(touchable_items)
-
- //Handle the target being a mob
- if(ishuman(target))
- var/mob/living/carbon/human/T = target
-
- //Mob is now dead
- if(T.stat == DEAD && T.digestable)
- message_admins("[key_name(hound)] has digested [key_name(T)] as a dogborg. ([hound ? "JMP" : "null"])")
- to_chat(hound,"You feel your belly slowly churn around [T], breaking them down into a soft slurry to be used as power for your systems.")
- to_chat(T,"You feel [hound]'s belly slowly churn around your form, breaking you down into a soft slurry to be used as power for [hound]'s systems.")
- src.hound.cell.give(30000) //Fueeeeellll
- T.stop_sound_channel(CHANNEL_PRED)
- playsound(get_turf(hound),"death_pred",50,0,-6,0,channel=CHANNEL_PRED)
- T.stop_sound_channel(CHANNEL_PRED)
- T.playsound_local("death_prey",60)
- qdel(T)
- src.update_gut()
-
- //Handle the target being anything but a /mob/living/carbon/human
- else
- var/obj/T = target
-
- //If the object is in the items_preserved global list //POLARISTODO
-
- if(T.type in important_items)
- src.items_preserved += T
-
- //If the object is not one to preserve
- else
- qdel(T)
- src.update_gut()
- src.hound.cell.give(10)
- return
+ if(cleaning)
+ addtimer(CALLBACK(src, .proc/clean_cycle), 50)
/obj/item/device/dogborg/sleeper/proc/inject_chem(chem)
testing("inject chem triggered, checking power")
@@ -729,8 +717,8 @@
return
if(target.anchored)
return
- if(ishuman(target))
- var/mob/living/carbon/human/brigman = target
+ if(iscarbon(target))
+ var/mob/living/carbon/brigman = target
if (!brigman.devourable)
to_chat(user, "The target registers an error code. Unable to insert into [src.name].")
return
@@ -796,10 +784,13 @@
if(length(contents) > 11) //grow that tum after a certain junk amount
hound.sleeper_r = 1
hound.update_icons()
+ else
+ hound.sleeper_r = 0
+ hound.update_icons()
return
- else if(ishuman(target))
- var/mob/living/carbon/human/trashman = target
+ else if(iscarbon(target))
+ var/mob/living/carbon/trashman = target
if (!trashman.devourable)
to_chat(user, "\The [target] registers an error code to your [src.name]")
return
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 7d61ae2a92..68f75491f3 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -517,7 +517,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
queue_node.times_fired++
if (queue_node_flags & SS_TICKER)
- queue_node.next_fire = world.time + (world.tick_lag * (queue_node.wait + (queue_node.tick_overrun/100)))
+ queue_node.next_fire = world.time + (world.tick_lag * queue_node.wait)
else if (queue_node_flags & SS_POST_FIRE_TIMING)
queue_node.next_fire = world.time + queue_node.wait + (world.tick_lag * (queue_node.tick_overrun/100))
else if (queue_node_flags & SS_KEEP_TIMING)
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 6f852aacd3..808063d0e2 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -387,3 +387,35 @@
R.make_shell(src)
return TRUE
+
+/obj/item/borg/upgrade/expand
+ name = "borg expander"
+ desc = "A cyborg resizer, it makes a cyborg huge."
+ icon_state = "cyborg_upgrade3"
+
+/obj/item/borg/upgrade/expand/action(mob/living/silicon/robot/R)
+ if(..())
+ return
+
+ if(locate(/obj/item/borg/upgrade/expand, R))
+ to_chat(usr, "This unit already has an expand module installed!")
+ return
+
+ R.notransform = TRUE
+ var/prev_lockcharge = R.lockcharge
+ R.SetLockdown(1)
+ R.anchored = TRUE
+ var/datum/effect_system/smoke_spread/smoke = new
+ smoke.set_up(1, R.loc)
+ smoke.start()
+ sleep(2)
+ for(var/i in 1 to 4)
+ playsound(R, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, 1, -1)
+ sleep(12)
+ if(!prev_lockcharge)
+ R.SetLockdown(0)
+ R.anchored = FALSE
+ R.notransform = FALSE
+ R.resize = 2
+ R.update_transform()
+ return TRUE
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index a41710ea7d..7e206e1c55 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -125,6 +125,7 @@
/obj/structure/closet/coffin
name = "coffin"
desc = "It's a burial receptacle for the dearly departed."
+ icon = 'goon/icons/obj/closet.dmi'
icon_state = "coffin"
resistance_flags = FLAMMABLE
max_integrity = 70
diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm
index 67e0381571..2a24e5fa28 100644
--- a/code/modules/atmospherics/environmental/LINDA_fire.dm
+++ b/code/modules/atmospherics/environmental/LINDA_fire.dm
@@ -50,14 +50,16 @@
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
icon = 'icons/effects/fire.dmi'
icon_state = "1"
- layer = ABOVE_OPEN_TURF_LAYER
+ layer = GASFIRE_LAYER
light_range = LIGHT_RANGE_FIRE
light_color = LIGHT_COLOR_FIRE
+ blend_mode = BLEND_ADD
var/volume = 125
var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST
var/just_spawned = TRUE
var/bypassing = FALSE
+ var/visual_update_tick = 0
/obj/effect/hotspot/Initialize()
. = ..()
@@ -96,6 +98,64 @@
AT.fire_act(temperature, volume)
return
+/obj/effect/hotspot/proc/gauss_lerp(x, x1, x2)
+ var/b = (x1 + x2) * 0.5
+ var/c = (x2 - x1) / 6
+ return NUM_E ** -((x - b) ** 2 / (2 * c) ** 2)
+
+/obj/effect/hotspot/proc/update_color()
+ cut_overlays()
+
+ var/heat_r = heat2colour_r(temperature)
+ var/heat_g = heat2colour_g(temperature)
+ var/heat_b = heat2colour_b(temperature)
+ var/heat_a = 255
+ var/greyscale_fire = 1 //This determines how greyscaled the fire is.
+
+ if(temperature < 5000) //This is where fire is very orange, we turn it into the normal fire texture here.
+ var/normal_amt = gauss_lerp(temperature, 1000, 3000)
+ heat_r = LERP(heat_r,255,normal_amt)
+ heat_g = LERP(heat_g,255,normal_amt)
+ heat_b = LERP(heat_b,255,normal_amt)
+ heat_a -= gauss_lerp(temperature, -5000, 5000) * 128
+ greyscale_fire -= normal_amt
+ if(temperature > 40000) //Past this temperature the fire will gradually turn a bright purple
+ var/purple_amt = temperature < LERP(40000,200000,0.5) ? gauss_lerp(temperature, 40000, 200000) : 1
+ heat_r = LERP(heat_r,255,purple_amt)
+ if(temperature > 200000 && temperature < 500000) //Somewhere at this temperature nitryl happens.
+ var/sparkle_amt = gauss_lerp(temperature, 200000, 500000)
+ var/mutable_appearance/sparkle_overlay = mutable_appearance('icons/effects/effects.dmi', "shieldsparkles")
+ sparkle_overlay.blend_mode = BLEND_ADD
+ sparkle_overlay.alpha = sparkle_amt * 255
+ add_overlay(sparkle_overlay)
+ if(temperature > 400000 && temperature < 1500000) //Lightning because very anime.
+ var/mutable_appearance/lightning_overlay = mutable_appearance(icon, "overcharged")
+ lightning_overlay.blend_mode = BLEND_ADD
+ add_overlay(lightning_overlay)
+ if(temperature > 4500000) //This is where noblium happens. Some fusion-y effects.
+ var/fusion_amt = temperature < LERP(4500000,12000000,0.5) ? gauss_lerp(temperature, 4500000, 12000000) : 1
+ var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/tile_effects.dmi', "chem_gas")
+ fusion_overlay.blend_mode = BLEND_ADD
+ fusion_overlay.alpha = fusion_amt * 255
+ var/mutable_appearance/rainbow_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "druggy")
+ rainbow_overlay.blend_mode = BLEND_ADD
+ rainbow_overlay.alpha = fusion_amt * 255
+ rainbow_overlay.appearance_flags = RESET_COLOR
+ heat_r = LERP(heat_r,150,fusion_amt)
+ heat_g = LERP(heat_g,150,fusion_amt)
+ heat_b = LERP(heat_b,150,fusion_amt)
+ add_overlay(fusion_overlay)
+ add_overlay(rainbow_overlay)
+
+ set_light(l_color = rgb(LERP(250,heat_r,greyscale_fire),LERP(160,heat_g,greyscale_fire),LERP(25,heat_b,greyscale_fire)))
+
+ heat_r /= 255
+ heat_g /= 255
+ heat_b /= 255
+
+ color = list(LERP(0.3, 1, 1-greyscale_fire) * heat_r,0.3 * heat_g * greyscale_fire,0.3 * heat_b * greyscale_fire, 0.59 * heat_r * greyscale_fire,LERP(0.59, 1, 1-greyscale_fire) * heat_g,0.59 * heat_b * greyscale_fire, 0.11 * heat_r * greyscale_fire,0.11 * heat_g * greyscale_fire,LERP(0.11, 1, 1-greyscale_fire) * heat_b, 0,0,0)
+ alpha = heat_a
+
#define INSUFFICIENT(path) (!location.air.gases[path] || location.air.gases[path][MOLES] < 0.5)
/obj/effect/hotspot/process()
if(just_spawned)
@@ -142,6 +202,9 @@
else
icon_state = "1"
+ if((visual_update_tick++ % 7) == 0)
+ update_color()
+
if(temperature > location.max_fire_temperature_sustained)
location.max_fire_temperature_sustained = temperature
diff --git a/code/modules/goonchat/browserassets/css/browserOutput.css b/code/modules/goonchat/browserassets/css/browserOutput.css
index 4ea8c85b16..f766491d02 100644
--- a/code/modules/goonchat/browserassets/css/browserOutput.css
+++ b/code/modules/goonchat/browserassets/css/browserOutput.css
@@ -43,12 +43,17 @@ img.icon {
content: 'x';
}
.r {
- display: inline;
- padding: .2em .6em .3em;
- font-size: 75%;
- font-weight: 700;
- line-height: 1;
- color: #f00;
+ display: inline-block;
+ min-width: 0.5em;
+ font-size: 0.7em;
+ padding: 0.2em 0.3em;
+ line-height: 1;
+ color: white;
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: middle;
+ background-color: crimson;
+ border-radius: 10px;
}
a {color: #0000ff;}
diff --git a/code/modules/goonchat/browserassets/js/browserOutput.js b/code/modules/goonchat/browserassets/js/browserOutput.js
index b9aa5fb94c..77aae1148a 100644
--- a/code/modules/goonchat/browserassets/js/browserOutput.js
+++ b/code/modules/goonchat/browserassets/js/browserOutput.js
@@ -312,8 +312,14 @@ function output(message, flag) {
{
lastmessages.append($('', { 'class': 'r', 'text': 2}));
}
- if(parseInt(lastmessages.css("font-size")) < 24) //Completely arbitrary max size
- lastmessages.css("font-size","+=2")
+ var insertedBadge = $(lastmessages).find('.r');
+ insertedBadge.animate({
+ "font-size": "0.9em"
+ }, 100, function() {
+ insertedBadge.animate({
+ "font-size": "0.7em"
+ }, 100);
+ });
opts.messageCount--;
handled = true;
}
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index 10963e031b..447b0c9f96 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -83,13 +83,13 @@
H.endTailWag()
/mob/living/carbon/human/proc/is_wagging_tail()
- return (dna && dna.species && (("waggingtail_lizard" in dna.species.mutant_bodyparts) || ("waggingtail_human" in dna.species.mutant_bodyparts)))
+ return (dna && dna.species && (("waggingtail_lizard" in dna.species.mutant_bodyparts) || ("waggingtail_human" in dna.species.mutant_bodyparts)|| ("mam_waggingtail" in dna.species.mutant_bodyparts)))
/datum/emote/living/carbon/human/wag/can_run_emote(mob/user, status_check = TRUE)
if(!..())
return FALSE
var/mob/living/carbon/human/H = user
- if(H.dna && H.dna.species && (("tail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("tail_human" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts)))
+ if(H.dna && H.dna.species && (("tail_lizard" in H.dna.species.mutant_bodyparts) || ("waggingtail_lizard" in H.dna.species.mutant_bodyparts) || ("tail_human" in H.dna.species.mutant_bodyparts) || ("waggingtail_human" in H.dna.species.mutant_bodyparts)|| ("mam_tail" in H.dna.species.mutant_bodyparts) || ("mam_waggingtail" in H.dna.species.mutant_bodyparts)))
return TRUE
/datum/emote/living/carbon/human/wag/select_message_type(mob/user)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 16c7945773..1c6d1cdede 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -506,7 +506,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour)
var/list/bodyparts_to_add = mutant_bodyparts.Copy()
- var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER, BODY_TAUR_LAYER)
+ var/list/relevent_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER, BODY_TAUR_LAYER, ABOVE_BODY_ADJ_LAYER, UNDER_BODY_ADJ_LAYER)
var/list/standing = list()
H.remove_overlay(BODY_BEHIND_LAYER)
@@ -514,6 +514,10 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.remove_overlay(BODY_FRONT_LAYER)
//CITADEL EDIT - Do not forget to add this to relevent_layers list just above too!
H.remove_overlay(BODY_TAUR_LAYER)
+ H.remove_overlay(ABOVE_BODY_ADJ_LAYER)
+ H.remove_overlay(ABOVE_BODY_FRONT_LAYER)
+ H.remove_overlay(ABOVE_BODY_BEHIND_LAYER)
+ //END EDIT
if(!mutant_bodyparts)
return
@@ -797,7 +801,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
I.color = "#[H.dna.features["mcolor3"]]"
if(HAIR)
if(hair_color == "mutcolor")
- I.color = "#[H.dna.features["mcolor"]]"
+ I.color = "#[H.dna.features["mcolor3"]]"
else
I.color = "#[H.hair_color]"
if(FACEHAIR)
@@ -834,7 +838,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
else
I.color = "#[H.dna.features["mcolor3"]]"
if(HAIR)
- if(hair_color == "mutcolor")
+ if(hair_color == "mutcolor3")
I.color = "#[H.dna.features["mcolor"]]"
else
I.color = "#[H.hair_color]"
@@ -846,7 +850,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.apply_overlay(BODY_ADJ_LAYER)
H.apply_overlay(BODY_FRONT_LAYER)
H.apply_overlay(BODY_TAUR_LAYER) // CITADEL EDIT
-
+ H.apply_overlay(ABOVE_BODY_ADJ_LAYER)
+ H.apply_overlay(ABOVE_BODY_FRONT_LAYER)
+ H.apply_overlay(ABOVE_BODY_BEHIND_LAYER)
//This exists so sprite accessories can still be per-layer without having to include that layer's
//number in their sprite name, which causes issues when those numbers change.
@@ -858,9 +864,16 @@ GLOBAL_LIST_EMPTY(roundstart_races)
return "ADJ"
if(BODY_FRONT_LAYER)
return "FRONT"
+ //CITADEL EDIT
if(BODY_TAUR_LAYER)
return "TAUR"
-
+ if(ABOVE_BODY_ADJ_LAYER)
+ return "ABADJ"
+ if(ABOVE_BODY_FRONT_LAYER)
+ return "ABFRONT"
+ if(ABOVE_BODY_BEHIND_LAYER)
+ return "ABBEHIND"
+ //END EDIT
/datum/species/proc/spec_life(mob/living/carbon/human/H)
if(NOBREATH in species_traits)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index f0085d1c5f..5701ae0ed6 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -4,7 +4,7 @@
/obj/machinery/power/solar
name = "solar panel"
desc = "A solar panel. Generates electricity when in contact with sunlight."
- icon = 'icons/obj/power.dmi'
+ icon = 'goon/icons/obj/power.dmi'
icon_state = "sp_base"
anchored = TRUE
density = TRUE
@@ -181,7 +181,7 @@
/obj/item/solar_assembly
name = "solar panel assembly"
desc = "A solar panel assembly kit, allows constructions of a solar panel, or with a tracking circuit board, a solar tracker."
- icon = 'icons/obj/power.dmi'
+ icon = 'goon/icons/obj/power.dmi'
icon_state = "sp_base"
item_state = "electropack"
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index a46627b7ca..3163a72313 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -6,7 +6,7 @@
/obj/machinery/power/tracker
name = "solar tracker"
desc = "A solar directional tracker."
- icon = 'icons/obj/power.dmi'
+ icon = 'goon/icons/obj/power.dmi'
icon_state = "tracker"
anchored = TRUE
density = TRUE
diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm
index 74cd8805ab..c18d618a0a 100644
--- a/code/modules/research/designs/mechfabricator_designs.dm
+++ b/code/modules/research/designs/mechfabricator_designs.dm
@@ -696,6 +696,15 @@
construction_time = 120
category = list("Cyborg Upgrade Modules")
+/datum/design/borg_upgrade_expand
+ name = "Cyborg Upgrade (Expand)"
+ id = "borg_upgrade_expand"
+ build_type = MECHFAB
+ build_path = /obj/item/borg/upgrade/expand
+ materials = list(MAT_METAL=200000, MAT_TITANIUM=5000)
+ construction_time = 120
+ category = list("Cyborg Upgrade Modules")
+
/datum/design/boris_ai_controller
name = "B.O.R.I.S. AI-Cyborg Remote Control Module"
id = "borg_ai_control"
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index 146ecfd654..a5545f3e9a 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -214,7 +214,7 @@
display_name = "Cyborg Upgrades: Utility"
description = "Utility upgrades for cybogs."
prereq_ids = list("engineering", "cyborg")
- design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair")
+ design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand")
research_cost = 2500
export_price = 5000
diff --git a/goon/icons/obj/closet.dmi b/goon/icons/obj/closet.dmi
new file mode 100644
index 0000000000..6083923033
Binary files /dev/null and b/goon/icons/obj/closet.dmi differ
diff --git a/goon/icons/obj/power.dmi b/goon/icons/obj/power.dmi
new file mode 100644
index 0000000000..bb787c0b3c
Binary files /dev/null and b/goon/icons/obj/power.dmi differ
diff --git a/html/changelogs/AutoChangeLog-pr-5183.yml b/html/changelogs/AutoChangeLog-pr-5183.yml
new file mode 100644
index 0000000000..9f978fbb0d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5183.yml
@@ -0,0 +1,4 @@
+author: "Dax Dupont"
+delete-after: True
+changes:
+ - rscadd: "Cyborgs can now be upgraded to be h-u-g-e! Only a cosmetic effect!"
diff --git a/html/changelogs/AutoChangeLog-pr-5187.yml b/html/changelogs/AutoChangeLog-pr-5187.yml
new file mode 100644
index 0000000000..86d34668cd
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5187.yml
@@ -0,0 +1,5 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - tweak: "made fire colored according to blackbody radiation and rule of cool."
+ - imageadd: "some kind of lightning texture"
diff --git a/html/changelogs/AutoChangeLog-pr-5190.yml b/html/changelogs/AutoChangeLog-pr-5190.yml
new file mode 100644
index 0000000000..39eb687989
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5190.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - imageadd: "Coffins have a new sprite"
diff --git a/html/changelogs/AutoChangeLog-pr-5191.yml b/html/changelogs/AutoChangeLog-pr-5191.yml
new file mode 100644
index 0000000000..4fd391c167
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-5191.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - imageadd: "Solar panels have new sprites"
diff --git a/icons/effects/fire.dmi b/icons/effects/fire.dmi
index 79a73189c3..113e16163e 100644
Binary files a/icons/effects/fire.dmi and b/icons/effects/fire.dmi differ
diff --git a/icons/mob/mam_body_markings.dmi b/icons/mob/mam_body_markings.dmi
index ea4ca10627..d5a5be4e96 100644
Binary files a/icons/mob/mam_body_markings.dmi and b/icons/mob/mam_body_markings.dmi differ
diff --git a/icons/mob/mam_bodyparts.dmi b/icons/mob/mam_bodyparts.dmi
index b8491525a7..5b6dbb2c59 100644
Binary files a/icons/mob/mam_bodyparts.dmi and b/icons/mob/mam_bodyparts.dmi differ
diff --git a/icons/obj/closet.dmi b/icons/obj/closet.dmi
index 1a89e7127c..3d1d7c406d 100644
Binary files a/icons/obj/closet.dmi and b/icons/obj/closet.dmi differ
diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi
index 5482873c8a..cd76709b00 100644
Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ
diff --git a/power.dmi b/power.dmi
deleted file mode 100644
index d0066b96de..0000000000
Binary files a/power.dmi and /dev/null differ
diff --git a/storage.dmi b/storage.dmi
deleted file mode 100644
index 91055cc42c..0000000000
Binary files a/storage.dmi and /dev/null differ