mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Port /tg/ lavaland shelters
Nanotech twist rather than bluespace, but whatever.
This commit is contained in:
@@ -32,3 +32,9 @@
|
|||||||
|
|
||||||
//Assistant/Visitor/Whatever
|
//Assistant/Visitor/Whatever
|
||||||
#define USELESS_JOB "Visitor"
|
#define USELESS_JOB "Visitor"
|
||||||
|
|
||||||
|
// Bluespace shelter deploy checks
|
||||||
|
#define SHELTER_DEPLOY_ALLOWED "allowed"
|
||||||
|
#define SHELTER_DEPLOY_BAD_TURFS "bad turfs"
|
||||||
|
#define SHELTER_DEPLOY_BAD_AREA "bad area"
|
||||||
|
#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects"
|
||||||
|
|||||||
@@ -9,14 +9,15 @@ SUBSYSTEM_DEF(mapping)
|
|||||||
|
|
||||||
var/obj/effect/landmark/engine_loader/engine_loader
|
var/obj/effect/landmark/engine_loader/engine_loader
|
||||||
|
|
||||||
|
var/list/shelter_templates = list()
|
||||||
|
|
||||||
/datum/controller/subsystem/mapping/Recover()
|
/datum/controller/subsystem/mapping/Recover()
|
||||||
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
||||||
|
shelter_templates = SSmapping.shelter_templates
|
||||||
|
|
||||||
/datum/controller/subsystem/mapping/Initialize(timeofday)
|
/datum/controller/subsystem/mapping/Initialize(timeofday)
|
||||||
loadEngine()
|
loadEngine()
|
||||||
// TODO - This probably should be here
|
preloadShelterTemplates()
|
||||||
// // Pick a random away mission.
|
|
||||||
// createRandomZlevel()
|
|
||||||
// Mining generation probably should be here too
|
// Mining generation probably should be here too
|
||||||
// TODO - Other stuff related to maps and areas could be moved here too. Look at /tg
|
// TODO - Other stuff related to maps and areas could be moved here too. Look at /tg
|
||||||
if(using_map)
|
if(using_map)
|
||||||
@@ -88,6 +89,15 @@ SUBSYSTEM_DEF(mapping)
|
|||||||
else
|
else
|
||||||
MT.load_new_z(centered = FALSE)
|
MT.load_new_z(centered = FALSE)
|
||||||
|
|
||||||
|
/datum/controller/subsystem/mapping/proc/preloadShelterTemplates()
|
||||||
|
for(var/item in subtypesof(/datum/map_template/shelter))
|
||||||
|
var/datum/map_template/shelter/shelter_type = item
|
||||||
|
if(!(initial(shelter_type.mappath)))
|
||||||
|
continue
|
||||||
|
var/datum/map_template/shelter/S = new shelter_type()
|
||||||
|
|
||||||
|
shelter_templates[S.shelter_id] = S
|
||||||
|
|
||||||
/datum/controller/subsystem/mapping/stat_entry(msg)
|
/datum/controller/subsystem/mapping/stat_entry(msg)
|
||||||
if (!Debug2)
|
if (!Debug2)
|
||||||
return // Only show up in stat panel if debugging is enabled.
|
return // Only show up in stat panel if debugging is enabled.
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
idle_power_usage = 5
|
idle_power_usage = 5
|
||||||
active_power_usage = 100
|
active_power_usage = 100
|
||||||
flags = NOREACT
|
flags = NOREACT
|
||||||
var/global/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000.
|
var/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't look things over 1000. //VOREStation Edit - Non-global
|
||||||
var/icon_on = "smartfridge"
|
var/icon_on = "smartfridge"
|
||||||
var/icon_off = "smartfridge-off"
|
var/icon_off = "smartfridge-off"
|
||||||
var/icon_panel = "smartfridge-panel"
|
var/icon_panel = "smartfridge-panel"
|
||||||
|
|||||||
254
code/modules/mining/shelter_atoms.dm
Normal file
254
code/modules/mining/shelter_atoms.dm
Normal file
@@ -0,0 +1,254 @@
|
|||||||
|
/*****************************Survival Pod********************************/
|
||||||
|
/area/survivalpod
|
||||||
|
name = "\improper Emergency Shelter"
|
||||||
|
icon_state = "away"
|
||||||
|
dynamic_lighting = TRUE
|
||||||
|
requires_power = FALSE
|
||||||
|
has_gravity = TRUE
|
||||||
|
|
||||||
|
//Survival Capsule
|
||||||
|
/obj/item/device/survivalcapsule
|
||||||
|
name = "surfluid shelter capsule"
|
||||||
|
desc = "An emergency shelter programmed into construction nanomachines. It has a license for use printed on the bottom."
|
||||||
|
icon_state = "houseball"
|
||||||
|
icon = 'icons/obj/device_alt.dmi'
|
||||||
|
w_class = ITEMSIZE_TINY
|
||||||
|
var/template_id = "shelter_alpha"
|
||||||
|
var/datum/map_template/shelter/template
|
||||||
|
var/used = FALSE
|
||||||
|
|
||||||
|
/obj/item/device/survivalcapsule/proc/get_template()
|
||||||
|
if(template)
|
||||||
|
return
|
||||||
|
template = SSmapping.shelter_templates[template_id]
|
||||||
|
if(!template)
|
||||||
|
throw EXCEPTION("Shelter template ([template_id]) not found!")
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/item/device/survivalcapsule/Destroy()
|
||||||
|
template = null // without this, capsules would be one use. per round.
|
||||||
|
. = ..()
|
||||||
|
|
||||||
|
/obj/item/device/survivalcapsule/examine(mob/user)
|
||||||
|
. = ..()
|
||||||
|
get_template()
|
||||||
|
to_chat(user, "This capsule has the [template.name] stored.")
|
||||||
|
to_chat(user, template.description)
|
||||||
|
|
||||||
|
/obj/item/device/survivalcapsule/attack_self()
|
||||||
|
//Can't grab when capsule is New() because templates aren't loaded then
|
||||||
|
get_template()
|
||||||
|
if(!used)
|
||||||
|
loc.visible_message("<span class='warning'>\The [src] begins to shake. Stand back!</span>")
|
||||||
|
used = TRUE
|
||||||
|
|
||||||
|
sleep(5 SECONDS)
|
||||||
|
|
||||||
|
var/turf/deploy_location = get_turf(src)
|
||||||
|
var/status = template.check_deploy(deploy_location)
|
||||||
|
switch(status)
|
||||||
|
if(SHELTER_DEPLOY_BAD_AREA)
|
||||||
|
src.loc.visible_message("<span class='warning'>\The [src] will not function in this area.</span>")
|
||||||
|
if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS)
|
||||||
|
var/width = template.width
|
||||||
|
var/height = template.height
|
||||||
|
src.loc.visible_message("<span class='warning'>\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!</span>")
|
||||||
|
|
||||||
|
if(status != SHELTER_DEPLOY_ALLOWED)
|
||||||
|
used = FALSE
|
||||||
|
return
|
||||||
|
|
||||||
|
var/turf/T = deploy_location
|
||||||
|
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
|
||||||
|
smoke.attach(T)
|
||||||
|
smoke.set_up(10, 0, T)
|
||||||
|
smoke.start()
|
||||||
|
sleep(4 SECONDS)
|
||||||
|
|
||||||
|
playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
|
||||||
|
|
||||||
|
log_and_message_admins("[key_name_admin(usr)] activated a bluespace capsule at [get_area(T)]!")
|
||||||
|
template.load(deploy_location, centered = TRUE)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/item/device/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"
|
||||||
|
|
||||||
|
//Pod objects
|
||||||
|
//Walls
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival
|
||||||
|
name = "survival shelter"
|
||||||
|
stripe_color = "#efbc3b"
|
||||||
|
|
||||||
|
//Doors
|
||||||
|
/obj/machinery/door/airlock/voidcraft/survival_pod
|
||||||
|
name = "survival airlock"
|
||||||
|
block_air_zones = 1
|
||||||
|
|
||||||
|
//Windows
|
||||||
|
/obj/structure/window/reinforced/survival_pod
|
||||||
|
name = "pod window"
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "pwindow"
|
||||||
|
basestate = "pwindow"
|
||||||
|
|
||||||
|
//The windows have diagonal versions, and will never be a full window
|
||||||
|
/obj/structure/window/reinforced/survival_pod/is_full_window()
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
/obj/structure/window/reinforced/survival_pod/update_icon()
|
||||||
|
icon_state = basestate
|
||||||
|
|
||||||
|
//Windoor
|
||||||
|
/obj/machinery/door/window/survival_pod
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "windoor"
|
||||||
|
base_state = "windoor"
|
||||||
|
|
||||||
|
//Table
|
||||||
|
/obj/structure/table/survival_pod
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "table"
|
||||||
|
|
||||||
|
//Sleeper
|
||||||
|
/obj/machinery/sleeper/survival_pod
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "sleeper"
|
||||||
|
stasis_level = 100 //Just one setting
|
||||||
|
|
||||||
|
/obj/machinery/sleeper/survival_pod/update_icon()
|
||||||
|
if(occupant)
|
||||||
|
add_overlay("sleeper_cover")
|
||||||
|
else
|
||||||
|
cut_overlays()
|
||||||
|
|
||||||
|
//Computer
|
||||||
|
/obj/item/device/gps/computer
|
||||||
|
name = "pod computer"
|
||||||
|
icon_state = "pod_computer"
|
||||||
|
icon = 'icons/obj/survival_pod_comp.dmi'
|
||||||
|
anchored = TRUE
|
||||||
|
density = TRUE
|
||||||
|
pixel_y = -32
|
||||||
|
|
||||||
|
/obj/item/device/gps/computer/attackby(obj/item/I, mob/living/user)
|
||||||
|
if(istype(I, /obj/item/weapon/wrench))
|
||||||
|
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
|
||||||
|
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||||
|
if(do_after(user,4 SECONDS,src))
|
||||||
|
new /obj/item/device/gps(loc)
|
||||||
|
qdel(src)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
/obj/item/device/gps/computer/attack_hand(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(.)
|
||||||
|
return
|
||||||
|
attack_self(user)
|
||||||
|
|
||||||
|
//Bed
|
||||||
|
/obj/structure/bed/pod
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "bed"
|
||||||
|
|
||||||
|
//Survival Storage Unit
|
||||||
|
/obj/machinery/smartfridge/survival_pod
|
||||||
|
name = "survival pod storage"
|
||||||
|
desc = "A heated storage unit."
|
||||||
|
icon_state = "donkvendor"
|
||||||
|
icon = 'icons/obj/survival_pod_vend.dmi'
|
||||||
|
icon_on = "donkvendor"
|
||||||
|
icon_off = "donkvendor"
|
||||||
|
light_range = 5
|
||||||
|
light_power = 1.2
|
||||||
|
light_color = "#DDFFD3"
|
||||||
|
pixel_y = -4
|
||||||
|
max_n_of_items = 10
|
||||||
|
var/empty = FALSE
|
||||||
|
|
||||||
|
/obj/machinery/smartfridge/survival_pod/initialize(mapload)
|
||||||
|
. = ..()
|
||||||
|
if(empty)
|
||||||
|
return
|
||||||
|
for(var/i in 1 to 5)
|
||||||
|
var/obj/item/weapon/reagent_containers/food/snacks/liquidfood/W = new(src)
|
||||||
|
stock(W)
|
||||||
|
if(prob(50))
|
||||||
|
var/obj/item/weapon/storage/pill_bottle/dice/D = new(src)
|
||||||
|
stock(D)
|
||||||
|
else
|
||||||
|
var/obj/item/device/violin/V = new(src)
|
||||||
|
stock(V)
|
||||||
|
|
||||||
|
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
|
||||||
|
return isitem(O)
|
||||||
|
|
||||||
|
/obj/machinery/smartfridge/survival_pod/empty
|
||||||
|
name = "dusty survival pod storage"
|
||||||
|
desc = "A heated storage unit. This one's seen better days."
|
||||||
|
empty = TRUE
|
||||||
|
|
||||||
|
//Fans
|
||||||
|
/obj/structure/fans
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "fans"
|
||||||
|
name = "environmental regulation system"
|
||||||
|
desc = "A large machine releasing a constant gust of air."
|
||||||
|
anchored = TRUE
|
||||||
|
density = TRUE
|
||||||
|
var/buildstacktype = /obj/item/stack/material/steel
|
||||||
|
var/buildstackamount = 5
|
||||||
|
|
||||||
|
/obj/structure/fans/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||||
|
if(!height)
|
||||||
|
return FALSE
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/structure/fans/proc/deconstruct()
|
||||||
|
new buildstacktype(loc,buildstackamount)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
/obj/structure/fans/attackby(obj/item/I, mob/living/user)
|
||||||
|
if(istype(I, /obj/item/weapon/wrench))
|
||||||
|
user.visible_message("<span class='warning'>[user] disassembles [src].</span>",
|
||||||
|
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||||
|
if(do_after(user,4 SECONDS,src))
|
||||||
|
deconstruct()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/structure/fans/tiny
|
||||||
|
name = "tiny fan"
|
||||||
|
desc = "A tiny fan, releasing a thin gust of air."
|
||||||
|
plane = TURF_PLANE
|
||||||
|
layer = ABOVE_TURF_LAYER
|
||||||
|
density = FALSE
|
||||||
|
icon_state = "fan_tiny"
|
||||||
|
buildstackamount = 2
|
||||||
|
|
||||||
|
//Signs
|
||||||
|
/obj/structure/sign/mining
|
||||||
|
name = "nanotrasen mining corps sign"
|
||||||
|
desc = "A sign of relief for weary miners, and a warning for would-be competitors to Nanotrasen's mining claims."
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "ntpod"
|
||||||
|
|
||||||
|
/obj/structure/sign/mining/survival
|
||||||
|
name = "shelter sign"
|
||||||
|
desc = "A high visibility sign designating a safe shelter."
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
icon_state = "survival"
|
||||||
|
|
||||||
|
//Fluff
|
||||||
|
/obj/structure/tubes
|
||||||
|
icon_state = "tubes"
|
||||||
|
icon = 'icons/obj/survival_pod.dmi'
|
||||||
|
name = "tubes"
|
||||||
|
anchored = TRUE
|
||||||
|
layer = BELOW_MOB_LAYER
|
||||||
|
density = FALSE
|
||||||
60
code/modules/mining/shelters.dm
Normal file
60
code/modules/mining/shelters.dm
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
/datum/map_template/shelter
|
||||||
|
var/shelter_id
|
||||||
|
var/description
|
||||||
|
var/blacklisted_turfs
|
||||||
|
var/whitelisted_turfs
|
||||||
|
var/banned_areas
|
||||||
|
var/banned_objects
|
||||||
|
|
||||||
|
/datum/map_template/shelter/New()
|
||||||
|
. = ..()
|
||||||
|
blacklisted_turfs = typecacheof(/turf/unsimulated)
|
||||||
|
whitelisted_turfs = list()
|
||||||
|
banned_areas = typecacheof(/area/shuttle)
|
||||||
|
banned_objects = list()
|
||||||
|
|
||||||
|
/datum/map_template/shelter/proc/check_deploy(turf/deploy_location)
|
||||||
|
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))
|
||||||
|
return SHELTER_DEPLOY_BAD_AREA
|
||||||
|
|
||||||
|
var/banned = is_type_in_typecache(T, blacklisted_turfs)
|
||||||
|
var/permitted = is_type_in_typecache(T, whitelisted_turfs)
|
||||||
|
if(banned && !permitted)
|
||||||
|
return SHELTER_DEPLOY_BAD_TURFS
|
||||||
|
|
||||||
|
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/alpha
|
||||||
|
name = "Shelter Alpha"
|
||||||
|
shelter_id = "shelter_alpha"
|
||||||
|
description = "A cosy self-contained pressurized shelter, with \
|
||||||
|
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"
|
||||||
|
|
||||||
|
/datum/map_template/shelter/alpha/New()
|
||||||
|
. = ..()
|
||||||
|
whitelisted_turfs = typecacheof(/turf/simulated/mineral)
|
||||||
|
banned_objects = list()
|
||||||
|
|
||||||
|
/datum/map_template/shelter/beta
|
||||||
|
name = "Shelter Beta"
|
||||||
|
shelter_id = "shelter_beta"
|
||||||
|
description = "An extremely luxurious shelter, containing all \
|
||||||
|
the amenities of home, including carpeted floors, hot and cold \
|
||||||
|
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"
|
||||||
|
|
||||||
|
/datum/map_template/shelter/beta/New()
|
||||||
|
. = ..()
|
||||||
|
whitelisted_turfs = typecacheof(/turf/simulated/mineral)
|
||||||
|
banned_objects = list()
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 56 KiB |
BIN
icons/obj/survival_pod.dmi
Normal file
BIN
icons/obj/survival_pod.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
BIN
icons/obj/survival_pod_comp.dmi
Normal file
BIN
icons/obj/survival_pod_comp.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
icons/obj/survival_pod_vend.dmi
Normal file
BIN
icons/obj/survival_pod_vend.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
106
maps/submaps/shelters/shelter_1.dmm
Normal file
106
maps/submaps/shelters/shelter_1.dmm
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"b" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"c" = (
|
||||||
|
/obj/structure/fans,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"d" = (
|
||||||
|
/obj/machinery/smartfridge/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"e" = (
|
||||||
|
/obj/item/device/gps/computer,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"f" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"g" = (
|
||||||
|
/obj/machinery/sleeper/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"h" = (
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"i" = (
|
||||||
|
/obj/structure/bed/pod,
|
||||||
|
/obj/item/weapon/bedsheet/mime,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"j" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"k" = (
|
||||||
|
/obj/structure/table/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"l" = (
|
||||||
|
/obj/structure/tubes,
|
||||||
|
/obj/structure/bed/chair/comfy/black{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"m" = (
|
||||||
|
/obj/structure/sign/mining/survival,
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"n" = (
|
||||||
|
/obj/structure/fans/tiny,
|
||||||
|
/obj/machinery/door/airlock/voidcraft/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"o" = (
|
||||||
|
/obj/structure/sign/mining,
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
f
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
a
|
||||||
|
c
|
||||||
|
g
|
||||||
|
k
|
||||||
|
m
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
b
|
||||||
|
d
|
||||||
|
h
|
||||||
|
h
|
||||||
|
n
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
a
|
||||||
|
e
|
||||||
|
i
|
||||||
|
l
|
||||||
|
o
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
a
|
||||||
|
a
|
||||||
|
j
|
||||||
|
a
|
||||||
|
a
|
||||||
|
"}
|
||||||
254
maps/submaps/shelters/shelter_2.dmm
Normal file
254
maps/submaps/shelters/shelter_2.dmm
Normal file
@@ -0,0 +1,254 @@
|
|||||||
|
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||||
|
"a" = (
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
"b" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
"c" = (
|
||||||
|
/obj/structure/table/steel,
|
||||||
|
/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks{
|
||||||
|
pixel_x = 7;
|
||||||
|
pixel_y = 2
|
||||||
|
},
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/generalschicken,
|
||||||
|
/obj/item/weapon/material/kitchen/utensil/fork{
|
||||||
|
pixel_x = 12
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"d" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
"e" = (
|
||||||
|
/obj/structure/fans,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"f" = (
|
||||||
|
/obj/machinery/smartfridge/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"g" = (
|
||||||
|
/obj/item/device/gps/computer,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"h" = (
|
||||||
|
/obj/machinery/shower,
|
||||||
|
/obj/item/weapon/soap/deluxe,
|
||||||
|
/obj/structure/curtain,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"i" = (
|
||||||
|
/obj/structure/toilet,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"j" = (
|
||||||
|
/obj/structure/sign/mining/survival{
|
||||||
|
dir = 4
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
"k" = (
|
||||||
|
/obj/machinery/sleeper/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"l" = (
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"m" = (
|
||||||
|
/obj/structure/bed/pod,
|
||||||
|
/obj/item/weapon/bedsheet/blue,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"n" = (
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
dir = 8
|
||||||
|
},
|
||||||
|
/obj/machinery/door/window/survival_pod{
|
||||||
|
dir = 1;
|
||||||
|
icon_state = "windoor"
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"o" = (
|
||||||
|
/obj/structure/bed/chair/comfy/black,
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
icon_state = "pwindow";
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"p" = (
|
||||||
|
/obj/structure/table/survival_pod,
|
||||||
|
/obj/item/weapon/storage/firstaid/adv{
|
||||||
|
pixel_x = 4
|
||||||
|
},
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"q" = (
|
||||||
|
/obj/structure/tubes,
|
||||||
|
/obj/machinery/holoplant,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"r" = (
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
dir = 8;
|
||||||
|
icon_state = "pwindow"
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"s" = (
|
||||||
|
/obj/machinery/light{
|
||||||
|
dir = 4;
|
||||||
|
light_color = "#DDFFD3"
|
||||||
|
},
|
||||||
|
/obj/structure/table/steel,
|
||||||
|
/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks{
|
||||||
|
pixel_x = 7;
|
||||||
|
pixel_y = 2
|
||||||
|
},
|
||||||
|
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine{
|
||||||
|
pixel_x = -6;
|
||||||
|
pixel_y = 10
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"t" = (
|
||||||
|
/obj/machinery/microwave{
|
||||||
|
pixel_y = -2
|
||||||
|
},
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
icon_state = "pwindow";
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/obj/structure/table/steel{
|
||||||
|
pixel_y = -9
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"u" = (
|
||||||
|
/obj/machinery/door/window/survival_pod{
|
||||||
|
icon_state = "windoor";
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"v" = (
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
icon_state = "pwindow";
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"w" = (
|
||||||
|
/obj/structure/window/reinforced/survival_pod{
|
||||||
|
density = 0;
|
||||||
|
dir = 9;
|
||||||
|
icon_state = "pwindow"
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"y" = (
|
||||||
|
/obj/structure/sink/kitchen{
|
||||||
|
icon_state = "sink_alt";
|
||||||
|
dir = 4;
|
||||||
|
pixel_x = -13
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"z" = (
|
||||||
|
/obj/machinery/light,
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"A" = (
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"B" = (
|
||||||
|
/obj/structure/bed/chair/comfy/black{
|
||||||
|
dir = 1
|
||||||
|
},
|
||||||
|
/turf/simulated/floor/carpet/bcarpet,
|
||||||
|
/area/survivalpod)
|
||||||
|
"C" = (
|
||||||
|
/obj/structure/sign/mining/survival,
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
"D" = (
|
||||||
|
/obj/structure/fans/tiny,
|
||||||
|
/obj/machinery/door/airlock/voidcraft/survival_pod,
|
||||||
|
/turf/simulated/shuttle/floor/voidcraft,
|
||||||
|
/area/survivalpod)
|
||||||
|
"E" = (
|
||||||
|
/obj/structure/sign/mining,
|
||||||
|
/turf/simulated/shuttle/wall/voidcraft/survival,
|
||||||
|
/area/survivalpod)
|
||||||
|
|
||||||
|
(1,1,1) = {"
|
||||||
|
a
|
||||||
|
d
|
||||||
|
a
|
||||||
|
d
|
||||||
|
a
|
||||||
|
d
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(2,1,1) = {"
|
||||||
|
b
|
||||||
|
e
|
||||||
|
k
|
||||||
|
p
|
||||||
|
t
|
||||||
|
y
|
||||||
|
C
|
||||||
|
"}
|
||||||
|
(3,1,1) = {"
|
||||||
|
a
|
||||||
|
f
|
||||||
|
l
|
||||||
|
l
|
||||||
|
u
|
||||||
|
z
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(4,1,1) = {"
|
||||||
|
b
|
||||||
|
g
|
||||||
|
m
|
||||||
|
q
|
||||||
|
v
|
||||||
|
A
|
||||||
|
D
|
||||||
|
"}
|
||||||
|
(5,1,1) = {"
|
||||||
|
a
|
||||||
|
h
|
||||||
|
n
|
||||||
|
r
|
||||||
|
w
|
||||||
|
A
|
||||||
|
a
|
||||||
|
"}
|
||||||
|
(6,1,1) = {"
|
||||||
|
b
|
||||||
|
i
|
||||||
|
o
|
||||||
|
s
|
||||||
|
c
|
||||||
|
B
|
||||||
|
E
|
||||||
|
"}
|
||||||
|
(7,1,1) = {"
|
||||||
|
a
|
||||||
|
j
|
||||||
|
a
|
||||||
|
j
|
||||||
|
a
|
||||||
|
j
|
||||||
|
a
|
||||||
|
"}
|
||||||
@@ -1852,6 +1852,8 @@
|
|||||||
#include "code\modules\mining\ore.dm"
|
#include "code\modules\mining\ore.dm"
|
||||||
#include "code\modules\mining\ore_datum.dm"
|
#include "code\modules\mining\ore_datum.dm"
|
||||||
#include "code\modules\mining\satchel_ore_boxdm.dm"
|
#include "code\modules\mining\satchel_ore_boxdm.dm"
|
||||||
|
#include "code\modules\mining\shelter_atoms.dm"
|
||||||
|
#include "code\modules\mining\shelters.dm"
|
||||||
#include "code\modules\mining\drilling\drill.dm"
|
#include "code\modules\mining\drilling\drill.dm"
|
||||||
#include "code\modules\mining\drilling\scanner.dm"
|
#include "code\modules\mining\drilling\scanner.dm"
|
||||||
#include "code\modules\mob\animations.dm"
|
#include "code\modules\mob\animations.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user