mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 11:38:12 +01:00
Big Fucking Shelter Capsule Update... TWO!!! (#18634)
* adds alt luxury capsule * adds even MORE capsules * Better privacy features for pre-existing pods * adds triple casino deck to recroom * Makes Theta a bit better * MORE PODS RAHHH * Makes polarized windows block light when tinted * ehhh nvm to this one * Adds shelter deploy preview on capsule activation * organizes shelter maps into size-based subfolders * Shows where shelter doors will be in capsule preview * adds capsules to vendors/lathes + vendor price adjustment * wait that wasn't gonna be able to toggle the door bolts lol * oops, thank you integration test for catching that * fixes edge-case bug where capsules could deploy beyond the edges of the map * fixes comment wording oops * wait oops messed up the door locations here * Adds luxury features to more pre-existing pods * Wait oops that should be using the lux cabin windows * adds door indicators to tesla capsule too cuz why not --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
@@ -133,10 +133,14 @@
|
||||
)
|
||||
prize_list["Shelter Capsules"] = list(
|
||||
EQUIPMENT("Shelter Capsule - Shelter (5x5)", /obj/item/survivalcapsule, 500),
|
||||
EQUIPMENT("Shelter Capsule - Pocket Dorm (5x5)", /obj/item/survivalcapsule/pocketdorm, 500),
|
||||
EQUIPMENT("Shelter Capsule - Kitchen (7x7)", /obj/item/survivalcapsule/kitchen, 3100),
|
||||
EQUIPMENT("Shelter Capsule - Luxury Shelter (7x7)", /obj/item/survivalcapsule/luxury, 3100),
|
||||
EQUIPMENT("Shelter Capsule - Alt. Luxury Shelter (7x7)", /obj/item/survivalcapsule/luxuryalt, 3100),
|
||||
EQUIPMENT("Shelter Capsule - Redspace (7x7)", /obj/item/survivalcapsule/randomized, 5000),
|
||||
EQUIPMENT("Shelter Capsule - Sauna (7x7)", /obj/item/survivalcapsule/sauna, 5000),
|
||||
EQUIPMENT("Shelter Capsule - Rec Room + Cards Table (9x9)", /obj/item/survivalcapsule/recroom, 7500),
|
||||
EQUIPMENT("Shelter Capsule - Sauna (7x7)", /obj/item/survivalcapsule/sauna, 3100),
|
||||
EQUIPMENT("Shelter Capsule - Rec Room + Cards Table (9x9)", /obj/item/survivalcapsule/recroom, 5000),
|
||||
EQUIPMENT("Shelter Capsule - Luxury Rec Room (11x11)", /obj/item/survivalcapsule/luxuryrecroom, 10000),
|
||||
EQUIPMENT("Shelter Capsule - Bar (11x11)", /obj/item/survivalcapsule/luxurybar, 10000),
|
||||
EQUIPMENT("Shelter Capsule - Deluxe Cabin (11x11)", /obj/item/survivalcapsule/luxurycabin, 10000),
|
||||
EQUIPMENT("Shelter Capsule - Cafe (11x11)", /obj/item/survivalcapsule/cafe, 10000),
|
||||
|
||||
@@ -73,10 +73,14 @@
|
||||
)
|
||||
prize_list["Shelter Capsules"] = list(
|
||||
EQUIPMENT("Shelter Capsule - Shelter (5x5)", /obj/item/survivalcapsule, 50),
|
||||
EQUIPMENT("Shelter Capsule - Pocket Dorm (5x5)", /obj/item/survivalcapsule/pocketdorm, 50),
|
||||
EQUIPMENT("Shelter Capsule - Kitchen (7x7)", /obj/item/survivalcapsule/kitchen, 310),
|
||||
EQUIPMENT("Shelter Capsule - Luxury Shelter (7x7)", /obj/item/survivalcapsule/luxury, 310),
|
||||
EQUIPMENT("Shelter Capsule - Alt. Luxury Shelter (7x7)", /obj/item/survivalcapsule/luxuryalt, 310),
|
||||
EQUIPMENT("Shelter Capsule - Redspace (7x7)", /obj/item/survivalcapsule/randomized, 500),
|
||||
EQUIPMENT("Shelter Capsule - Sauna (7x7)", /obj/item/survivalcapsule/sauna, 500),
|
||||
EQUIPMENT("Shelter Capsule - Rec Room + Cards Table (9x9)", /obj/item/survivalcapsule/recroom, 750),
|
||||
EQUIPMENT("Shelter Capsule - Sauna (7x7)", /obj/item/survivalcapsule/sauna, 310),
|
||||
EQUIPMENT("Shelter Capsule - Rec Room + Cards Table (9x9)", /obj/item/survivalcapsule/recroom, 500),
|
||||
EQUIPMENT("Shelter Capsule - Luxury Rec Room (11x11)", /obj/item/survivalcapsule/luxuryrecroom, 1000),
|
||||
EQUIPMENT("Shelter Capsule - Bar (11x11)", /obj/item/survivalcapsule/luxurybar, 1000),
|
||||
EQUIPMENT("Shelter Capsule - Deluxe Cabin (11x11)", /obj/item/survivalcapsule/luxurycabin, 1000),
|
||||
EQUIPMENT("Shelter Capsule - Cafe (11x11)", /obj/item/survivalcapsule/cafe, 1000),
|
||||
|
||||
@@ -65,6 +65,48 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
ret += "This capsule has an unknown template stored."
|
||||
return ret
|
||||
|
||||
/// Creates and shows to the user a preview of the pod's shape, like the admin load template verb does. However, this one shows valid deploy turfs in blue, and invalid turfs in red.
|
||||
/obj/item/survivalcapsule/proc/preview_template(var/mob/user, var/turf/deploy_turf, var/show_doors = FALSE)
|
||||
if(!deploy_turf)
|
||||
return
|
||||
var/preview_render = list()
|
||||
template.preload_size(template.mappath)
|
||||
// Get origin (bottom-left) of shelter template relative to where we are on the map
|
||||
var/turf/origin = locate(user.x - round((template.width)/2) , user.y - round((template.height)/2) , user.z)
|
||||
var/turf/topright = locate(user.x + round((template.width)/2) , user.y + round((template.height)/2) , user.z)
|
||||
if(!origin || !topright)
|
||||
return
|
||||
for(var/turf/S in template.get_affected_turfs(deploy_turf, centered = TRUE))
|
||||
if(template.get_turf_deployability(S, is_ship) != SHELTER_DEPLOY_ALLOWED)
|
||||
preview_render += image('icons/misc/debug_group.dmi',S ,"red")
|
||||
else if(show_doors)
|
||||
var/is_door_here = FALSE
|
||||
for(var/list/door_coord in template.door_locations)
|
||||
// If we're at a spot where a door is going to appear, display a green spot!
|
||||
var/dX = origin.x + door_coord[1] - 1
|
||||
var/dY = origin.y + door_coord[2] - 1
|
||||
if(S.x == dX && S.y == dY)
|
||||
preview_render += image('icons/misc/debug_group.dmi',S ,"green")
|
||||
is_door_here = TRUE
|
||||
break
|
||||
if(!is_door_here)
|
||||
preview_render += image('icons/misc/debug_group.dmi',S ,"blue")
|
||||
else
|
||||
preview_render += image('icons/misc/debug_group.dmi',S ,"blue")
|
||||
user.client.images += preview_render
|
||||
return preview_render
|
||||
|
||||
/obj/item/survivalcapsule/proc/remove_preview(var/mob/user, var/list/preview_render, var/fade_time = 1 SECOND)
|
||||
if(fade_time > 0)
|
||||
for(var/image/I in preview_render)
|
||||
animate(I, alpha = 0, fade_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(delete_preview_render), user, preview_render), fade_time, TIMER_DELETE_ME)
|
||||
else
|
||||
delete_preview_render(user, preview_render)
|
||||
|
||||
/obj/item/survivalcapsule/proc/delete_preview_render(var/mob/user, var/list/preview_render)
|
||||
user.client.images -= preview_render
|
||||
|
||||
/obj/item/survivalcapsule/proc/can_deploy(var/turf/deploy_location, var/turf/above_location)
|
||||
var/status = template.check_deploy(deploy_location, is_ship)
|
||||
switch(status)
|
||||
@@ -144,19 +186,50 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
return
|
||||
var/turf/deploy_location = get_turf(src)
|
||||
// Warn the user in advance if the capsule can't work from where they're standing.
|
||||
if(!can_deploy(get_turf(src), GetAbove(deploy_location)))
|
||||
var/preview_render = preview_template(user, deploy_location)
|
||||
// If there's no preview render, that means it couldn't get the bottom-left or top-right corner of the shelter template area
|
||||
// So this is prooooobably somewhere outside the map bounds!
|
||||
if(!preview_render)
|
||||
loc.visible_message(span_warning("\The [src] is too close to the edge of this map to deploy!"))
|
||||
return
|
||||
loc.visible_message(span_warning("\The [src] begins to shake. Stand back!"))
|
||||
user.drop_from_inventory(src)
|
||||
used = TRUE
|
||||
if(!can_deploy(get_turf(src), GetAbove(deploy_location)))
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_preview), user, preview_render), 1 SECONDS, TIMER_DELETE_ME)
|
||||
return
|
||||
// We only show where the doors will be on a successful deploy check to avoid player confusion.
|
||||
remove_preview(user, preview_render, 0)
|
||||
preview_render = preview_template(user, deploy_location, show_doors = TRUE)
|
||||
if(tgui_alert(usr,"Confirm location. (The shelter's exterior doors are highlighted in green!)", "Shelter Deploy Confirm",list("No","Yes")) == "Yes")
|
||||
// We might have moved since the last check, so we check again!
|
||||
if(!can_deploy(deploy_location, GetAbove(deploy_location)))
|
||||
used = FALSE
|
||||
return
|
||||
loc.visible_message(span_warning("\The [src] begins to shake. Stand back!"))
|
||||
user.drop_from_inventory(src)
|
||||
used = TRUE
|
||||
|
||||
addtimer(CALLBACK(src, PROC_REF(deploy_step_one), user), 5 SECONDS, TIMER_DELETE_ME)
|
||||
addtimer(CALLBACK(src, PROC_REF(deploy_step_one), user), 5 SECONDS, TIMER_DELETE_ME)
|
||||
remove_preview(user, preview_render, 0)
|
||||
|
||||
/obj/item/survivalcapsule/luxury
|
||||
name = "luxury surfluid shelter capsule"
|
||||
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_beta"
|
||||
|
||||
/obj/item/survivalcapsule/luxuryalt
|
||||
name = "luxury alt surfluid shelter capsule"
|
||||
desc = "An exorbitantly expensive luxury suite programmed into construction nanomachines. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_luxury_alt"
|
||||
|
||||
/obj/item/survivalcapsule/pocketdorm
|
||||
name = "pocket dorm surfluid shelter capsule"
|
||||
desc = "A little dorm programmed into construction nanomachines. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_pocket_dorm"
|
||||
|
||||
/obj/item/survivalcapsule/kitchen
|
||||
name = "pocket dorm surfluid shelter capsule"
|
||||
desc = "A kitchen programmed into construction nanomachines. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_kitchen"
|
||||
|
||||
/obj/item/survivalcapsule/luxurybar
|
||||
name = "luxury surfluid bar capsule"
|
||||
desc = "A luxury bar in a capsule. " + JOB_BARTENDER + " required and not included. There's a license for use printed on the bottom."
|
||||
@@ -172,6 +245,11 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
desc = "A luxury cafe in a capsule. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_cafe"
|
||||
|
||||
/obj/item/survivalcapsule/luxuryrecroom
|
||||
name = "luxury rec room cafe capsule"
|
||||
desc = "A luxury rec room in a capsule. There's a license for use printed on the bottom."
|
||||
template_id = "shelter_luxury_recroom"
|
||||
|
||||
/obj/item/survivalcapsule/military
|
||||
name = "military surfluid shelter capsule"
|
||||
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."
|
||||
|
||||
@@ -4,30 +4,39 @@
|
||||
var/blacklisted_turfs
|
||||
var/banned_areas
|
||||
var/banned_objects
|
||||
var/list/door_locations = list() /// Where the door (or doors) are located in XY coordinates, so the capsule deploy preview can show where the doors will be.
|
||||
|
||||
/datum/map_template/shelter/New()
|
||||
. = ..()
|
||||
blacklisted_turfs = typecacheof(list(/turf/unsimulated, /turf/simulated/floor/tiled))
|
||||
blacklisted_turfs = typecacheof(list(/turf/unsimulated))
|
||||
banned_areas = typecacheof(/area/shuttle)
|
||||
banned_objects = list()
|
||||
|
||||
/// Checks all turfs within the area of the given deploy location to see if it is a valid shelter area.
|
||||
/datum/map_template/shelter/proc/check_deploy(turf/deploy_location, var/is_ship)
|
||||
var/affected = get_affected_turfs(deploy_location, centered=TRUE)
|
||||
for(var/turf/T in affected)
|
||||
var/area/A = get_area(T)
|
||||
if(is_type_in_typecache(A, banned_areas) || (A.flags & AREA_BLOCK_INSTANT_BUILDING))
|
||||
return SHELTER_DEPLOY_BAD_AREA
|
||||
var/shelter_status = get_turf_deployability(T)
|
||||
if(shelter_status != SHELTER_DEPLOY_ALLOWED)
|
||||
return shelter_status
|
||||
return SHELTER_DEPLOY_ALLOWED
|
||||
|
||||
var/banned = is_type_in_typecache(T, blacklisted_turfs)
|
||||
if(banned || T.density)
|
||||
return SHELTER_DEPLOY_BAD_TURFS
|
||||
//Ships can only deploy in space (bacause their base turf is always turf/space)
|
||||
if(is_ship && !is_type_in_typecache(T, typecacheof(/turf/space)))
|
||||
return SHELTER_DEPLOY_SHIP_SPACE
|
||||
/// Checks a single given turf to see if it is a valid turf to deploy a shelter onto.
|
||||
/datum/map_template/shelter/proc/get_turf_deployability(var/turf/T, var/is_ship)
|
||||
var/area/A = get_area(T)
|
||||
if(is_type_in_typecache(A, banned_areas) || (A.flags & AREA_BLOCK_INSTANT_BUILDING))
|
||||
return SHELTER_DEPLOY_BAD_AREA
|
||||
|
||||
for(var/obj/O in T)
|
||||
if((O.density && O.anchored) || is_type_in_typecache(O, banned_objects))
|
||||
return SHELTER_DEPLOY_ANCHORED_OBJECTS
|
||||
var/banned = is_type_in_typecache(T, blacklisted_turfs)
|
||||
if(banned || T.density)
|
||||
return SHELTER_DEPLOY_BAD_TURFS
|
||||
//Ships can only deploy in space (because their base turf is always turf/space)
|
||||
if(is_ship && !is_type_in_typecache(T, typecacheof(/turf/space)))
|
||||
return SHELTER_DEPLOY_SHIP_SPACE
|
||||
|
||||
for(var/obj/O in T)
|
||||
if((O.density && O.anchored) || is_type_in_typecache(O, banned_objects))
|
||||
return SHELTER_DEPLOY_ANCHORED_OBJECTS
|
||||
return SHELTER_DEPLOY_ALLOWED
|
||||
|
||||
/datum/map_template/shelter/proc/add_roof(turf/deploy_location)
|
||||
@@ -57,7 +66,8 @@
|
||||
built-in navigation, entertainment, medical facilities and a \
|
||||
sleeping area! Order now, and we'll throw in a TINY FAN, \
|
||||
absolutely free!"
|
||||
mappath = "maps/submaps/shelters/shelter_1.dmm"
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_1.dmm"
|
||||
door_locations = list(list(3,1))
|
||||
|
||||
/datum/map_template/shelter/beta
|
||||
name = "Shelter Beta"
|
||||
@@ -67,7 +77,8 @@
|
||||
running water, a gourmet three course meal, cooking facilities, \
|
||||
and a deluxe companion to keep you from getting lonely during \
|
||||
an ash storm."
|
||||
mappath = "maps/submaps/shelters/shelter_2.dmm"
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_2.dmm"
|
||||
door_locations = list(list(4,1))
|
||||
|
||||
/datum/map_template/shelter/gamma
|
||||
name = "Shelter Gamma"
|
||||
@@ -77,7 +88,11 @@
|
||||
also has a sink. This isn't a survival capsule and so you can \
|
||||
expect that this won't save you if you're bleeding out to \
|
||||
death."
|
||||
mappath = "maps/submaps/shelters/shelter_3.dmm"
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_3.dmm"
|
||||
door_locations = list(
|
||||
list(6,1),
|
||||
list(1,6),
|
||||
list(1,9))
|
||||
|
||||
/datum/map_template/shelter/delta
|
||||
name = "Shelter Delta"
|
||||
@@ -87,7 +102,11 @@
|
||||
supplies allow it to hold out for an extended period of time\
|
||||
and a built in medical facility allows field treatment to be \
|
||||
possible."
|
||||
mappath = "maps/submaps/shelters/shelter_4.dmm"
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_4.dmm"
|
||||
door_locations = list(
|
||||
list(1,6),
|
||||
list(6,1),
|
||||
list(11,6))
|
||||
|
||||
/datum/map_template/shelter/epsilon
|
||||
name = "Shelter Epsilon"
|
||||
@@ -95,12 +114,14 @@
|
||||
description = "(10x5) An escape pod, with a mediocre amount of supplies \
|
||||
for escaping a dying ship as soon as possible."
|
||||
mappath = "maps/offmap_vr/om_ships/shelter_5.dmm"
|
||||
door_locations = list(list(10,3))
|
||||
|
||||
/datum/map_template/shelter/cabin
|
||||
name = "Shelter Cabin"
|
||||
shelter_id = "shelter_cab"
|
||||
description = "(7x7) A small cabin; turned into a shelter capsule. Includes dorm amenities, and a nice dinner."
|
||||
mappath = "maps/submaps/shelters/shelter_cab.dmm"
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_cab.dmm"
|
||||
door_locations = list(list(4,1))
|
||||
|
||||
/datum/map_template/shelter/cabin_deluxe
|
||||
name = "Shelter Deluxe Cabin"
|
||||
@@ -109,7 +130,12 @@
|
||||
Includes a private dormitory, bathroom, dining room, and a very \
|
||||
compactly designed kitchen. Designed for a comfortable extended \
|
||||
stay in isolated wilderness survival scenarios."
|
||||
mappath = "maps/submaps/shelters/shelter_luxury_cabin.dmm"
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_luxury_cabin.dmm"
|
||||
door_locations = list(
|
||||
list(1,3),
|
||||
list(6,11),
|
||||
list(6,1)
|
||||
)
|
||||
|
||||
/datum/map_template/shelter/phi
|
||||
name = "Shelter Phi"
|
||||
@@ -119,7 +145,8 @@
|
||||
Originally designed for use by colonists on worlds with little to \
|
||||
to no contact, the expense of these shelters have prevented them \
|
||||
from seeing common use."
|
||||
mappath = "maps/submaps/shelters/shelter_a.dmm"
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_a.dmm"
|
||||
door_locations = list(list(4,1))
|
||||
|
||||
/datum/map_template/shelter/chi
|
||||
name = "Shelter Chi"
|
||||
@@ -128,49 +155,113 @@
|
||||
capsule. Many of the survival utilities have been stripped away in favor \
|
||||
of recreational facilities and a more comfortable living quarters. The \
|
||||
definition of \"form over function,\" in capsule form!"
|
||||
mappath = "maps/submaps/shelters/shelter_h.dmm"
|
||||
mappath = "maps/submaps/shelters/7x8/shelter_h.dmm"
|
||||
door_locations = list(list(4,1),list(7,4))
|
||||
|
||||
/datum/map_template/shelter/rec
|
||||
name = "Shelter Rec Room"
|
||||
shelter_id = "shelter_recroom"
|
||||
description = "(9x9) A recreational room in a pocket, offering a gaming table with poker chips, dice, and cards to host group gaming activities, as well as a small arcade for more individual experiences. While offering absolutely nothing that will help someone survive physically aside from a safely isolated atmosphere, the intellectual stimulation provided from the gaming facilities within have been chosen to assist and keep one's mind sharp."
|
||||
mappath = "maps/submaps/shelters/shelter_recroom.dmm"
|
||||
mappath = "maps/submaps/shelters/9x9/shelter_recroom.dmm"
|
||||
door_locations = list(
|
||||
list(1,5),
|
||||
list(4,9),
|
||||
list(5,1),
|
||||
list(9,4),
|
||||
)
|
||||
|
||||
/datum/map_template/shelter/sauna
|
||||
name = "Shelter Sauna"
|
||||
shelter_id = "shelter_sauna"
|
||||
description = "(7x7) A luxurious sauna in your pocket. Complete with privacy features, a changing and locker room, and of course a decently spacious sauna room with three benches to rest on."
|
||||
mappath = "maps/submaps/shelters/shelter_sauna.dmm"
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_sauna.dmm"
|
||||
door_locations = list(list(4,1))
|
||||
|
||||
/datum/map_template/shelter/cafe
|
||||
name = "Shelter Cafe"
|
||||
shelter_id = "shelter_cafe"
|
||||
description = "(11x11) A fully stocked and equipped cafe in your pocket. While this won't save you if you're dying, it will ensure that you and anyone who happens to be with you will never suffer from caffeine withdrawal!"
|
||||
mappath = "maps/submaps/shelters/shelter_cafe.dmm"
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_cafe.dmm"
|
||||
door_locations = list(
|
||||
list(1,6),
|
||||
list(6,1),
|
||||
list(11,6),
|
||||
list(11,9)
|
||||
)
|
||||
|
||||
/datum/map_template/shelter/luxuryrecroom
|
||||
name = "Shelter Luxury Rec Room"
|
||||
shelter_id = "shelter_luxury_recroom"
|
||||
description = "(11x11) The surfluid within this capsule is a carefully programmed monument to hedonism. Unlike its smaller cousin, this rec room variant sports a larger gambling table supporting up to seven players, more vending machines for players' needs, and even a small private dorm room. If you have any desire for a fully private, self-contained gambling room completely isolated from the world outside, this is your perfect answer."
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_luxury_recroom.dmm"
|
||||
door_locations = list(
|
||||
list(6,1),
|
||||
list(6,11),
|
||||
list(11,6)
|
||||
)
|
||||
|
||||
/datum/map_template/shelter/kitchen
|
||||
name = "Shelter Kitchen"
|
||||
shelter_id = "shelter_kitchen"
|
||||
description = "(7x7) A fully stocked, functional kitchen in your pocket, equipped with an oven, fryer, grill, oven, microwave, and blender. It even comes with a pre-stocked storage of basic ingredients, to make starting your culinary pursuits easier to begin as soon as you pop open the capsule!"
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_kitchen.dmm"
|
||||
door_locations = list(
|
||||
list(4,1),
|
||||
list(1,4),
|
||||
list(7,4)
|
||||
)
|
||||
|
||||
/datum/map_template/shelter/iota
|
||||
name = "Shelter Iota"
|
||||
shelter_id = "shelter_pocket_dorm"
|
||||
description = "(5x5) An alternate configuration of Shelter Alpha. This one is more spatially efficient and supports two people inside it, but compromises some shelter equipment to make room for it."
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_pocket_dorm.dmm"
|
||||
door_locations = list(list(3,1))
|
||||
|
||||
/datum/map_template/shelter/zeta
|
||||
name = "Shelter Zeta"
|
||||
shelter_id = "shelter_luxury_alt"
|
||||
description = "(7x7) An alternate configuration of Shelter Beta, prominently featuring both a windowed view of the exterior as well as the means to tint the windows for superior privacy."
|
||||
mappath = "maps/submaps/shelters/7x7/shelter_luxury_alt.dmm"
|
||||
door_locations = list(list(4,1))
|
||||
|
||||
/datum/map_template/shelter/loss_1
|
||||
name = "Shelter L1"
|
||||
shelter_id = "shelter_loss1"
|
||||
description = "(5x5) North-west quadrant."
|
||||
mappath = "maps/submaps/shelters/shelter_loss_1.dmm"
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_loss_1.dmm"
|
||||
door_locations = list(
|
||||
list(1,3),
|
||||
list(3,5),
|
||||
list(3,1),
|
||||
list(5,3))
|
||||
|
||||
/datum/map_template/shelter/loss_2
|
||||
name = "Shelter L2"
|
||||
shelter_id = "shelter_loss2"
|
||||
description = "(5x5) North-east quadrant."
|
||||
mappath = "maps/submaps/shelters/shelter_loss_2.dmm"
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_loss_2.dmm"
|
||||
door_locations = list(
|
||||
list(1,3),
|
||||
list(3,1))
|
||||
|
||||
/datum/map_template/shelter/loss_3
|
||||
name = "Shelter L3"
|
||||
shelter_id = "shelter_loss3"
|
||||
description = "(5x5) South-west quadrant."
|
||||
mappath = "maps/submaps/shelters/shelter_loss_3.dmm"
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_loss_3.dmm"
|
||||
door_locations = list(
|
||||
list(3,5),
|
||||
list(5,3))
|
||||
|
||||
/datum/map_template/shelter/loss_4
|
||||
name = "Shelter L4"
|
||||
shelter_id = "shelter_loss4"
|
||||
description = "(5x5) South-east quadrant."
|
||||
mappath = "maps/submaps/shelters/shelter_loss_4.dmm"
|
||||
mappath = "maps/submaps/shelters/5x5/shelter_loss_4.dmm"
|
||||
door_locations = list(
|
||||
list(1,3),
|
||||
list(3,5))
|
||||
|
||||
// EXTREMELY DANGEROUS ADMIN-ONLY SHELTERS I BEG YOU DO NOT SPAWN THESE EXCEPT FOR A DISASTROUS BIT
|
||||
|
||||
@@ -178,76 +269,94 @@
|
||||
name = "Shelter Tesla"
|
||||
description = "(11x11) A whole tesla engine setup, complete with a fully charged SMES cell ready to power the emitters. Using this is probably an exceptionally terrible idea."
|
||||
shelter_id = "shelter_tesla"
|
||||
mappath = "maps/submaps/shelters/shelter_tesla.dmm"
|
||||
mappath = "maps/submaps/shelters/11x11/shelter_tesla.dmm"
|
||||
door_locations = list(
|
||||
list(1,6),
|
||||
list(6,1),
|
||||
list(6,11))
|
||||
|
||||
//Redspace capsule shelters - here be weird shit.
|
||||
|
||||
/datum/map_template/shelter/nerd_dungeon_evil
|
||||
name = "Shelter Nerd Dungeon Evil"
|
||||
shelter_id = "shelter_nerd_dungeon_evil"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_nerd_dungeon_evil.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_nerd_dungeon_evil.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/nerd_dungeon_good
|
||||
name = "Shelter Nerd Dungeon Good"
|
||||
shelter_id = "shelter_nerd_dungeon_good"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_nerd_dungeon_good.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_nerd_dungeon_good.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/dangerous_pool
|
||||
name = "Shelter Dangerous Pool"
|
||||
shelter_id = "shelter_dangerous_pool"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_dangerous_pool.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_dangerous_pool.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/pizza_kitchen
|
||||
name = "Shelter Pizza Kitchen"
|
||||
shelter_id = "shelter_pizza_kitchen"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_pizza.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_pizza.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/tiny_space
|
||||
name = "Shelter Smole Space"
|
||||
shelter_id = "shelter_tiny_space"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_tiny_space.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_tiny_space.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/christmas
|
||||
name = "Shelter Christmas"
|
||||
shelter_id = "shelter_christmas"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_christmas.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_christmas.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/methlab
|
||||
name = "Shelter Meth Lab"
|
||||
shelter_id = "shelter_methlab"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_methlab.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_methlab.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/blacksmith
|
||||
name = "Shelter Blacksmith"
|
||||
shelter_id = "shelter_blacksmith"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_blacksmith.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_blacksmith.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/gallery
|
||||
name = "Shelter Art Gallery"
|
||||
shelter_id = "shelter_gallery"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_gallery.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_gallery.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/garden
|
||||
name = "Shelter Garden"
|
||||
shelter_id = "shelter_garden"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_garden.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_garden.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/mimic_hell
|
||||
name = "Shelter Mimic Hell"
|
||||
shelter_id = "shelter_mimic_hell"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_mimic_hell.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_mimic_hell.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/off_color_bedrooms
|
||||
name = "Shelter Off-Color Bedrooms"
|
||||
shelter_id = "shelter_off_color"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_off_color.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_off_color.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/living_room
|
||||
name = "Shelter Living Room"
|
||||
shelter_id = "shelter_living_room"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_living_room.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_living_room.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
/datum/map_template/shelter/candlelit_dinner
|
||||
name = "Shelter Candlelit Dinner"
|
||||
shelter_id = "shelter_candlelit_dinner"
|
||||
mappath = "maps/submaps/shelters/randomshelters/shelter_candlelit_dinner.dmm"
|
||||
mappath = "maps/submaps/shelters/randomshelters/7x7/shelter_candlelit_dinner.dmm"
|
||||
door_locations = list(list(1,4))
|
||||
|
||||
Reference in New Issue
Block a user