From 4d091c010edda635423aa3c373bdf29eabae03c1 Mon Sep 17 00:00:00 2001 From: coiax Date: Thu, 2 Jun 2016 21:48:08 +0100 Subject: [PATCH] Adds Asteroid emergency shuttle to station (#18125) Wow, this one is a WEIRD one. --- _maps/shuttles/emergency_asteroid.dmm | 103 ++++++++++++++++++++++++++ code/datums/shuttles.dm | 4 + code/modules/admin/admin.dm | 3 + 3 files changed, 110 insertions(+) create mode 100644 _maps/shuttles/emergency_asteroid.dmm diff --git a/_maps/shuttles/emergency_asteroid.dmm b/_maps/shuttles/emergency_asteroid.dmm new file mode 100644 index 00000000000..a494dfb84d1 --- /dev/null +++ b/_maps/shuttles/emergency_asteroid.dmm @@ -0,0 +1,103 @@ +"aa" = (/turf/open/space,/area/space) +"ab" = (/turf/closed/wall/shuttle{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape) +"ac" = (/turf/closed/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape) +"ad" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/open/floor/plating,/area/shuttle/escape) +"ae" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"af" = (/turf/closed/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape) +"ag" = (/turf/open/space,/area/space/nearstation) +"ah" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating/airless,/area/shuttle/escape) +"ai" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aj" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency{dir = 2; dwidth = 10; height = 13; name = "Asteroid emergency shuttle"; width = 28},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"ak" = (/turf/closed/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/escape) +"al" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"am" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/open/floor/plating/airless,/area/shuttle/escape) +"an" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/open/floor/plating/airless,/area/shuttle/escape) +"ao" = (/turf/closed/wall/shuttle{icon_state = "swall11"; dir = 2},/area/shuttle/escape) +"ap" = (/obj/structure/ore_box,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"aq" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"ar" = (/obj/machinery/recharge_station,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"as" = (/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/escape) +"at" = (/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"au" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/escape) +"av" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aw" = (/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"ax" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"ay" = (/turf/closed/wall/shuttle{icon_state = "swall15"; dir = 2},/area/shuttle/escape) +"az" = (/turf/closed/wall/shuttle{icon_state = "swallc4"; dir = 2},/area/shuttle/escape) +"aA" = (/turf/closed/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/escape) +"aB" = (/turf/closed/wall/shuttle{icon_state = "swall_f13"},/area/shuttle/escape) +"aC" = (/turf/closed/wall/shuttle{icon_state = "swall_f11"},/area/shuttle/escape) +"aD" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/open/floor/plating/airless,/area/shuttle/escape) +"aE" = (/obj/structure/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aF" = (/obj/machinery/suit_storage_unit,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"aG" = (/obj/machinery/door/airlock/mining{name = "Emergency Shuttle Storage"; req_access_txt = "0"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor2"},/area/shuttle/escape) +"aH" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"aI" = (/obj/structure/closet,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aJ" = (/obj/structure/table,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aK" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle,/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},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aM" = (/obj/structure/closet/emcloset,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 23},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aN" = (/obj/structure/bed/roller,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aO" = (/turf/closed/wall/shuttle{icon_state = "swallc1"; dir = 2},/area/shuttle/escape) +"aP" = (/obj/machinery/door/airlock/glass_security{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aQ" = (/obj/structure/bed,/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"aR" = (/obj/machinery/computer/station_alert,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aS" = (/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aT" = (/obj/structure/chair/office/light{name = "Chief Engineer"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aU" = (/obj/structure/chair/office/light{name = "Captain"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aV" = (/obj/structure/chair/office/light{name = "Head of Security"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aW" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 23},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aX" = (/obj/machinery/ai_status_display,/turf/closed/wall/shuttle{icon_state = "swall1"; dir = 2},/area/shuttle/escape) +"aY" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"aZ" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"ba" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bb" = (/obj/machinery/computer/security,/turf/open/floor/plasteel/shuttle/red,/area/shuttle/escape) +"bc" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -1; pixel_y = 6},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bd" = (/obj/machinery/computer/emergency_shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"be" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/pen,/obj/machinery/recharger,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bf" = (/obj/machinery/ai_slipper,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bg" = (/obj/machinery/door/airlock/glass_command{name = "Emergency Shuttle Cockpit"; req_access_txt = "19"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bh" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bi" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/escape) +"bj" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bk" = (/obj/structure/chair/office/light{dir = 1; name = "Research Director"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bl" = (/obj/structure/chair/office/light{dir = 1; name = "Head of Personnel"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bm" = (/obj/structure/chair/office/light{dir = 1; name = "Chief Medical Officer"},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bn" = (/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bo" = (/obj/machinery/status_display,/turf/closed/wall/shuttle{icon_state = "swall2"; dir = 2},/area/shuttle/escape) +"bp" = (/obj/machinery/computer/crew,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bq" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "5"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"br" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bs" = (/obj/structure/bed,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bt" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -30},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bu" = (/obj/machinery/door/airlock{name = "Emergency Shuttle Restroom"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bv" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bw" = (/obj/structure/chair{dir = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bx" = (/obj/structure/chair{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -30},/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"by" = (/obj/structure/table,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/machinery/recharger,/turf/open/floor/plasteel/shuttle,/area/shuttle/escape) +"bz" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bA" = (/turf/closed/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape) +"bB" = (/turf/closed/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape) +"bC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bD" = (/obj/structure/closet/secure_closet/medical2,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bE" = (/obj/structure/toilet{dir = 1},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bF" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bG" = (/obj/structure/table/optable,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bH" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/cautery{pixel_x = 4},/obj/item/weapon/surgical_drapes,/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/escape) +"bI" = (/turf/closed/wall/shuttle,/area/shuttle/escape) + +(1,1,1) = {" +aaabacacadaeadafagagahaiahagagagahajahagagabakalakafaaag +aaamanaoapaqarasafagahatahagagagahatahagagauavawaxauaaag +abakayazaqaqaqasaAakaBataCaDaDaDaBataCakakaoaEawaxasafag +amanauaFaqaqaqaGaHaIaJataKaKaKaKaKataLaMaNadavawaxasaAaf +asakaAakakakakaOatatatatatatatatatatatatataPawawawadaQau +adaRaSaTaUaVaWaXataYaZaZaZaZataZaZaZaZbaatadbbawawaPawad +adaSaSbcbdbebfbgataYbhbhbhbhatbhbhbhbhbaatbiakadakakadao +adbjaSbkblbmbnboataYaKaKaKaKataKaKaKaKbaatadbpatatbqatad +asakacakakakakazatatatatatatatatatatatatatbratatataDbsau +amanaubtatatatbuatbvaLaSbwaZaZaZbxaSbyaIaNadatatbzasacbA +bBakayacbuacbuayacakakakakaDaDaDakakakakakaobCatbDasbAaa +aaamanaobEaubEasbAaaaaaaaaaaaaaaaaaaaaaaaaaubFbGbHauaaaa +aabBaAaAadbIadbAaaaaaaaaaaaaaaaaaaaaaaaaaabBakadakbAaaaa +"} diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 47ef11e65e5..0c62b6530da 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -37,6 +37,10 @@ shuttle.\n\ In case of emergency: Break glass." +/datum/map_template/shuttle/emergency/asteroid + suffix = "asteroid" + name = "Asteroid emergency shuttle" + /datum/map_template/shuttle/emergency/bar suffix = "bar" name = "The Emergency Escape Bar" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 87773f725a3..a4d32622fe9 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -21,6 +21,9 @@ var/global/BSACooldown = 0 if(!check_rights()) return + if(!isobserver(usr)) + log_game("[key_name_admin(usr)] checked the player panel while in game.") + if(!M) usr << "You seem to be selecting a mob that doesn't exist anymore." return