everything but shuttles functional commit so let's back it up online

This commit is contained in:
Darlantan
2023-01-15 07:03:44 -05:00
parent 7c510d5b05
commit bdd6cedf4e
41 changed files with 1339 additions and 940 deletions

View File

@@ -72,7 +72,7 @@
icon_state = unknown_state
color = null
desc = "Scan this to find out more information."
// You generally shouldn't destroy these.
/obj/effect/overmap/visitable/Destroy()
@@ -143,7 +143,7 @@
if(A in SSshuttles.shuttle_areas)
return 0
if(is_type_in_list(A, unowned_areas))
return 0
return 0
if(get_z(object) in map_z)
return 1
@@ -213,17 +213,17 @@
This beacon was launched from '[initial(name)]'. I can provide this additional information to rescuers: [get_distress_info()]. \
Per the Interplanetary Convention on Space SAR, those receiving this message must attempt rescue, \
or relay the message to those who can. This message will repeat one time in 5 minutes. Thank you for your urgent assistance."
if(!levels_for_distress)
levels_for_distress = list(1)
for(var/zlevel in levels_for_distress)
priority_announcement.Announce(message, new_title = "Automated Distress Signal", new_sound = 'sound/AI/sos.ogg', zlevel = zlevel)
var/image/I = image(icon, icon_state = "distress")
I.plane = PLANE_LIGHTING_ABOVE
I.appearance_flags = KEEP_APART|RESET_TRANSFORM|RESET_COLOR
add_overlay(I)
addtimer(CALLBACK(src, .proc/distress_update), 5 MINUTES)
return TRUE
@@ -256,6 +256,8 @@
global.using_map.sealed_levels |= global.using_map.overmap_z
if(!GLOB.dynamic_sector_master) //CHOMPedit: hook dynamic sector generation into overmap gen
new /obj/effect/overmap/visitable/dynamic // CHOMPedit, glob var assignment is handled in the object.
testing("Overmap build complete.")
return 1

View File

