mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 16:47:13 +01:00
Merge pull request #21647 from KorPhaeron/buildyourownshuttle
Allows captains to organize a shuttle build event
This commit is contained in:
@@ -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
|
||||
"}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user