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