@@ -1,104 +0,0 @@
"aI" = (/obj/item/device/gps/internal/poi{name = "#$(@@%$#"},/turf/simulated/wall/r_wall,/area/submap/listeningpost)
"br" = (/obj/effect/catwalk_plated/techmaint,/turf/simulated/floor/plating,/area/submap/listeningpost)
"er" = (/mob/living/simple_mob/humanoid/merc/ranged/space,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"ex" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/submap/listeningpost)
"gq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area/submap/listeningpost)
"gQ" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"gZ" = (/obj/machinery/shower{dir = 8; tag = "icon-shower (WEST)"},/turf/simulated/floor/tiled/freezer,/area/submap/listeningpost)
"hP" = (/obj/item/weapon/paper/monitorkey,/obj/item/clothing/glasses/regular,/obj/structure/table/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"hU" = (/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate,/obj/structure/table/rack/shelf/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"iH" = (/obj/item/weapon/paper{info = "<b>Mission Details</b>: You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/obj/structure/table/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"kh" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"ki" = (/turf/simulated/mineral,/area/submap/listeningpost)
"lY" = (/obj/machinery/door/airlock,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"ml" = (/obj/structure/table/rack/shelf/steel,/obj/item/weapon/storage/toolbox/syndicate/powertools,/obj/item/weapon/cell/super/empty,/turf/simulated/floor/plating,/area/submap/listeningpost)
"mq" = (/turf/simulated/floor/tiled/freezer,/area/submap/listeningpost)
"mT" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/submap/listeningpost)
"nq" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"nx" = (/obj/machinery/power/apc/high{dir = 8; pixel_x = -20},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"nK" = (/obj/structure/table/steel,/obj/item/device/radio/bluespacehandset/linked/talon_prelinked,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"pK" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"qx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "spacebar_control"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "spacebar_exterior"; tag_interior_door = "spacebar_interior"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"rP" = (/turf/template_noop,/area/template_noop)
"tg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/submap/listeningpost)
"tX" = (/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/tank/air,/obj/structure/table/rack/shelf/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"ub" = (/mob/living/simple_mob/humanoid/merc/ranged/space/shotgun/auto,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"uw" = (/obj/random/outcrop,/turf/simulated/mineral/floor/vacuum,/area/submap/listeningpost)
"uD" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "listeningpost_control"; name = "External Access Button"; pixel_y = -26},/obj/machinery/door/airlock/glass_external{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "listeningpost_exterior"; locked = 1; name = "Bar Airlock"},/turf/simulated/floor/plating,/area/submap/listeningpost)
"uM" = (/obj/machinery/light/small{dir = 1},/obj/structure/table/steel,/obj/item/device/radio/bluespacehandset/linked/talon_prelinked,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"vl" = (/turf/simulated/wall/r_wall,/area/submap/listeningpost)
"vm" = (/obj/machinery/computer/message_monitor{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"wB" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"xD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/rust,/turf/simulated/floor/plating,/area/submap/listeningpost)
"ya" = (/turf/simulated/mineral/floor/vacuum,/area/submap/listeningpost)
"yD" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "listeningpost_control"; pixel_x = 25; pixel_y = -26; tag_exterior_door = "listeningpost_exterior"; tag_interior_door = "listeningpost_interior"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"zd" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/weapon/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/weapon/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/weapon/paper{info = "1 x Stechtkin pistol - $600<br>1 x silencer - $200<br>shipping charge - $4360<br>total - $5160"; name = "receipt"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"zk" = (/turf/simulated/wall,/area/submap/listeningpost)
"zo" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/submap/listeningpost)
"Ac" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"Ba" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/submap/listeningpost)
"BG" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"Gg" = (/obj/machinery/door/airlock/glass_external{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "listeningpost_exterior"; locked = 1; name = "Bar Airlock"},/turf/simulated/floor/plating,/area/submap/listeningpost)
"GT" = (/turf/simulated/floor/plating,/area/submap/listeningpost)
"IL" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/submap/listeningpost)
"Kl" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/submap/listeningpost)
"KY" = (/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/obj/structure/table/steel,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"LC" = (/obj/effect/catwalk_plated/techmaint,/turf/template_noop,/area/template_noop)
"MO" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "listeningpost_control"; name = "Internal Access Button"; pixel_x = 7; pixel_y = -26},/obj/machinery/door/airlock/glass_external{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "listeningpost_interior"; locked = 1; name = "Bar Airlock"},/turf/simulated/floor/plating,/area/submap/listeningpost)
"Nv" = (/obj/structure/table/rack/shelf/steel,/obj/item/stack/material/phoron{amount = 10},/obj/item/stack/material/phoron{amount = 10},/turf/simulated/floor/plating,/area/submap/listeningpost)
"Ny" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"NE" = (/obj/structure/closet,/obj/item/clothing/gloves/boxing,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"OM" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"PL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/submap/listeningpost)
"Qp" = (/obj/machinery/light/small,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"Ri" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"RJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"Sd" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/submap/listeningpost)
"Sj" = (/obj/machinery/power/smes/buildable/hybrid,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/submap/listeningpost)
"TS" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"Vz" = (/turf/simulated/floor/tiled/asteroid_steel,/area/submap/listeningpost)
"WK" = (/obj/structure/toilet{dir = 8; tag = "icon-toilet00 (WEST)"},/turf/simulated/floor/tiled/freezer,/area/submap/listeningpost)
"WO" = (/obj/machinery/door/airlock/glass_external{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "listeningpost_interior"; locked = 1; name = "Bar Airlock"},/turf/simulated/floor/plating,/area/submap/listeningpost)
(1,1,1) = {"
rPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPkikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPkikikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPkikirPkikirPrPrPrP
rPrPrPkikikikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPkirPrPrPrPkikikikirPrPrPrPrPrP
rPrPrPkikikikikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPkirPrPrPrPrPrPkikikikirPrPrPrPrPrP
rPrPrPrPkikikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPkikikirPrPrPrPrPrPkikirPrPrPrPrPrP
rPrPrPrPrPkikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPkikikikirPrPrPrPrPrPrPrPrPkirPrPrP
rPrPrPrPrPrPrPkikirPrPrPkikikikirPrPrPrPrPrPrPrPrPkikirPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPrPrPrPrPkikikikikikikikikirPrPrPrPrPrPrPrPrPrPrPrPrPkikirPrPrPrPrPrP
rPrPrPrPrPrPrPrPkikikikikikikikikikikikikikirPrPrPrPrPrPrPrPrPkikikikirPrPrPrPrP
rPrPrPrPrPrPrPyayauwkikikikikikikikikikikikikikirPrPrPrPrPrPrPrPrPkikikirPrPrPrP
rPrPrPrPrPrPyayayayayakikikikikivlvlvlvlvlkikikikikirPrPrPrPrPrPrPrPkikikirPrPrP
rPrPrPrPkikikikiyayayakikikikikivlmlNvKlvlvlkikikikikirPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPkikikikikiyayayakikikikikikivlGTzoxDSjvlkikikikikikirPrPrPrPrPrPrPrPrPrPrPrP
rPkikikikikiyayayauwkikikikikikivlvlvllYzkvlvlvlvlbrrPkikirPrPrPrPrPrPrPrPrPrPrP
rPyauwkikiuwyayayakikikikikikivlvlhPuMRJVzWOmTGTGgbrLCLCrPrPrPrPrPrPrPrPrPrPrPrP
rPrPyayayayayayakikikikikikikivlvmubKYqxyDMOGTGTuDbrLCLCrPrPrPrPrPrPrPrPrPrPrPrP
rPrPyayayayayayakikikikikikikivlaInxnKActXvlvlvlvlbryayarPrPrPrPrPrPrPrPrPrPrPrP
rPrPyayayayayayakikikikikikikivlnqVzQpTShUvlkikikikikikikirPrPrPrPrPrPrPrPrPrPrP
rPrPyayayakikiuwyakikikikivlvlvlvlNyzkzkzkvlkigqtgtgBarPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPyakikikikiyakikikikivlkhpKzkVzOMVzBGvlkiexkikikikikirPrPrPrPrPrPrPrPrPrPrP
rPrPrPyauwkikiyayakikikikivlerTSNyVzTSVzgQvlkiexkikikikikirPrPrPrPrPrPrPrPrPrPrP
rPrPrPkikikiyayayakikikikivlNEzdzkiHVzwBPLPLtgSdkikikikirPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPkiyayakikikikikikivlvlvlvlvlRizkvlkikikikikikirPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPkikikikikikikikikikikivlILgZvlkikikikikikikikirPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPrPkikikikikikikikikikivlmqWKvlkikikikikikiyayarPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPrPkikikikikikikikikikivlvlvlvlkikikikikiyayarPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPkikikikikikikikikikikikikikikikikikiuwyayayayarPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPkikikikikikikikikikikikikikikiyayayayayarPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPrPrPrPkikikikikikikikikikikiyayayayayarPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPkikirPrPrPrPrPrPkikikikikikikiuwyayayayarPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPkikikirPrPrPkikikikikikikiyayayayarPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPkikikikikirPrPrPrPrPrPkikiyayayarPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPkikikirPrPkikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPrPkikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPkikikikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPkikikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPkikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPrPkikirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
rPrPrPkirPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrPrP
"}

View File

@@ -0,0 +1,287 @@
// This is an attempt to make space POI's which load/unload on demand, so we can have 50 overmap POI's without
// 50 z-levels (which may lead to OOM). No idea what forces I'm working with, so let's see how poorly this goes.
GLOBAL_VAR_INIT(dynamic_sector_master, null)
// Also adjust find_z_levels() if you adjust increase dynamic levels, that part is hard-coded so you don't gloss over world.increment_max_z().
#define MAX_DYNAMIC_LEVELS 3
#define MAX_DYNAMIC_POI_DIMENSIONS 94 // Keep this an even number if using even world.maxx/maxy
// The "master" object, which creates + stores + registers the actual z-levels used for dynamic POI's. Handles overmap
// sanity checks, + procs, should not be directly accessible by players. Do not use in maps. Only 1 should exist currently.
/obj/effect/overmap/visitable/dynamic
name = "DO NOT USE IN MAPS"
known = FALSE
scannable = FALSE
invisibility = 101
in_space = TRUE
scanner_desc = "You should not see this."
var/generated_z = FALSE
// Initialized to match max dynamic levels.
map_z = list(null,null,null)
// Overmap poi's CURRENTLY USING a z-level. Dynamic POI's get referenced here when loading in and removed when unloaded.
// Length must match map_z length or bad things may happen.
var/list/active_pois[MAX_DYNAMIC_LEVELS]
var/list/all_children = list()
// This handles generating and assigning z-levels. Overriding this proc means we don't need a hacky Initialize() override.
// This means extra_z_levels won't do anything, which is intentional.
/obj/effect/overmap/visitable/dynamic/find_z_levels()
if(!generated_z && (GLOB.dynamic_sector_master == src)) // Ensure this only runs once per round.
for(var/i = 1; i <= 3; i++) // Hard-coding limit because this is dangerous.
world.increment_max_z()
map_z[i] = world.maxz
generated_z = TRUE
/obj/effect/overmap/visitable/dynamic/Initialize()
if(!GLOB.dynamic_sector_master)
GLOB.dynamic_sector_master = src
. = ..()
create_children()
// Create POI objects for each overmap POI template, link to parent. Initialize() of children handles turf assignment
/obj/effect/overmap/visitable/dynamic/proc/create_children()
for(var/datum/map_template/dynamic_overmap/poi as anything in subtypesof(/datum/map_template/dynamic_overmap))
if(!initial(poi.mappath) || !initial(poi.name)) // Exclude templates without an actual map (or are not included in the mapping subsystem map_templates)
continue
var/obj/effect/overmap/visitable/dynamic/poi/P = new()
P.my_template = SSmapping.map_templates[initial(poi.name)] // Link to the stored map datums.
P.parent = src
all_children.Add(P)
P.seed_overmap()
// Randomly unload a child POI, if possible. Returns the index of the recovered level if successful, 0 if not.
// Should only be called if active_pois[] is full.
/obj/effect/overmap/visitable/dynamic/proc/cull_child(mob/user)
var/random_index = rand(1,MAX_DYNAMIC_LEVELS)
var/obj/effect/overmap/visitable/dynamic/poi/P
if(is_empty(random_index)) // If this z-level is empty, destroy the poi
P = active_pois[random_index]
P.destroy_poi(user)
active_pois[random_index] = null // Should be set in destroy_poi but this lets us use the z-level again if anything goes horribly wrong.
return random_index
for(var/i = 1, i <= MAX_DYNAMIC_LEVELS, i++) // Level was not empty, check remaining levels
if(i == random_index)
continue // Don't run this one again.
if(is_empty(i))
P = active_pois[i]
P.destroy_poi(user)
active_pois[i] = null
return i
return 0
/obj/effect/overmap/visitable/dynamic/proc/is_empty(var/index, var/mob/observer)
if(!LAZYLEN(map_z))
log_and_message_admins("CANARY: [src] tried to check is_empty, but map_z is `[map_z || "null"]`")
return TRUE
if(!index)
index = 1
testing("Checking if sector at [map_z[index]] has no players.")
for(var/mob/M in global.player_list)
if(M != observer && (M.z in map_z[index]))
testing("There are people on it.")
return FALSE
return TRUE
// You generally shouldn't destroy these.
/obj/effect/overmap/visitable/dynamic/Destroy()
for(var/child in all_children)
qdel(child)
return ..()
// These are the player-viewable/interactible POI's which tell the parent how to use its z-levels. Spawned by the parent.
/obj/effect/overmap/visitable/dynamic/poi
name = "bluespace static"
unknown_name = "bluespace static"
unknown_state = "poi"
known = FALSE
scannable = TRUE
invisibility = 0
in_space = TRUE
map_z = list(null) // Override parent value
active_pois = null
var/obj/effect/overmap/visitable/dynamic/parent // The object which created us.
var/datum/map_template/dynamic_overmap/my_template
var/last_scanned = 0 // Timer to prevent spamming POI loading/unloading since that's probably exploitable.
var/loaded = FALSE
var/my_index = 0 // Tracks which z-level we're using in the parent. Corresponds to index in parent's active_pois[]
/obj/effect/overmap/visitable/dynamic/poi/Initialize()
if(!global.using_map.use_overmap)
return INITIALIZE_HINT_QDEL
// Normally Initialize() would do this but I need it to call after Initialize(), therefore new proc.
/obj/effect/overmap/visitable/dynamic/poi/proc/seed_overmap()
start_x = start_x || rand(OVERMAP_EDGE, global.using_map.overmap_size - OVERMAP_EDGE)
start_y = start_y || rand(OVERMAP_EDGE, global.using_map.overmap_size - OVERMAP_EDGE)
forceMove(locate(start_x, start_y, global.using_map.overmap_z))
if(!docking_codes)
docking_codes = "[ascii2text(rand(65,90))][ascii2text(rand(65,90))][ascii2text(rand(65,90))][ascii2text(rand(65,90))]"
if(known)
plane = PLANE_LIGHTING_ABOVE
for(var/obj/machinery/computer/ship/helm/H in global.machines)
H.get_known_sectors()
else
real_appearance = image(icon, src, my_template.poi_icon)
real_appearance.override = TRUE
name = unknown_name
icon_state = unknown_state
color = null
desc = "Scan this to find out more information."
// Grab scanner info from map template, allow the user to load/unload POI's.
/obj/effect/overmap/visitable/dynamic/poi/get_scan_data(user)
scanner_desc = my_template.scanner_desc
if(!known)
known = TRUE
name = my_template.name
icon_state = my_template.poi_icon
color = my_template.poi_color
desc = initial(desc)
if(loaded)
var/confirm = alert(user, "Sever bluespace link? This location will become permanently inaccessible.", "Are you sure?", "No", "Yes")
if(confirm == "Yes")
if(is_empty(1)) // Dynamic POI's should only ever have 1 entry in map_z
destroy_poi(user) // Delete POI from dynamic z-level
else
to_chat(user, "Unable to sever link. Location likely contains living realspace entities.")
else
var/confirm = alert(user, "Transient subspace anomaly detected. Tether object to realspace?", "Stabilize anomaly?", "Yes", "No")
if(confirm == "Yes")
create_poi(user) // Load POI to dynamic z-level
return ..()
// Loads POI template into a dynamic z-level
/obj/effect/overmap/visitable/dynamic/poi/proc/create_poi(mob/user)
if(!parent) // Ideally this should never happen.
log_and_message_admins("Dynamic overmap POI attempted to generate without a parent z-level.")
qdel(src)
return
if(!my_template) // Also shouldn't happen.
log_and_message_admins("Dynamic overmap POI attempted to generate without a map template.")
qdel(src)
return
if(loaded) // These may only be created once.
return
if(last_scanned + 10 SECONDS > world.time)
to_chat(user, "\[REDACTED\] matrix is still recharging!")
return
last_scanned = world.time
for(var/i = 1, i <= MAX_DYNAMIC_LEVELS, i++)
if(!parent.active_pois[i]) // We found an unused z-level
my_index = i
parent.active_pois[i] = src
map_z[1] = parent.map_z[i]
map_sectors["[parent.map_z[i]]"] = src // Pass ownership of z-level to child, probably hacky and terribad
break // Terminate loop
if(!my_index) // No z-levels available
var/confirm = alert(user, "\[REDACTED\] matrix at capacity; a bluespace link must be permanently severed to stabilize this anomaly. Continue?", "Are you sure?", "No", "Yes")
if(confirm == "Yes")
my_index = parent.cull_child(user)
if(my_index)
parent.active_pois[my_index] = src
map_z[1] = parent.map_z[my_index]
map_sectors["[parent.map_z[my_index]]"] = src
else // Something went wrong, ideally due to all relevant z-levels containing players.
to_chat(user, "Unable to sever any bluespace link. All links likely contain living realspace entities.")
return
else
return
var/turf/T = locate(round(world.maxx/2), round(world.maxy/2), map_z[1]) // Find center turf, or near center for even-dimension maps.
if(!istype(T))
log_debug("Dynamic overmap POI found [T] instead of a valid turf.")
return
my_template.load(T, centered=TRUE)
loaded = TRUE
my_template.update_lighting(T)
to_chat(user, "Stabilization tether successfully created.")
if(my_template.active_icon)
icon_state = my_template.active_icon
/obj/effect/overmap/visitable/dynamic/poi/proc/destroy_poi(mob/user)
if(!loaded) // Ideally this should never happen.
log_debug("Dynamic overmap POI tried to unload itself but is not loaded.")
return
if(!parent) // Also shouldn't happen.
log_and_message_admins("Dynamic overmap POI attempted to unload without a parent z-level.")
loaded = FALSE // Always make sure loaded = FALSE before using qdel(src) in this proc to prevent an infinite loop in Destroy().
qdel(src)
return
if(!((my_index >= 1) && (my_index <= MAX_DYNAMIC_LEVELS))) // Make sure my_index is sane
log_debug("Dynamic overmap POI attempted to unload with an invalid index.")
loaded = FALSE
qdel(src)
return
map_sectors["[parent.map_z[my_index]]"] = parent // Pass ownership back to parent.
parent.active_pois[my_index] = null
if(!LAZYLEN(map_z)) // If this is 0, how did we get this far?
log_and_message_admins("Dynamic overmap POI attempted to unload without a linked z-level.")
loaded = FALSE
qdel(src)
return
to_chat(user, "Destabilization initiated...")
log_debug("Dynamic overmap POI unloading initiated...")
// Some math to return a block of MAX_DYNAMIC_POI_DIMENSIONS turfs. Basically, start from center turf and subtract half of max dimensons for bottom left corner, add for top right corner.
var/list/turfs_to_reset = block(locate(round(world.maxx/2 - MAX_DYNAMIC_POI_DIMENSIONS/2), round(world.maxy/2 - MAX_DYNAMIC_POI_DIMENSIONS/2), map_z[1]), locate(round(world.maxx/2 + MAX_DYNAMIC_POI_DIMENSIONS/2), round(world.maxy/2 + MAX_DYNAMIC_POI_DIMENSIONS/2), map_z[1]))
var/deleted_atoms = 0
if(turfs_to_reset.len)
for(var/turf/T in turfs_to_reset)
for(var/atom/movable/AM in T)
if(istype(AM, /mob/observer))
continue
++deleted_atoms
qdel(AM)
T = T.ChangeTurf(/turf/space)
ChangeArea(T, /area/space)
loaded = FALSE
map_z = null
icon_state = "ring_destroyed"
log_debug("Dynamic POI unload complete, [deleted_atoms] atoms destroyed.")
to_chat(user, "Subspace pocket collapse successful.")
qdel(src)
/obj/effect/overmap/visitable/dynamic/poi/Destroy()
if(loaded)
if(is_empty()) // If we're deleted while loaded but the z-level is occupied, relinquish ownership instead.
destroy_poi()
else
if(parent && (parent.active_pois.len >= my_index) && (parent.map_z.len >= my_index) && (my_index > 0)) // Unless vars are turbofucked.
map_sectors["[parent.map_z[my_index]]"] = parent
parent.active_pois[my_index] = null
if(parent)
parent.all_children.Remove(src)
return ..()
// This assigns map_sectors which we don't want for this subtype since we have other procs to handle it.
/obj/effect/overmap/visitable/dynamic/poi/register_z_levels()
return
// Make sure we reassign our z_level to the parent if one exists and somehow this gets called.
/obj/effect/overmap/visitable/dynamic/poi/unregister_z_levels()
if(parent && LAZYLEN(map_z))
map_sectors["[map_z[1]]"] = parent
map_z = null
return ..()
// Hahah recursion
/obj/effect/overmap/visitable/dynamic/poi/create_children()
return
/obj/effect/overmap/visitable/dynamic/poi/cull_child()
return
#undef MAX_DYNAMIC_LEVELS
#undef MAX_DYNAMIC_POI_DIMENSIONS

View File

@@ -1,165 +1,165 @@
"aa" = (/turf/template_noop,/area/template_noop)
"ab" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"ac" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"af" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"al" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"am" = (/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"an" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"ao" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"ap" = (/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"aq" = (/obj/machinery/door/airlock/external,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"av" = (/obj/machinery/door/blast/regular,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ax" = (/obj/structure/lattice,/turf/template_noop,/area/submap/onehalf)
"ay" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"az" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aA" = (/obj/structure/bed/roller,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aB" = (/obj/machinery/light{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/firstaid/combat,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"aD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/submap/onehalf)
"aE" = (/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aF" = (/obj/structure/disposalpipe/trunk,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aJ" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aM" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular,/turf/simulated/floor/plating,/area/submap/onehalf)
"aQ" = (/turf/simulated/wall,/area/submap/onehalf)
"aR" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular,/turf/simulated/floor/plating,/area/submap/onehalf)
"aS" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aU" = (/obj/item/stack/material/steel,/turf/simulated/floor/plating,/area/submap/onehalf)
"aV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance/medical{name = "Medical"},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aW" = (/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/submap/onehalf)
"aX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aY" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/closet/crate/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/device/healthanalyzer/improved,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aZ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ba" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bc" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/submap/onehalf)
"bd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"be" = (/obj/structure/disposalpipe/broken{dir = 4; tag = "icon-pipe-b (EAST)"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bg" = (/obj/structure/disposalpipe/junction{dir = 4; tag = "icon-pipe-j1 (EAST)"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bi" = (/obj/structure/disposalpipe/broken{dir = 4; tag = "icon-pipe-b (EAST)"},/turf/simulated/floor/plating,/area/submap/onehalf)
"bj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bk" = (/obj/structure/disposalpipe/junction{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bp" = (/obj/machinery/door/airlock/maintenance_hatch{name = "maintenance hatch"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"br" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-y"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bs" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/submap/onehalf)
"bu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"bw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bx" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"by" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bA" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bD" = (/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bJ" = (/obj/structure/girder,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bK" = (/obj/machinery/vending/coffee{name = "\improper Solar's Best Hot Drinks"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bL" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bQ" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bU" = (/obj/item/stack/material/steel,/turf/template_noop,/area/submap/onehalf)
"bV" = (/obj/structure/disposalpipe/segment,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/onehalf)
"bX" = (/turf/simulated/wall/r_wall,/area/submap/onehalf)
"bZ" = (/obj/structure/disposalpipe/junction{dir = 1; tag = "icon-pipe-j1 (NORTH)"},/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/onehalf)
"ca" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cb" = (/obj/structure/grille,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cd" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ce" = (/obj/structure/table/standard,/obj/item/weapon/paper,/obj/item/weapon/pen,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cf" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cg" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ch" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ci" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/standard,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000{pixel_y = 11},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"ck" = (/obj/structure/girder/reinforced,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cl" = (/turf/simulated/floor/plating,/area/submap/onehalf)
"cm" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"cn" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/material/shard{icon_state = "small"; tag = "icon-small"},/turf/template_noop,/area/submap/onehalf)
"co" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"cp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cq" = (/obj/structure/bed/chair{dir = 8; icon_state = "chair"; tag = "icon-chair (WEST)"},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cs" = (/obj/structure/bed/chair{dir = 1; icon_state = "chair"; tag = "icon-chair (NORTH)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ct" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/standard,/obj/item/weapon/flame/lighter/zippo/red,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cu" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"cv" = (/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"cx" = (/obj/structure/lattice,/obj/item/stack/material/plasteel,/turf/template_noop,/area/submap/onehalf)
"cy" = (/obj/structure/lattice,/obj/item/weapon/material/shard{icon_state = "medium"; tag = "icon-medium"},/turf/template_noop,/area/submap/onehalf)
"cz" = (/obj/structure/grille/broken,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"cA" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cC" = (/obj/structure/cable,/obj/machinery/power/solar_control{dir = 8},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cD" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"cE" = (/obj/item/stack/tile/wood,/turf/template_noop,/area/submap/onehalf)
"cF" = (/turf/template_noop,/area/submap/onehalf)
"cG" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/template_noop,/area/submap/onehalf)
"cH" = (/obj/structure/lattice,/obj/structure/disposalpipe/broken{dir = 1; tag = "icon-pipe-b (NORTH)"},/obj/structure/disposalpipe/broken{dir = 8; tag = "icon-pipe-b (WEST)"},/turf/template_noop,/area/submap/onehalf)
"cJ" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cK" = (/obj/machinery/door/airlock/maintenance/command{name = "Bridge"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cL" = (/obj/item/weapon/tool/crowbar,/turf/simulated/floor/plating,/area/submap/onehalf)
"cM" = (/obj/structure/safe/floor,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas/syndicate,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/simulated/floor/plating,/area/submap/onehalf)
"cN" = (/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cO" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/template_noop,/area/submap/onehalf)
"cQ" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/sovietsoda,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cR" = (/obj/item/stack/material/plasteel,/turf/template_noop,/area/submap/onehalf)
"cS" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/template_noop,/area/submap/onehalf)
"cU" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/submap/onehalf)
"cV" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cW" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cX" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cY" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/structure/cable,/turf/simulated/floor/plating,/area/submap/onehalf)
"cZ" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/template_noop,/area/submap/onehalf)
"db" = (/obj/structure/table/standard,/obj/item/device/flashlight,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dc" = (/obj/structure/table/standard,/obj/item/weapon/coin/phoron,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dd" = (/obj/structure/closet/firecloset/full,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"de" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/storage/firstaid,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"df" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/template_noop,/area/submap/onehalf)
"dg" = (/obj/structure/girder/reinforced,/obj/item/stack/material/plasteel,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dj" = (/obj/structure/grille,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/onehalf)
"dk" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/submap/onehalf)
"dl" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"dm" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"dn" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/submap/onehalf)
"do" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/item/weapon/material/shard{icon_state = "medium"; tag = "icon-medium"},/turf/template_noop,/area/submap/onehalf)
"dp" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"dq" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"fE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"nc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"oC" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"pK" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; dir = 8; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ud" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; dir = 1; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"vw" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"xF" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"Dl" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/submap/onehalf)
"DD" = (/obj/structure/bed/chair{dir = 8; icon_state = "chair"; tag = "icon-chair (WEST)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"MS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"RL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"So" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaabacacacacacacacacaccGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaacOacafaQaQaQaQaQaQcUaQaQcSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaacNaQaQaQaQalamanaQaoapaoaQaqaQavaQavaQavaQavaQaaDlDlDlaaaa
aaaaaxaxaxayazaQaAoCaBaQaCapaoaQaDaQaEaQaFaQaEaQaEaQaxaQcNaQaaaa
aaaaaacvcNaxcNaQaJaKaYaQaoapaoaQaqaQaMaQaRaQaRaQaRaQaaaQaSaQaaaa
aaaaaxcNaxaTcNaQaQaVaQaQaQaWaQaQaXaZbafEbabbbabbbyaQaQaQbcaQaQaa
aaaaaxaUbebdbhbhbhbgSobhbjbhbkblbmbwMSncMSbwbobwMSbwbpbqbrbscUaa
aaaaaabibubwbwbwbwbxbwbwaLbwbAbBbCbwvwRLvwbwbDbEbFcNaQbHxFbIcUaa
aaaaaabJcNaQcfbKbLcAdgckbXcNcabXbXbXbXbXbXbXbXbXbXbXaQaQcUaQaQaa
aaaaaaaabUclbJaQckbXcNaxbXclbVcbaacUcdcecfcgchbQcibXaxaaaaaaaaaa
aaaaaaaaaaaaaaaackaaaabUaxaxbZcmcncocpDDxFcscNxFctcucGaaaaaaaaaa
aaaaaaaaaaaaaacvcNcxaaaacNcycabXbXbXcAxFxFxFcNcNcCcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaxcEaacFcGcHcKcJcKcNcNcLcMcNxFpKcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacvaxcNcOclbXbXbXcQcNcNcNcNcNpKcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacRcEaxcScNcUaxcUcVcqcNcWxFcNcXcYcZaaaaaaaaaa
aaaaaaaaaaaaaaaaaacvaaaabXcjcNcUaacUdbdcddududcNdebXdfaaaaaaaaaa
aaaaaaaaaaaaaaaaaadgaxclckczdjbXbXbXbXdkdldmdldnbXbXcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaacxdodpacacacacacdqacacacdqacacafaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
"aa" = (/turf/template_noop,/area/template_noop)
"ab" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"ac" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"af" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"al" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"am" = (/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"an" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"ao" = (/obj/structure/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"ap" = (/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"aq" = (/obj/machinery/door/airlock/external,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"av" = (/obj/machinery/door/blast/regular,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ax" = (/obj/structure/lattice,/turf/template_noop,/area/submap/onehalf)
"ay" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"az" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aA" = (/obj/structure/bed/roller,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aB" = (/obj/machinery/light{dir = 4},/obj/structure/table/standard,/obj/item/weapon/storage/firstaid{pixel_x = 4; pixel_y = 3},/obj/item/weapon/storage/firstaid/combat,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aC" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/old_tile/purple,/area/submap/onehalf)
"aD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/submap/onehalf)
"aE" = (/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aF" = (/obj/structure/disposalpipe/trunk,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/obj/item/weapon/ore/diamond,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aJ" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aM" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular,/turf/simulated/floor/plating,/area/submap/onehalf)
"aQ" = (/turf/simulated/wall,/area/submap/onehalf)
"aR" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/regular,/turf/simulated/floor/plating,/area/submap/onehalf)
"aS" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aU" = (/obj/item/stack/material/steel,/turf/simulated/floor/plating,/area/submap/onehalf)
"aV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/maintenance/medical{name = "Medical"},/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aW" = (/obj/machinery/door/airlock,/turf/simulated/floor/plating,/area/submap/onehalf)
"aX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"aY" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/closet/crate/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/device/healthanalyzer/improved,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"aZ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ba" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bc" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/submap/onehalf)
"bd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"be" = (/obj/structure/disposalpipe/broken{dir = 4; tag = "icon-pipe-b (EAST)"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bg" = (/obj/structure/disposalpipe/junction{dir = 4; tag = "icon-pipe-j1 (EAST)"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bi" = (/obj/structure/disposalpipe/broken{dir = 4; tag = "icon-pipe-b (EAST)"},/turf/simulated/floor/plating,/area/submap/onehalf)
"bj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bk" = (/obj/structure/disposalpipe/junction{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bp" = (/obj/machinery/door/airlock/maintenance_hatch{name = "maintenance hatch"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"br" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-y"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bs" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/plating,/area/submap/onehalf)
"bu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"bw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bx" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"by" = (/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bA" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bD" = (/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bI" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bJ" = (/obj/structure/girder,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bK" = (/obj/machinery/vending/coffee{name = "\improper Solar's Best Hot Drinks"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bL" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bQ" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"bU" = (/obj/item/stack/material/steel,/turf/template_noop,/area/submap/onehalf)
"bV" = (/obj/structure/disposalpipe/segment,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/submap/onehalf)
"bX" = (/turf/simulated/wall/r_wall,/area/submap/onehalf)
"bZ" = (/obj/structure/disposalpipe/junction{dir = 1; tag = "icon-pipe-j1 (NORTH)"},/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/onehalf)
"ca" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cb" = (/obj/structure/grille,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cd" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ce" = (/obj/structure/table/standard,/obj/item/weapon/paper,/obj/item/weapon/pen,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cf" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cg" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ch" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ci" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/standard,/obj/item/weapon/spacecash/c1000,/obj/item/weapon/spacecash/c1000{pixel_y = 11},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"ck" = (/obj/structure/girder/reinforced,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cl" = (/turf/simulated/floor/plating,/area/submap/onehalf)
"cm" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"cn" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/material/shard{icon_state = "small"; tag = "icon-small"},/turf/template_noop,/area/submap/onehalf)
"co" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/submap/onehalf)
"cp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cq" = (/obj/structure/bed/chair{dir = 8; icon_state = "chair"; tag = "icon-chair (WEST)"},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cs" = (/obj/structure/bed/chair{dir = 1; icon_state = "chair"; tag = "icon-chair (NORTH)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ct" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/table/standard,/obj/item/weapon/flame/lighter/zippo/red,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cu" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"cv" = (/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"cx" = (/obj/structure/lattice,/obj/item/stack/material/plasteel,/turf/template_noop,/area/submap/onehalf)
"cy" = (/obj/structure/lattice,/obj/item/weapon/material/shard{icon_state = "medium"; tag = "icon-medium"},/turf/template_noop,/area/submap/onehalf)
"cz" = (/obj/structure/grille/broken,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"cA" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cC" = (/obj/structure/cable,/obj/machinery/power/solar_control{dir = 8},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cD" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/submap/onehalf)
"cE" = (/obj/item/stack/tile/wood,/turf/template_noop,/area/submap/onehalf)
"cF" = (/turf/template_noop,/area/submap/onehalf)
"cG" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/template_noop,/area/submap/onehalf)
"cH" = (/obj/structure/lattice,/obj/structure/disposalpipe/broken{dir = 1; tag = "icon-pipe-b (NORTH)"},/obj/structure/disposalpipe/broken{dir = 8; tag = "icon-pipe-b (WEST)"},/turf/template_noop,/area/submap/onehalf)
"cJ" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cK" = (/obj/machinery/door/airlock/maintenance/command{name = "Bridge"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cL" = (/obj/item/weapon/tool/crowbar,/turf/simulated/floor/plating,/area/submap/onehalf)
"cM" = (/obj/structure/safe/floor,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas/syndicate,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/simulated/floor/plating,/area/submap/onehalf)
"cN" = (/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cO" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/template_noop,/area/submap/onehalf)
"cQ" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/sovietsoda,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cR" = (/obj/item/stack/material/plasteel,/turf/template_noop,/area/submap/onehalf)
"cS" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/template_noop,/area/submap/onehalf)
"cU" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/submap/onehalf)
"cV" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cW" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cX" = (/obj/structure/table/standard,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"cY" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/structure/cable,/turf/simulated/floor/plating,/area/submap/onehalf)
"cZ" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/template_noop,/area/submap/onehalf)
"db" = (/obj/structure/table/standard,/obj/item/device/flashlight,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dc" = (/obj/structure/table/standard,/obj/item/weapon/coin/phoron,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dd" = (/obj/structure/closet/firecloset/full,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"de" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/storage/firstaid,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"df" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/template_noop,/area/submap/onehalf)
"dg" = (/obj/structure/girder/reinforced,/obj/item/stack/material/plasteel,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"dj" = (/obj/structure/grille,/obj/item/weapon/material/shard,/turf/simulated/floor/plating,/area/submap/onehalf)
"dk" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/submap/onehalf)
"dl" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"dm" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/submap/onehalf)
"dn" = (/obj/structure/grille,/obj/effect/wingrille_spawn/reinforced,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/submap/onehalf)
"do" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/item/weapon/material/shard{icon_state = "medium"; tag = "icon-medium"},/turf/template_noop,/area/submap/onehalf)
"dp" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/stack/rods,/turf/template_noop,/area/submap/onehalf)
"dq" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/template_noop,/area/submap/onehalf)
"fE" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"nc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"oC" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel{icon_state = "white"; tag = "icon-white"},/area/submap/onehalf)
"pK" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; dir = 8; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"ud" = (/obj/machinery/computer{desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; dir = 1; name = "Broken Computer"},/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"vw" = (/obj/structure/disposalpipe/junction{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"xF" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"Dl" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/submap/onehalf)
"DD" = (/obj/structure/bed/chair{dir = 8; icon_state = "chair"; tag = "icon-chair (WEST)"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"MS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"RL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
"So" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/asteroid_steel/airless,/area/submap/onehalf)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaabacacacacacacacacaccGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaacOacafaQaQaQaQaQaQcUaQaQcSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaacNaQaQaQaQalamanaQaoapaoaQaqaQavaQavaQavaQavaQaaDlDlDlaaaa
aaaaaxaxaxayazaQaAoCaBaQaCapaoaQaDaQaEaQaFaQaEaQaEaQaxaQcNaQaaaa
aaaaaacvcNaxcNaQaJaKaYaQaoapaoaQaqaQaMaQaRaQaRaQaRaQaaaQaSaQaaaa
aaaaaxcNaxaTcNaQaQaVaQaQaQaWaQaQaXaZbafEbabbbabbbyaQaQaQbcaQaQaa
aaaaaxaUbebdbhbhbhbgSobhbjbhbkblbmbwMSncMSbwbobwMSbwbpbqbrbscUaa
aaaaaabibubwbwbwbwbxbwbwaLbwbAbBbCbwvwRLvwbwbDbEbFcNaQbHxFbIcUaa
aaaaaabJcNaQcfbKbLcAdgckbXcNcabXbXbXbXbXbXbXbXbXbXbXaQaQcUaQaQaa
aaaaaaaabUclbJaQckbXcNaxbXclbVcbaacUcdcecfcgchbQcibXaxaaaaaaaaaa
aaaaaaaaaaaaaaaackaaaabUaxaxbZcmcncocpDDxFcscNxFctcucGaaaaaaaaaa
aaaaaaaaaaaaaacvcNcxaaaacNcycabXbXbXcAxFxFxFcNcNcCcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaxcEaacFcGcHcKcJcKcNcNcLcMcNxFpKcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacvaxcNcOclbXbXbXcQcNcNcNcNcNpKcDcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacRcEaxcScNcUaxcUcVcqcNcWxFcNcXcYcZaaaaaaaaaa
aaaaaaaaaaaaaaaaaacvaaaabXcjcNcUaacUdbdcddududcNdebXdfaaaaaaaaaa
aaaaaaaaaaaaaaaaaadgaxclckczdjbXbXbXbXdkdldmdldnbXbXcSaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaacxdodpacacacacacdqacacacdqacacafaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}

View File

@@ -0,0 +1,212 @@
// This causes PoI maps to get 'checked' and compiled, when undergoing a unit test.
// This is so CI can validate PoIs, and ensure future changes don't break PoIs, as PoIs are loaded at runtime and the compiler can't catch errors.
// When adding a new PoI, please add it to this list.
#if MAP_TEST
#include "abandonedtele_13x12.dmm"
#include "abandonedzoo_20x20.dmm"
#include "asteroid1_20x20.dmm"
#include "asteroid2_20x20.dmm"
#include "asteroid3_20x20.dmm"
#include "asteroid4_20x20.dmm"
#include "asteroid5_40x40.dmm"
#include "blowntcommsat_53x56.dmm"
#include "clownmime_28x20.dmm"
#include "debris1_20x20.dmm"
#include "debris2_20x20.dmm"
#include "debris3_30x20.dmm"
#include "deepstorage_85x67.dmm"
#include "derelict1_40x40.dmm"
#include "derelict2_20x20.dmm"
#include "derelict3_40x40.dmm"
#include "derelict4_40x40.dmm"
#include "derelict5_40x40.dmm"
#include "dj_31x28.dmm"
#include "druglab_16x14.dmm"
#include "emptyshell_17x15.dmm"
#include "gasthelizards_19x14.dmm"
#include "golemtarget_30x30.dmm"
#include "intactemptyship_13x11.dmm"
#include "mechtransport_9x15.dmm"
#include "oldstation_80x45.dmm"
#include "onehalf_32x20.dmm"
#include "spacebar_40x40.dmm"
#include "syndiecakesfactory_40x40.dmm"
#include "syndiedepot_57x49.dmm"
#include "turretedoutpost_23x19.dmm"
#include "ussp_84x90.dmm"
#include "ussptele_21x12.dmm"
#include "wayhome_30x30.dmm"
#include "whiteship_55x30.dmm"
#include "wizardcrash_20x35.dmm"
#endif
// Vars (excluding mappath) are passed to the overmap object after scanning.
// Every template MUST have a unique name both because of the mapping subsystem and the overmap system.
/datum/map_template/dynamic_overmap
name = "bluespace static"
mappath = null
annihilate = TRUE
var/scanner_desc = "Unable to resolve bluespace fluctuations."
var/poi_icon = "ring"
var/active_icon = "ring_active" // Icon to use when the POI is loaded. Set to null to disable behavior.
var/poi_color = null
// Stolen from map_template/shelter
/datum/map_template/dynamic_overmap/proc/update_lighting(turf/deploy_location)
var/affected = get_affected_turfs(deploy_location, centered=TRUE)
for(var/turf/T in affected)
T.lighting_build_overlay()
/datum/map_template/dynamic_overmap/abandonedtele_13x12
name = "abandoned tele"
mappath = "modular_chomp/maps/overmap/space_pois/abandonedtele_13x12.dmm"
/datum/map_template/dynamic_overmap/abandonedzoo_20x20
name = "abandoned zoo"
mappath = "modular_chomp/maps/overmap/space_pois/abandonedzoo_20x20.dmm"
/datum/map_template/dynamic_overmap/asteroid1_20x20
name = "asteroid"
mappath = "modular_chomp/maps/overmap/space_pois/asteroid1_20x20.dmm"
poi_icon = "asteroid1"
active_icon = "asteroid1_g"
/datum/map_template/dynamic_overmap/asteroid2_20x20
name = "asteroider"
mappath = "modular_chomp/maps/overmap/space_pois/asteroid2_20x20.dmm"
poi_icon = "asteroid2"
active_icon = "asteroid2_g"
/datum/map_template/dynamic_overmap/asteroid3_20x20
name = "asteroidest"
mappath = "modular_chomp/maps/overmap/space_pois/asteroid3_20x20.dmm"
poi_icon = "asteroid3"
active_icon = "asteroid3_g"
/datum/map_template/dynamic_overmap/asteroid4_20x20
name = "asteroidester"
mappath = "modular_chomp/maps/overmap/space_pois/asteroid4_20x20.dmm"
poi_icon = "asteroid2"
active_icon = "asteroid2_g"
/datum/map_template/dynamic_overmap/asteroid5_40x40
name = "asteroidestest"
mappath = "modular_chomp/maps/overmap/space_pois/asteroid5_40x40.dmm"
poi_icon = "asteroid0"
active_icon = "asteroid0_g"
/datum/map_template/dynamic_overmap/blowntcommsat_53x56
name = "commsat"
mappath = "modular_chomp/maps/overmap/space_pois/blowntcommsat_53x56.dmm"
/datum/map_template/dynamic_overmap/clownmime_28x20
name = "honk"
mappath = "modular_chomp/maps/overmap/space_pois/clownmime_28x20.dmm"
/datum/map_template/dynamic_overmap/debris1_20x20
name = "debris"
mappath = "modular_chomp/maps/overmap/space_pois/debris1_20x20.dmm"
/datum/map_template/dynamic_overmap/debris2_20x20
name = "debriss"
mappath = "modular_chomp/maps/overmap/space_pois/debris2_20x20.dmm"
/datum/map_template/dynamic_overmap/debris3_30x20
name = "debrisss"
mappath = "modular_chomp/maps/overmap/space_pois/debris3_30x20.dmm"
/datum/map_template/dynamic_overmap/deepstorage_85x67
name = "storage facility"
mappath = "modular_chomp/maps/overmap/space_pois/deepstorage_85x67.dmm"
/datum/map_template/dynamic_overmap/derelict1_40x40
name = "ruins"
mappath = "modular_chomp/maps/overmap/space_pois/derelict1_40x40.dmm"
/datum/map_template/dynamic_overmap/derelict2_20x20
name = "ruins again"
mappath = "modular_chomp/maps/overmap/space_pois/derelict2_20x20.dmm"
/datum/map_template/dynamic_overmap/derelict3_40x40
name = "ruins three"
mappath = "modular_chomp/maps/overmap/space_pois/derelict3_40x40.dmm"
/datum/map_template/dynamic_overmap/derelict4_40x40
name = "ruins maybe"
mappath = "modular_chomp/maps/overmap/space_pois/derelict4_40x40.dmm"
/datum/map_template/dynamic_overmap/derelict5_40x40
name = "ruins?"
mappath = "modular_chomp/maps/overmap/space_pois/derelict5_40x40.dmm"
/datum/map_template/dynamic_overmap/dj_31x28
name = "DJ Grooves"
mappath = "modular_chomp/maps/overmap/space_pois/dj_31x28.dmm"
/datum/map_template/dynamic_overmap/druglab_16x14
name = "lab"
mappath = "modular_chomp/maps/overmap/space_pois/druglab_16x14.dmm"
/datum/map_template/dynamic_overmap/emptyshell_17x15
name = "ruins..."
mappath = "modular_chomp/maps/overmap/space_pois/emptyshell_17x15.dmm"
/datum/map_template/dynamic_overmap/gasthelizards_19x14
name = "unknown"
mappath = "modular_chomp/maps/overmap/space_pois/gasthelizards_19x14.dmm"
/datum/map_template/dynamic_overmap/golemtarget_30x30
name = "unknown too"
mappath = "modular_chomp/maps/overmap/space_pois/golemtarget_30x30.dmm"
/datum/map_template/dynamic_overmap/intactemptyship_13x11
name = "ship"
mappath = "modular_chomp/maps/overmap/space_pois/intactemptyship_13x11.dmm"
/datum/map_template/dynamic_overmap/mechtransport_9x15
name = "transport"
mappath = "modular_chomp/maps/overmap/space_pois/mechtransport_9x15.dmm"
/datum/map_template/dynamic_overmap/oldstation_80x45
name = "station"
mappath = "modular_chomp/maps/overmap/space_pois/oldstation_80x45.dmm"
/datum/map_template/dynamic_overmap/onehalf_32x20
name = "lorem ipsum"
mappath = "modular_chomp/maps/overmap/space_pois/onehalf_32x20.dmm"
/datum/map_template/dynamic_overmap/spacebar_40x40
name = "alcohol"
mappath = "modular_chomp/maps/overmap/space_pois/spacebar_40x40.dmm"
/datum/map_template/dynamic_overmap/syndiecakesfactory_40x40
name = "land o' cakes"
mappath = "modular_chomp/maps/overmap/space_pois/syndiecakesfactory_40x40.dmm"
/datum/map_template/dynamic_overmap/syndiedepot_57x49
name = "depot"
mappath = "modular_chomp/maps/overmap/space_pois/syndiedepot_57x49.dmm"
/datum/map_template/dynamic_overmap/turretedoutpost_23x19
name = "gunpowder"
mappath = "modular_chomp/maps/overmap/space_pois/turretedoutpost_23x19.dmm"
/datum/map_template/dynamic_overmap/ussp_84x90
name = "facility"
mappath = "modular_chomp/maps/overmap/space_pois/ussp_84x90.dmm"
/datum/map_template/dynamic_overmap/ussptele_21x12
name = "facility but small"
mappath = "modular_chomp/maps/overmap/space_pois/ussptele_21x12.dmm"
/datum/map_template/dynamic_overmap/wayhome_30x30
name = "something"
mappath = "modular_chomp/maps/overmap/space_pois/wayhome_30x30.dmm"
/datum/map_template/dynamic_overmap/whiteship_55x30
name = "ship2"
mappath = "modular_chomp/maps/overmap/space_pois/whiteship_55x30.dmm"
/datum/map_template/dynamic_overmap/wizardcrash_20x35
name = "also something"
mappath = "modular_chomp/maps/overmap/space_pois/wizardcrash_20x35.dmm"

View File

@@ -4587,6 +4587,7 @@
#include "modular_chomp\code\modules\mob\new_player\sprite_accessories_wing.dm"
#include "modular_chomp\code\modules\organs\organ_external.dm"
#include "modular_chomp\code\modules\organs\organ_icon.dm"
#include "modular_chomp\code\modules\overmap\dynamic_sector.dm"
#include "modular_chomp\code\modules\power\cells\device_cells.dm"
#include "modular_chomp\code\modules\power\cells\esoteric_cells.dm"
#include "modular_chomp\code\modules\power\cells\power_cells.dm"
@@ -4605,4 +4606,5 @@
#include "modular_chomp\code\modules\vore\eating\exportpanel_ch.dm"
#include "modular_chomp\code\modules\vore\resizing\resize.dm"
#include "modular_chomp\code\modules\xenobio\machinery\monkey_processor.dm"
#include "modular_chomp\maps\overmap\space_pois\space_pois.dm"
// END_INCLUDE