From dee83ef62e09670037b6bc050644dc226d9bccd2 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 22 Sep 2016 02:00:04 -0400 Subject: [PATCH] ALL HAIL LEMONS --- _maps/map_files/MetaStation/z2.dmm | 2 +- _maps/map_files/cyberiad/z2.dmm | 2 +- .../{emegency_bar.dmm => emergency_bar.dmm} | 2 +- _maps/map_files/shuttles/emergency_clown.dmm | 2 +- ...mergency_cult.dmm => emergency_narnar.dmm} | 0 _maps/map_files/shuttles/emergency_old.dmm | 168 +++++++++--------- _maps/map_files/shuttles/emergency_test.dmm | 25 +++ code/datums/helper_datums/map_template.dm | 3 - code/datums/shuttles.dm | 10 +- code/modules/shuttle/shuttle.dm | 12 +- code/modules/shuttle/shuttle_manipulator.dm | 11 +- 11 files changed, 136 insertions(+), 101 deletions(-) rename _maps/map_files/shuttles/{emegency_bar.dmm => emergency_bar.dmm} (97%) rename _maps/map_files/shuttles/{emergency_cult.dmm => emergency_narnar.dmm} (100%) create mode 100644 _maps/map_files/shuttles/emergency_test.dmm diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index 7b88df49571..59ab53037cc 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -500,7 +500,7 @@ "jF" = (/obj/structure/stool/bed/chair/sofa,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) "jG" = (/obj/structure/stool/bed/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) "jH" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac) -"jI" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup,/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape) +"jI" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 11; roundstart_move = null},/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape) "jJ" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "jK" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) "jL" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index 0b550996f6a..2a0ec563b73 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -738,7 +738,7 @@ "oj" = (/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) "ok" = (/obj/structure/stool/bed/chair/sofa/corner,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) "ol" = (/obj/machinery/door/airlock/external{id_tag = "specops_away"; name = "Shuttle Hatch"; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"om" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup,/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape) +"om" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile/emergency/backup{dwidth = 9; roundstart_move = null},/obj/docking_port/stationary{dir = 4; dwidth = 3; height = 8; id = "backup_away"; name = "Backup Shuttle Dock"; width = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/shuttle/escape) "on" = (/turf/unsimulated/floor{icon_state = "light_on"},/area/centcom/specops) "oo" = (/obj/machinery/shuttle_manipulator,/turf/unsimulated/floor{icon_state = "light_on"},/area/centcom/specops) "op" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/escape) diff --git a/_maps/map_files/shuttles/emegency_bar.dmm b/_maps/map_files/shuttles/emergency_bar.dmm similarity index 97% rename from _maps/map_files/shuttles/emegency_bar.dmm rename to _maps/map_files/shuttles/emergency_bar.dmm index 18a286ed54b..3f219be4b49 100644 --- a/_maps/map_files/shuttles/emegency_bar.dmm +++ b/_maps/map_files/shuttles/emergency_bar.dmm @@ -44,7 +44,7 @@ "aR" = (/obj/structure/table/woodentable,/obj/item/device/guitar,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/shuttle/escape) "aS" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/shuttle/escape) "aT" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape) -"aU" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 9; height = 24; name = "The Emergency Escape Bar"; timid = 1; width = 13},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aU" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 11; height = 13; name = "The Emergency Escape Bar"; timid = 1; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "aV" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/shuttle/escape) "aW" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/shuttle/escape) "aX" = (/obj/structure/table,/obj/machinery/chem_dispenser/beer,/turf/simulated/floor/plasteel{icon_state = "cafeteria"; dir = 2},/area/shuttle/escape) diff --git a/_maps/map_files/shuttles/emergency_clown.dmm b/_maps/map_files/shuttles/emergency_clown.dmm index 8789a4714b6..9adc226b63a 100644 --- a/_maps/map_files/shuttles/emergency_clown.dmm +++ b/_maps/map_files/shuttles/emergency_clown.dmm @@ -38,7 +38,7 @@ "aL" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/noslip,/area/shuttle/escape) "aM" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/shuttle/escape) "aN" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape) -"aO" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 9; height = 13; name = "Snappop(tm)!"; timid = 1; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aO" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 11; height = 13; name = "Snappop(tm)!"; timid = 1; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) "aP" = (/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rainbow,/turf/simulated/floor/noslip,/area/shuttle/escape) "aQ" = (/obj/structure/stool/bed,/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rainbow,/turf/simulated/floor/noslip,/area/shuttle/escape) "aR" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/item/device/multitool/ai_detect,/turf/simulated/floor/noslip,/area/shuttle/escape) diff --git a/_maps/map_files/shuttles/emergency_cult.dmm b/_maps/map_files/shuttles/emergency_narnar.dmm similarity index 100% rename from _maps/map_files/shuttles/emergency_cult.dmm rename to _maps/map_files/shuttles/emergency_narnar.dmm diff --git a/_maps/map_files/shuttles/emergency_old.dmm b/_maps/map_files/shuttles/emergency_old.dmm index fc99f8c4b06..582cf02ef57 100644 --- a/_maps/map_files/shuttles/emergency_old.dmm +++ b/_maps/map_files/shuttles/emergency_old.dmm @@ -1,91 +1,91 @@ "aa" = (/turf/space,/area/space) -"ab" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/xenos_station/transit) -"ac" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/xenos_station/transit) -"ad" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/xenos_station/transit) -"ae" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/xenos_station/transit) -"af" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ag" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/xenos_station/transit) -"ah" = (/obj/machinery/computer/security{network = list("SS13","Research Outpost","Mining Outpost","Telecomms")},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ai" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aj" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ak" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"al" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"am" = (/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"an" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ao" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ap" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aq" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/xenos_station/transit) -"ar" = (/obj/machinery/computer/robotics,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"as" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"at" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"au" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"av" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/xenos_station/transit) -"aw" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/xenos_station/transit) -"ax" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"ay" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/xenos_station/transit) -"az" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aA" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aB" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aC" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/xenos_station/transit) -"aD" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aE" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/plating,/area/xenos_station/transit) -"aF" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aG" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"aH" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/xenos_station/transit) -"aI" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 9; height = 13; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aJ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aK" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aL" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aM" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aN" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aO" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/shuttle/floor,/area/xenos_station/transit) -"aP" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/floor/plating,/area/xenos_station/transit) -"aQ" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/xenos_station/transit) -"aR" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aS" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/xenos_station/transit) -"aT" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"aU" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aV" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aW" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"aX" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"aY" = (/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"aZ" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"ba" = (/obj/machinery/status_display{pixel_x = -30; pixel_y = 0},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"bb" = (/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"bc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/xenos_station/transit) -"bd" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/xenos_station/transit) -"be" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/xenos_station/transit) -"bf" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/xenos_station/transit) -"bg" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/xenos_station/transit) -"bh" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/xenos_station/transit) -"bi" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/xenos_station/transit) -"bj" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/xenos_station/transit) -"bk" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/xenos_station/transit) -"bl" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) +"ab" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/escape) +"ac" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/escape) +"ad" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/escape) +"ae" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape) +"af" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ag" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape) +"ah" = (/obj/machinery/computer/security{network = list("SS13","Research Outpost","Mining Outpost","Telecomms")},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ai" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aj" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ak" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/xenos_station/transit) +"al" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"am" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"an" = (/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ao" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ap" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aq" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"ar" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape) +"as" = (/obj/machinery/computer/robotics,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"at" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"au" = (/obj/machinery/light/spot,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"av" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aw" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"ax" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape) +"ay" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"az" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aA" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aB" = (/obj/machinery/status_display{pixel_y = 30},/obj/machinery/light/spot{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aC" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aD" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/shuttle/escape) +"aE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aF" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/plating,/area/shuttle/escape) +"aG" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aH" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape) +"aI" = (/obj/docking_port/mobile/emergency{dir = 4; dwidth = 9; height = 13; width = 24},/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aJ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "station intercom (General)"; pixel_x = -28},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aK" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aL" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aM" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aN" = (/obj/machinery/door/airlock/shuttle{aiControlDisabled = 1; hackProof = 1; id_tag = "s_docking_airlock"; name = "Shuttle Hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aO" = (/obj/machinery/status_display{pixel_y = -30},/obj/machinery/light/spot,/turf/simulated/shuttle/floor,/area/shuttle/escape) +"aP" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/floor/plating,/area/shuttle/escape) +"aQ" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/shuttle/escape) +"aR" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aS" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"aT" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"aU" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aV" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aW" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"aX" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/xenos_station/transit) +"aY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"aZ" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"ba" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/obj/machinery/light/spot{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"bb" = (/obj/machinery/status_display{pixel_x = -30; pixel_y = 0},/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"bc" = (/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"bd" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "station intercom (General)"; pixel_x = 28},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape) +"be" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape) +"bf" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/shuttle/escape) +"bg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape) +"bh" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape) +"bi" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/xenos_station/transit) +"bj" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape) +"bk" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/shuttle/escape) +"bl" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape) (1,1,1) = {" aaaaaaaaaaabacadaaaaaaaaaa aaaaaaaaabaeafagadaaaaaaaa aaaaaaabaeahaiajagadaaaaaa -aaaaaaacakalamalanacaaaaaa -aaaaabaeaoamamamapagadaaaa -aaaaaqarasamamatauamaqaaaa -abavawavavavaxavayavawavad -aqazaAaBaCazamaBaCazaAaBaq -aqaDamaBaEazamaBaEazamaFaq -acazamaGaEazamaBaEazamaBac -aqazamaBaHazamaBaHazamaBaq -aIamamamamamamamamamamaBaq -aqaJamaBaCazamaBaCazamaKaq -aCazamaBaEazamaBaEazamaBaC -aEazamaBaEazamaBaEazamaBaE -aHazamaBaHazamaBaHazamaBaH -aqaLamamamamamamamamamaMaq -aNamamamamaOamaOamamamaMac -aqaPaQaRacaSacaSacaTaPaQaq -aqaUaVaVaWaqaaaqaXaYaXaXaq -acaVaVaVaZaqaaaqbaaYaYbbaq -aqaUaVaVbcaqaaaqbdbdbdbdaq -beaybfbfbfbgaabhbibibiaybj -aabebkbkbkblaabebkbkbkbjaa +aaaaaaakalamanamaoakaaaaaa +aaaaabaeapanananaqagadaaaa +aaaaarasatananauavanaraaaa +abawaxawawawayawazawaxawad +araAaBaCaDaAanaCaDaAaBaCar +araEanaCaFaAanaCaFaAanaGar +acaAanaCaFaAanaCaFaAanaCac +araAanaCaHaAanaCaHaAanaCar +aIananananananananananaCar +araJanaCaDaAanaCaDaAanaKar +aDaAanaCaFaAanaCaFaAanaCaD +aFaAanaCaFaAanaCaFaAanaCaF +aHaAanaCaHaAanaCaHaAanaCaH +araLanananananananananaMar +aNananananaOanaOanananaMac +araPaQaRacaSacaSacaTaPaQar +araUaVaVaWaraaaXaYaZaYaYar +acaVaVaVbaaraaaXbbaZaZbcar +araUaVaVbdaraaaXbebebebear +bfazbgbgbgbhaabibjbjbjazbk +aabfblblblbkaabfblblblbkaa "} diff --git a/_maps/map_files/shuttles/emergency_test.dmm b/_maps/map_files/shuttles/emergency_test.dmm new file mode 100644 index 00000000000..b77022347cb --- /dev/null +++ b/_maps/map_files/shuttles/emergency_test.dmm @@ -0,0 +1,25 @@ +"a" = (/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/shuttle/escape) +"b" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"c" = (/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/escape) +"d" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape) +"e" = (/turf/simulated/floor/bluegrid,/area/shuttle/escape) +"f" = (/obj/machinery/door/airlock/cult,/obj/docking_port/mobile/emergency{height = 14; name = "CODERBUS BEEPBEEP"; timid = 1; width = 14},/turf/simulated/floor/bluegrid,/area/shuttle/escape) +"g" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape) +"h" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape) + +(1,1,1) = {" +abbbbbbbbbbbbc +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +feeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +deeeeeeeeeeeed +gbbbbbbbbbbbbh +"} diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index 7ec318311b2..8b10c67e855 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -160,9 +160,6 @@ if(!(initial(shuttle_type.suffix))) continue - - - var/datum/map_template/shuttle/S = new shuttle_type() shuttle_templates[S.shuttle_id] = S diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index b2a40c004e5..24007dbafee 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -1,6 +1,6 @@ /datum/map_template/shuttle name = "Base Shuttle Template" - var/prefix = "_maps/shuttles/" + var/prefix = "_maps/map_files/shuttles/" var/suffix var/port_id var/shuttle_id @@ -74,7 +74,7 @@ /datum/map_template/shuttle/emergency/narnar suffix = "narnar" - name = "Shuttle 667(WIP)" + name = "Shuttle 667" description = "Looks like this shuttle may have wandered into the \ darkness between the stars on route to the station. Let's not think \ too hard about where all the bodies came from." @@ -82,6 +82,12 @@ constructs. Put players in constructs if you want them to move. \ Cloning pods in 'medbay' area are showcases and nonfunctional." + +/datum/map_template/shuttle/emergency/old + suffix = "old" + name = "Retired Station shuttle." + description = "an older model of the station shuttle." + /datum/map_template/shuttle/ferry/base suffix = "base" name = "transport ferry" diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 32ccce7e5d3..b39e21d9b67 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -396,6 +396,7 @@ air_master.add_to_active(T0,1) i_know_what_im_doing = TRUE + to_chat(world, "[src] moved to nullspace") qdel(src) //this is the main proc. It instantly moves our mobile port to stationary port S1 @@ -604,16 +605,14 @@ A.unlock() /obj/docking_port/mobile/proc/roadkill(list/L0, list/L1, dir) - - //check for space pod to do TODO FETHAS DO IT var/list/hurt_mobs = list() for(var/i in 1 to L0.len) var/turf/T0 = L0[i] var/turf/T1 = L1[i] if(!T0 || !T1) continue - //if(T0.type == T0.baseturf) - // continue//WOT DO?! + //if(T0.type == T0.baseturf)//wot? + // continue // The corresponding tile will not be changed, so no roadkill for(var/atom/movable/AM in T1) @@ -638,11 +637,12 @@ M.ex_act(2) else //non-living mobs shouldn't be affected by shuttles, which is why this is an else + if(istype(AM, /obj/singularity))//it's a singularity, ignore it. + continue if(!AM.anchored) step(AM, dir) else - if(AM.simulated) //lighting overlays are static - qdel(AM) + qdel(AM) //used by shuttle subsystem to check timers /obj/docking_port/mobile/proc/check() diff --git a/code/modules/shuttle/shuttle_manipulator.dm b/code/modules/shuttle/shuttle_manipulator.dm index fbec6e5dda9..4f573f0dc4c 100644 --- a/code/modules/shuttle/shuttle_manipulator.dm +++ b/code/modules/shuttle/shuttle_manipulator.dm @@ -206,9 +206,15 @@ else if(S) . = TRUE // If successful, returns the mobile docking port - var/mdp = action_load(S) + var/obj/docking_port/mobile/mdp = action_load(S) if(mdp) user.forceMove(get_turf(mdp)) + message_admins("[key_name_admin(usr)] loaded [mdp] \ + with the shuttle manipulator.") + log_admin("[key_name(usr)] loaded [mdp] with the \ + shuttle manipulator.") + feedback_add_details("shuttle_manipulator", mdp.name) + /obj/machinery/shuttle_manipulator/proc/action_load( datum/map_template/shuttle/loading_template) @@ -262,9 +268,9 @@ // TODO indicate to the user that success happened, rather than just // blanking the modification tab + existing_shuttle = preview_shuttle preview_shuttle = null preview_template = null - existing_shuttle = null selected = null return preview_shuttle @@ -317,5 +323,6 @@ /obj/machinery/shuttle_manipulator/proc/unload_preview() if(preview_shuttle) + to_chat(world, "unloading: [preview_shuttle]") preview_shuttle.jumpToNullSpace() preview_shuttle = null \ No newline at end of file