From b3baa8314c76d53c8caa301800850643c9f9d516 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sat, 19 Nov 2016 15:28:25 -0600 Subject: [PATCH] Build your own shuttle --- _maps/shuttles/emergency_airless.dmm | 411 +++------------------------ code/datums/shuttles.dm | 7 +- code/modules/admin/fun_balloon.dm | 13 + code/modules/shuttle/shuttle.dm | 3 + 4 files changed, 52 insertions(+), 382 deletions(-) diff --git a/_maps/shuttles/emergency_airless.dmm b/_maps/shuttles/emergency_airless.dmm index 17c492af9d5..480f27bd8a9 100644 --- a/_maps/shuttles/emergency_airless.dmm +++ b/_maps/shuttles/emergency_airless.dmm @@ -1,381 +1,36 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/open/space, -/area/space) -"b" = ( -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"c" = ( -/turf/closed/wall, -/area/shuttle/escape) -"d" = ( -/obj/structure/fireaxecabinet, -/turf/closed/wall, -/area/shuttle/escape) -"e" = ( -/obj/structure/closet/malf, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"f" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"g" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"h" = ( -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = 0 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"i" = ( -/obj/machinery/computer/emergency_shuttle, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"j" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"k" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/grille, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"l" = ( -/turf/open/floor/plating, -/area/shuttle/escape) -"m" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = 0 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"n" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"o" = ( -/obj/docking_port/mobile/emergency{ - name = "Shuttle Under Construction"; - timid = 1 - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"p" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"q" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/shuttle/engine/heater, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"r" = ( -/obj/structure/shuttle/engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/escape) -"s" = ( -/obj/machinery/status_display, -/turf/closed/wall, -/area/shuttle/escape) +"a" = (/turf/open/space,/area/space) +"b" = (/turf/open/floor/plating/airless,/area/shuttle/escape) +"c" = (/turf/closed/wall,/area/shuttle/escape) +"d" = (/obj/structure/closet/malf,/turf/open/floor/plating/airless,/area/shuttle/escape) +"e" = (/obj/machinery/status_display,/turf/closed/wall,/area/shuttle/escape) +"f" = (/obj/effect/shuttle_build,/turf/open/floor/plating/airless,/area/shuttle/escape) +"g" = (/turf/open/floor/plating,/area/shuttle/escape) +"h" = (/obj/docking_port/mobile/emergency{name = "Shuttle Under Construction"; timid = 1},/turf/open/floor/plating/airless,/area/shuttle/escape) +"i" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 4; name = "4maintenance loot spawner"},/turf/open/floor/plating/airless,/area/shuttle/escape) +"j" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/shuttle/escape) +"k" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/shuttle/escape) (1,1,1) = {" -a -a -a -a -a -a -b -l -b -o -b -b -b -b -a -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -b -c -s -c -b -b -b -b -b -b -b -b -b -b -b -b -c -c -c -a -a -"} -(3,1,1) = {" -b -b -e -e -e -b -b -m -m -m -m -m -b -b -b -b -b -b -b -b -q -r -"} -(4,1,1) = {" -c -b -b -b -b -b -b -n -n -n -n -n -b -b -b -b -b -b -b -b -q -r -"} -(5,1,1) = {" -c -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -q -r -"} -(6,1,1) = {" -c -b -b -b -b -b -b -m -m -m -m -m -b -b -b -b -b -b -b -b -q -r -"} -(7,1,1) = {" -d -b -b -b -b -b -b -n -n -n -n -n -b -b -b -b -b -b -b -b -q -r -"} -(8,1,1) = {" -c -b -f -h -j -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -q -r -"} -(9,1,1) = {" -c -b -g -i -k -b -b -m -m -m -m -m -b -b -b -p -p -p -b -b -q -r -"} -(10,1,1) = {" -a -b -c -c -c -b -b -b -b -b -b -b -b -b -b -c -s -c -b -c -a -a -"} -(11,1,1) = {" -a -a -a -a -a -a -c -c -c -c -c -b -c -c -a -a -a -a -a -a -a -a +aabbbbbbbaa +abbbbbbbbba +acdbbbbbbba +aedbbbfbbba +abdbbbbbbba +abbbbbbbbba +bbbbbbbbbbc +gbbbbbbbbbc +bbbbbbbbbbc +hbbbbbbbbbc +bbbbbbbbbbc +bbbbbbbbbbb +bbbbbbbbbbc +bbbbbbbbbbc +abbbbbbbbba +abbbbbbbica +abbbbbbbiea +acbbbbbbica +acbbbbbbbba +acbbbbbbbca +aajjjjjjjaa +aakkkkkkkaa "} diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 7f0f2784582..23e9dc6f159 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -34,11 +34,10 @@ /datum/map_template/shuttle/emergency/airless suffix = "airless" - name = "(Shuttle Under Construction)" - description = "The documentation hasn't been finished yet for this \ - shuttle.\n\ - In case of emergency: Break glass." + name = "Build your own shuttle kit" + description = "Save money by building your own shuttle! The chassis will dock upon purchase, but launch will have to be authorized as usual via shuttle call. Interior and atmosphere not included." admin_notes = "No brig, no medical facilities, no air." + credit_cost = -7500 /datum/map_template/shuttle/emergency/asteroid suffix = "asteroid" diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index 03ea20be051..daf1eeecc7e 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -138,3 +138,16 @@ else mover << "You don't have enough money to enter the main shuttle. You'll have to fly coach." return 0 + +//Shuttle Build + +/obj/effect/shuttle_build + name = "shuttle_build" + desc = "Some assembly required" + icon = 'icons/obj/weapons.dmi' + icon_state = "syndballoon" + anchored = TRUE + +/obj/effect/shuttle_build/New() + SSshuttle.emergency.dock(SSshuttle.getDock("emergency_home")) + qdel(src) \ No newline at end of file diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index ea714f2e8e6..8eac00c9b7f 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -422,6 +422,9 @@ //this is the main proc. It instantly moves our mobile port to stationary port S1 //it handles all the generic behaviour, such as sanity checks, closing doors on the shuttle, stunning mobs, etc /obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/S1, force=FALSE) + if(S1.get_docked() == src) + remove_ripples() + return // Crashing this ship with NO SURVIVORS if(!force) if(!check_dock(S1))