mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
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:
@@ -1,3 +1,4 @@
|
||||
GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
/*****************************Survival Pod********************************/
|
||||
/area/survivalpod
|
||||
name = "\improper Emergency Shelter"
|
||||
@@ -16,6 +17,7 @@
|
||||
var/template_id = "shelter_alpha"
|
||||
var/datum/map_template/shelter/template
|
||||
var/used = FALSE
|
||||
var/unique_id = null
|
||||
|
||||
/obj/item/device/survivalcapsule/proc/get_template()
|
||||
if(template)
|
||||
@@ -63,6 +65,13 @@
|
||||
used = FALSE
|
||||
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/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
|
||||
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."
|
||||
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
|
||||
/obj/item/device/survivalcapsule/tabiranth
|
||||
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."
|
||||
template_id = "shelter_phi"
|
||||
unique_id = "shelter_a"
|
||||
|
||||
//Pod objects
|
||||
//Walls
|
||||
|
||||
@@ -86,6 +86,13 @@
|
||||
possible."
|
||||
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
|
||||
name = "Shelter Phi"
|
||||
shelter_id = "shelter_phi"
|
||||
|
||||
@@ -503,6 +503,10 @@
|
||||
#include "om_ships/mercenarybase.dm"
|
||||
#include "om_ships/mercship.dm"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//Shelter Capsules
|
||||
#include "om_ships/shelter_5.dm"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//Offmap Spawn Locations
|
||||
#include "offmap/talon.dm"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2932,6 +2932,7 @@
|
||||
icon_state = "tube1";
|
||||
pixel_y = 0
|
||||
},
|
||||
/obj/item/device/survivalcapsule/escapepod,
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/mothership/vault)
|
||||
"fw" = (
|
||||
@@ -2992,6 +2993,12 @@
|
||||
d2 = 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,
|
||||
/area/mothership/vault)
|
||||
"fB" = (
|
||||
@@ -3382,6 +3389,8 @@
|
||||
pixel_x = 0;
|
||||
pixel_y = -25
|
||||
},
|
||||
/obj/item/weapon/technomancer_catalog/universal,
|
||||
/obj/item/weapon/technomancer_core/universal,
|
||||
/turf/simulated/floor/tiled/techfloor/grid,
|
||||
/area/mothership/vault)
|
||||
"gj" = (
|
||||
|
||||
48
maps/tether/submaps/om_ships/shelter_5.dm
Normal file
48
maps/tether/submaps/om_ships/shelter_5.dm
Normal 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"
|
||||
311
maps/tether/submaps/om_ships/shelter_5.dmm
Normal file
311
maps/tether/submaps/om_ships/shelter_5.dmm
Normal 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
|
||||
"}
|
||||
Reference in New Issue
Block a user