Totally refactors and updates the ruins code

This commit is contained in:
Matt Milosevic
2016-06-03 21:26:25 +02:00
parent 925d7a4d01
commit a162488f03
39 changed files with 6523 additions and 280 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/open/floor/plating/asteroid/airless,/area/space)
"c" = (/turf/closed/mineral/random/high_chance,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaabaa
aaaabbaaaaaaaaaaaaaa
aaaabbbaaaaaaaaaaaaa
aaaaaaaaabbcbaaaaaaa
aaaaaaaaaabbaaaaaaaa
aaaaaaaaaabaaaaaaaaa
aaaaaaabaaaaaaaaaaaa
aaaaabbcbaaaaabbbaaa
aaaaabccbaaaaabcbaaa
aaaaccccaaabbccbbaaa
aaabcccbaaabbccaaaaa
aaabccaaaaaabbaaaaaa
aaabbbaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaabcaaaaaaa
aaaabaaaaaabbaaaaaaa
aaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,27 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/open/floor/plating/asteroid/airless,/area/space)
"c" = (/turf/closed/mineral,/area/space)
"d" = (/turf/closed/mineral/random/high_chance,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aaaaabbbbaaaaaaaaaab
aaabbbbbbbbaaaaabbaa
aabbbbbcbbbbbbaaabaa
abbbbbcccbbbbbaaaaaa
abbbcccccccddbbaaaaa
abbbcccccccddbbaaaaa
abbbcccdddccdbbbbaaa
aaabcccccdddcccbbaaa
aabbbddcccddccdbbbba
aabbbddcccddccccbbba
aabbbddccdddccccbbba
aabbbddcdddcccddbbba
aaabbddcdcccccddbbba
aaaabbbbdccccdddbbba
aaaaaabbcccdcccbbbba
aaabaabbbbbccccbbaaa
baaaaaaabbbbbccbaaaa
aaaaaaaaaaaabbbbaaaa
"}
@@ -0,0 +1,29 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/open/floor/plating/asteroid/airless,/area/space)
"c" = (/turf/closed/mineral,/area/space)
"d" = (/turf/closed/mineral/random/high_chance,/area/space)
"e" = (/obj/effect/decal/remains/human,/turf/open/floor/plating/asteroid/airless,/area/space)
"f" = (/obj/item/weapon/pickaxe/diamond,/turf/open/floor/plating/asteroid/airless,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aabbbaaaaaaaaabaaaaa
aabbbbabbbbaaaaaaaaa
baabccbbbbbbbbbbaaba
aabbccbccccdddcbbaaa
aabccccccccdddcbbaaa
aabcccdccbcccccccaaa
aaabcccccbccccccccaa
abbbcccbbbccccccddaa
bbbcccbbbbbcdcccddaa
cdddccbbebbccccccaaa
cdddcbbfbbcccccccaaa
ccccccbbbbcccccbbaaa
cccccccbbccccccbbaba
bcdddccccccccbbaaaaa
acdddcccccddcbaaaaaa
acdddccbccddbbaaaaaa
aabbcbbbbcbbbaaaaaba
aaaaaaabbbbbaabaaaaa
"}
@@ -0,0 +1,38 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral,/area/space)
"c" = (/turf/closed/mineral/random/high_chance,/area/space)
"d" = (/turf/open/floor/plating/asteroid/airless,/area/space)
"e" = (/turf/closed/mineral/clown,/area/space)
"f" = (/turf/open/floor/plating/asteroid,/area/space)
"g" = (/obj/item/weapon/shard,/obj/item/weapon/paper{info = "Extraction was successful! The disguise was perfect, the clowns never knew what hit 'em! Once I get back to base with the bananium samples I'll be rich, I tell you! RICH!"},/turf/open/floor/plating/asteroid,/area/space)
"h" = (/obj/item/stack/sheet/mineral/bananium{amount = 15},/turf/open/floor/plating,/area/space)
"i" = (/turf/open/floor/plating/asteroid,/turf/closed/wall/shuttle{dir = 2; icon_state = "swall_f10"; layer = 2},/area/space)
"j" = (/turf/closed/wall/shuttle{icon_state = "swall3"; dir = 2},/area/space)
"k" = (/obj/structure/chair{dir = 1},/obj/item/weapon/shard,/obj/effect/mob_spawn/human/clown{brute_damage = 120; oxy_damage = 75},/turf/open/floor/plasteel/shuttle,/area/space)
"l" = (/obj/structure/chair{dir = 1},/obj/item/weapon/storage/pod{pixel_x = -26},/turf/open/floor/plasteel/shuttle,/area/space)
"m" = (/turf/open/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/closed/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/space)
"n" = (/obj/machinery/door/airlock/shuttle{name = "Escape Pod Airlock"},/turf/open/floor/plasteel/shuttle,/area/space)
"o" = (/turf/open/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/closed/wall/shuttle{icon_state = "swall_f9"; dir = 2},/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
aabbbaaaaaaaaaaaaaaa
acccbbbbaaaaaaaaaaaa
acccbbcbbbaaaaaabaaa
abbbbbbbbbbaaaabbaaa
abddbbbbbbcaaaabbbaa
aadddbbbbbcaaaabbaaa
aaadddddbaaaaabbbaaa
aaaaadddbaaaaabbaaaa
aaaaaaaaaaaaaabbaaaa
aaaaaaaaaaaaccbbaaaa
aaabaaaaaabbccbaaaaa
aaabaaaaabbbebbaaaaa
aabbbaaadbbeefbcaaaa
aabbbaaaddbghibcaaaa
abbbbaaaddbjkjbbaaaa
abbaaaaaaabjljbaaaaa
aaaaabaaaaamnoaaaaaa
aaabaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,47 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral,/area/ruin/unpowered)
"c" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered)
"d" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabbbccccbaaaaaaaaaaaaaaaaa
aaaaaaaaaabbbbbbbbccccbbbbbbaaaaaaaaaaaa
aaaaaaaabbbbbbbbbbdddbbbbbbbbaaaaaaaaaaa
aaaaaccccbbbbbbdddddddddcbbccaaaaaaaaaaa
aaaaaccccbbbbccddddddddddbbccaaaaaaaaaaa
aaabbccccbbbddddddaaaaaddddbbaaaaaaaaaaa
aaabbbccbbcdddaaaaaaaaaadddbbbaaaaaaaaaa
aaacbbbbbdddaaaaaabbbaaadddbbbaaaaaaaaaa
aaacbbbbbddaaaaaaabbbaaaaaaabbaaaaaaaaaa
aaaabbbbdddaaaaaaaabbaaaaaaabbaaaaaaabaa
aaaaabbbddaaaaaaaaaaaaaaaaaabbaaaaaabcaa
aaaaabbbddaaaaabaaaaaaaaaaabbaaaaaabccca
aaaaabbbddddaaaaaaaaaaaaaaabbaaaaaabccca
aaaaaaccbdddaaaaaaaaaaaaaaaaaaaaaaabccca
aaaaaaccbdddaaaaaaabbaabaaaaaaaaadddbbba
aaaaaaccbbcbaaaaabbbbaaaaaaaaaadddddbbaa
aaaaaaaaaaaaaaaaabbcbaaaaaaaaaadddddbbaa
aaaaaaaaaaaaaaaaabbcaaaaaaaadddddddbbbaa
aaaaaaaaaaaaaaaaaabbaaaaaaaaddddbddbbbba
aaaaaaaaaaaaaaaaaaaaaaaaaaaaddddbddbbbba
aaaaaaaaaaaaaaaaaaaaaaaaaaaabcbbbdddbcba
aaaaaaaaaaaaabdddddbbbaaaaabbbbbbcdddcba
aaaaaaaaabdddddddddddddaaaaabbbbbcdddbba
aaaaaaabddddddbbbbbbdddaaaaaaabbbcddbbaa
aaaaaabddddbcccccbbbddddbaaaaabbbbbbbbaa
aaaaaabddbbbcccccbbbbccdcaaaaabbbbbbbbaa
aaaaddddbbcccbbbbbbbbccdddaaaaabccbbaaaa
aaaaddddbbccdddbbbdddccdddaaaaaaabbcaaaa
aaaddddbbbccdddbdddddbbdddaaaaaaaaaaaaaa
aaaddddcccccdcbbddddddddddaaaaaaaaaaaaaa
abbdddbccccdddddddcbddddddaaaaaaaaaaaaaa
accbbbbccccdddddddbbbbbbbcaaaaaaaaaaaaaa
acccbbbccccddddddbbbbbbbbcaaaaaaaaaaaaaa
acccbbbbbbbbbbbbbbccbbbbbbaaaaaaaaabbaaa
aaccbbbbbbbbbbbbbbccbbbbbaaaaaaaaabbbaaa
aabbbbbbccbbbbbbbbbbbbbbbaaaaaaaabbbbaaa
aaabbbbbccbabbbbbccccbbbbaaaaaaaabbbaaaa
aaabbbbbaaaaaaaabccccbbaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,185 @@
"aa" = (/turf/open/space,/area/space)
"ab" = (/turf/closed/mineral/random/low_chance,/area/ruin/unpowered)
"ac" = (/turf/closed/wall/mineral/iron,/area/ruin/unpowered)
"ad" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ae" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/toolbox/drone,/obj/item/weapon/storage/toolbox/drone,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"af" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/cardboard,/obj/item/stack/cable_coil,/obj/item/stack/sheet/mineral/wood,/obj/item/stack/sheet/mineral/wood,/obj/item/stack/packageWrap,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ag" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/storage/box/zipties,/obj/item/weapon/switchblade,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ah" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ai" = (/obj/structure/closet/cardboard,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/clothing/shoes/combat,/obj/item/clothing/shoes/combat,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aj" = (/obj/structure/closet/cardboard,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/weapon/shovel,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ak" = (/obj/structure/closet/cardboard,/obj/item/device/flashlight/lantern,/obj/item/device/flashlight/lantern,/obj/item/device/flashlight/lantern,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/device/tape/random,/obj/item/weapon/storage/box/rxglasses,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"al" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/matches,/obj/item/weapon/storage/box/bodybags,/obj/item/clothing/glasses/meson/engine,/obj/item/clothing/glasses/meson/engine,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"am" = (/obj/structure/closet/cardboard,/obj/item/weapon/kitchen/knife,/obj/item/weapon/kitchen/knife,/obj/item/weapon/cultivator,/obj/item/weapon/hatchet,/obj/item/weapon/kitchen/rollingpin,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"an" = (/obj/structure/closet/cardboard,/obj/item/weapon/defibrillator,/obj/item/weapon/storage/box/medipens,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ao" = (/obj/structure/closet/cardboard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/obj/item/ammo_box/c9mm,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ap" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aq" = (/obj/machinery/iv_drip,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"ar" = (/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"as" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"at" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"au" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel,/area/ruin/unpowered)
"av" = (/obj/structure/toilet{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"aw" = (/obj/structure/mirror{pixel_x = 30},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"ax" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/drone,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/open/floor/plasteel,/area/ruin/unpowered)
"ay" = (/obj/structure/table,/obj/item/weapon/gun/projectile/automatic/wt550{pixel_x = -3; pixel_y = 6},/obj/item/weapon/gun/projectile/automatic/wt550{pixel_x = 2; pixel_y = 0},/obj/structure/reagent_dispensers/peppertank{pixel_y = 30},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"az" = (/obj/structure/table,/obj/item/weapon/storage/backpack/dufflebag/sec{contents = newlist(/obj/item/weapon/scalpel,/obj/item/weapon/hemostat,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/circular_saw,/obj/item/weapon/surgical_drapes,/obj/item/clothing/mask/surgical); desc = "A large dufflebag for holding extra supplies - this one has a material inlay with space for various sharp-looking tools."; name = "dufflebag"; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/unpowered)
"aA" = (/obj/structure/table,/obj/item/device/radio{pixel_x = -4},/obj/item/device/radio,/obj/item/device/radio{pixel_x = 4},/turf/open/floor/plasteel,/area/ruin/unpowered)
"aB" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/rods{amount = 50},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aC" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/brute{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/firstaid/brute,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aD" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered)
"aE" = (/obj/structure/closet/crate/radiation,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aF" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aG" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aH" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aI" = (/obj/machinery/vending/clothing,/turf/open/floor/wood,/area/ruin/unpowered)
"aJ" = (/turf/open/floor/wood{icon_state = "wood-broken3"},/area/ruin/unpowered)
"aK" = (/obj/structure/bed,/turf/open/floor/wood,/area/ruin/unpowered)
"aL" = (/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"aM" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"aN" = (/obj/structure/table,/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 4},/obj/item/clothing/gloves/combat{pixel_x = 3; pixel_y = -2},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aO" = (/turf/open/floor/plasteel,/area/ruin/unpowered)
"aP" = (/obj/structure/table,/obj/item/device/mass_spectrometer/adv,/obj/item/device/mass_spectrometer/adv,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/stack/medical/gauze,/obj/item/stack/medical/gauze,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aQ" = (/obj/structure/closet/radiation,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered)
"aR" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aS" = (/obj/structure/closet/cardboard,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"aT" = (/obj/structure/closet/wardrobe/pink,/turf/open/floor/wood{icon_state = "wood-broken"},/area/ruin/unpowered)
"aU" = (/turf/open/floor/wood,/area/ruin/unpowered)
"aV" = (/obj/structure/bed,/turf/open/floor/wood{icon_state = "wood-broken7"},/area/ruin/unpowered)
"aW" = (/obj/machinery/shower{dir = 4},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"aX" = (/obj/machinery/shower{dir = 8},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"aY" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/pill_bottle/charcoal,/turf/open/floor/plasteel,/area/ruin/unpowered)
"aZ" = (/obj/structure/table,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare{pixel_y = 6},/obj/item/device/flashlight/flare,/obj/item/weapon/crowbar/red,/turf/open/floor/plasteel,/area/ruin/unpowered)
"ba" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bb" = (/obj/structure/closet/wardrobe/pjs,/obj/machinery/light/small{dir = 8},/turf/open/floor/wood,/area/ruin/unpowered)
"bc" = (/turf/open/floor/wood{icon_state = "wood-broken4"},/area/ruin/unpowered)
"bd" = (/obj/structure/bed,/turf/open/floor/wood{icon_state = "wood-broken3"},/area/ruin/unpowered)
"be" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap,/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"bf" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/unpowered)
"bg" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bh" = (/obj/structure/closet/cardboard,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bi" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/wood,/area/ruin/unpowered)
"bj" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel/freezer,/area/ruin/unpowered)
"bk" = (/obj/structure/fireaxecabinet{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/unpowered)
"bl" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bm" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bn" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bo" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bp" = (/obj/machinery/door/airlock/highsecurity{name = "Bunker"},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bq" = (/obj/machinery/processor{name = "processor"},/turf/open/floor/plasteel,/area/ruin/unpowered)
"br" = (/obj/structure/table,/obj/item/weapon/storage/box/matches,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bs" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bt" = (/obj/structure/table,/obj/machinery/recharger,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bu" = (/obj/machinery/light{dir = 1},/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/unpowered)
"bv" = (/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/unpowered)
"bw" = (/obj/machinery/blackbox_recorder,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bx" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/port_gen/pacman,/turf/open/floor/plasteel,/area/ruin/unpowered)
"by" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bz" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bA" = (/obj/machinery/light/small{dir = 1},/obj/structure/tank_dispenser/oxygen,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bB" = (/obj/machinery/biogenerator,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bC" = (/obj/machinery/light,/obj/machinery/hydroponics/constructable,/turf/open/floor/light,/area/ruin/unpowered)
"bD" = (/obj/machinery/autolathe,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered)
"bF" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bG" = (/obj/structure/table,/obj/machinery/microwave,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bH" = (/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bI" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bJ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/beans,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bK" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bL" = (/obj/machinery/seed_extractor,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bM" = (/obj/machinery/power/apc{dir = 8; name = "Bunker APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/open/floor/plasteel,/area/ruin/unpowered)
"bO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/open/floor/plasteel,/area/ruin/unpowered)
"bP" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bQ" = (/obj/structure/table,/obj/item/weapon/kitchen/knife,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bR" = (/obj/structure/table,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bS" = (/obj/structure/table,/obj/item/weapon/kitchen/fork,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bT" = (/obj/machinery/vending/hydronutrients,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bU" = (/obj/machinery/space_heater,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"bV" = (/obj/structure/chair/office/dark{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered)
"bW" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel,/area/ruin/unpowered)
"bX" = (/obj/machinery/smartfridge,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bY" = (/obj/machinery/light/small,/turf/open/floor/plasteel/bar,/area/ruin/unpowered)
"bZ" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/open/floor/plasteel,/area/ruin/unpowered)
"ca" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"cb" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"cc" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/ruin/unpowered)
"cd" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen{dir = 1; name = "Bunker Entrance"; network = list("Bunker1"); pixel_x = 0; pixel_y = 2},/turf/open/floor/plasteel,/area/ruin/unpowered)
"ce" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "bunker1"; name = "Inner Doors"; pixel_y = 6},/obj/machinery/button/door{id = "bunker2"; name = "Outer Doors"; pixel_y = -4},/turf/open/floor/plasteel/floorgrime,/area/ruin/unpowered)
"cf" = (/obj/machinery/door/poddoor{id = "bunker1"; name = "Bunker Door"; tag = "inner"},/turf/open/floor/plating,/area/ruin/unpowered)
"cg" = (/turf/open/floor/plating,/area/ruin/unpowered)
"ch" = (/obj/machinery/camera{network = list("Bunker1")},/turf/open/floor/plating,/area/ruin/unpowered)
"ci" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plating,/area/ruin/unpowered)
"cj" = (/obj/machinery/door/poddoor{id = "bunker2"; name = "Bunker Door"; tag = "outer"},/turf/open/floor/plating,/area/ruin/unpowered)
"ck" = (/turf/open/floor/plating/asteroid,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababab
aaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaaaaababababab
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaababababababababababababababababaaaa
aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaababababababababababababababababababaaaa
aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
aaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
aaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
aaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
aaabababababababababababababababababababababababababababababababababababababababacacacacacacacacababababababababababababababababababababababababababababababababababaaaaaa
aaabababababababababababababababababababababababababababababababababababababababacadaeafagahaiacabababababababababababababababababababababababababababababababababaaaaaaaa
aaabababababababababababababababababababababababababababababababababababababababacajakalamanaoacababababababababababababababababababababababababababababababababaaaaaaaaaa
ababababababababababababababababababababababababababababababababababababababababacapaqararasatacababababababababababababababababababababababababababababababababaaaaaaaaaa
ababababababababababababababababababababababababababababababacacacacacacacacacacacacacauacacacacacabababababababababababababababababababababababababababababababaaaaaaaaaa
aaabababababababababababababababababababababababababacacacacacavawacaxayazaAaBaCaDacaEaraFaGaHaHacabababababababababababababababababababababababababababababababaaaaaaaaaa
aaabababababababababababababababababababababababababacaIaJaKacaLaMacaNaraOararaOaPacaQaraRaRaSaHacababababababababababababababababababababababababababababababababaaaaaaaa
aaaaababababababababababababababababababababababababacaTaUaVacaWaXacaYaraOaOaOaraZacbaaOaRaRaHaHacababababababababababababababababababababababababababababababababaaaaaaaa
aaaaaaabababababababababababababababababababababababacbbbcbdacbeaXacacbfbfaubfbfacacbaaOarbgbhbgacababababababababababababababababababababababababababababababababaaaaaaaa
aaaaaaaaabababababababababababababababababababacacacacacbiacacacbjacbkaraOaOaOaOauaOaOararbgbhbhacabababababababababababababababababababababababababababababababababaaaaaa
aaaaaaaaabababababababababababababababababababacblaracarararbmaOaOaOarararaOaObnacacacacacacacacacabababababababababababababababababababababababababababababababababaaaaaa
aaaaaaaaabababababababababababababababababababacboarbpaOaraOaOaOaOaObqbrbsbtaOaOacbubvbvbuacababababababababababababababababababababababababababababababababababababaaaaaa
aaaaaaaaabababababababababababababababababababacacacacacacauacacaraOacacacacaOaOauaOaOaOaOacabababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaababababababababababababababababababacbwbxbybzaOarbAacarararaOaOaraObBacbCbvbvbCacabababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaaaabababababababababababababababababacbDarbEaOararbFacbGbHbIbJbKararbLacacacacacacabababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaaaabababababababababababababababababacbMbNbOaOaOaObPacbQbHbRbSbKararbTacabababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaababababababababababababababababacbUaraOararbVbWacbXbYbHbHbHaraObZacabababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaababababababababababababababababaccaaOaraOcbaOccacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaabababababababababababababababababacararaOcdcccebWacababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaabababababababababababababababababaccfcfacacacacacacababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaabababababababababababababababababaccgcgcgchciacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaababababababababababababababababaccgcgcgcgcgacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaabababababababababababababababacacacaccjcjacababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaababababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaa
aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
aaaaaaaaaaaaaaaaabababababababababababababababckckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaa
aaaaaaaaaaaaaaaaababababababababababababababckckckckckababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaa
aaaaaaaaaaaaaaaaababababababababababababababckckckckckababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaa
aaaaaaaaaaaaaaaaaaabababababababababababababckckckckckabababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaababababababababababababababckckckckckabababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaababababababababababababababckckckckckckababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaabababababababababababababckckckckckababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababckckckckckababababababababaaaaaaababababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababckckckckckababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,61 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/lattice,/turf/open/space,/area/space)
"c" = (/turf/closed/wall,/area/ruin/unpowered)
"d" = (/obj/structure/alien/weeds,/obj/structure/alien/resin/membrane,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"e" = (/obj/structure/girder,/obj/structure/alien/weeds,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"f" = (/obj/structure/alien/weeds,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"g" = (/obj/structure/alien/weeds,/obj/structure/table_frame,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"h" = (/obj/structure/alien/weeds/node,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"i" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"j" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/remains/human,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"k" = (/obj/structure/alien/resin/wall,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"l" = (/obj/structure/alien/resin/membrane,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"m" = (/obj/structure/alien/weeds,/obj/structure/table,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"n" = (/obj/structure/alien/weeds,/obj/effect/decal/remains/robot,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"o" = (/obj/structure/alien/weeds/node,/obj/structure/table,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"p" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"q" = (/turf/open/floor/plating/airless,/area/ruin/unpowered)
"r" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/remains/xeno,/turf/open/floor/plating/airless,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaabbbaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaabbbaabbbbbbbaaaaaaaaaaaaaaa
aaaaaaaaaaabbbbbcccccdcccaaaaaaaaaaaaaaa
aaaaaaaaaabbbbbefcghcfijcbbbbbaaaaaaaaaa
aaaaaaaaabbbbkkffcffcfffccbbbbbaaaaaaaaa
aaaaaaaaabbbkffhfcffcfhffcclbbbaaaaaaaaa
aaaaaaaaaabkffiffcffcfffffmlbbbaaaaaaaaa
aaaaaaaaaabcfffffffffffffnopbbaaaaaaaaaa
aaaaaaaaaaaaecceccffcccecccpbaaaaaaaaaaa
aaaaaaaaaaaaacmfjffffffifcaaaaaaaaaaaaaa
aaaaaaaaaaabccmhfjffffhficaaaaaaaaaaaaaa
aaaaaaaaaabbdffffffffiffkqbaaaaaaaaaaaaa
aaaaaaaaaabbpcccccffccckqbbaaaaaaaaaaaaa
aaaaaaaaaabbbbbchfffficqpbaaaaaaaaaaaaaa
aaaaaaaaaabbbaacfffffgcbbbaaaaaaaaaaaaaa
aaaaaaaaaabbaaacelfrfdhbbaaaaaaaaaaaaaaa
aaaaaaaaaabaaaaabblddbbbbaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaabqbbbbbaaaaaaaaaaaaaaaa
aaaaaaaaabaaaaaaaabbbaaaaaaaaaaaaaaaaaaa
aaaaaaabbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaabaacbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aabbbcqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
abbqqqqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bpcqqqqqbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bpqqqqcbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bpqqqqqbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
accccpbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,61 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/open/space,/area/space)
"c" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/powered)
"d" = (/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/open/space,/area/space)
"e" = (/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/open/floor/plating,/area/ruin/powered)
"f" = (/turf/closed/wall,/area/ruin/powered)
"g" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/powered)
"h" = (/obj/machinery/light/small{tag = "icon-bulb1 (NORTH)"; icon_state = "bulb1"; dir = 1},/turf/open/floor/plasteel,/area/ruin/powered)
"i" = (/turf/open/floor/plasteel,/area/ruin/powered)
"j" = (/obj/machinery/light/small{tag = "icon-bulb1 (EAST)"; icon_state = "bulb1"; dir = 4},/turf/open/floor/plasteel,/area/ruin/powered)
"k" = (/obj/structure/window/reinforced,/turf/open/space,/area/space)
"l" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/open/floor/plating,/area/ruin/powered)
"m" = (/obj/structure/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/remains/human,/turf/open/floor/plasteel,/area/ruin/powered)
"n" = (/obj/structure/table,/obj/item/candle{pixel_y = 5},/obj/item/trash/plate{pixel_x = 10},/obj/item/trash/plate{pixel_x = -10},/turf/open/floor/plasteel,/area/ruin/powered)
"o" = (/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/remains/human,/turf/open/floor/plasteel,/area/ruin/powered)
"p" = (/obj/structure/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/open/space,/area/space)
"q" = (/obj/machinery/light/small{tag = "icon-bulb1 (WEST)"; icon_state = "bulb1"; dir = 8},/turf/open/floor/plasteel,/area/ruin/powered)
"r" = (/obj/machinery/light/small,/turf/open/floor/plasteel,/area/ruin/powered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabcdaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaafgcgfaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaafhiiiifaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaafiiiiiijfaaaaaaaaaaaaaaa
aaaaaaaaaaaakkkkgiiiiiiigkkkkaaaaaaaaaaa
aaaaaaaaaaaaclllciimnoiiclllcaaaaaaaaaaa
aaaaaaaaaaaappppgiiiiiiigppppaaaaaaaaaaa
aaaaaaaaaaaaaaaafqiiiiiifaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaafiiiirfaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaafgcgfaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabedaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaabcdaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,48 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/open/floor/plating/airless,/area/space)
"c" = (/turf/closed/wall,/area/space)
"d" = (/obj/structure/lattice,/turf/open/space,/area/space)
"e" = (/obj/structure/lattice,/obj/structure/lattice,/turf/open/space,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabbbbbbbaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabbbcbbbaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaadbbbcccbbbdaaaaaaaaa
aaaaaaaaaaaaaaaaaaaadbbcbcbcbbdaaaaaaaaa
aaaaaaaaaaaaaaaaaaaadbbbbcbcbbddaaaaaaaa
aaaaaaaaaaaaaaaaaaadddbbbbbbbbdddaaaaaaa
aaaaaaaaaaaaaaaaaaadddddbbbddddbddaaaaaa
aaaaaaaaaaaaaaaaaadbddddddddddddddaaaaaa
aaaaaaaaaaaaaaaaadddddddddddddddddaaaaaa
aaaaaaaaaaaaaaaaddbbbbbddbdddbbbbdaaaaaa
aaaaaaaaaaaaaaaadbbccbbbdddbbbbbbdaaaaaa
aaaaaaaaaaaaaaaabbbcbbbbdddbbbbcbbaaaaaa
aaaaaaaaaaaaaaabbbbcbbbbddbbbbbcbbaaaaaa
aaaaaaaaaaaaaaabcccbbbddddbbbbcbbbaaaaaa
aaaaaaaaaaaaaadbbbbcbbddddbbbccccbaaaaaa
aaaaaaaaaaaaaadbbbbbbddbddbbbbcbbaaaaaaa
aaaaaaaaaaaaadddbbbbbdddddbbbbcbbaaaaaaa
aaaaaaaaaaaaaddddddddddaaddbbbbbaaaaaaaa
aaaaaaaaaaaaadddaaaaaaaaaaddabbaaaaaaaaa
aaaaaaaaaaaaddaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aacbbdddaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aacbbbdddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aacbbbddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aacbbbbbddeaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aacbbbbbbbdaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaacbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaacccccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,63 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral,/area/ruin/unpowered)
"c" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
"d" = (/turf/closed/mineral/random/high_chance,/area/ruin/unpowered)
"e" = (/turf/closed/wall/shuttle/smooth,/area/ruin/unpowered)
"f" = (/obj/machinery/door/airlock/shuttle,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"g" = (/turf/open/floor/plating/airless,/area/ruin/unpowered)
"h" = (/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"i" = (/obj/structure/chair,/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"j" = (/obj/structure/chair,/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"k" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"l" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered)
"m" = (/obj/item/weapon/shard,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"n" = (/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/open/floor/plating/airless,/area/ruin/unpowered)
"o" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"p" = (/obj/structure/table,/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"q" = (/obj/item/weapon/shard,/obj/structure/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"r" = (/obj/structure/chair{dir = 1},/obj/structure/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/open/floor/plasteel/airless{icon_plating = "plating"; icon_regular_floor = "shuttlefloor"; icon_state = "shuttlefloor"},/area/ruin/unpowered)
"s" = (/obj/structure/chair{dir = 1},/turf/open/floor/plating/airless,/area/ruin/unpowered)
"t" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaabbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaacccbbbbaaaaaaaaaaaaaaabaaaaaaaaaaaa
aaaaacccbbbbaaaaaaaaaaaaaabbbaaaaaaaaaaa
aaaaaaccbbaaaaaaaaaaaaaaaabbbaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaabbdddddbbaaabbbbaaaaaaaaaaa
aaaaaaaaaaabbbbddddbbbbbbbbbbbaaaaaaaaaa
aaaaaaaaaaacbbbbbdbbbbbbbbbbbbbaaaaaaaaa
aaaaaaaaccccbbbbbbbbbccbbdddbbbaaaaaaaaa
aaaaaaaacccccbddbbccccccccccbccaaaaaaaaa
aaaaaaaaaccccbddbbeeeefeeeeecccaaaaaaaaa
aaaaaaaaacccccbbbgggghhijkelcccaaaaaaaaa
aaaaaaaaacccccbbbgmnhhhhhhelcccaaaaaaaaa
aaaaaaaaaccccbbbbopqhhhhhgelcccaaaaaaaaa
aaaaaaaaaccccbbdbbghhhhrsgelcaaaaaaaaaaa
aaaaaaaaaabccbbbbbeeeefetgeecaaaaaaaaaaa
aaaaaabaaabbbbbbbccccccccccccaaaaaaaaaaa
aaaaaaaaaabbbbbbbbbbcccccccccaaaaaaaaaaa
aaabaaaaaaaabbbbbbbbbccccaaaaaaaaaaaaaaa
aaaaaaaaaaaaabdbbdddbccccaaaaaaaaaaaaaaa
aaaaabbaaaaaaaaabdddbbbaaaaaaaaaaaaabaaa
aaaabbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaabbaaaaaaaaaaaaaaaabbbaaaaaaaaaccbbaa
aaaaaaaaaaaaaaaaaaaaadbbbbaaaaaaacccdbaa
aaaaaaaaaaaaaaaaaaadbbbbccaaaaaaacbdbaaa
aaaaaaaaaaaaaaaaaadbbbbcaaaaaaaaacbbbaaa
aaaaaaaaaaaaaaaaaddbbcccaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaababbbbbcccaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaabbbbbccccaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaabbbbdcccaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabbcccccaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaabccaaaaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,62 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral,/area/space)
"c" = (/turf/open/floor/plating/asteroid/airless,/area/space)
"d" = (/turf/closed/mineral,/area/ruin/unpowered)
"e" = (/turf/closed/wall,/area/ruin/unpowered)
"f" = (/turf/closed/wall/rust,/area/ruin/unpowered)
"g" = (/turf/open/floor/plating,/area/ruin/unpowered)
"h" = (/obj/structure/closet/crate,/turf/open/floor/plating,/area/ruin/unpowered)
"i" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plating,/area/ruin/unpowered)
"j" = (/obj/structure/barricade/wooden,/obj/structure/door_assembly,/turf/open/floor/plating,/area/ruin/unpowered)
"k" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/open/floor/plating,/area/ruin/unpowered)
"l" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/ruin/unpowered)
"m" = (/obj/effect/decal/remains/human,/turf/open/floor/plating,/area/ruin/unpowered)
"n" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/turf/open/floor/plating,/area/ruin/unpowered)
"o" = (/obj/structure/table,/turf/open/floor/plating,/area/ruin/unpowered)
"p" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
"q" = (/obj/structure/barricade/wooden,/turf/open/floor/plating,/area/ruin/unpowered)
"r" = (/obj/structure/barricade/wooden,/obj/machinery/door/airlock/external,/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered)
"s" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbabbaaaa
aaaaaaaaaaaaaaaaaaaaaaaaabaaaabbbbaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaa
aaaaaaaaaaabbbbbaaaaaaaaaaaaaaaaaaaabaaa
aaaaaaaabbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaabbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaa
aaaaaacbbbbbbbbbbbbbbbaaaaaaaaaaaabaaaaa
aaaaaacbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaa
aaaaaccbbbbbbbddeefddeeddbbbbbaaaaaaaaaa
aaaaaccbbbbbbbdgggeggghfibbbbbbbaaaaaaaa
aaaaaccccbbbbbfiggjggghfhebbbbbbaaaaaaaa
aaaaaccccbbbbbfigkflgggjgfbbbbbbbbaaaaaa
aaaaaaaccbbbbbemgnfhggoffebbbbbbbbaaaaaa
aaaaaaacccbbbbfghielgggglbbbbbbbbbbbaaaa
aaaaaaaaccbbbbeffeeeejeeebbbbbbbbbbbaaaa
aaaaaaaaccbbbbegggpggggpebbbbbbbbbbbaaaa
aaaaaaaaccccbbeggglgpgpqdbbbbbbbbbbbaaaa
aaabaaaaacccccddedeffeerebbbbbbbbbbbaaaa
aaaaaaaaaaacccbbbbbbbbeqebbbbbbbbbbbbaaa
aaaaaaaaaaacccccccbbbbesebbbbbbbbbbbbaaa
aaaaaaaaaaaaacccccbbbbbcbbbbbbbbbbbbbaaa
aaaaabaaaaaaacccccccccccccbbbbbbbbbbbaaa
aaaaaaaaaaaaaaaaacccccccccbbbbbbbbbbbaaa
aaaaaaabbaaaaaaaaaccccccccbbbbbbbbbbbaaa
aaaaaaabbbbaaaaaaacccccccccbbccbbbbbbaaa
aaaaaaabbbbaaaaaaacccccccccccccccbbbbbaa
aaaaaaaaabbaaaaaaaaccccccccccccccbbbbbaa
aaaaaaaaabbaaaaaaaaccccccccccccccbbbbbaa
aaaaaaaaaaaaaaaaaaaccccccccccccccbbbbbaa
aaaaaaaaaaaaaaaaabbcccccccccccccccbbbbaa
abbaaaaaaaaaaaaaabbcccccccccccccccbbbbaa
abbaaaaaaaaaaaaaabbbbcccccccccccbbbbbbaa
abbbaaaaaaaaaaaaaabbbcccccccccccbbbbbaaa
aaaaaaaaaaaaaaaaaabbbbbbbcccccbbbbbbbaaa
aaaaaaaaaaaaaaaaaaaabbbbbbccccbbbbbbbaaa
aaaaabaaaaaaaaaaaaaabbbbbbbbbbbbbbaaaaaa
aaabaaaaaaaaaaaaaaaaaabbbbbbbbbaaaaaaaaa
"}
@@ -0,0 +1,31 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/lattice,/turf/open/space,/area/space)
"c" = (/turf/closed/wall/r_wall,/area/ruin/unpowered)
"d" = (/turf/open/floor/plating,/area/ruin/unpowered)
"e" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plating,/area/ruin/unpowered)
"f" = (/obj/item/ammo_box/magazine/sniper_rounds,/turf/open/floor/plating,/area/ruin/unpowered)
"g" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/ruin/unpowered)
"h" = (/obj/item/stack/rods,/turf/open/floor/plating,/area/ruin/unpowered)
"i" = (/turf/open/floor/plating/airless,/area/ruin/unpowered)
"j" = (/obj/machinery/door/airlock,/turf/open/floor/plating,/area/ruin/unpowered)
"k" = (/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plating,/area/ruin/unpowered)
"l" = (/obj/item/stack/cable_coil,/turf/open/floor/plating,/area/ruin/unpowered)
"m" = (/obj/effect/spawner/lootdrop/maintenance{lootcount = 4; name = "4maintenance loot spawner"},/turf/open/floor/plating,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaabaaaaaaa
aaabbaaababaabaaa
aaabccccccccccaba
aabccccccccccccaa
abacccdeddfdcccba
abaccddddddgdccbb
bbbdcdhddddddccbb
aadijddhdgdddccaa
aadijddkdddddccbb
abbdcddddddhdccbb
aaaccldeddmddccbb
aaacccdddddecccaa
aaaccccccccccccba
aabaccccccccccaaa
aaaabbaaaaaaaaaaa
"}
@@ -0,0 +1,66 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/lattice,/turf/open/space,/area/space)
"c" = (/turf/closed/wall,/area/ruin/unpowered)
"d" = (/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel{icon_state = "warndark"; dir = 8},/area/ruin/unpowered)
"e" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/turf/open/floor/plasteel{icon_state = "warndark"; dir = 4},/area/ruin/unpowered)
"f" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/obj/effect/decal/remains/human,/turf/open/floor/plasteel{icon_state = "warndark"; dir = 8},/area/ruin/unpowered)
"g" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/structure/bed,/turf/open/floor/plasteel{icon_state = "warndark"; dir = 8},/area/ruin/unpowered)
"h" = (/turf/open/floor/plasteel{icon_state = "warndark"; dir = 4},/area/ruin/unpowered)
"i" = (/turf/open/floor/plasteel{icon_state = "warndark"; dir = 8},/area/ruin/unpowered)
"j" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel{icon_state = "warndark"; dir = 4},/area/ruin/unpowered)
"k" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel{icon_state = "warndark"; dir = 8},/area/ruin/unpowered)
"l" = (/obj/machinery/atmospherics/components/unary/outlet_injector,/turf/open/floor/plasteel{icon_state = "warndark"; dir = 4},/area/ruin/unpowered)
"m" = (/obj/structure/closet/crate/freezer,/obj/item/stack/sheet/animalhide/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"n" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/machinery/light{dir = 1},/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"o" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/clothing/under/rank/prisoner,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/lizard,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"p" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/open/floor/plasteel{dir = 1; icon_state = "blue"},/area/ruin/unpowered)
"q" = (/obj/machinery/door/window/brigdoor/northleft,/obj/machinery/atmospherics/components/binary/pump{dir = 1},/turf/open/floor/plasteel{dir = 1; icon_state = "blue"},/area/ruin/unpowered)
"r" = (/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"s" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/turf/open/floor/plasteel,/area/ruin/unpowered)
"t" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/obj/machinery/power/apc{cell_type = 2500; dir = 1; name = "Worn-out APC"; pixel_x = 1; pixel_y = 26},/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered)
"u" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered)
"v" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/open/floor/plasteel,/area/ruin/unpowered)
"w" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/open/floor/plasteel,/area/ruin/unpowered)
"x" = (/obj/structure/kitchenspike,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"y" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchen/knife/butcher,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/reagent_containers/spray/pepper,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"z" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/open/floor/plasteel,/area/ruin/unpowered)
"A" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4; initialize_directions = 11},/turf/open/floor/plasteel,/area/ruin/unpowered)
"B" = (/turf/open/floor/plasteel,/area/ruin/unpowered)
"C" = (/obj/machinery/gibber,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"D" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/obj/item/weapon/reagent_containers/syringe/lethal,/obj/item/weapon/reagent_containers/syringe/lethal/choral,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"E" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/toxins,/turf/open/floor/plasteel,/area/ruin/unpowered)
"F" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/open/floor/plasteel,/area/ruin/unpowered)
"G" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel,/area/ruin/unpowered)
"H" = (/obj/machinery/door/airlock/security,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"I" = (/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = -4; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate{name = "chloral hydrate bottle"},/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 6; pixel_y = 8},/obj/item/weapon/reagent_containers/glass/bottle/morphine{pixel_x = 5; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/bottle/facid{name = "fluorosulfuric acid bottle"; pixel_x = -3; pixel_y = 6},/obj/structure/table/reinforced,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"J" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/drone,/obj/item/weapon/melee/baton/cattleprod,/turf/open/floor/plasteel,/area/ruin/unpowered)
"K" = (/obj/structure/table,/obj/item/weapon/pen/red,/turf/open/floor/plasteel,/area/ruin/unpowered)
"L" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/open/floor/plasteel,/area/ruin/unpowered)
"M" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/open/floor/plasteel,/area/ruin/unpowered)
"N" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/machinery/light,/obj/structure/table,/turf/open/floor/plasteel,/area/ruin/unpowered)
"O" = (/obj/machinery/portable_atmospherics/scrubber,/turf/open/floor/plasteel{icon_state = "bot"; dir = 1},/area/ruin/unpowered)
"P" = (/obj/structure/table/reinforced,/obj/item/weapon/surgicaldrill,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/item/weapon/surgical_drapes,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/circular_saw,/obj/machinery/light,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"Q" = (/obj/structure/table/optable,/obj/effect/decal/cleanable/blood/old,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"R" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/bottle/mutagen,/obj/item/weapon/reagent_containers/glass/bottle/mutagen,/obj/item/weapon/razor,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"S" = (/obj/machinery/suit_storage_unit/security,/turf/open/floor/plasteel,/area/ruin/unpowered)
"T" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/unpowered)
"U" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/area/ruin/unpowered)
"V" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/unpowered)
"W" = (/turf/open/floor/plating,/area/ruin/unpowered)
(1,1,1) = {"
aaaababababbaaaaaaa
aaababbbbababbbbaaa
aaabccccccccccbbbba
abbbcdefegefhccccca
abbbcijkjkjklcmnocb
abcccpqpqpqpqcrrrcb
abcstuvuvuvuwcxryca
aaczABBBBBBBBcCrDca
bbcEFBBBGBBBBHrrIcb
abcJBBBKLMNOOcPQRcb
abcSTBUcccccccccccb
aacccVccbbbbbbaabba
aabbcWcbbaaaaaaabaa
aaabcVcbaaaaaaaaaaa
"}
@@ -0,0 +1,43 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/wall/shuttle{dir = 8; icon_state = "diagonalWall3"},/area/ruin/powered)
"c" = (/turf/closed/wall/shuttle{icon_state = "wall3"},/area/ruin/powered)
"d" = (/turf/closed/wall/shuttle{dir = 1; icon_state = "diagonalWall3"},/area/ruin/powered)
"e" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/open/space,/area/ruin/powered)
"f" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/turf/open/floor/plating,/area/ruin/powered)
"g" = (/obj/structure/table/wood,/obj/item/clothing/under/shorts/black,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"h" = (/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"i" = (/obj/structure/table,/obj/item/device/flashlight/lamp,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"j" = (/obj/structure/closet,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"k" = (/obj/machinery/vending/assist,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"l" = (/obj/structure/table/wood,/obj/item/clothing/shoes/sandal,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"m" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"n" = (/obj/structure/table/wood,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"o" = (/obj/structure/table/wood,/obj/machinery/computer/libraryconsole/bookmanagement,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"p" = (/obj/structure/window/reinforced/fulltile,/obj/structure/grille,/turf/open/floor/plating,/area/ruin/powered)
"q" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/powered)
"r" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"s" = (/obj/machinery/door/poddoor{id = "goonwizship1"},/obj/machinery/button/door{id = "goonwizship1"; name = "Strange Ship Door Button"; pixel_y = 32},/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"t" = (/obj/machinery/door/airlock/external,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"u" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"v" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"w" = (/obj/structure/table/wood,/obj/item/weapon/paper,/obj/item/weapon/pen,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"x" = (/obj/machinery/light,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"y" = (/mob/living/simple_animal/bot/medbot,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"z" = (/turf/closed/wall/shuttle{dir = 2; icon_state = "diagonalWall3"},/area/ruin/powered)
"A" = (/obj/structure/chair,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
"B" = (/turf/closed/wall/shuttle{dir = 4; icon_state = "diagonalWall3"},/area/ruin/powered)
"C" = (/obj/machinery/light,/obj/structure/bed,/turf/open/floor/plasteel/shuttle/purple,/area/ruin/powered)
(1,1,1) = {"
aabcccccdaaaa
aefghijkcaaaa
aeflhhhhccccd
bccccmhhcmhjc
cnophhhhqhhrc
shhthhhhuhvwc
chxpyhhhqhhnc
zccccmhhcmhjc
aefAhhhhccccB
aefnnChjcaaaa
aazcccccBaaaa
"}
@@ -0,0 +1,68 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/wall/shuttle{icon_state = "swall_s6";dir = 2},/area/ruin/powered)
"c" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/powered)
"d" = (/turf/closed/wall/shuttle{icon_state = "swall_s10";dir = 2},/area/ruin/powered)
"e" = (/turf/closed/wall/shuttle{icon_state = "swall3";dir = 2},/area/ruin/powered)
"f" = (/obj/structure/closet/crate/secure/loot,/obj/effect/decal/cleanable/cobweb,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"g" = (/obj/structure/closet/crate/secure/loot,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"h" = (/obj/structure/table,/obj/machinery/button/door{id = "mechaship1";name = "Mecha Cargo Ship Doors"},/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"i" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"j" = (/obj/machinery/computer/shuttle,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"k" = (/obj/effect/decal/cleanable/vomit/old,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"l" = (/obj/effect/decal/remains/human,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"m" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"n" = (/obj/structure/chair/office/dark{dir = 1},/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"o" = (/turf/closed/wall/shuttle{icon_state = "swall13";dir = 2},/area/ruin/powered)
"p" = (/obj/machinery/door/airlock/hatch{name = "Cockpit";req_access_txt = "101"},/turf/open/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/ruin/powered)
"q" = (/turf/closed/wall/shuttle{icon_state = "swall12";dir = 2},/area/ruin/powered)
"r" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/open/floor/plasteel/airless/shuttle/white,/area/ruin/powered)
"s" = (/turf/open/floor/plasteel/airless/shuttle/white,/area/ruin/powered)
"t" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/airless/shuttle/white,/area/ruin/powered)
"u" = (/obj/effect/decal/cleanable/cobweb2,/turf/open/floor/plasteel/airless/shuttle/white,/area/ruin/powered)
"v" = (/obj/structure/mecha_wreckage/phazon,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"w" = (/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"x" = (/obj/structure/mecha_wreckage/ripley/firefighter,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"y" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"z" = (/obj/structure/mecha_wreckage/ripley,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"A" = (/obj/mecha/working/ripley,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"B" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"C" = (/obj/effect/decal/cleanable/robot_debris/up,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"D" = (/obj/machinery/door/poddoor{id = "mechaship1";name = "Cargo Bay Door"},/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"E" = (/obj/effect/decal/cleanable/robot_debris,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"F" = (/obj/structure/mecha_wreckage/durand,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"G" = (/obj/item/stack/tile/plasteel,/turf/open/floor/plating/airless,/area/ruin/powered)
"H" = (/turf/open/floor/plating/airless,/area/ruin/powered)
"I" = (/obj/structure/lattice,/turf/open/space,/area/space)
"J" = (/obj/machinery/computer/mecha,/turf/open/floor/plasteel/shuttle,/area/ruin/powered)
"K" = (/obj/effect/decal/cleanable/robot_debris/gib,/turf/open/floor/plating/airless,/area/ruin/powered)
"L" = (/obj/effect/decal/cleanable/robot_debris,/obj/item/stack/tile/plasteel,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"M" = (/turf/open/floor/plating{icon_state = "platingdmg1";initial_gas_mix = "TEMP=2.7"},/area/ruin/powered)
"N" = (/turf/open/floor/plating{icon_state = "platingdmg2";initial_gas_mix = "TEMP=2.7"},/area/ruin/powered)
"O" = (/obj/structure/mecha_wreckage/odysseus,/turf/open/floor/plasteel/airless/shuttle/yellow,/area/ruin/powered)
"P" = (/obj/item/stack/sheet/metal,/turf/open/space,/area/space)
"Q" = (/obj/structure/mecha_wreckage/gygax,/turf/open/floor/plasteel/airless/shuttle/white,/area/ruin/powered)
"R" = (/turf/open/floor/plating{icon_state = "platingdmg3";initial_gas_mix = "TEMP=2.7"},/area/space)
"S" = (/obj/item/stack/rods,/turf/open/floor/plating/airless,/area/ruin/powered)
"T" = (/turf/closed/wall/shuttle{icon_state = "swall14";dir = 2},/area/ruin/powered)
"U" = (/turf/closed/wall/shuttle{icon_state = "swall_s9";dir = 2},/area/ruin/powered)
"V" = (/obj/item/stack/rods,/turf/open/space,/area/space)
"W" = (/turf/closed/wall/shuttle{icon_state = "swall15";dir = 2},/area/ruin/powered)
"X" = (/obj/structure/shuttle/engine/propulsion,/turf/open/space,/area/ruin/powered)
(1,1,1) = {"
abcccccda
aefghijea
aeklmnJea
bopqqqqod
erststtue
evwwxyzAe
eBwCwzwyD
eEFGwwwwD
GHwFyHywD
ISHwKLwBD
MHNGOOwyD
PIIHsHQse
aRIPSHqTU
aVaaIabWd
aaaaaaXXX
"}
@@ -0,0 +1,195 @@
"aa" = (/turf/open/space,/area/space)
"ab" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/space,/area/space)
"ac" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/space,/area/space)
"ad" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/space)
"ae" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/space,/area/space)
"af" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/space,/area/space)
"ag" = (/turf/closed/wall,/area/ruin/onehalf/dorms_med)
"ah" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/onehalf/dorms_med)
"ai" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/space,/area/space)
"aj" = (/turf/open/floor/plating/airless,/area/ruin/onehalf/hallway)
"ak" = (/turf/closed/wall,/area/ruin/onehalf/hallway)
"al" = (/obj/machinery/sleeper/syndie{dir = 4},/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"am" = (/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"an" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"ao" = (/obj/structure/bed,/obj/item/weapon/bedsheet/black,/turf/open/floor/plasteel,/area/ruin/onehalf/dorms_med)
"ap" = (/turf/open/floor/plasteel,/area/ruin/onehalf/dorms_med)
"aq" = (/obj/machinery/door/airlock/external,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"ar" = (/turf/closed/wall,/area/ruin/onehalf/drone_bay)
"as" = (/obj/machinery/door/poddoor{id = "onehalf_drone1ext"; name = "mining drone bay blast door"},/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/ruin/onehalf/drone_bay)
"at" = (/obj/machinery/door/poddoor{id = "onehalf_drone2ext"; name = "mining drone bay blast door"},/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/ruin/onehalf/drone_bay)
"au" = (/obj/machinery/door/poddoor/preopen{id = "onehalf_drone3ext"; name = "mining drone bay blast door"},/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/ruin/onehalf/drone_bay)
"av" = (/obj/machinery/door/poddoor{id = "onehalf_drone4ext"; name = "mining drone bay blast door"},/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/ruin/onehalf/drone_bay)
"aw" = (/obj/structure/lattice,/turf/open/space,/area/space)
"ax" = (/obj/structure/lattice,/turf/open/space,/area/ruin/onehalf/hallway)
"ay" = (/obj/structure/table_frame,/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/onehalf/hallway)
"az" = (/obj/machinery/washing_machine,/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"aA" = (/obj/item/roller,/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aB" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/item/weapon/storage/firstaid/brute{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aC" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/onehalf/dorms_med)
"aD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"aE" = (/obj/structure/disposalpipe/trunk,/turf/open/floor/plating/airless,/area/ruin/onehalf/drone_bay)
"aF" = (/obj/structure/disposalpipe/trunk,/obj/item/weapon/ore/diamond,/turf/open/floor/plating/airless,/area/ruin/onehalf/drone_bay)
"aG" = (/turf/open/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/ruin/onehalf/drone_bay)
"aH" = (/obj/item/stack/rods,/turf/open/space,/area/ruin/onehalf/hallway)
"aI" = (/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/ruin/onehalf/hallway)
"aJ" = (/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/ruin/onehalf/hallway)
"aK" = (/obj/machinery/iv_drip,/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/closet/crate/medical,/obj/item/clothing/tie/stethoscope,/obj/item/device/healthanalyzer,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/power/apc{dir = 4; name = "Crew Quarters APC"; pixel_x = 26; pixel_y = 0},/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aN" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{id = "onehalf_drone1int"; name = "mining drone bay blast door"},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"aO" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{id = "onehalf_drone2int"; name = "mining drone bay blast door"},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"aP" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{id = "onehalf_drone3int"; name = "mining drone bay blast door"},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"aQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{id = "onehalf_drone4int"; name = "mining drone bay blast door"},/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"aR" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/open/floor/plating/airless,/area/ruin/onehalf/drone_bay)
"aS" = (/obj/structure/lattice,/obj/item/weapon/storage/toolbox/syndicate,/turf/open/space,/area/space)
"aT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/onehalf/hallway)
"aU" = (/turf/open/floor/plasteel/airless{icon_state = "damaged1"},/area/ruin/onehalf/hallway)
"aV" = (/obj/machinery/door/airlock/glass_medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/ruin/onehalf/dorms_med)
"aW" = (/obj/machinery/door/airlock,/turf/open/floor/plasteel,/area/ruin/onehalf/dorms_med)
"aX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel{dir = 9; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"aY" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{cell_type = 2500; dir = 1; name = "Mining Drone Bay APC"; pixel_y = 24},/turf/open/floor/plasteel{dir = 1; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"aZ" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel{dir = 1; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"ba" = (/obj/machinery/button/door{id = "onehalf_drone2int"; name = "Drone 2 Internal Hatch Override"; pixel_x = 8; pixel_y = 27},/obj/machinery/button/door{id = "onehalf_drone2ext"; name = "Drone 2 External Hatch Override"; pixel_x = 8; pixel_y = 37},/obj/machinery/button/door{id = "onehalf_drone1int"; name = "Drone 1 Internal Hatch Override"; pixel_x = -8; pixel_y = 27},/obj/machinery/button/door{id = "onehalf_drone1ext"; name = "Drone 1 External Hatch Override"; pixel_x = -8; pixel_y = 37},/turf/open/floor/plasteel{dir = 1; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"bb" = (/turf/open/floor/plasteel{dir = 1; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"bc" = (/obj/machinery/button/door{id = "onehalf_drone3int"; name = "Drone 3 Internal Hatch Override"; pixel_x = -8; pixel_y = 27},/obj/machinery/button/door{id = "onehalf_drone3ext"; name = "Drone 3 External Hatch Override"; pixel_x = -8; pixel_y = 37},/obj/machinery/button/door{id = "onehalf_drone4ext"; name = "Drone 4 External Hatch Override"; pixel_x = 8; pixel_y = 37},/obj/machinery/button/door{id = "onehalf_drone4int"; name = "Drone 4 Internal Hatch Override"; pixel_x = 8; pixel_y = 27},/turf/open/floor/plasteel{dir = 1; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"bd" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel{dir = 5; icon_state = "warning"},/area/ruin/onehalf/drone_bay)
"be" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"bf" = (/obj/item/stack/sheet/metal,/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/ruin/onehalf/hallway)
"bg" = (/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (EAST)"; icon_state = "pipe-b"; dir = 4},/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/ruin/onehalf/hallway)
"bh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/onehalf/hallway)
"bi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/ruin/onehalf/hallway)
"bj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bk" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless{icon_state = "damaged1"},/area/ruin/onehalf/hallway)
"bl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bm" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"br" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance_hatch,/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bs" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel{icon_state = "floorgrime"},/area/ruin/onehalf/drone_bay)
"bt" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-y"; dir = 1},/turf/open/floor/plasteel{icon_state = "floorgrime"},/area/ruin/onehalf/drone_bay)
"bu" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal/bin,/turf/open/floor/plating,/area/ruin/onehalf/drone_bay)
"bv" = (/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (EAST)"; icon_state = "pipe-b"; dir = 4},/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/ruin/onehalf/hallway)
"bw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/onehalf/hallway)
"bx" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"by" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged1"},/area/ruin/onehalf/hallway)
"bz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Hallway APC"; pixel_y = -24},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/ruin/onehalf/hallway)
"bB" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bC" = (/obj/machinery/door/airlock/glass,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bD" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j1"},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bG" = (/turf/open/floor/plasteel,/area/ruin/onehalf/drone_bay)
"bH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plasteel{icon_state = "floorgrime"},/area/ruin/onehalf/drone_bay)
"bI" = (/turf/open/floor/plasteel{icon_state = "floorgrime"},/area/ruin/onehalf/drone_bay)
"bJ" = (/obj/structure/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/open/floor/plasteel{icon_state = "floorgrime"},/area/ruin/onehalf/drone_bay)
"bK" = (/obj/structure/girder,/turf/open/floor/plating/airless,/area/ruin/onehalf/hallway)
"bL" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/ruin/onehalf/hallway)
"bM" = (/obj/machinery/vending/coffee,/turf/open/floor/plasteel/airless{icon_state = "damaged4"},/area/ruin/onehalf/hallway)
"bN" = (/obj/machinery/vending/snack,/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/onehalf/hallway)
"bO" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal/bin,/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bP" = (/obj/structure/girder/reinforced,/obj/item/stack/sheet/plasteel,/turf/open/floor/plating/airless,/area/ruin/onehalf/hallway)
"bQ" = (/obj/structure/girder/reinforced,/turf/open/floor/plating/airless,/area/ruin/onehalf/hallway)
"bR" = (/turf/closed/wall/r_wall,/area/ruin/onehalf/hallway)
"bS" = (/turf/open/floor/plasteel/airless{icon_state = "damaged2"},/area/ruin/onehalf/hallway)
"bT" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/airless,/area/ruin/onehalf/hallway)
"bU" = (/turf/closed/wall/r_wall,/area/ruin/onehalf/bridge)
"bV" = (/obj/item/stack/sheet/metal,/turf/open/space,/area/space)
"bW" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/ruin/onehalf/hallway)
"bX" = (/obj/structure/disposalpipe/segment,/obj/item/stack/rods,/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/ruin/onehalf/hallway)
"bY" = (/obj/structure/grille,/turf/open/floor/plating/airless,/area/ruin/onehalf/hallway)
"bZ" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"ca" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cb" = (/obj/structure/table/reinforced,/obj/item/weapon/paper,/obj/item/weapon/pen,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cc" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cd" = (/obj/machinery/light{dir = 1},/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"ce" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cf" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{cell_type = 2500; dir = 1; name = "Bridge APC"; pixel_y = 24},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/table/reinforced,/obj/item/stack/spacecash/c500{pixel_y = 8},/obj/item/stack/spacecash/c1000,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"ch" = (/obj/structure/girder/reinforced,/turf/open/floor/plating/airless,/area/space)
"ci" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (NORTH)"; icon_state = "pipe-j1"; dir = 1},/obj/item/weapon/shard,/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/ruin/onehalf/hallway)
"cj" = (/obj/structure/lattice,/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (EAST)"; icon_state = "pipe-b"; dir = 4},/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (WEST)"; icon_state = "pipe-b"; dir = 8},/obj/item/stack/rods,/turf/open/space,/area/ruin/onehalf/hallway)
"ck" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/open/space,/area/space)
"cl" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cm" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{amount = 12},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cn" = (/obj/structure/chair/office{dir = 8},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"co" = (/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cp" = (/obj/structure/chair/office{tag = "icon-chair (NORTH)"; icon_state = "chair"; dir = 1},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/reinforced,/obj/item/weapon/lighter,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cr" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cs" = (/obj/item/stack/rods,/turf/open/space,/area/space)
"ct" = (/turf/open/floor/plating/airless,/area/space)
"cu" = (/obj/item/stack/sheet/plasteel{amount = 10},/obj/structure/lattice,/turf/open/space,/area/space)
"cv" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/ruin/onehalf/hallway)
"cw" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/ruin/onehalf/hallway)
"cx" = (/obj/structure/girder/reinforced,/turf/open/floor/plating/airless,/area/ruin/onehalf/bridge)
"cy" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal/bin,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cz" = (/obj/item/stack/tile/plasteel,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cA" = (/obj/machinery/power/solar_control,/obj/structure/cable,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cB" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cC" = (/obj/item/stack/tile/wood,/turf/open/space,/area/space)
"cD" = (/turf/open/space,/area/ruin/onehalf/hallway)
"cE" = (/obj/structure/lattice,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/open/space,/area/ruin/onehalf/hallway)
"cF" = (/obj/structure/lattice,/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (WEST)"; icon_state = "pipe-b"; dir = 8},/obj/structure/disposalpipe/broken{tag = "icon-pipe-b (NORTH)"; icon_state = "pipe-b"; dir = 1},/turf/open/space,/area/ruin/onehalf/hallway)
"cG" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cH" = (/obj/machinery/light/small,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cI" = (/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/obj/machinery/door/airlock/glass_command{name = "Bridge"},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cJ" = (/obj/item/weapon/crowbar/red,/obj/item/device/multitool,/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cK" = (/obj/structure/safe/floor,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/suit/space/hardsuit/syndi,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/folder/syndicate/mining,/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cL" = (/obj/structure/chair/comfy/black{dir = 4},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cM" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/space,/area/ruin/onehalf/hallway)
"cN" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/ruin/onehalf/hallway)
"cO" = (/obj/machinery/light{dir = 8},/obj/machinery/vending/sovietsoda,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cP" = (/obj/item/stack/sheet/plasteel,/turf/open/space,/area/space)
"cQ" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/space,/area/ruin/onehalf/hallway)
"cR" = (/turf/open/floor/plasteel/airless{icon_state = "damaged3"},/area/ruin/onehalf/hallway)
"cS" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/plating,/area/ruin/onehalf/hallway)
"cT" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cU" = (/obj/structure/chair/office,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cV" = (/obj/machinery/button/door{id = "bridge_onehalf"; name = "Bridge Blast Door"; pixel_x = 32; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cW" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"cX" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"cY" = (/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/open/space,/area/space)
"cZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plasteel/airless{icon_state = "damaged5"},/area/ruin/onehalf/hallway)
"da" = (/obj/structure/table/reinforced,/obj/item/device/flashlight,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"db" = (/obj/structure/table/reinforced,/obj/item/weapon/ore/bluespace_crystal,/obj/item/weapon/coin/plasma,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"dc" = (/obj/structure/closet/firecloset/full,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"dd" = (/obj/machinery/light,/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel,/area/ruin/onehalf/bridge)
"de" = (/obj/structure/girder/reinforced,/obj/item/stack/sheet/plasteel,/turf/open/floor/plating/airless,/area/space)
"df" = (/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg2"},/area/space)
"dg" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/open/floor/plating/airless{broken = 1; icon_state = "platingdmg1"},/area/ruin/onehalf/hallway)
"dh" = (/obj/structure/grille,/obj/item/weapon/shard,/turf/open/floor/plating/airless{icon_state = "platingdmg3"},/area/ruin/onehalf/hallway)
"di" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"dj" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"dk" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "bridge_onehalf"; name = "bridge blast door"},/turf/open/floor/plating,/area/ruin/onehalf/bridge)
"dl" = (/obj/structure/lattice,/obj/item/stack/sheet/plasteel,/turf/open/space,/area/space)
"dm" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/shard{icon_state = "medium"},/turf/open/space,/area/space)
"dn" = (/obj/structure/lattice,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/stack/rods,/turf/open/space,/area/space)
"do" = (/obj/structure/lattice,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/open/space,/area/space)
"dp" = (/obj/item/stack/cable_coil/cut{amount = 2; dir = 2; icon_state = "coil_red2"},/turf/open/space,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaabacacacacacacacacacadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaeacafagagagagagagahagagaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaajakakakagalamanagaoapaoagaqarasaratarauaravaraaaaaaaaaaaa
aaaaawaxaxayazagaAamaBagaCapaoagaDaraEaraFaraEaraEarawaraGaraaaa
aaaaaaaHaIaxaJagaKaLaMagaoapaoagaqaraNaraOaraParaQaraaaraRaraaaa
aaaaaSajaxaTaUagagaVagagagaWagagaXaYaZbaaZbbaZbcbdarararbeararaa
aaaaawbfbgbhbibjbjbkbibiblbjbmbnbobpbqbpbqbpbqbpbqbpbrbsbtbubeaa
aaaaaabvbwbwbxbxbwbybxbxbzbAbBbCbpbpbDbEbDbpbDbEbFbGarbHbIbJbeaa
aaaaaabKajakbLbMbNbObPbQbRbSbTbUbUbUbUbUbUbUbUbUbUbUararbeararaa
aaaaaaaabVbWbKakbQbRajawbRbWbXbYaabZcacbcccdcecfcgbUawaaaaaaaaaa
aaaaaaaaaaaaaaaachaaaabVaxaxcicjckclcmcncocpcococqcradaaaaaaaaaa
aaaaaaaaaaaaaacsctcuaaaaajcvcwcxbUbUcycoczcocococAcBaiaaaaaaaaaa
aaaaaaaaaaaaaaaaaaawcCaacDcEcFcGcHcIcoczcJcKcocLcecBaiaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacsawajcMcNbUbUbUcOcocococococecBaiaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaacPcCaxcQcRcSawbZcTcncocUcocVcWcXcYaaaaaaaaaa
aaaaaaaaaaaaaaaaaacsaaaabRcZaJcSaabZdadbdccececoddbUaiaaaaaaaaaa
aaaaaaaaaaaaaaaaaadeawdfbQdgdhbUbUbUbUdidjdjdjdkbUbUaiaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaadldmdnacacacacacdoacacacdoacacafaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaadpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,69 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/lattice,/turf/open/space,/area/space)
"c" = (/obj/structure/grille,/turf/open/floor/plating,/area/ruin/unpowered)
"d" = (/turf/closed/wall/r_wall,/area/ruin/unpowered)
"e" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/hyper,/turf/open/floor/plasteel,/area/ruin/unpowered)
"f" = (/obj/structure/frame/computer,/turf/open/floor/plasteel,/area/ruin/unpowered)
"g" = (/turf/open/floor/plasteel,/area/ruin/unpowered)
"h" = (/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered)
"i" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/ruin/unpowered)
"j" = (/obj/machinery/light{dir = 1},/turf/open/floor/plating,/area/ruin/unpowered)
"k" = (/turf/open/floor/plating,/area/ruin/unpowered)
"l" = (/turf/open/floor/plating/airless,/area/ruin/unpowered)
"m" = (/obj/structure/table/reinforced,/obj/item/weapon/folder,/obj/item/device/radio,/turf/open/floor/plasteel,/area/ruin/unpowered)
"n" = (/obj/structure/chair/office/dark{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered)
"o" = (/obj/machinery/porta_turret,/turf/open/floor/plating/airless,/area/ruin/unpowered)
"p" = (/obj/structure/filingcabinet,/turf/open/floor/plasteel,/area/ruin/unpowered)
"q" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/ruin/unpowered)
"r" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/open/floor/plasteel,/area/ruin/unpowered)
"s" = (/obj/structure/rack,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"t" = (/obj/item/weapon/rack_parts,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"u" = (/obj/item/weapon/rack_parts,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"v" = (/obj/structure/rack,/obj/item/device/firing_pin,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"w" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel,/area/ruin/unpowered)
"x" = (/obj/machinery/door/airlock,/turf/open/floor/plasteel,/area/ruin/unpowered)
"y" = (/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"z" = (/obj/structure/tank_dispenser/oxygen,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"A" = (/obj/structure/table/reinforced,/obj/item/clothing/head/ushanka,/turf/open/floor/plasteel{dir = 4; icon_state = "darkredfull"},/area/ruin/unpowered)
"B" = (/obj/structure/table/reinforced,/obj/structure/reagent_dispensers/peppertank{pixel_y = 32},/turf/open/floor/plasteel,/area/ruin/unpowered)
"C" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/machinery/light{dir = 1},/obj/item/device/radio,/turf/open/floor/plasteel,/area/ruin/unpowered)
"D" = (/obj/machinery/vending/clothing,/turf/open/floor/plasteel,/area/ruin/unpowered)
"E" = (/obj/structure/rack,/obj/item/ammo_box/c9mm,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"F" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"G" = (/turf/open/floor/plasteel{dir = 4; icon_state = "darkredfull"},/area/ruin/unpowered)
"H" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/open/floor/plasteel,/area/ruin/unpowered)
"I" = (/obj/structure/rack,/obj/item/clothing/head/helmet/swat,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"J" = (/obj/structure/rack,/obj/item/weapon/crowbar/red,/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"K" = (/obj/structure/chair/office/dark,/turf/open/floor/plasteel,/area/ruin/unpowered)
"L" = (/obj/structure/chair/comfy/beige{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered)
"M" = (/obj/structure/bed,/obj/item/weapon/bedsheet/orange,/turf/open/floor/plasteel,/area/ruin/unpowered)
"N" = (/obj/structure/rack,/obj/item/weapon/grenade/chem_grenade/teargas,/turf/open/floor/plasteel{icon_state = "dark"},/area/ruin/unpowered)
"O" = (/obj/structure/table/reinforced,/obj/item/weapon/paper/crumpled,/turf/open/floor/plasteel{dir = 4; icon_state = "darkredfull"},/area/ruin/unpowered)
"P" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/device/camera_bug,/turf/open/floor/plasteel,/area/ruin/unpowered)
"Q" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/open/floor/plasteel,/area/ruin/unpowered)
"R" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue,/turf/open/floor/plasteel,/area/ruin/unpowered)
"S" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = -4; pixel_y = 4},/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka{pixel_x = 3},/turf/open/floor/plasteel,/area/ruin/unpowered)
"T" = (/obj/structure/rack,/obj/item/weapon/storage/belt/military,/obj/machinery/light,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"U" = (/obj/structure/rack,/obj/item/clothing/head/helmet/riot,/turf/open/floor/plasteel{icon_state = "vault"; dir = 8},/area/ruin/unpowered)
"V" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/breadslice/meat,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaabbab
aaaaabaabbaaaaabababbb
aaaaababbacccccccccccc
aaaaabbbbbcddddddddddd
aaaaabaaaacdefffghijki
aaalllllllcdmnggggikki
aaloddddddcdpqgggrdddd
aalddstuvdddddwdxddkkc
aaldtyyyyzdABCgdgDdddc
aaldsysEyyFGgggdgggHdc
bbldIysJyyFGgKgdLggMdc
abldsyyyyNdOPQRdSggMdc
ablddstTUdddddddVggMdc
aaloddddddolllcddddddc
abbllllllllbbacccccccc
aabbbbbabbbbaabbbaaaba
aaabaabaaaabaababaaabb
aaaaaaaaaaaaaabaaaaaaa
"}
@@ -1,7 +1,7 @@
"a" = (/turf/space,/area/space)
"b" = (/turf/simulated/mineral/random,/area/ruin/unpowered/no_grav/way_home)
"c" = (/turf/simulated/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home)
"d" = (/obj/structure/signpost{name = "salvation"},/turf/simulated/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home)
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral/random,/area/ruin/unpowered/no_grav/way_home)
"c" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home)
"d" = (/obj/structure/signpost{name = "salvation"},/turf/open/floor/plating/asteroid/airless,/area/ruin/unpowered/no_grav/way_home)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -0,0 +1,43 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/shuttle/engine/propulsion/burst/left{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/open/space,/area/ruin/powered{name = "Shuttle"})
"c" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/open/floor/plating/airless,/area/ruin/powered{name = "Shuttle"})
"d" = (/turf/closed/indestructible/opshuttle,/area/ruin/powered{name = "Shuttle"})
"e" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (NORTHEAST)"; icon_state = "wall3"; dir = 5},/area/ruin/powered{name = "Shuttle"})
"f" = (/turf/closed/wall/shuttle/smooth,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (SOUTHEAST)"; icon_state = "wall3"; dir = 6},/area/ruin/powered{name = "Shuttle"})
"g" = (/turf/closed/wall/shuttle/smooth,/area/ruin/powered{name = "Shuttle"})
"h" = (/obj/machinery/door/airlock/glass_external,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"i" = (/turf/closed/wall/shuttle/smooth/overspace,/area/ruin/powered{name = "Shuttle"})
"j" = (/turf/open/floor/plasteel/black,/area/ruin/powered{name = "Shuttle"})
"k" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel/black,/area/ruin/powered{name = "Shuttle"})
"l" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"m" = (/obj/machinery/sleeper,/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"n" = (/turf/open/floor/plasteel,/area/ruin/powered{name = "Shuttle"})
"o" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel,/area/ruin/powered{name = "Shuttle"})
"p" = (/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"q" = (/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"r" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"s" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"t" = (/obj/machinery/power/smes/magical,/turf/open/floor/plasteel,/area/ruin/powered{name = "Shuttle"})
"u" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"v" = (/obj/structure/chair/comfy{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"w" = (/obj/structure/shuttle/engine/propulsion/burst/right{tag = "icon-burst_r (EAST)"; icon_state = "burst_r"; dir = 4},/turf/open/space,/area/ruin/powered{name = "Shuttle"})
"x" = (/turf/closed/wall/shuttle/smooth,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (NORTHEAST)"; icon_state = "wall3"; dir = 5},/area/ruin/powered{name = "Shuttle"})
"y" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (SOUTHEAST)"; icon_state = "wall3"; dir = 6},/area/ruin/powered{name = "Shuttle"})
(1,1,1) = {"
aaabcdddeaaaaaaaaaaaaaa
aaabcddddeaaaaaaaaaaaaa
aaabcfgggghhiaaaaaaaaaa
aaigggjjjgjjgaaaaaaaaaa
aagjjkjjjgkgggggggiaaaa
igggkggkggjjglmgjjggggi
hnonngjjjkjjkppkjjkqqrs
gngntgjjjguuguuggggqvrs
hnonngjjjkjjkjjkjjkqqrs
igggkggkggjjgjjgjjggggi
aagjjkjjjgkgggggggiaaaa
aaigggjjjgjjgaaaaaaaaaa
aaawcxgggghhiaaaaaaaaaa
aaawcdddyaaaaaaaaaaaaaa
aaawcddyaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,43 @@
"a" = (/turf/open/space,/area/space)
"b" = (/obj/structure/shuttle/engine/propulsion/burst/left{tag = "icon-burst_l (EAST)"; icon_state = "burst_l"; dir = 4},/turf/open/space,/area/ruin/powered{name = "Shuttle"})
"c" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/open/floor/plating/airless,/area/ruin/powered{name = "Shuttle"})
"d" = (/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (EAST)"; icon_state = "wall3"; dir = 4},/area/ruin/powered{name = "Shuttle"})
"e" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (NORTHEAST)"; icon_state = "wall3"; dir = 5},/area/ruin/powered{name = "Shuttle"})
"f" = (/obj/structure/shuttle/engine/propulsion/burst/right{tag = "icon-burst_r (EAST)"; icon_state = "burst_r"; dir = 4},/turf/open/space,/area/ruin/powered{name = "Shuttle"})
"g" = (/turf/closed/wall/shuttle,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (SOUTHEAST)"; icon_state = "wall3"; dir = 6},/area/ruin/powered{name = "Shuttle"})
"h" = (/turf/closed/wall/shuttle,/area/ruin/powered{name = "Shuttle"})
"i" = (/turf/closed/wall/shuttle/smooth/overspace,/area/ruin/powered{name = "Shuttle"})
"j" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (NORTHWEST)"; icon_state = "wall3"; dir = 9},/area/ruin/powered{name = "Shuttle"})
"k" = (/turf/open/floor/plasteel/black,/area/ruin/powered{name = "Shuttle"})
"l" = (/obj/machinery/door/airlock/glass_external,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"m" = (/turf/open/floor/plasteel,/area/ruin/powered{name = "Shuttle"})
"n" = (/obj/machinery/door/airlock/glass,/turf/open/floor/plasteel/black,/area/ruin/powered{name = "Shuttle"})
"o" = (/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"p" = (/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"q" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (SOUTHWEST)"; icon_state = "wall3"; dir = 10},/area/ruin/powered{name = "Shuttle"})
"r" = (/obj/structure/table,/turf/open/floor/plasteel,/area/ruin/powered{name = "Shuttle"})
"s" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"t" = (/obj/machinery/sleeper{tag = "icon-sleeper (NORTH)"; icon_state = "sleeper"; dir = 1},/turf/open/floor/plasteel/darkblue,/area/ruin/powered{name = "Shuttle"})
"u" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"v" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"w" = (/obj/machinery/power/smes/magical,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"x" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating,/area/ruin/powered{name = "Shuttle"})
"y" = (/obj/structure/chair/comfy{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/open/floor/plasteel/darkyellow,/area/ruin/powered{name = "Shuttle"})
"z" = (/turf/closed/wall/shuttle,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (NORTHEAST)"; icon_state = "wall3"; dir = 5},/area/ruin/powered{name = "Shuttle"})
"A" = (/turf/open/space,/turf/closed/indestructible/opshuttle{tag = "icon-wall3 (SOUTHEAST)"; icon_state = "wall3"; dir = 6},/area/ruin/powered{name = "Shuttle"})
(1,1,1) = {"
aaabcddddeaaaaaaaaaaaaaaaaaa
aaafcddghhiaaaaaaaaaaaaaaaaa
aaajdghhkkhhhhliaaaaaaaaaaaa
bcdddhmnkknkkhkhhhhhhhhhhhia
fcddghmhhhhkknknknoonkknpphi
aaaqhrmhhhhnhhhhkhsthkkhpuva
aaaalmmwhhhkhhhhkhxxhxxhyuva
aaajhrmhhhhnhhhhkhkkhkkhpuva
bcddzhmhhhhkknknknkknkknpphi
fcdddhmnkknkkhkhhhhhhhhhhhia
aaaqdzhhkkhhhhliaaaaaaaaaaaa
aaabcddzhhiaaaaaaaaaaaaaaaaa
aaafcddddAaaaaaaaaaaaaaaaaaa
"}
@@ -0,0 +1,773 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
"b" = (
/obj/structure/shuttle/engine/propulsion{
tag = "icon-propulsion (NORTH)";
icon_state = "propulsion";
dir = 1
},
/turf/open/space,
/area/ruin/powered{
name = "Shuttle"
})
"c" = (
/turf/closed/indestructible/opshuttle,
/area/ruin/powered{
name = "Shuttle"
})
"d" = (
/obj/structure/shuttle/engine/heater{
tag = "icon-heater (NORTH)";
icon_state = "heater";
dir = 1
},
/turf/open/floor/plating/airless,
/area/ruin/powered{
name = "Shuttle"
})
"e" = (
/turf/open/space,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (NORTHWEST)";
icon_state = "wall3";
dir = 9
},
/area/ruin/powered{
name = "Shuttle"
})
"f" = (
/turf/open/space,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (NORTHEAST)";
icon_state = "wall3";
dir = 5
},
/area/ruin/powered{
name = "Shuttle"
})
"g" = (
/turf/closed/wall/shuttle/smooth,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (SOUTHEAST)";
icon_state = "wall3";
dir = 6
},
/area/ruin/powered{
name = "Shuttle"
})
"h" = (
/turf/closed/wall/shuttle/smooth,
/area/ruin/powered{
name = "Shuttle"
})
"i" = (
/turf/closed/wall/shuttle/smooth,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (SOUTHWEST)";
icon_state = "wall3";
dir = 10
},
/area/ruin/powered{
name = "Shuttle"
})
"j" = (
/obj/machinery/door/airlock/glass_external,
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
})
"k" = (
/obj/machinery/power/smes/magical,
/turf/open/floor/plasteel,
/area/ruin/powered{
name = "Shuttle"
})
"l" = (
/turf/open/floor/plasteel,
/area/ruin/powered{
name = "Shuttle"
})
"m" = (
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
})
"n" = (
/obj/structure/shuttle/engine/propulsion{
tag = "icon-propulsion (EAST)";
icon_state = "propulsion";
dir = 4
},
/turf/open/space,
/area/ruin/powered{
name = "Shuttle"
})
"o" = (
/obj/structure/shuttle/engine/heater{
tag = "icon-heater (WEST)";
icon_state = "heater";
dir = 8
},
/turf/open/floor/plating/airless,
/area/ruin/powered{
name = "Shuttle"
})
"p" = (
/obj/machinery/door/airlock/glass,
/turf/open/floor/plasteel,
/area/ruin/powered{
name = "Shuttle"
})
"q" = (
/obj/structure/shuttle/engine/heater{
tag = "icon-heater (EAST)";
icon_state = "heater";
dir = 4
},
/turf/open/floor/plating/airless,
/area/ruin/powered{
name = "Shuttle"
})
"r" = (
/obj/structure/shuttle/engine/propulsion{
tag = "icon-propulsion (WEST)";
icon_state = "propulsion";
dir = 8
},
/turf/open/space,
/area/ruin/powered{
name = "Shuttle"
})
"s" = (
/turf/closed/wall/shuttle/smooth,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (NORTHEAST)";
icon_state = "wall3";
dir = 5
},
/area/ruin/powered{
name = "Shuttle"
})
"t" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
})
"u" = (
/turf/closed/wall/shuttle/smooth,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (NORTHWEST)";
icon_state = "wall3";
dir = 9
},
/area/ruin/powered{
name = "Shuttle"
})
"v" = (
/obj/structure/table,
/turf/open/floor/plasteel/darkyellow,
/area/ruin/powered{
name = "Shuttle"
})
"w" = (
/turf/open/floor/plasteel/darkyellow,
/area/ruin/powered{
name = "Shuttle"
})
"x" = (
/obj/structure/chair/comfy{
tag = "icon-comfychair (WEST)";
icon_state = "comfychair";
dir = 8
},
/turf/open/floor/plasteel/darkyellow,
/area/ruin/powered{
name = "Shuttle"
})
"y" = (
/turf/open/space,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (SOUTHWEST)";
icon_state = "wall3";
dir = 10
},
/area/ruin/powered{
name = "Shuttle"
})
"z" = (
/obj/machinery/sleeper,
/turf/open/floor/plasteel/darkblue,
/area/ruin/powered{
name = "Shuttle"
})
"A" = (
/turf/open/floor/plasteel/black,
/area/ruin/powered{
name = "Shuttle"
})
"B" = (
/turf/open/space,
/turf/closed/indestructible/opshuttle{
tag = "icon-wall3 (SOUTHEAST)";
icon_state = "wall3";
dir = 6
},
/area/ruin/powered{
name = "Shuttle"
})
"C" = (
/turf/open/floor/plasteel/darkblue,
/area/ruin/powered{
name = "Shuttle"
})
"D" = (
/obj/structure/table,
/obj/item/weapon/storage/firstaid,
/turf/open/floor/plasteel/darkblue,
/area/ruin/powered{
name = "Shuttle"
})
"E" = (
/obj/structure/shuttle/engine/heater,
/turf/open/floor/plating/airless,
/area/ruin/powered{
name = "Shuttle"
})
"F" = (
/obj/structure/shuttle/engine/propulsion,
/turf/open/space,
/area/ruin/powered{
name = "Shuttle"
})
(1,1,1) = {"
a
a
a
a
a
a
a
a
n
a
a
a
a
n
a
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
a
a
a
a
a
n
c
o
a
a
a
a
o
c
n
a
a
a
a
a
a
"}
(3,1,1) = {"
a
a
a
a
a
e
o
c
c
y
a
a
e
c
c
o
y
a
a
a
a
a
"}
(4,1,1) = {"
a
a
a
a
e
c
c
c
c
c
a
a
c
c
c
c
c
y
a
a
a
a
"}
(5,1,1) = {"
a
a
a
e
g
h
h
s
c
g
j
j
s
c
g
h
h
s
y
a
a
a
"}
(6,1,1) = {"
a
a
e
c
h
k
l
h
h
h
m
m
h
h
h
l
k
h
c
y
a
a
"}
(7,1,1) = {"
a
b
d
c
h
l
l
l
l
p
l
l
p
l
l
l
l
h
c
E
F
a
"}
(8,1,1) = {"
a
c
c
c
i
h
l
l
l
h
t
t
h
l
l
l
h
u
c
c
c
a
"}
(9,1,1) = {"
b
d
c
c
c
h
l
l
h
z
C
C
D
h
l
l
h
c
c
c
E
F
"}
(10,1,1) = {"
a
a
f
c
g
h
p
h
v
h
C
C
h
A
h
p
h
s
c
B
a
a
"}
(11,1,1) = {"
a
a
a
a
j
m
l
t
w
w
l
l
A
A
t
l
m
j
a
a
a
a
"}
(12,1,1) = {"
a
a
a
a
j
m
l
t
x
w
l
l
A
A
t
l
m
j
a
a
a
a
"}
(13,1,1) = {"
a
a
e
c
i
h
p
h
w
h
A
A
h
A
h
p
h
u
c
y
a
a
"}
(14,1,1) = {"
b
d
c
c
c
h
l
l
h
A
A
A
A
h
l
l
h
c
c
c
E
F
"}
(15,1,1) = {"
a
c
c
c
g
h
l
l
l
h
t
t
h
l
l
l
h
s
c
c
c
a
"}
(16,1,1) = {"
a
b
d
c
h
l
l
l
l
p
l
l
p
l
l
l
l
h
c
E
F
a
"}
(17,1,1) = {"
a
a
f
c
h
k
l
h
h
h
m
m
h
h
h
l
k
h
c
B
a
a
"}
(18,1,1) = {"
a
a
a
f
i
h
h
u
c
i
j
j
u
c
i
h
h
u
B
a
a
a
"}
(19,1,1) = {"
a
a
a
a
f
c
c
c
c
c
a
a
c
c
c
c
c
B
a
a
a
a
"}
(20,1,1) = {"
a
a
a
a
a
f
q
c
c
B
a
a
f
c
c
q
B
a
a
a
a
a
"}
(21,1,1) = {"
a
a
a
a
a
a
r
c
q
a
a
a
a
q
c
r
a
a
a
a
a
a
"}
(22,1,1) = {"
a
a
a
a
a
a
a
a
r
a
a
a
a
r
a
a
a
a
a
a
a
a
"}
@@ -0,0 +1,480 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/open/space,
/area/space)
"b" = (
/turf/open/space,
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (WEST)";
icon_state = "corner";
dir = 8
},
/area/ruin/powered)
"c" = (
/turf/closed/indestructible/oldshuttle,
/area/ruin/powered)
"d" = (
/obj/machinery/door/airlock/glass,
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"e" = (
/turf/open/space,
/turf/closed/indestructible/oldshuttle/corner,
/area/ruin/powered)
"f" = (
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (NORTH)";
icon_state = "corner";
dir = 1
},
/area/ruin/powered)
"g" = (
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"h" = (
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (EAST)";
icon_state = "corner";
dir = 4
},
/area/ruin/powered)
"i" = (
/obj/structure/closet{
icon_state = "oldcloset"
},
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"j" = (
/obj/structure/shuttle/engine/propulsion/burst{
tag = "icon-propulsion (NORTH)";
icon_state = "propulsion";
dir = 1
},
/turf/open/space,
/area/ruin/powered)
"k" = (
/turf/closed/indestructible/oldshuttle{
tag = "icon-orange";
icon_state = "orange"
},
/area/ruin/powered)
"l" = (
/obj/structure/chair/old{
tag = "icon-chairold (NORTH)";
icon_state = "chairold";
dir = 1
},
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"m" = (
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (WEST)";
icon_state = "corner";
dir = 8
},
/area/ruin/powered)
"n" = (
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/turf/closed/indestructible/oldshuttle/corner,
/area/ruin/powered)
"o" = (
/turf/open/space,
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (NORTH)";
icon_state = "corner";
dir = 1
},
/area/ruin/powered)
"p" = (
/turf/open/space,
/turf/closed/indestructible/oldshuttle/corner{
tag = "icon-corner (EAST)";
icon_state = "corner";
dir = 4
},
/area/ruin/powered)
"q" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/turf/closed/indestructible/oldshuttle/corner,
/area/ruin/powered)
"r" = (
/obj/machinery/power/generator,
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"s" = (
/obj/machinery/power/smes,
/turf/open/floor/oldshuttle{
baseturf = /turf/open/space;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
},
/area/ruin/powered)
"t" = (
/obj/structure/shuttle/engine/propulsion/burst/left,
/turf/open/space,
/area/ruin/powered)
"u" = (
/obj/structure/shuttle/engine/propulsion/burst/right,
/turf/open/space,
/area/ruin/powered)
"v" = (
/obj/structure/shuttle/engine/propulsion/burst/right,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/powered)
"w" = (
/obj/structure/shuttle/engine/propulsion/burst,
/turf/open/space,
/area/ruin/powered)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
a
b
c
k
t
a
"}
(2,1,1) = {"
a
a
a
a
a
a
a
b
c
c
f
g
k
k
w
"}
(3,1,1) = {"
a
a
a
a
a
b
d
f
g
g
g
g
k
k
w
"}
(4,1,1) = {"
a
a
a
a
j
k
g
g
g
g
m
d
k
u
a
"}
(5,1,1) = {"
a
a
a
a
b
c
g
g
g
m
o
a
a
a
a
"}
(6,1,1) = {"
a
a
b
c
c
c
c
c
c
c
c
c
c
p
a
"}
(7,1,1) = {"
a
b
f
i
c
i
i
i
i
i
i
c
s
c
p
"}
(8,1,1) = {"
b
f
i
i
c
l
l
l
l
l
l
c
g
n
c
"}
(9,1,1) = {"
c
g
g
g
g
l
l
l
l
l
m
c
g
g
c
"}
(10,1,1) = {"
d
g
g
g
g
g
g
g
g
g
c
r
g
g
d
"}
(11,1,1) = {"
c
g
g
g
g
l
l
l
l
l
n
c
g
g
c
"}
(12,1,1) = {"
e
h
i
i
c
l
l
l
l
l
l
c
g
m
c
"}
(13,1,1) = {"
a
e
h
i
c
i
i
i
i
i
i
c
s
c
o
"}
(14,1,1) = {"
a
a
e
c
c
c
c
c
c
c
c
c
c
o
a
"}
(15,1,1) = {"
a
a
a
a
e
c
g
g
g
n
p
a
a
a
a
"}
(16,1,1) = {"
a
a
a
a
j
k
g
g
g
g
n
d
k
t
a
"}
(17,1,1) = {"
a
a
a
a
a
e
d
h
g
g
g
g
k
k
w
"}
(18,1,1) = {"
a
a
a
a
a
a
a
e
c
c
h
g
k
k
w
"}
(19,1,1) = {"
a
a
a
a
a
a
a
a
a
a
q
c
k
v
a
"}
@@ -0,0 +1,14 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/closed/mineral,/area/space)
"c" = (/turf/closed/mineral/random/low_chance,/area/space)
(1,1,1) = {"
aabbaaa
abbbcaa
bbcccca
cccccbb
bcccccb
bccccbb
bcbcbba
aabbaaa
"}
@@ -0,0 +1,33 @@
"a" = (/turf/open/space,/area/space)
"b" = (/turf/open/space,/turf/closed/wall/shuttle{tag = "icon-swall_f6"; icon_state = "swall_f6"},/area/space)
"c" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/open/floor/plating/airless,/area/space)
"d" = (/turf/open/space,/turf/closed/wall/shuttle{tag = "icon-swall_f10"; icon_state = "swall_f10"},/area/space)
"e" = (/turf/closed/wall/shuttle{tag = "icon-swall3"; icon_state = "swall3"},/area/space)
"f" = (/turf/open/floor/plasteel/shuttle,/area/space)
"g" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/shuttle,/area/space)
"h" = (/turf/closed/wall/shuttle{tag = "icon-swall13"; icon_state = "swall13"},/area/space)
"i" = (/turf/closed/wall/shuttle{tag = "icon-swall8"; icon_state = "swall8"},/area/space)
"j" = (/obj/machinery/door/unpowered/shuttle,/turf/open/floor/plasteel/shuttle,/area/space)
"k" = (/turf/closed/wall/shuttle{tag = "icon-swall4"; icon_state = "swall4"},/area/space)
"l" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel/shuttle,/area/space)
"m" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/shuttle,/area/space)
"n" = (/obj/structure/shuttle/engine/heater,/turf/open/floor/plating/airless,/area/space)
"o" = (/turf/open/space,/turf/closed/wall/shuttle{tag = "icon-swall_f5"; icon_state = "swall_f5"},/area/space)
"p" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/open/floor/plating/airless,/area/space)
"q" = (/obj/structure/shuttle/engine/propulsion,/turf/open/floor/plating/airless,/area/space)
"r" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/open/floor/plating/airless,/area/space)
"s" = (/turf/open/space,/turf/closed/wall/shuttle{tag = "icon-swall_f9"; icon_state = "swall_f9"},/area/space)
(1,1,1) = {"
abcccda
aefgfea
aefffea
bhijkhd
elfffme
elfffme
jfffffj
jfffffj
efffffe
ennnnne
opqqqrs
"}
+8
View File
@@ -241,6 +241,14 @@
#define REGION_COMMAND 7
#define REGION_CENTCOMM 8
//used for maploader
#define MAP_MINX 1
#define MAP_MINY 2
#define MAP_MINZ 3
#define MAP_MAXX 4
#define MAP_MAXY 5
#define MAP_MAXZ 6
//Matricies
#define MATRIX_DEFAULT list(1, 0, 0, 0,\
0, 1, 0, 0,\
+10
View File
@@ -386,6 +386,16 @@
//log_to_dd(" output: [out.len]")
return reverselist(out)
//Copies a list, and all lists inside it recusively
//Does not copy any other reference type
/proc/deepCopyList(list/l)
if(!islist(l))
return l
. = l.Copy()
for(var/i = 1 to l.len)
if(islist(.[i]))
.[i] = .(.[i])
/proc/dd_sortedObjectList(var/list/L, var/cache=list())
if(L.len < 2)
return L
+1 -2
View File
@@ -23,5 +23,4 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
"Xeno"
)
var/list/map_templates = list()
var/list/mineral_turfs = list()
var/list/mineral_turfs = list()
+7
View File
@@ -53,3 +53,10 @@ var/list/carplist = list() //list of all carp-spawn landmarks
//away missions
var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
//List of preloaded templates
var/list/datum/map_template/map_templates = list()
var/list/datum/map_template/ruins_templates = list()
var/list/datum/map_template/space_ruins_templates = list()
var/list/datum/map_template/lava_ruins_templates = list()
+1 -1
View File
@@ -45,7 +45,7 @@ datum/controller/game_controller/proc/setup()
if(!config.disable_away_missions)
createRandomZlevel()
if(!config.disable_space_ruins)
seedRuins(7, 1, /area/space, potentialSpaceRuins)
seedRuins(7, rand(0, 5), /area/space, space_ruins_templates)
setup_objects()
setupgenetics()
+66 -22
View File
@@ -9,6 +9,7 @@
/datum/map_template/New(path = null, map = null, rename = null)
if(path)
mappath = path
if(mappath)
preload_size(mappath)
if(map)
mapfile = map
@@ -16,20 +17,15 @@
name = rename
/datum/map_template/proc/preload_size(path)
var/quote = ascii2text(34)
var/map_file = file2text(path)
var/key_len = length(copytext(map_file,2,findtext(map_file,quote,2,0)))
//assuming one map per file since more makes no sense for templates anyway
var/mapstart = findtext(map_file,"\n(1,1,") //todo replace with something saner
var/content = copytext(map_file,findtext(map_file,quote+"\n",mapstart,0)+2,findtext(map_file,"\n"+quote,mapstart,0)+1)
var/line_len = length(copytext(content,1,findtext(content,"\n",2,0)))
var/bounds = maploader.load_map(file(path), 1, 1, 1, cropMap=FALSE, measureOnly=TRUE)
if(bounds)
width = bounds[MAP_MAXX] // Assumes all templates are rectangular, have a single Z level, and begin at 1,1,1
height = bounds[MAP_MAXY]
return bounds
width = line_len/key_len
height = length(content)/(line_len+1)
/datum/map_template/proc/load(turf/T, centered = 0)
/datum/map_template/proc/load(turf/T, centered = FALSE)
if(centered)
T = locate(T.x - round(width / 2), T.y - round(height / 2), T.z)
T = locate(T.x - round(width/2) , T.y - round(height/2) , T.z)
if(!T)
return
if(T.x+width > world.maxx)
@@ -37,21 +33,26 @@
if(T.y+height > world.maxy)
return
maploader.load_map(get_file(), T.x-1, T.y-1, T.z)
late_setup_level(
block(T, locate(T.x + width - 1, T.y + height - 1, T.z)),
block(locate(T.x - 1, T.y - 1, T.z), locate(T.x + width, T.y + height, T.z)))
var/list/bounds = maploader.load_map(get_file(), T.x, T.y, T.z, cropMap=TRUE)
if(!bounds)
return 0
for(var/L in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])))
log_game("[name] loaded at at [T.x],[T.y],[T.z]")
return 1
/datum/map_template/proc/get_file()
if(mapfile)
return mapfile
if(mappath)
mapfile = file(mappath)
return mapfile
. = mapfile
else if(mappath)
. = file(mappath)
/datum/map_template/proc/get_affected_turfs(turf/T, centered = 0)
if(!.)
log_to_dd(" The file of [src] appears to be empty/non-existent.")
/datum/map_template/proc/get_affected_turfs(turf/T, centered = FALSE)
var/turf/placement = T
if(centered)
var/turf/corner = locate(placement.x - round(width/2), placement.y - round(height/2), placement.z)
@@ -64,4 +65,47 @@
var/list/filelist = flist(path)
for(var/map in filelist)
var/datum/map_template/T = new(path = "[path][map]", rename = "[map]")
map_templates[T.name] = T
map_templates[T.name] = T
preloadRuinTemplates()
//preloadShuttleTemplates()
/proc/preloadRuinTemplates()
// Still supporting bans by filename
var/list/banned = generateMapList("config/spaceRuinBlacklist.txt")
//banned += generateMapList("config/lavaRuinBlacklist.txt")
for(var/item in subtypesof(/datum/map_template/ruin))
var/datum/map_template/ruin/ruin_type = item
// screen out the abstract subtypes
if(!initial(ruin_type.id))
continue
var/datum/map_template/ruin/R = new ruin_type()
if(banned)
if(banned.Find(R.mappath))
continue
map_templates[R.name] = R
ruins_templates[R.name] = R
/*
if(istype(R, /datum/map_template/ruin/lavaland))
lava_ruins_templates[R.name] = R
*/
if(istype(R, /datum/map_template/ruin/space))
space_ruins_templates[R.name] = R
/*
/proc/preloadShuttleTemplates()
for(var/item in subtypesof(/datum/map_template/shuttle))
var/datum/map_template/shuttle/shuttle_type = item
if(!(initial(shuttle_type.suffix)))
continue
var/datum/map_template/shuttle/S = new shuttle_type()
shuttle_templates[S.shuttle_id] = S
map_templates[S.shuttle_id] = S
*/
+20
View File
@@ -0,0 +1,20 @@
/datum/map_template/ruin
//name = "A Chest of Doubloons"
name = null
var/id = null // For blacklisting purposes, all ruins need an id
var/description = "In the middle of a clearing in the rockface, there's a \
chest filled with gold coins with Spanish engravings. How is there a \
wooden container filled with 18th century coinage in the middle of a \
lavawracked hellscape? It is clearly a mystery."
var/allow_duplicates = TRUE
var/prefix = null
var/suffix = null
/datum/map_template/ruin/New()
if(!name && id)
name = id
mappath = prefix + suffix
..(path = mappath)
+156
View File
@@ -0,0 +1,156 @@
/datum/map_template/ruin/space
prefix = "_maps/RandomRuins/SpaceRuins/"
/datum/map_template/ruin/space/zoo
id = "zoo"
suffix = "abandonedzoo.dmm"
name = "Biological Storage Facility"
description = "In case society crumbles, we will be able to restore our \
zoos to working order with the breeding stock kept in these 100% \
secure and unbreachable storage facilities. At no point has anything \
escaped. That's our story, and we're sticking to it."
/datum/map_template/ruin/space/asteroid1
id = "asteroid1"
suffix = "asteroid1.dmm"
name = "Asteroid 1"
description = "I-spy with my little eye, something beginning with R."
/datum/map_template/ruin/space/asteroid2
id = "asteroid2"
suffix = "asteroid2.dmm"
name = "Asteroid 2"
description = "Oh my god, a giant rock!"
/datum/map_template/ruin/space/asteroid3
id = "asteroid3"
suffix = "asteroid3.dmm"
name = "Asteroid 3"
description = "This asteroid floating in space has no official \
designation, because the scientist that discovered it deemed it \
'super dull'."
/datum/map_template/ruin/space/asteroid4
id = "asteroid4"
suffix = "asteroid4.dmm"
name = "Asteroid 4"
description = "Nanotrasen Escape Pods have a 100%* success rate, and a \
99%* customer satisfaction rate. *Please note that these statistics, \
are taken from pods that have successfully docked with a recovery \
vessel."
/datum/map_template/ruin/space/asteroid5
id = "asteroid5"
suffix = "asteroid5.dmm"
name = "Asteroid 5"
description = "Oh my god, another giant rock!"
/datum/map_template/ruin/space/deep_storage
id = "deep-storage"
suffix = "deepstorage.dmm"
name = "Survivalist Bunker"
description = "Assume the best, prepare for the worst. Generally, you \
should do so by digging a three man heavily fortified bunker into \
a giant unused asteroid. Then make it self sufficient, mask any \
evidence of construction, hook it covertly into the \
telecommunications network and hope for the best."
/datum/map_template/ruin/space/derelict1
id = "derelict1"
suffix = "derelict1.dmm"
name = "Derelict 1"
description = "Nothing to see here citizen, move along, certainly no \
xeno outbreaks on this piece of station debris. That purple stuff? \
It's uh... station nectar. It's a top secret research installation."
/datum/map_template/ruin/space/derelict2
id = "derelict2"
suffix = "derelict2.dmm"
name = "Dinner for Two"
description = "Oh this is the night\n\
It's a beautiful night\n\
And we call it bella notte"
/datum/map_template/ruin/space/derelict3
id = "derelict3"
suffix = "derelict3.dmm"
name = "Derelict 3"
description = "These hulks were once part of a larger structure, where \
the three great \[REDACTED\] were forged."
/datum/map_template/ruin/space/derelict4
id = "derelict4"
suffix = "derelict4.dmm"
name = "Derelict 4"
description = "Centcom ferries have never crashed, will never crash, \
there is no current investigation into a crashed ferry, and we \
will not let Internal Affairs trample over high security information \
in the name of this baseless witchhunt."
/datum/map_template/ruin/space/derelict5
id = "derelict5"
suffix = "derelict5.dmm"
name = "Derelict 5"
description = "The plan is, we put a whole bunch of crates full of \
treasure in this disused warehouse, launch it into space, and then \
ignore it. Forever."
/datum/map_template/ruin/space/empty_shell
id = "empty-shell"
suffix = "emptyshell.dmm"
name = "Empty Shell"
description = "Cosy, rural property availible for young professional \
couple. Only twelve parsecs from the nearest hyperspace lane!"
/datum/map_template/ruin/space/gas_the_lizards
id = "gas-the-lizards"
suffix = "gasthelizards.dmm"
name = "Disposal Facility 17"
description = "Gas efficiency at 95.6%, fluid elimination at 96.2%. \
Will require renewed supplies of 'carpet' before the end of the \
quarter."
/datum/map_template/ruin/space/intact_empty_ship
id = "intact-empty-ship"
suffix = "intactemptyship.dmm"
name = "Authorship"
description = "Just somewhere quiet, where I can focus on my work with \
no interruptions."
/datum/map_template/ruin/space/mech_transport
id = "mech-transport"
suffix = "mechtransport.dmm"
name = "CF Corsair"
description = "Well, when is it getting here? I have bills to pay; very \
well-armed clients who want their shipments as soon as possible! I \
don't care, just find it!"
/datum/map_template/ruin/space/onehalf
id = "onehalf"
suffix = "onehalf.dmm"
name = "DK Excavator 453"
description = "Based on the trace elements we've detected on the \
gutted asteroids, we suspect that a mining ship using a restricted \
engine is somewhere in the area. We'd like to request a patrol vessel \
to investigate."
/datum/map_template/ruin/space/spacebar
id = "spacebar"
suffix = "spacebar.dmm"
name = "The Rampant Golem and Yellow Hound"
description = "No questions asked. No shoes/foot protection, no service. \
No tabs. No violence in the inside areas. That's it. Welcome to the \
Rampant Golem and Yellow Hound. Can I take your order?"
/datum/map_template/ruin/space/turreted_outpost
id = "turreted-outpost"
suffix = "turretedoutpost.dmm"
name = "Unnamed Turreted Outpost"
description = "We'd ask them to stop blaring that ruskiepop music, but \
none of us are brave enough to go near those death turrets they have."
/datum/map_template/ruin/space/way_home
id = "way-home"
suffix = "way_home.dmm"
name = "Salvation"
description = "In the darkest times, we will find our way home."
+20 -9
View File
@@ -156,19 +156,24 @@
qdel(L)
//Creates a new turf
/turf/proc/ChangeTurf(var/path)
if(!path) return
if(path == type) return src
/turf/proc/ChangeTurf(path, defer_change = FALSE)
if(!path)
return
if(!use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed
return src
var/old_opacity = opacity
var/old_dynamic_lighting = dynamic_lighting
var/list/old_affecting_lights = affecting_lights
var/old_lighting_overlay = lighting_overlay
var/old_blueprint_data = blueprint_data
if(air_master)
air_master.remove_from_active(src)
air_master.remove_from_active(src)
var/turf/W = new path(src)
if(!defer_change)
W.AfterChange()
W.blueprint_data = old_blueprint_data
return W
if(istype(W, /turf/simulated))
W:Assimilate_Air()
@@ -189,13 +194,19 @@
else
lighting_clear_overlays()
W.levelupdate()
W.CalculateAdjacentTurfs()
/turf/proc/AfterChange() //called after a turf has been replaced in ChangeTurf()
levelupdate()
CalculateAdjacentTurfs()
if(!can_have_cabling())
for(var/obj/structure/cable/C in contents)
qdel(C)
return W
/turf/simulated/AfterChange(ignore_air)
..()
RemoveLattice()
if(!ignore_air)
Assimilate_Air()
//////Assimilate Air//////
/turf/simulated/proc/Assimilate_Air()
@@ -404,4 +415,4 @@
/turf/proc/add_blueprints_preround(atom/movable/AM)
if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
add_blueprints(AM)
add_blueprints(AM)
+166 -123
View File
@@ -2,10 +2,19 @@
//SS13 Optimized Map loader
//////////////////////////////////////////////////////////////
//As pf 3.6.2016
//global datum that will preload variables on atoms instanciation
var/global/use_preloader = FALSE
var/global/dmm_suite/preloader/_preloader = new
/dmm_suite
// /"([a-zA-Z]+)" = \(((?:.|\n)*?)\)\n(?!\t)|\((\d+),(\d+),(\d+)\) = \{"([a-zA-Z\n]*)"\}/g
var/static/regex/dmmRegex = new/regex({""(\[a-zA-Z]+)" = \\(((?:.|\n)*?)\\)\n(?!\t)|\\((\\d+),(\\d+),(\\d+)\\) = \\{"(\[a-zA-Z\n]*)"\\}"}, "g")
// /^[\s\n]+"?|"?[\s\n]+$|^"|"$/g
var/static/regex/trimQuotesRegex = new/regex({"^\[\\s\n]+"?|"?\[\\s\n]+$|^"|"$"}, "g")
// /^[\s\n]+|[\s\n]+$/
var/static/regex/trimRegex = new/regex("^\[\\s\n]+|\[\\s\n]+$", "g")
var/static/list/modelCache = list()
/**
* Construct the model map and control the loading process
@@ -17,86 +26,120 @@ var/global/dmm_suite/preloader/_preloader = new
* 2) Read the map line by line, parsing the result (using parse_grid)
*
*/
/dmm_suite/load_map(dmm_file as file, x_offset = 0 as num, y_offset = 0 as num, z_offset as num, do_sleep = 1 as num)
if(!z_offset)//what z_level we are creating the map on
/dmm_suite/load_map(dmm_file as file, x_offset as num, y_offset as num, z_offset as num, cropMap as num, measureOnly as num)
var/tfile = dmm_file//the map file we're creating
if(isfile(tfile))
tfile = file2text(tfile)
if(!x_offset)
x_offset = 1
if(!y_offset)
y_offset = 1
if(!z_offset)
z_offset = world.maxz + 1
var/quote = ascii2text(34)
var/tfile = file2text(dmm_file)//the map file we're creating
var/tfile_len = length(tfile)
var/lpos = 1 // the models definition index
///////////////////////////////////////////////////////////////////////////////////////
//first let's map model keys (e.g "aa") to their contents (e.g /turf/space{variables})
///////////////////////////////////////////////////////////////////////////////////////
var/list/bounds = list(1.#INF, 1.#INF, 1.#INF, -1.#INF, -1.#INF, -1.#INF)
var/list/grid_models = list()
var/key_len = length(copytext(tfile,2,findtext(tfile,quote,2,0)))//the length of the model key (e.g "aa" or "aba")
var/key_len = 0
//proceed line by line
for(lpos=1; lpos<tfile_len; lpos=findtext(tfile,"\n",lpos,0)+1)
var/tline = copytext(tfile,lpos,findtext(tfile,"\n",lpos,0))
if(copytext(tline,1,2) != quote)//we reached the map "layout"
break
var/model_key = copytext(tline,2,2+key_len)
var/model_contents = copytext(tline,findtext(tfile,"=")+3,length(tline))
grid_models[model_key] = model_contents
if(do_sleep)
sleep(-1)
dmmRegex.next = 1
while(dmmRegex.Find(tfile, dmmRegex.next))
///////////////////////////////////////////////////////////////////////////////////////
//now let's fill the map with turf and objects using the constructed model map
///////////////////////////////////////////////////////////////////////////////////////
// "aa" = (/type{vars=blah})
if(dmmRegex.group[1]) // Model
var/key = dmmRegex.group[1]
if(grid_models[key]) // Duplicate model keys are ignored in DMMs
continue
if(key_len != length(key))
if(!key_len)
key_len = length(key)
else
throw EXCEPTION("Inconsistant key length in DMM")
if(!measureOnly)
grid_models[key] = dmmRegex.group[2]
//position of the currently processed square
var/zcrd=-1
var/ycrd=y_offset
var/xcrd=x_offset
// (1,1,1) = {"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
else if(dmmRegex.group[3]) // Coords
if(!key_len)
throw EXCEPTION("Coords before model definition in DMM")
for(var/zpos=findtext(tfile,"\n(1,1,",lpos,0);zpos!=0;zpos=findtext(tfile,"\n(1,1,",zpos+1,0)) //in case there's several maps to load
var/xcrdStart = text2num(dmmRegex.group[3]) + x_offset - 1
//position of the currently processed square
var/xcrd
var/ycrd = text2num(dmmRegex.group[4]) + y_offset - 1
var/zcrd = text2num(dmmRegex.group[5]) + z_offset - 1
zcrd++
world.maxz = max(world.maxz, zcrd+z_offset)//create a new z_level if needed
if(zcrd > world.maxz)
if(cropMap)
continue
else
world.maxz = zcrd //create a new z_level if needed
var/zgrid = copytext(tfile,findtext(tfile,quote+"\n",zpos,0)+2,findtext(tfile,"\n"+quote,zpos,0)+1) //copy the whole map grid
var/z_depth = length(zgrid)
bounds[MAP_MINX] = min(bounds[MAP_MINX], xcrdStart)
bounds[MAP_MINZ] = min(bounds[MAP_MINZ], zcrd)
bounds[MAP_MAXZ] = max(bounds[MAP_MAXZ], zcrd)
//if exceeding the world max x or y, increase it
var/x_depth = length(copytext(zgrid,1,findtext(zgrid,"\n",2,0)))
var/x_tilecount = x_depth/key_len
if(world.maxx<x_tilecount)
world.maxx=x_tilecount
var/list/gridLines = splittext(dmmRegex.group[6], "\n")
var/y_depth = z_depth / (x_depth+1)//x_depth + 1 because we're counting the '\n' characters in z_depth
if(world.maxy<y_depth)
world.maxy=y_depth
var/leadingBlanks = 0
while(leadingBlanks < gridLines.len && gridLines[++leadingBlanks] == "")
if(leadingBlanks > 1)
gridLines.Cut(1, leadingBlanks) // Remove all leading blank lines.
//then proceed it line by line, starting from top
ycrd = y_depth
if(!gridLines.len) // Skip it if only blank lines exist.
continue
for(var/gpos=1;gpos!=0;gpos=findtext(zgrid,"\n",gpos,0)+1)
var/grid_line = copytext(zgrid,gpos,findtext(zgrid,"\n",gpos,0))
if(gridLines.len && gridLines[gridLines.len] == "")
gridLines.Cut(gridLines.len) // Remove only one blank line at the end.
//fill the current square using the model map
xcrd=0
bounds[MAP_MINY] = min(bounds[MAP_MINY], ycrd)
ycrd += gridLines.len - 1 // Start at the top and work down
for(var/mpos in 1 to x_depth step key_len)
xcrd++
var/model_key = copytext(grid_line,mpos,mpos+key_len)
parse_grid(grid_models[model_key], xcrd + x_offset, ycrd + y_offset, zcrd + z_offset, do_sleep)
if(!cropMap && ycrd > world.maxy)
if(!measureOnly)
world.maxy = ycrd // Expand Y here. X is expanded in the loop below
bounds[MAP_MAXY] = max(bounds[MAP_MAXY], ycrd)
else
bounds[MAP_MAXY] = max(bounds[MAP_MAXY], min(ycrd, world.maxy))
//reached end of current map
if(gpos+x_depth+1>z_depth)
break
var/maxx = xcrdStart
if(measureOnly)
for(var/line in gridLines)
maxx = max(maxx, xcrdStart + length(line) / key_len - 1)
else
for(var/line in gridLines)
if(ycrd <= world.maxy && ycrd >= 1)
xcrd = xcrdStart
for(var/tpos = 1 to length(line) - key_len + 1 step key_len)
if(xcrd > world.maxx)
if(cropMap)
break
else
world.maxx = xcrd
ycrd--
if(do_sleep)
sleep(-1)
if(xcrd >= 1)
var/model_key = copytext(line, tpos, tpos + key_len)
if(!grid_models[model_key])
throw EXCEPTION("Undefined model key in DMM.")
parse_grid(grid_models[model_key], xcrd, ycrd, zcrd)
CHECK_TICK
//reached End Of File
if(findtext(tfile,quote+"}",zpos,0)+2==tfile_len)
break
if(do_sleep)
sleep(-1)
maxx = max(maxx, xcrd)
++xcrd
--ycrd
bounds[MAP_MAXX] = max(bounds[MAP_MAXX], cropMap ? min(maxx, world.maxx) : maxx)
CHECK_TICK
if(bounds[1] == 1.#INF) // Shouldn't need to check every item
return null
else
for(var/t in block(locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]), locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])))
var/turf/T = t
//we do this after we load everything in. if we don't; we'll have weird atmos bugs regarding atmos adjacent turfs
T.AfterChange(TRUE)
return bounds
/**
* Fill a given tile with its area/turf/objects/mobs
@@ -115,48 +158,61 @@ var/global/dmm_suite/preloader/_preloader = new
* 4) Instanciates the atom with its variables
*
*/
/dmm_suite/proc/parse_grid(model as text, xcrd as num, ycrd as num, zcrd as num, do_sleep = 1)
/dmm_suite/proc/parse_grid(model as text,xcrd as num,ycrd as num,zcrd as num)
/*Method parse_grid()
- Accepts a text string containing a comma separated list of type paths of the
same construction as those contained in a .dmm file, and instantiates them.
*/
var/list/members = list()//will contain all members (paths) in model (in our example : /turf/unsimulated/wall and /area/mine/explored)
var/list/members_attributes = list()//will contain lists filled with corresponding variables, if any (in our example : list(icon_state = "rock") and list())
var/list/members //will contain all members (paths) in model (in our example : /turf/unsimulated/wall and /area/mine/explored)
var/list/members_attributes //will contain lists filled with corresponding variables, if any (in our example : list(icon_state = "rock") and list())
var/list/cached = modelCache[model]
var/index
if(cached)
members = cached[1]
members_attributes = cached[2]
else
/////////////////////////////////////////////////////////
//Constructing members and corresponding variables lists
////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
//Constructing members and corresponding variables lists
////////////////////////////////////////////////////////
var/index=1
var/old_position = 1
var/dpos
members = list()
members_attributes = list()
index = 1
do
//finding next member (e.g /turf/unsimulated/wall{icon_state = "rock"} or /area/mine/explored)
dpos= find_next_delimiter_position(model,old_position,",","{","}")//find next delimiter (comma here) that's not within {...}
var/old_position = 1
var/dpos
var/full_def = copytext(model,old_position,dpos)//full definition, e.g : /obj/foo/bar{variables=derp}
var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{")))//path definition, e.g /obj/foo/bar
members.Add(atom_def)
old_position = dpos + 1
do
//finding next member (e.g /turf/unsimulated/wall{icon_state = "rock"} or /area/mine/explored)
dpos = find_next_delimiter_position(model, old_position, ",", "{", "}") //find next delimiter (comma here) that's not within {...}
//transform the variables in text format into a list (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7))
var/list/fields = list()
var/full_def = trim_text(copytext(model, old_position, dpos)) //full definition, e.g : /obj/foo/bar{variables=derp}
var/variables_start = findtext(full_def, "{")
var/atom_def = text2path(trim_text(copytext(full_def, 1, variables_start))) //path definition, e.g /obj/foo/bar
old_position = dpos + 1
var/variables_start = findtext(full_def,"{")
if(variables_start)//if there's any variable
full_def = copytext(full_def,variables_start+1,length(full_def))//removing the last '}'
fields = readlist(full_def, ";")
if(!atom_def) // Skip the item if the path does not exist. Fix your crap, mappers!
continue
members.Add(atom_def)
//then fill the members_attributes list with the corresponding variables
members_attributes.len++
members_attributes[index++] = fields
//transform the variables in text format into a list (e.g {var1="derp"; var2; var3=7} => list(var1="derp", var2, var3=7))
var/list/fields = list()
if(do_sleep)
sleep(-1)
while(dpos != 0)
if(variables_start)//if there's any variable
full_def = copytext(full_def,variables_start+1,length(full_def))//removing the last '}'
fields = readlist(full_def, ";")
//then fill the members_attributes list with the corresponding variables
members_attributes.len++
members_attributes[index++] = fields
CHECK_TICK
while(dpos != 0)
modelCache[model] = list(members, members_attributes)
////////////////
@@ -165,10 +221,6 @@ var/global/dmm_suite/preloader/_preloader = new
//The next part of the code assumes there's ALWAYS an /area AND a /turf on a given tile
//in case of multiples turfs on one tile,
//will contains the images of all underlying turfs, to simulate the DMM multiple tiles piling
var/list/turfs_underlays = list()
//first instance the /area and remove it from the members list
index = members.len
if(members[index] != /area/template_noop)
@@ -182,7 +234,6 @@ var/global/dmm_suite/preloader/_preloader = new
if(use_preloader && instance)
_preloader.load(instance)
members.Remove(members[index])
//then instance the /turf and, if multiple tiles are presents, simulates the DMM underlays piling effect
@@ -198,18 +249,16 @@ var/global/dmm_suite/preloader/_preloader = new
if(T)
//if others /turf are presents, simulates the underlays piling effect
index = first_turf_index + 1
while(index <= members.len)
turfs_underlays.Insert(1,image(T.icon,null,T.icon_state,T.layer,T.dir))//add the current turf image to the underlays list
var/turf/UT = instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd)//instance new turf
add_underlying_turf(UT,T,turfs_underlays)//simulates the DMM piling effect
T = UT
while(index <= members.len - 1) // Last item is an /area
var/underlay = T.appearance
T = instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd)//instance new turf
T.underlays += underlay
index++
//finally instance all remainings objects/mobs
for(index in 1 to first_turf_index - 1)
for(index in 1 to first_turf_index-1)
instance_atom(members[index],members_attributes[index],xcrd,ycrd,zcrd)
if(do_sleep)
sleep(-1)
CHECK_TICK
////////////////
//Helpers procs
@@ -222,7 +271,11 @@ var/global/dmm_suite/preloader/_preloader = new
var/turf/T = locate(x,y,z)
if(T)
instance = new path (T)//first preloader pass
if(ispath(path, /turf))
T.ChangeTurf(path, TRUE)
instance = T
else
instance = new path (T)//first preloader pass
if(use_preloader && instance)//second preloader pass, for those atoms that don't ..() in New()
_preloader.load(instance)
@@ -232,16 +285,11 @@ var/global/dmm_suite/preloader/_preloader = new
//text trimming (both directions) helper proc
//optionally removes quotes before and after the text (for variable name)
/dmm_suite/proc/trim_text(what as text,trim_quotes=0)
while(length(what) && (findtext(what," ",1,2)))
what=copytext(what,2,0)
while(length(what) && (findtext(what," ",length(what),0)))
what=copytext(what,1,length(what))
if(trim_quotes)
while(length(what) && (findtext(what,quote,1,2)))
what=copytext(what,2,0)
while(length(what) && (findtext(what,quote,length(what),0)))
what=copytext(what,1,length(what))
return what
return trimQuotesRegex.Replace(what, "")
else
return trimRegex.Replace(what, "")
//find the position of the next delimiter,skipping whatever is comprised between opening_escape and closing_escape
//returns 0 if reached the last delimiter
@@ -313,14 +361,6 @@ var/global/dmm_suite/preloader/_preloader = new
return to_return
//simulates the DM multiple turfs on one tile underlaying
/dmm_suite/proc/add_underlying_turf(turf/placed,turf/underturf, list/turfs_underlays)
if(underturf.density)
placed.density = 1
if(underturf.opacity)
placed.opacity = 1
placed.underlays += turfs_underlays
//atom creation method that preloads variables at creation
/atom/New()
if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New()
@@ -349,11 +389,14 @@ var/global/dmm_suite/preloader/_preloader = new
/dmm_suite/preloader/proc/load(atom/what)
for(var/attribute in attributes)
what.vars[attribute] = attributes[attribute]
var/value = attributes[attribute]
if(islist(value))
value = deepCopyList(value)
what.vars[attribute] = value
use_preloader = FALSE
/area/template_noop
name = "Area Passthrough"
/turf/template_noop
name = "Turf Passthrough"
name = "Turf Passthrough"
+92 -118
View File
@@ -1,144 +1,118 @@
//Random ruins, thanks to KorPhaeron from /tg/ station
#define RANDOM_UPPER_X 220
#define RANDOM_UPPER_Y 220
#define RANDOM_LOWER_X 30
#define RANDOM_LOWER_Y 30
var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away_mission_config.txt")
//var/global/list/potentialLavaRuins = generateMapList(filename = "config/lavaRuinConfig.txt") //Maybe some other time ;)
//If we ever get lavaland, remember to create config/lavaRuinConfig.txt and add maps to _maps/map_files/RandomRuins/LavaRuins
var/global/list/potentialSpaceRuins = generateMapList(filename = "config/spaceRuinConfig.txt")
/proc/late_setup_level(turfs, smoothTurfs)
if(!smoothTurfs)
smoothTurfs = turfs
if(air_master)
air_master.setup_allturfs(turfs)
for(var/turf/T in turfs)
if(T.dynamic_lighting)
T.lighting_build_overlays()
for(var/obj/structure/cable/PC in T)
makepowernet_for(PC)
for(var/turf/T in smoothTurfs)
if(T.smooth)
smooth_icon(T)
for(var/R in T)
var/atom/A = R
if(A.smooth)
smooth_icon(A)
/proc/createRandomZlevel()
if(awaydestinations.len) //crude, but it saves another var!
return
if(awaydestinations.len) //crude, but it saves another var!
return
if(potentialRandomZlevels && potentialRandomZlevels.len)
var/watch = start_watch()
log_startup_progress("<span class='boldannounce'>Loading away mission...</span>")
if(potentialRandomZlevels && potentialRandomZlevels.len)
log_startup_progress(" Loading away mission...")
var/map = pick(potentialRandomZlevels)
var/file = file(map)
if(isfile(file))
maploader.load_map(file)
late_setup_level(block(locate(1, 1, world.maxz), locate(world.maxx, world.maxy, world.maxz)))
log_to_dd(" Away mission loaded: [map]")
var/map = pick(potentialRandomZlevels)
var/file = file(map)
if(isfile(file))
maploader.load_map(file)
smooth_zlevel(world.maxz)
log_to_dd(" Away mission loaded: [map]")
//map_transition_config.Add(AWAY_MISSION_LIST) //Maybe I'm just dumb and we have some special proc for this, so leaving this here, just in case
//map_transition_config.Add(AWAY_MISSION_LIST)
for(var/obj/effect/landmark/L in landmarks_list)
if (L.name != "awaystart")
continue
awaydestinations.Add(L)
for(var/obj/effect/landmark/L in landmarks_list)
if (L.name != "awaystart")
continue
awaydestinations.Add(L)
log_startup_progress(" Away mission loaded in [stop_watch(watch)]s.")
log_startup_progress(" Away mission loaded.")
else
log_startup_progress(" No away missions found.")
return
else
log_startup_progress(" No away missions found.")
return
/proc/generateMapList(filename)
var/list/potentialMaps = list()
var/list/Lines = file2list(filename)
if(!Lines.len) return
for (var/t in Lines)
if (!t)
continue
var/list/potentialMaps = list()
var/list/Lines = file2list(filename)
t = trim(t)
if (length(t) == 0)
continue
else if (copytext(t, 1, 2) == "#")
continue
if(!Lines.len)
return
for (var/t in Lines)
if (!t)
continue
var/pos = findtext(t, " ")
var/name = null
t = trim(t)
if (length(t) == 0)
continue
else if (copytext(t, 1, 2) == "#")
continue
if (pos)
name = lowertext(copytext(t, 1, pos))
else
name = lowertext(t)
var/pos = findtext(t, " ")
var/name = null
if (!name)
continue
if (pos)
name = lowertext(copytext(t, 1, pos))
potentialMaps.Add(t)
else
name = lowertext(t)
return potentialMaps
if (!name)
continue
/proc/seedRuins(z_level = 1, ruin_number = 0, whitelist = /area/space, list/potentialRuins = potentialSpaceRuins)
ruin_number = min(ruin_number, potentialRuins.len)
potentialMaps.Add(t)
while(ruin_number)
var/sanity = 0
var/valid = FALSE
while(!valid)
valid = TRUE
sanity++
if(sanity > 100)
ruin_number--
break
var/turf/T = locate(rand(RANDOM_LOWER_X, RANDOM_UPPER_X), rand(RANDOM_LOWER_Y, RANDOM_UPPER_Y), z_level)
return potentialMaps
for(var/turf/check in range(T, 15))
var/area/new_area = get_area(check)
if(!(istype(new_area, whitelist)))
valid = FALSE
break
if(valid)
log_to_dd(" Ruins marker placed at [T.x][T.y][T.z]")
var/obj/effect/ruin_loader/R = new /obj/effect/ruin_loader(T)
R.Load(potentialRuins, -15, -15)
ruin_number --
/proc/seedRuins(z_level = 1, whitelist = /area/space, list/potentialRuins = space_ruins_templates)
var/overall_sanity = 100
var/ruins = potentialRuins.Copy()
log_startup_progress(" Loading ruins...")
while(overall_sanity > 0)
// Pick a ruin
var/datum/map_template/ruin/ruin = ruins[pick(ruins)]
var/sanity = 100
// And if we can't fit it anywhere, give up, try again
while(sanity > 0)
sanity--
var/turf/T = locate(rand(25, world.maxx - 25), rand(25, world.maxy - 25), z_level)
var/valid = TRUE
for(var/turf/check in ruin.get_affected_turfs(T,1))
var/area/new_area = get_area(check)
if(!(istype(new_area, whitelist)))
valid = FALSE
break
if(!valid)
continue
log_to_dd(" Ruin \"[ruin.name]\" placed at ([T.x], [T.y], [T.z])")
var/obj/effect/ruin_loader/R = new /obj/effect/ruin_loader(T)
R.Load(ruins,ruin)
if(!ruin.allow_duplicates)
ruins -= ruin.name
break
return
/obj/effect/ruin_loader
name = "random ruin"
icon = 'icons/obj/weapons.dmi'
icon_state = "syndballoon"
invisibility = 0
name = "random ruin"
icon = 'icons/obj/weapons.dmi'
icon_state = "syndballoon"
invisibility = 0
/obj/effect/ruin_loader/proc/Load(list/potentialRuins = potentialSpaceRuins, x_offset = 0, y_offset = 0)
if(potentialRuins.len)
var/watch = start_watch()
log_startup_progress(" Loading ruins...")
var/map = pick(potentialRuins)
var/file = file(map)
if(isfile(file))
maploader.load_map(file, src.x + x_offset, src.y + y_offset, src.z)
log_to_dd(" [map] loaded at [src.x + x_offset],[src.y + y_offset],[src.z]")
potentialRuins -= map //Don't want to load the same one twice
log_startup_progress(" Ruins loaded in [stop_watch(watch)]s.")
else
log_startup_progress(" No ruins found.")
return
qdel(src)
#undef RANDOM_UPPER_X
#undef RANDOM_UPPER_Y
#undef RANDOM_LOWER_X
#undef RANDOM_LOWER_Y
/obj/effect/ruin_loader/proc/Load(list/potentialRuins = space_ruins_templates, datum/map_template/template = null)
var/list/possible_ruins = list()
for(var/A in potentialRuins)
var/datum/map_template/T = potentialRuins[A]
if(!T.loaded)
possible_ruins += T
if(!template && possible_ruins.len)
template = safepick(possible_ruins)
if(!template)
return FALSE
template.load(get_turf(src),centered = TRUE)
template.loaded++
qdel(src)
return TRUE
+28 -1
View File
@@ -1,9 +1,10 @@
//Thanks to KorPhaeron of /tg/ station
//Parent types
/area/ruin/
name = "\improper Unexplored Location"
icon_state = "away"
has_gravity = 1
/area/ruin/unpowered
always_unpowered = 0
@@ -14,8 +15,34 @@
/area/ruin/powered
requires_power = 0
//Areas
/area/ruin/unpowered/no_grav/way_home
name = "\improper Salvation"
icon_state = "away"
/area/ruin/powered/snow_biodome
/area/ruin/powered/golem_ship
name = "Free Golem Ship"
// Ruins of "onehalf" ship
/area/ruin/onehalf/hallway
name = "Hallway"
icon_state = "hallC"
/area/ruin/onehalf/drone_bay
name = "Mining Drone Bay"
icon_state = "engine"
/area/ruin/onehalf/dorms_med
name = "Crew Quarters"
icon_state = "Sleep"
/area/ruin/onehalf/bridge
name = "Bridge"
icon_state = "bridge"
+2
View File
@@ -201,6 +201,7 @@
#include "code\datums\periodic_news.dm"
#include "code\datums\progressbar.dm"
#include "code\datums\recipe.dm"
#include "code\datums\ruins.dm"
#include "code\datums\spell.dm"
#include "code\datums\supplypacks.dm"
#include "code\datums\uplink_item.dm"
@@ -270,6 +271,7 @@
#include "code\datums\helper_datums\map_template.dm"
#include "code\datums\helper_datums\teleport.dm"
#include "code\datums\helper_datums\topic_input.dm"
#include "code\datums\ruins\space.dm"
#include "code\datums\spells\area_teleport.dm"
#include "code\datums\spells\bloodcrawl.dm"
#include "code\datums\spells\charge.dm"