Deployable Escape Pods

- Adds Surfluid Escape Pod Capsule
Adds one to the cruiser
Updates some contents
Adds Support for unique deployables
Removes redundant global vars
Better error message
Sets a var correctly
This commit is contained in:
Unknown
2020-04-17 09:17:46 -04:00
parent 22a5b84e4e
commit d1e2412d76
7 changed files with 395 additions and 23321 deletions

View File

@@ -1,3 +1,4 @@
GLOBAL_LIST_EMPTY(unique_deployable)
/*****************************Survival Pod********************************/ /*****************************Survival Pod********************************/
/area/survivalpod /area/survivalpod
name = "\improper Emergency Shelter" name = "\improper Emergency Shelter"
@@ -16,6 +17,7 @@
var/template_id = "shelter_alpha" var/template_id = "shelter_alpha"
var/datum/map_template/shelter/template var/datum/map_template/shelter/template
var/used = FALSE var/used = FALSE
var/unique_id = null
/obj/item/device/survivalcapsule/proc/get_template() /obj/item/device/survivalcapsule/proc/get_template()
if(template) if(template)
@@ -63,6 +65,13 @@
used = FALSE used = FALSE
return return
if(unique_id)
if(unique_id in GLOB.unique_deployable)
loc.visible_message("<span class='warning'>\There can only be one [src] deployed at a time.</span>")
used = FALSE
return
GLOB.unique_deployable += unique_id
var/turf/T = deploy_location var/turf/T = deploy_location
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
smoke.attach(T) smoke.attach(T)
@@ -95,11 +104,18 @@
desc = "A prefabricated firebase in a capsule. Contains basic weapons, building materials, and combat suits. There's a license for use printed on the bottom." desc = "A prefabricated firebase in a capsule. Contains basic weapons, building materials, and combat suits. There's a license for use printed on the bottom."
template_id = "shelter_delta" template_id = "shelter_delta"
/obj/item/device/survivalcapsule/escapepod
name = "escape surfluid shelter capsule"
desc = "A prefabricated escape pod in a capsule. Contains a basic escape pod for survival purposes. There's a license for use printed on the bottom."
template_id = "shelter_epsilon"
unique_id = "shelter_5"
//Custom Shelter Capsules //Custom Shelter Capsules
/obj/item/device/survivalcapsule/tabiranth /obj/item/device/survivalcapsule/tabiranth
name = "silver-trimmed surfluid shelter capsule" name = "silver-trimmed surfluid shelter capsule"
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom." desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. This one is a particularly rare and expensive model. There's a license for use printed on the bottom."
template_id = "shelter_phi" template_id = "shelter_phi"
unique_id = "shelter_a"
//Pod objects //Pod objects
//Walls //Walls

View File

@@ -86,6 +86,13 @@
possible." possible."
mappath = "maps/submaps/shelters/shelter_4.dmm" mappath = "maps/submaps/shelters/shelter_4.dmm"
/datum/map_template/shelter/epsilon
name = "Shelter Epsilon"
shelter_id = "shelter_epsilon"
description = "An escape pod, with a mediocre amount of supplies \
for escaping a dying ship as soon as possible."
mappath = "maps/tether/submaps/om_ships/shelter_5.dmm"
/datum/map_template/shelter/phi /datum/map_template/shelter/phi
name = "Shelter Phi" name = "Shelter Phi"
shelter_id = "shelter_phi" shelter_id = "shelter_phi"

View File

@@ -503,6 +503,10 @@
#include "om_ships/mercenarybase.dm" #include "om_ships/mercenarybase.dm"
#include "om_ships/mercship.dm" #include "om_ships/mercship.dm"
//////////////////////////////////////////////////////////////////////////////
//Shelter Capsules
#include "om_ships/shelter_5.dm"
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
//Offmap Spawn Locations //Offmap Spawn Locations
#include "offmap/talon.dm" #include "offmap/talon.dm"

File diff suppressed because it is too large Load Diff

View File

