Merge pull request #21647 from KorPhaeron/buildyourownshuttle

Allows captains to organize a shuttle build event
This commit is contained in:
oranges
2016-11-25 10:13:53 +13:00
committed by GitHub
4 changed files with 52 additions and 382 deletions
+33 -378
View File
@@ -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
"}
+3 -4
View File
@@ -35,11 +35,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"
+13
View File
@@ -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)
+3
View File
@@ -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))