@@ -2932,6 +2932,7 @@
icon_state = "tube1"; icon_state = "tube1";
pixel_y = 0 pixel_y = 0
}, },
/obj/item/device/survivalcapsule/escapepod,
/turf/simulated/floor/tiled/techfloor/grid, /turf/simulated/floor/tiled/techfloor/grid,
/area/mothership/vault) /area/mothership/vault)
"fw" = ( "fw" = (
@@ -2992,6 +2993,12 @@
d2 = 2; d2 = 2;
icon_state = "0-2" icon_state = "0-2"
}, },
/obj/item/clothing/head/helmet/space/void/merc/prototype,
/obj/item/clothing/head/helmet/space/void/merc/prototype,
/obj/item/clothing/head/helmet/space/void/captain,
/obj/item/clothing/suit/space/void/merc/prototype,
/obj/item/clothing/suit/space/void/merc/prototype,
/obj/item/clothing/suit/space/void/captain,
/turf/simulated/floor/tiled/techfloor/grid, /turf/simulated/floor/tiled/techfloor/grid,
/area/mothership/vault) /area/mothership/vault)
"fB" = ( "fB" = (
@@ -3382,6 +3389,8 @@
pixel_x = 0; pixel_x = 0;
pixel_y = -25 pixel_y = -25
}, },
/obj/item/weapon/technomancer_catalog/universal,
/obj/item/weapon/technomancer_core/universal,
/turf/simulated/floor/tiled/techfloor/grid, /turf/simulated/floor/tiled/techfloor/grid,
/area/mothership/vault) /area/mothership/vault)
"gj" = ( "gj" = (

View File

@@ -0,0 +1,48 @@
// Compile in the map for CI testing if we're testing compileability of all the maps
#if MAP_TEST
#include "shelter_5.dmm"
#endif
// Map template for spawning the shuttle
/datum/map_template/om_ships/escapepod
name = "OM Ship - Escape Pod"
desc = "An escape pod."
mappath = 'shelter_5.dmm'
annihilate = TRUE
// The shuttle's area(s)
/area/shuttle/deployable/escapepod
name = "\improper Escape Pod"
icon_state = "shuttle2"
requires_power = 1
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/escapepod
name = "short jump console"
shuttle_tag = "Escape Pod"
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/escapepod
name = "Origin - Escape Pod"
base_area = /area/space
base_turf = /turf/space
landmark_tag = "omship_spawn_escapepod"
shuttle_type = /datum/shuttle/autodock/overmap/escapepod
// The 'shuttle'
/datum/shuttle/autodock/overmap/escapepod
name = "Escape Pod"
current_location = "omship_spawn_escapepod"
docking_controller_tag = "escapepod_shuttle_docker"
shuttle_area = /area/shuttle/deployable/escapepod
fuel_consumption = 0
defer_initialisation = TRUE //We're not loaded until an admin does it
// The 'ship'
/obj/effect/overmap/visitable/ship/landable/escapepod
name = "Escape Pod"
desc = "An Escape Pod for escaping exploding ships."
color = "#00aaff" //Bluey
vessel_mass = 1000
vessel_size = SHIP_SIZE_SMALL
shuttle = "Escape Pod"

View File

@@ -0,0 +1,311 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/obj/effect/floor_decal/industrial/warning/dust{
dir = 8
},
/obj/structure/shuttle/engine/propulsion{
dir = 8
},
/turf/simulated/floor/reinforced/airless,
/area/shuttle/deployable/escapepod)
"b" = (
/turf/simulated/wall/rpshull,
/area/shuttle/deployable/escapepod)
"c" = (
/obj/structure/sign/mining/survival{
dir = 1
},
/turf/simulated/wall/rpshull,
/area/shuttle/deployable/escapepod)
"d" = (
/obj/structure/fans,
/obj/effect/floor_decal/techfloor{
dir = 9
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"e" = (
/obj/machinery/smartfridge/survival_pod,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/random,
/obj/item/weapon/storage/mre/menu11,
/obj/item/weapon/storage/mre/menu11,
/obj/item/weapon/storage/mre/menu13,
/obj/item/device/fbp_backup_cell,
/obj/item/device/fbp_backup_cell,
/obj/item/device/fbp_backup_cell,
/obj/item/device/fbp_backup_cell,
/obj/item/device/fbp_backup_cell,
/obj/item/weapon/storage/pill_bottle/dice,
/obj/effect/floor_decal/techfloor{
dir = 1
},
/obj/item/weapon/storage/box/survival/space,
/obj/item/weapon/storage/box/survival/space,
/obj/item/weapon/storage/box/survival/space,
/obj/item/weapon/storage/box/survival/space,
/obj/item/device/gps,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/tank/emergency/oxygen/engi,
/obj/item/weapon/storage/toolbox/emergency,
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"f" = (
/obj/machinery/sleeper/survival_pod,
/obj/effect/floor_decal/techfloor{
dir = 1
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"g" = (
/obj/effect/floor_decal/techfloor{
dir = 5
},
/obj/structure/handrail,
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"h" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume{
frequency = 1380
},
/obj/machinery/embedded_controller/radio/airlock/docking_port{
frequency = 1380;
id_tag = "escapepod_shuttle_docker";
pixel_y = 28
},
/obj/effect/map_helper/airlock/atmos/chamber_pump,
/obj/structure/handrail{
dir = 8
},
/obj/machinery/airlock_sensor{
frequency = 1380;
pixel_y = 22
},
/obj/effect/map_helper/airlock/sensor/chamber_sensor,
/turf/simulated/floor/tiled/steel_grid,
/area/shuttle/deployable/escapepod)
"i" = (
/obj/machinery/computer/shuttle_control/explore/escapepod{
dir = 4
},
/obj/effect/floor_decal/techfloor,
/obj/effect/floor_decal/techfloor{
dir = 1
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"j" = (
/obj/structure/bed/chair/bay/shuttle{
dir = 8
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"k" = (
/obj/machinery/power/terminal,
/obj/structure/cable/cyan{
d1 = 0;
d2 = 4;
icon_state = "0-4"
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"l" = (
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"m" = (
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/effect/floor_decal/techfloor{
dir = 4
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"n" = (
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/door/airlock/external,
/obj/machinery/access_button{
command = "cycle_interior";
frequency = 1380;
master_tag = "escapepod_shuttle_docker";
pixel_x = -5;
pixel_y = 26
},
/obj/effect/floor_decal/industrial/warning{
dir = 4
},
/obj/effect/map_helper/airlock/door/int_door,
/turf/simulated/floor/tiled/steel_ridged,
/area/shuttle/deployable/escapepod)
"o" = (
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/hidden,
/obj/effect/shuttle_landmark/shuttle_initializer/escapepod,
/turf/simulated/floor/tiled/steel_grid,
/area/shuttle/deployable/escapepod)
"p" = (
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/obj/machinery/door/airlock/external,
/obj/effect/floor_decal/industrial/warning{
icon_state = "warning";
dir = 8
},
/obj/effect/map_helper/airlock/door/ext_door,
/obj/machinery/access_button{
command = "cycle_exterior";
frequency = 1380;
master_tag = "escapepod_shuttle_docker";
name = "exterior access button";
pixel_x = 5;
pixel_y = -26
},
/turf/simulated/floor/tiled/steel_ridged,
/area/shuttle/deployable/escapepod)
"q" = (
/obj/structure/table/survival_pod,
/obj/effect/floor_decal/techfloor{
dir = 10
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"r" = (
/obj/machinery/power/smes/buildable/point_of_interest,
/obj/structure/cable/cyan{
icon_state = "0-4"
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"s" = (
/obj/effect/floor_decal/techfloor,
/obj/structure/bed/chair/shuttle{
dir = 1
},
/obj/structure/cable/cyan{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"t" = (
/obj/machinery/power/apc{
dir = 2;
name = "south bump";
pixel_y = -28
},
/obj/structure/cable/cyan{
icon_state = "0-8"
},
/obj/effect/floor_decal/techfloor{
icon_state = "techfloor_edges";
dir = 6
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/shuttle/deployable/escapepod)
"u" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
},
/obj/machinery/portable_atmospherics/canister/air,
/turf/simulated/floor/tiled/steel_grid,
/area/shuttle/deployable/escapepod)
"v" = (
/obj/structure/sign/mining/survival,
/turf/simulated/wall/rpshull,
/area/shuttle/deployable/escapepod)
(1,1,1) = {"
a
b
b
b
a
"}
(2,1,1) = {"
b
b
i
b
b
"}
(3,1,1) = {"
c
d
j
q
v
"}
(4,1,1) = {"
b
e
k
r
b
"}
(5,1,1) = {"
c
f
l
s
v
"}
(6,1,1) = {"
b
f
l
s
b
"}
(7,1,1) = {"
c
g
m
t
v
"}
(8,1,1) = {"
b
b
n
b
b
"}
(9,1,1) = {"
c
h
o
u
v
"}
(10,1,1) = {"
b
b
p
b
b
"}