diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index c1eb2f589a..d5d795af3c 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -1,4 +1,4 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/closed/indestructible/riveted/boss, /area/lavaland/surface/outdoors) @@ -557,19 +557,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/mine/eva) -"bw" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 2; - height = 5; - id = "laborcamp_away"; - name = "labor camp"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 9 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) "bx" = ( /obj/machinery/door/airlock/glass_security{ name = "Labor Camp Shuttle Prisoner Airlock"; @@ -961,19 +948,6 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ci" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 3; - height = 5; - id = "mining_away"; - name = "lavaland mine"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 7 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "cj" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -2584,19 +2558,6 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fw" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 2; - dwidth = 11; - height = 22; - id = "whiteship_lavaland"; - name = "lavaland wastes"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 35 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "fx" = ( /obj/structure/ore_box, /turf/open/floor/plasteel/brown{ @@ -2808,15 +2769,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"fU" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "fV" = ( /turf/closed/indestructible/riveted/boss/see_through, /area/lavaland/surface/outdoors) @@ -2825,142 +2777,6 @@ /obj/structure/stone_tile/slab, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"fX" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"fY" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"fZ" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ga" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gb" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gc" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gd" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ge" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gf" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gg" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gh" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gi" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gj" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 1 @@ -2985,65 +2801,10 @@ /obj/structure/stone_tile/center, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"gl" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gm" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gn" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "go" = ( /obj/structure/stone_tile/block, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"gp" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gq" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gr" = ( /obj/structure/stone_tile{ dir = 1 @@ -3070,52 +2831,6 @@ /obj/structure/stone_tile, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"gt" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gu" = ( -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gv" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gw" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gx" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gy" = ( /obj/structure/stone_tile/cracked, /obj/structure/stone_tile{ @@ -3129,32 +2844,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"gz" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gA" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gB" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -3180,39 +2869,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"gD" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gE" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gF" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gG" = ( /obj/structure/stone_tile{ dir = 1 @@ -3226,79 +2882,12 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"gH" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gI" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gJ" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gK" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gL" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gM" = ( /obj/structure/stone_tile/block{ dir = 4 }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"gN" = ( -/mob/living/simple_animal/hostile/spawner/lavaland, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "gO" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -3309,13 +2898,6 @@ /obj/structure/stone_tile/slab, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"gQ" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) "gR" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile/block{ @@ -3323,359 +2905,32 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"gS" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gT" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"gU" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gV" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gW" = ( -/mob/living/simple_animal/hostile/spawner/lavaland, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"gX" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "gY" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"gZ" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"ha" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + baseturf_type = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp_away"; + name = "labor camp"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 9 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hb" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hc" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hd" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"he" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hf" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) +/area/lavaland/surface/outdoors/explored) "hg" = ( /obj/structure/stone_tile/surrounding, /obj/structure/stone_tile/center/cracked, /mob/living/simple_animal/hostile/megafauna/legion, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"hh" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hi" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hj" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"hk" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hl" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hm" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"hn" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ho" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/closet/crate/necropolis/tendril{ - anchored = 1; - max_integrity = 500; - obj_integrity = 500 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"hp" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hq" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hr" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "hs" = ( /obj/structure/stone_tile/block{ dir = 1 }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"ht" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"hu" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hv" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hw" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hx" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hy" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"hz" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"hA" = ( -/obj/structure/stone_tile/surrounding_tile{ - dir = 4 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 1 - }, -/obj/structure/stone_tile/surrounding_tile{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"hB" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hC" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hD" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hE" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hF" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hG" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "hH" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -3686,19 +2941,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"hI" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "hJ" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -3709,217 +2951,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"hK" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hL" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hM" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hN" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hO" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hP" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hQ" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hR" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hS" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hT" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hU" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hV" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hW" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hX" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hY" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"hZ" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ia" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ib" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ic" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "id" = ( /obj/structure/stone_tile{ dir = 4 @@ -3933,116 +2964,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"ie" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"if" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ig" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ih" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ii" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ij" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ik" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"il" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"im" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"in" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"io" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"ip" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"iq" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) "ir" = ( /obj/structure/stone_tile/slab/cracked{ dir = 5 @@ -4052,10 +2973,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"is" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "it" = ( /obj/structure/stone_tile/block, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -4066,10 +2983,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"iv" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "iw" = ( /obj/structure/stone_tile/slab/cracked{ dir = 4 @@ -4087,23 +3000,6 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"iz" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/closed/mineral/volcanic/lava_land_surface, -/area/lavaland/surface/outdoors) -"iA" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iB" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "iC" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -4111,39 +3007,6 @@ /obj/structure/stone_tile/block/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"iD" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iE" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"iF" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"iG" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"iH" = ( -/turf/closed/indestructible/riveted/boss/see_through, -/area/lavaland/surface/outdoors) -"iI" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iJ" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/block{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "iK" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile/cracked{ @@ -4151,54 +3014,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"iL" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iM" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iN" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iO" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iP" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iQ" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iR" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iS" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iT" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iU" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iV" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"iW" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "iX" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -4216,10 +3031,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"iZ" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ja" = ( /obj/structure/stone_tile{ dir = 8 @@ -4232,40 +3043,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jc" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jd" = ( -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"je" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jf" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jg" = ( /obj/structure/stone_tile, /obj/structure/stone_tile/cracked{ @@ -4279,45 +3056,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jh" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ji" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jj" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jk" = ( /obj/structure/stone_tile/center, /obj/structure/stone_tile/surrounding_tile, @@ -4355,153 +3093,22 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jn" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jo" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jp" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jq" = ( /obj/structure/stone_tile, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jr" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "js" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jt" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ju" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jv" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jw" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jx" = ( /obj/structure/stone_tile{ dir = 4 }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jy" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jz" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jA" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/mob/living/simple_animal/hostile/asteroid/goliath/beast, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jB" = ( -/obj/structure/stone_tile/surrounding, -/obj/structure/closet/crate/necropolis/tendril{ - anchored = 1; - max_integrity = 500; - obj_integrity = 500 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"jC" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jD" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jE" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jF" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -4513,16 +3120,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"jG" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jH" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 8 @@ -4534,41 +3131,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"jI" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jJ" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jK" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jL" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -4580,16 +3142,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"jM" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jN" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 8 @@ -4601,32 +3153,6 @@ /obj/structure/stone_tile/center/cracked, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"jO" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jP" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "jQ" = ( /obj/structure/stone_tile{ dir = 1 @@ -4645,137 +3171,10 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"jT" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jU" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jV" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jW" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jX" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jY" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"jZ" = ( -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ka" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kb" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kc" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kd" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ke" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kf" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kg" = ( /obj/structure/fluff/drake_statue, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kh" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ki" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kj" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -4785,45 +3184,10 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kk" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kl" = ( /obj/structure/fluff/drake_statue/falling, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"km" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kn" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ko" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -4834,46 +3198,6 @@ /obj/structure/stone_tile, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kp" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kq" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kr" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ks" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kt" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ku" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kv" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kw" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kx" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ky" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -4883,25 +3207,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kz" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kA" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kB" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -4913,16 +3218,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"kC" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kD" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 4 @@ -4936,41 +3231,6 @@ /obj/structure/stone_tile/center, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"kE" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kF" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kG" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kH" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 1 @@ -4982,16 +3242,6 @@ /obj/structure/stone_tile/center/cracked, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"kI" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kJ" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 4 @@ -5005,25 +3255,6 @@ /obj/structure/stone_tile/center, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"kK" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kL" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kM" = ( /obj/structure/stone_tile/block/cracked{ dir = 1 @@ -5036,148 +3267,10 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kO" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kP" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kQ" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "kR" = ( /obj/structure/stone_tile/slab/cracked, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"kS" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kT" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kU" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kV" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kW" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kX" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kY" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"kZ" = ( -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"la" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lb" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lc" = ( -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ld" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "le" = ( /obj/structure/stone_tile, /obj/structure/stone_tile{ @@ -5188,19 +3281,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"lf" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lg" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -5210,29 +3290,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"lh" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"li" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lj" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -5243,10 +3300,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"lk" = ( -/obj/structure/stone_tile/block, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ll" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -5256,20 +3309,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"lm" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ln" = ( -/obj/structure/stone_tile/slab, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lo" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lp" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5302,18 +3341,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lt" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lu" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5337,10 +3364,6 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lx" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ly" = ( /obj/structure/stone_tile/cracked{ dir = 1 @@ -5356,35 +3379,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lA" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lB" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lC" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lD" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5422,66 +3416,12 @@ /obj/structure/stone_tile/block, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"lH" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "lI" = ( /obj/structure/stone_tile/cracked{ dir = 4 }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lJ" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lK" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lL" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lM" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lN" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lO" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "lP" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5519,37 +3459,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lT" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"lU" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lV" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "lW" = ( /obj/structure/stone_tile/block/cracked, /obj/structure/stone_tile/block/cracked{ @@ -5557,22 +3466,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"lX" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"lY" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "lZ" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5601,69 +3494,6 @@ }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"mc" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"md" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"me" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"mf" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/block/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"mg" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"mh" = ( -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"mi" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"mj" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "mk" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -5680,18 +3510,6 @@ /obj/structure/stone_tile/cracked, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"mm" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "mn" = ( /obj/structure/stone_tile/block/cracked, /obj/structure/stone_tile/block{ @@ -5699,20 +3517,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"mo" = ( -/obj/structure/stone_tile/block/cracked{ - dir = 8 - }, -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"mp" = ( -/obj/structure/stone_tile/slab/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "mq" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -5791,10 +3595,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"mz" = ( -/obj/structure/stone_tile, -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) "mA" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -5939,15 +3739,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"mR" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors) "mS" = ( /obj/structure/stone_tile/cracked{ dir = 1 @@ -5961,28 +3752,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"mT" = ( -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile/block{ - dir = 4 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors) -"mU" = ( -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors) "mV" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -6040,18 +3809,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"na" = ( -/obj/structure/stone_tile/block{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors) "nb" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -6078,19 +3835,6 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) -"nd" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/turf/open/indestructible/boss, -/area/lavaland/surface/outdoors) "ne" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -6115,6 +3859,34 @@ }, /turf/open/indestructible/boss, /area/lavaland/surface/outdoors) +"Uq" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + baseturf_type = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 2; + dwidth = 11; + height = 22; + id = "whiteship_lavaland"; + name = "lavaland wastes"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 35 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"Wp" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + baseturf_type = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8; + dwidth = 3; + height = 5; + id = "mining_away"; + name = "lavaland mine"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 7 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) (1,1,1) = {" aa @@ -10240,7 +8012,7 @@ aa aa aa aa -is +gP ad ad ab @@ -10446,7 +8218,7 @@ aD aD aD aD -bw +gY aD aD aD @@ -19957,7 +17729,7 @@ ab ab ab ab -ci +Wp ab ab ab @@ -32049,7 +29821,7 @@ ab ab ab ab -fw +Uq ab ab ab @@ -37482,7 +35254,7 @@ aa aa aa aa -iD +gR ag jF gM @@ -37740,12 +35512,12 @@ aa aa aa aa -ji +gG go kg hs gr -ia +hH ab ab aj @@ -37991,8 +35763,8 @@ aa mS mV mq -na -nd +mV +nc aa aa fV @@ -38500,9 +36272,9 @@ aj "} (127,1,1) = {" mQ -mR +mQ fW -mT +mQ mW hg ac @@ -38517,7 +36289,7 @@ kj fT fT lg -is +gP lq lu lq @@ -38771,7 +36543,7 @@ fV jl gr ah -ji +gG gs gy aa @@ -39016,7 +36788,7 @@ aj aa aa aa -mU +mS mY ms hJ @@ -39030,7 +36802,7 @@ jL gM kH gr -ia +hH aa aa lw @@ -39286,7 +37058,7 @@ gr go kl hs -ji +gG lj ab ab @@ -39538,7 +37310,7 @@ aa aa aa aa -iD +gR ah jN gO @@ -39795,12 +37567,12 @@ aa aa aa aa -iD +gR gr gr gr jm -is +gP ab ab ab @@ -63696,7 +61468,7 @@ aa aa aa aa -is +gP ai ai ai @@ -66780,7 +64552,7 @@ aa aa aa aa -is +gP js ab ad diff --git a/_maps/map_files/generic/Centcomm.dmm b/_maps/map_files/generic/Centcomm.dmm index 8d30e887a9..47ce47729a 100644 --- a/_maps/map_files/generic/Centcomm.dmm +++ b/_maps/map_files/generic/Centcomm.dmm @@ -1,4 +1,4 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/open/space/basic, /area/space) @@ -639,11 +639,6 @@ dir = 10 }, /area/holodeck/rec_center/medical) -"bY" = ( -/turf/open/floor/holofloor{ - icon_state = "white" - }, -/area/holodeck/rec_center/medical) "bZ" = ( /obj/structure/table/optable, /turf/open/floor/holofloor{ @@ -2081,9 +2076,6 @@ }, /turf/closed/indestructible/riveted, /area/space) -"fO" = ( -/turf/closed/indestructible/riveted, -/area/tdome/arena_source) "fP" = ( /obj/machinery/igniter, /obj/effect/turf_decal/delivery, @@ -5414,15 +5406,6 @@ dir = 8 }, /area/centcom/control) -"oz" = ( -/obj/structure/chair/comfy/black{ - dir = 1 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/centcom/control) "oA" = ( /obj/structure/bookcase/random, /obj/machinery/airalarm{ @@ -5718,9 +5701,6 @@ icon_state = "fakewindows" }, /area/wizard_station) -"pk" = ( -/turf/open/floor/plating/asteroid/snow/airless, -/area/space) "pl" = ( /obj/machinery/computer/shuttle/syndicate/recall, /turf/open/floor/plasteel/bar{ @@ -6520,22 +6500,6 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) -"qV" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) -"qW" = ( -/obj/structure/table, -/obj/item/toy/foamblade, -/obj/item/toy/gun, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) "qX" = ( /obj/structure/table, /obj/item/toy/katana, @@ -6545,16 +6509,6 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) -"qY" = ( -/obj/item/weapon/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) "qZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -7440,20 +7394,6 @@ }, /turf/open/floor/carpet, /area/wizard_station) -"tg" = ( -/obj/docking_port/stationary{ - area_type = /area/syndicate_mothership; - dheight = 9; - dir = 2; - dwidth = 5; - height = 24; - id = "syndicate_away"; - name = "syndicate recon outpost"; - turf_type = /turf/open/floor/plating/asteroid/snow; - width = 18 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/space) "th" = ( /obj/item/weapon/storage/box/drinkingglasses, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum, @@ -7727,15 +7667,6 @@ dir = 8 }, /area/centcom/evac) -"tN" = ( -/obj/item/weapon/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/turf/open/floor/plasteel, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/area/centcom/evac) "tO" = ( /obj/machinery/door/airlock{ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; @@ -7927,16 +7858,6 @@ dir = 6 }, /area/centcom/evac) -"up" = ( -/obj/item/weapon/twohanded/required/kirbyplants{ - icon_state = "plant-21"; - layer = 4.1 - }, -/turf/open/floor/plasteel, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/area/centcom/evac) "uq" = ( /obj/structure/chair/wood/wings{ icon_state = "wooden_chair_wings"; @@ -8846,11 +8767,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/centcom/ferry) -"wL" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/centcom/ferry) "wM" = ( /obj/structure/table/reinforced, /obj/item/weapon/restraints/handcuffs, @@ -9044,13 +8960,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/centcom/evac) -"xr" = ( -/obj/item/weapon/twohanded/required/kirbyplants{ - icon_state = "plant-22" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/centcom/evac) "xs" = ( /obj/structure/table, /obj/item/toy/sword, @@ -9371,17 +9280,6 @@ dir = 8 }, /area/centcom/evac) -"yb" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/fernybush, -/obj/machinery/light, -/turf/open/floor/plasteel{ - dir = 6; - icon_state = "asteroid8"; - name = "sand" - }, -/area/centcom/evac) "yc" = ( /obj/structure/statue/uranium/nuke, /turf/open/floor/plating/asteroid/snow/airless, @@ -11655,15 +11553,6 @@ dir = 1 }, /area/tdome/tdomeobserve) -"DE" = ( -/turf/closed/indestructible/riveted, -/area/tdome/arena) -"DF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/closed/indestructible/riveted, -/area/tdome/tdomeobserve) "DG" = ( /obj/machinery/igniter, /obj/effect/turf_decal/delivery, @@ -12429,9 +12318,6 @@ /obj/machinery/ai_status_display, /turf/closed/indestructible/riveted, /area/tdome/tdomeadmin) -"FH" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/centcom/evac) "FI" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 1 @@ -13082,68 +12968,16 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/centcom/evac) -"HW" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"HX" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"HY" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"HZ" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Ia" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Ib" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Ic" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Id" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Ie" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"If" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) -"Ig" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) "Ih" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/plasteel, /area/centcom/evac) -"Ii" = ( -/turf/open/floor/plasteel, -/obj/effect/turf_decal/delivery, -/area/centcom/evac) "Ij" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/tdome/arena_source) -"Ik" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "Il" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -13156,77 +12990,16 @@ "In" = ( /turf/open/floor/plasteel/neutral, /area/tdome/arena_source) -"Io" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Ip" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Iq" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Ir" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Is" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"It" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) "Iu" = ( /turf/open/floor/plasteel/neutral/side{ dir = 8 }, /area/tdome/arena_source) -"Iv" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "Iw" = ( /turf/open/floor/plasteel/red/corner{ dir = 1 }, /area/tdome/arena_source) -"Ix" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"Iy" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/tdome/arena_source) -"Iz" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IA" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IB" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IC" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"ID" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IE" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IF" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IG" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/tdome/arena_source) -"IH" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "II" = ( /turf/open/floor/plasteel/green/corner{ dir = 4 @@ -13237,62 +13010,12 @@ dir = 4 }, /area/tdome/arena_source) -"IK" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"IL" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/tdome/arena_source) -"IM" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IN" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IO" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IP" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IQ" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/tdome/arena_source) -"IR" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "IS" = ( /turf/open/floor/plasteel/loadingarea{ baseturf = /turf/open/space; dir = 8 }, /area/tdome/arena_source) -"IT" = ( -/turf/open/floor/plasteel/loadingarea{ - dir = 4 - }, -/area/tdome/arena_source) -"IU" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"IV" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/tdome/arena_source) -"IW" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"IX" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) "IY" = ( /obj/machinery/camera{ pixel_x = 10; @@ -13301,129 +13024,18 @@ }, /turf/open/floor/circuit/green, /area/tdome/arena_source) -"IZ" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Ja" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jb" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/tdome/arena_source) -"Jc" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"Jd" = ( -/turf/open/floor/plasteel/loadingarea{ - baseturf = /turf/open/space; - dir = 8 - }, -/area/tdome/arena_source) "Je" = ( /turf/open/floor/plasteel/red/corner{ dir = 8 }, /area/tdome/arena_source) -"Jf" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"Jg" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/tdome/arena_source) -"Jh" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Ji" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jj" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jk" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jl" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jm" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jn" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jo" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/tdome/arena_source) -"Jp" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "Jq" = ( /turf/open/floor/plasteel/green/corner, /area/tdome/arena_source) -"Jr" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"Js" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 4 - }, -/area/tdome/arena_source) -"Jt" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Ju" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jv" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jw" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jx" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jy" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"Jz" = ( -/turf/open/floor/plasteel/neutral, -/area/tdome/arena_source) -"JA" = ( -/turf/open/floor/plasteel/neutral/side{ - dir = 8 - }, -/area/tdome/arena_source) -"JB" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"JC" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/tdome/arena_source) -"JD" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/tdome/arena_source) "JE" = ( /obj/machinery/light, /turf/open/floor/plating, /area/syndicate_mothership/control) -"JF" = ( -/obj/machinery/light, -/turf/open/floor/plating, -/area/syndicate_mothership) "JG" = ( /obj/machinery/light{ dir = 8 @@ -13455,10 +13067,6 @@ }, /turf/open/floor/plating/airless, /area/syndicate_mothership/control) -"JK" = ( -/obj/machinery/light/small, -/turf/open/floor/plating, -/area/syndicate_mothership) "JL" = ( /obj/machinery/light, /turf/open/floor/wood, @@ -13564,14 +13172,6 @@ dir = 4 }, /area/centcom/supply) -"Ka" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - dir = 4 - }, -/area/centcom/supply) "Kb" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -13602,14 +13202,6 @@ dir = 8 }, /area/centcom/control) -"Kf" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - dir = 4 - }, -/area/centcom/supply) "Kg" = ( /obj/item/toy/figure/syndie, /obj/effect/light_emitter{ @@ -13618,22 +13210,6 @@ }, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"Kh" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/centcom/control) -"Ki" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/centcom/control) "Kj" = ( /obj/structure/flora/grass/both, /obj/effect/light_emitter{ @@ -13665,11 +13241,6 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/centcom/control) -"Kn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/centcom/control) "Ko" = ( /obj/structure/flora/tree/pine, /obj/effect/light_emitter{ @@ -13678,18 +13249,6 @@ }, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"Kp" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/pointybush, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/grass, -/area/centcom/control) "Kq" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -13702,17 +13261,6 @@ }, /turf/open/floor/grass, /area/centcom/evac) -"Kr" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/genericbush, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/grass, -/area/centcom/control) "Ks" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/fullgrass, @@ -13759,48 +13307,6 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"Kx" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"Ky" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"Kz" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KA" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KB" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KC" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) "KD" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ @@ -13811,25 +13317,6 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) -"KE" = ( -/obj/structure/chair, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) -"KF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) "KG" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -13839,27 +13326,6 @@ /obj/machinery/light, /turf/open/floor/plating/asteroid, /area/centcom/evac) -"KH" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KI" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KJ" = ( -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) "KK" = ( /obj/structure/chair{ dir = 4 @@ -13902,37 +13368,6 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/centcom/ferry) -"KQ" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/centcom/evac) -"KR" = ( -/obj/structure/flora/grass/both, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) -"KS" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/palebush, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating/asteroid, -/area/centcom/control) "KT" = ( /obj/structure/chair{ dir = 1 @@ -13941,39 +13376,10 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/centcom/evac) -"KU" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/centcom/evac) -"KV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/centcom/evac) "KW" = ( /obj/machinery/light, /turf/open/floor/engine/cult, /area/wizard_station) -"KX" = ( -/obj/machinery/light, -/turf/open/floor/engine/cult, -/area/wizard_station) -"KY" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/pointybush, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/grass, -/area/centcom/evac) "KZ" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -13989,12 +13395,6 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"Lb" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/engine/cult, -/area/wizard_station) "Lc" = ( /obj/machinery/light{ dir = 4 @@ -14017,14 +13417,6 @@ dir = 5 }, /area/centcom/evac) -"Lf" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/centcom/control) "Lg" = ( /obj/machinery/light/small{ brightness = 3; @@ -14060,13 +13452,6 @@ heat_capacity = 1e+006 }, /area/tdome/tdomeobserve) -"Ll" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/neutral/side{ - dir = 1; - heat_capacity = 1e+006 - }, -/area/tdome/tdomeobserve) "Lm" = ( /obj/machinery/light{ dir = 8 @@ -14107,30 +13492,6 @@ name = "sand" }, /area/tdome/tdomeadmin) -"Lq" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/palebush, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plating/asteroid, -/area/tdome/tdomeadmin) -"Lr" = ( -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/fernybush, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel{ - dir = 6; - icon_state = "asteroid8"; - name = "sand" - }, -/area/tdome/tdomeadmin) "Ls" = ( /obj/machinery/light{ dir = 4 @@ -14157,16 +13518,6 @@ /obj/machinery/light, /turf/open/floor/grass, /area/tdome/tdomeadmin) -"Lv" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/pointybush, -/obj/machinery/light, -/turf/open/floor/grass, -/area/tdome/tdomeadmin) "Lw" = ( /obj/structure/flora/bush, /obj/effect/light_emitter{ @@ -14183,14 +13534,6 @@ }, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"Ly" = ( -/obj/structure/flora/grass/brown, -/obj/effect/light_emitter{ - set_cap = 1; - set_luminosity = 4 - }, -/turf/open/floor/plating/asteroid/snow/atmosphere, -/area/syndicate_mothership) "Lz" = ( /obj/machinery/light{ dir = 1 @@ -14208,61 +13551,16 @@ /obj/machinery/light, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"LC" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/grass, -/area/centcom/evac) -"LD" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/grass, -/area/centcom/evac) -"LE" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/open/floor/grass, -/area/centcom/evac) "LF" = ( /obj/structure/fluff/arc, /turf/open/floor/grass, /area/centcom/evac) -"LG" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/grass, -/area/centcom/evac) "LH" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/window/reinforced, /turf/open/floor/grass, /area/centcom/evac) -"LI" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/grass, -/area/centcom/evac) "LJ" = ( /obj/structure/chair/comfy/black{ dir = 1 @@ -14299,10 +13597,6 @@ /obj/structure/flora/ausbushes/ywflowers, /turf/open/floor/grass, /area/centcom/evac) -"LO" = ( -/obj/structure/fluff/arc, -/turf/open/floor/grass, -/area/centcom/control) "LP" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/brflowers, @@ -14337,15 +13631,6 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/centcom/evac) -"LV" = ( -/obj/structure/flora/ausbushes/lavendergrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/genericbush, -/obj/machinery/light, -/turf/open/floor/grass, -/area/centcom/evac) "LW" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/box/handcuffs, @@ -14371,12 +13656,6 @@ /obj/machinery/ai_status_display, /turf/closed/indestructible/riveted, /area/centcom/evac) -"Ma" = ( -/obj/structure/fans/tiny, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/centcom/evac) "Mb" = ( /obj/machinery/door/airlock/centcom{ name = "Centcom Security"; @@ -14433,6 +13712,21 @@ "Mi" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/centcom/evac) +"QG" = ( +/obj/docking_port/stationary{ + area_type = /area/syndicate_mothership; + baseturf_type = /turf/open/floor/plating/asteroid/snow; + dheight = 9; + dir = 2; + dwidth = 5; + height = 24; + id = "syndicate_away"; + name = "syndicate recon outpost"; + turf_type = /turf/open/floor/plating/asteroid/snow; + width = 18 + }, +/turf/open/floor/plating/asteroid/snow/airless, +/area/syndicate_mothership) (1,1,1) = {" aa @@ -26946,16 +26240,16 @@ Kl Kl Kl Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -27197,22 +26491,22 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -27454,22 +26748,22 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -27694,11 +26988,6 @@ hq hq hq hq -hq -hq -hq -hq -hq lF hq hq @@ -27711,22 +27000,27 @@ Kl Kl Kl Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -27960,30 +27254,30 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq Kl Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -28217,27 +27511,27 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl Kl Kl @@ -28474,29 +27768,29 @@ hq mz hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hq hm @@ -28731,29 +28025,29 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hq hm @@ -28988,29 +28282,29 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hq hm @@ -29245,29 +28539,29 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hq hm @@ -29502,29 +28796,29 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hq hm @@ -29759,27 +29053,27 @@ hq hq hq Kl -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq rd mg mA -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl Kl Kl @@ -30016,30 +29310,30 @@ hq lF hq Kl -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq Kl re kI sB -tg -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +QG +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -30283,20 +29577,20 @@ Kl re kI sC -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -30540,20 +29834,20 @@ Kl re kI re -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -30800,17 +30094,17 @@ re Kl Kl Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -31058,16 +30352,16 @@ Kl hq Lw Kl -pk -pk -pk -pk -pk -pk -pk -pk -pk -pk +hq +hq +hq +hq +hq +hq +hq +hq +hq +hq Kl hm aa @@ -59338,7 +58632,7 @@ it yA yI lA -Ki +zf zt it zH @@ -61623,7 +60917,7 @@ kO iH kT lX -Ki +zf iP iW iW @@ -63446,7 +62740,7 @@ sv wW xs ql -LV +KZ qk LW Le @@ -66016,7 +65310,7 @@ sv wW LT ql -LV +KZ qk aa aa diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index c0158bac16..c495ee3b4a 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -51,4 +51,11 @@ //Engine related #define ENGINE_COEFF_MIN 0.5 #define ENGINE_COEFF_MAX 2 -#define ENGINE_DEFAULT_MAXSPEED_ENGINES 5 \ No newline at end of file +#define ENGINE_DEFAULT_MAXSPEED_ENGINES 5 + +//Docking error flags +#define DOCKING_SUCCESS 0 +#define DOCKING_COMPLETE 1 +#define DOCKING_BLOCKED 2 +#define DOCKING_IMMOBILIZED 4 +#define DOCKING_AREA_EMPTY 8 \ No newline at end of file diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 71d0792b60..f7322abe6c 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -53,12 +53,12 @@ #define INIT_ORDER_ATOMS 11 #define INIT_ORDER_LANGUAGE 10 #define INIT_ORDER_MACHINES 9 -#define INIT_ORDER_SHUTTLE 3 #define INIT_ORDER_TIMER 1 #define INIT_ORDER_DEFAULT 0 #define INIT_ORDER_AIR -1 -#define INIT_ORDER_MINIMAP -2 -#define INIT_ORDER_ASSETS -3 +#define INIT_ORDER_SHUTTLE -2 +#define INIT_ORDER_MINIMAP -3 +#define INIT_ORDER_ASSETS -4 #define INIT_ORDER_ICON_SMOOTHING -5 #define INIT_ORDER_OVERLAY -6 #define INIT_ORDER_XKEYSCORE -10 diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4bb9f9dbfb..08fe58e167 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -476,15 +476,15 @@ SUBSYSTEM_DEF(ticker) if(Player.stat != DEAD && !isbrain(Player)) num_survivors++ if(station_evacuated) //If the shuttle has already left the station - var/area/shuttle_area + var/list/area/shuttle_areas if(SSshuttle && SSshuttle.emergency) - shuttle_area = SSshuttle.emergency.areaInstance + shuttle_areas = SSshuttle.emergency.shuttle_areas if(!Player.onCentcom() && !Player.onSyndieBase()) to_chat(Player, "You managed to survive, but were marooned on [station_name()]...") else num_escapees++ to_chat(Player, "You managed to survive the events on [station_name()] as [Player.real_name].") - if(get_area(Player) == shuttle_area) + if(shuttle_areas[get_area(Player)]) num_shuttle_escapees++ else to_chat(Player, "You managed to survive the events on [station_name()] as [Player.real_name].") diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 94cd260407..83f1817fc1 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -113,20 +113,27 @@ if(T.z == ZLEVEL_TRANSIT) for(var/A in SSshuttle.mobile) var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_TRANSIT && T in M.areaInstance) - return TRUE + if(M.launch_status == ENDGAME_TRANSIT) + for(var/place in M.shuttle_areas) + var/area/shuttle/shuttle_area = place + if(T in shuttle_area) + return TRUE if(T.z != ZLEVEL_CENTCOM)//if not, don't bother return FALSE - //check for centcomm shuttles + //Check for centcom itself + if(istype(T.loc, /area/centcom)) + return TRUE + + //Check for centcomm shuttles for(var/A in SSshuttle.mobile) var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_LAUNCHED && T in M.areaInstance) - return TRUE - - //finally check for centcom itself - return istype(T.loc,/area/centcom) + if(M.launch_status == ENDGAME_LAUNCHED) + for(var/place in M.shuttle_areas) + var/area/shuttle/shuttle_area = place + if(T in shuttle_area) + return TRUE /atom/proc/onSyndieBase() var/turf/T = get_turf(src) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 21b1180b3d..3633146e4e 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -240,9 +240,7 @@ return 0 if(issilicon(owner.current)) return 0 - - var/area/A = get_area(owner.current) - if(SSshuttle.emergency.areaInstance != A) + if(SSshuttle.emergency.shuttle_areas[get_area(owner.current)]) return 0 return SSshuttle.emergency.is_hijacked() @@ -255,40 +253,31 @@ /datum/objective/hijackclone/check_completion() if(!owner.current) - return 0 + return FALSE if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) - return 0 - - var/area/A = SSshuttle.emergency.areaInstance + return FALSE + var/in_shuttle = FALSE for(var/mob/living/player in GLOB.player_list) //Make sure nobody else is onboard - if(player.mind && player.mind != owner) - if(player.stat != DEAD) - if(issilicon(player)) //Borgs are technically dead anyways - continue - if(isanimal(player)) //animals don't count - continue - if(isbrain(player)) //also technically dead - continue - if(get_area(player) == A) + if(SSshuttle.emergency.shuttle_areas[get_area(player)]) + if(player.mind && player.mind != owner) + if(player.stat != DEAD) + if(issilicon(player)) //Borgs are technically dead anyways + continue + if(isanimal(player)) //animals don't count + continue + if(isbrain(player)) //also technically dead + continue var/location = get_turf(player.mind.current) - if(player.real_name != owner.current.real_name && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/brig)) - return 0 - - for(var/mob/living/player in GLOB.player_list) //Make sure at least one of you is onboard - if(player.mind && player.mind != owner) - if(player.stat != DEAD) - if(issilicon(player)) //Borgs are technically dead anyways - continue - if(isanimal(player)) //animals don't count - continue - if(isbrain(player)) //also technically dead - continue - if(get_area(player) == A) - var/location = get_turf(player.mind.current) - if(player.real_name == owner.current.real_name && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/brig)) - return 1 - return 0 + if(istype(location, /turf/open/floor/plasteel/shuttle/red)) + continue + if(istype(location, /turf/open/floor/mineral/plastitanium/brig)) + continue + if(player.real_name != owner.current.real_name) + return FALSE + else + in_shuttle = TRUE + return in_shuttle /datum/objective/block explanation_text = "Do not allow any organic lifeforms to escape on the shuttle alive." @@ -301,14 +290,12 @@ if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) return 1 - var/area/A = SSshuttle.emergency.areaInstance - for(var/mob/living/player in GLOB.player_list) if(issilicon(player)) continue if(player.mind) if(player.stat != DEAD) - if(get_area(player) == A) + if(get_area(player) in SSshuttle.emergency.shuttle_areas) return 0 return 1 @@ -323,10 +310,8 @@ if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) return 1 - var/area/A = SSshuttle.emergency.areaInstance - for(var/mob/living/player in GLOB.player_list) - if(get_area(player) == A && player.mind && player.stat != DEAD && ishuman(player)) + if(get_area(player) in SSshuttle.emergency.shuttle_areas && player.mind && player.stat != DEAD && ishuman(player)) var/mob/living/carbon/human/H = player if(H.dna.species.id != "human") return 0 @@ -701,7 +686,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) explanation_text = "Destroy [target.name], the experimental AI." else explanation_text = "Free Objective" - + /datum/objective/destroy/internal var/stolen = FALSE //Have we already eliminated this target? diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 369e3e13dc..48bb5bb5ab 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -143,11 +143,6 @@ GLOBAL_LIST_EMPTY(telecomms_list) var/turf/position = get_turf(src) listening_level = position.z -/obj/machinery/telecomms/onShuttleMove(turf/T1, rotation) - . = ..() - if(. && T1) // Update listening Z, just in case you have telecomm relay on a shuttle - listening_level = T1.z - /obj/machinery/telecomms/Initialize(mapload) ..() if(mapload && autolinkers.len) diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm index 238b38b9b2..c7e6973c4d 100644 --- a/code/game/turfs/space/transit.dm +++ b/code/game/turfs/space/transit.dm @@ -31,6 +31,8 @@ /turf/open/space/transit/proc/throw_atom(atom/movable/AM) if(!AM || istype(AM, /obj/docking_port)) return + if(AM.loc != src) // Multi-tile objects are "in" multiple locs but its loc is it's true placement. + return // Don't move multi tile objects if their origin isnt in transit var/max = world.maxx-TRANSITIONEDGE var/min = 1+TRANSITIONEDGE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index ffb7831b7b..a2b548e2b5 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -197,11 +197,11 @@ qdel(L) //wrapper for ChangeTurf()s that you want to prevent/affect without overriding ChangeTurf() itself -/turf/proc/TerraformTurf(path, defer_change = FALSE, ignore_air = FALSE) - return ChangeTurf(path, defer_change, ignore_air) +/turf/proc/TerraformTurf(path, defer_change = FALSE, ignore_air = FALSE, new_baseturf) + return ChangeTurf(path, defer_change, ignore_air, new_baseturf) //Creates a new turf -/turf/proc/ChangeTurf(path, defer_change = FALSE, ignore_air = FALSE) +/turf/proc/ChangeTurf(path, defer_change = FALSE, ignore_air = FALSE, new_baseturf) if(!path) return if(!GLOB.use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed @@ -212,7 +212,10 @@ qdel(src) //Just get the side effects and call Destroy var/turf/W = new path(src) - W.baseturf = old_baseturf + if(new_baseturf) + W.baseturf = new_baseturf + else + W.baseturf = old_baseturf if(!defer_change) W.AfterChange(ignore_air) @@ -223,10 +226,6 @@ levelupdate() CalculateAdjacentTurfs() - if(!can_have_cabling()) - for(var/obj/structure/cable/C in contents) - C.deconstruct() - //update firedoor adjacency var/list/turfs_to_check = get_adjacent_open_turfs(src) | src for(var/I in turfs_to_check) @@ -408,21 +407,16 @@ if(!SSticker.HasRoundStarted()) add_blueprints(AM) -/turf/proc/empty(turf_type=/turf/open/space) +/turf/proc/empty(turf_type=/turf/open/space, baseturf_type) // Remove all atoms except observers, landmarks, docking ports var/turf/T0 = src - for(var/A in T0.GetAllContents()) - if(istype(A, /mob/dead)) - continue - if(istype(A, /obj/effect/landmark)) - continue - if(istype(A, /obj/docking_port)) - continue - if(A == T0) - continue - qdel(A, force=TRUE) + var/static/list/ignored_atoms = typecacheof(list(/mob/dead, /obj/effect/landmark, /obj/docking_port, /atom/movable/lighting_object)) + var/list/allowed_contents = typecache_filter_list(T0.GetAllContents(),ignored_atoms) + for(var/i in 1 to allowed_contents.len) + var/thing = allowed_contents[i] + qdel(thing, force=TRUE) - T0.ChangeTurf(turf_type) + T0.ChangeTurf(turf_type, FALSE, FALSE, baseturf_type) SSair.remove_from_active(T0) T0.CalculateAdjacentTurfs() diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 9a3b225726..9f31b32829 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -287,48 +287,4 @@ Pipelines + Other Objects -> Pipe network //Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it. /obj/machinery/atmospherics/proc/can_see_pipes() - return 1 - -//Properly updates pipes on shuttle movement -/obj/machinery/atmospherics/shuttleRotate(rotation) - var/list/real_node_connect = getNodeConnects() - for(DEVICE_TYPE_LOOP) - real_node_connect[I] = angle2dir(rotation+dir2angle(real_node_connect[I])) - - ..() - SetInitDirections() - var/list/supposed_node_connect = getNodeConnects() - var/list/nodes_copy = nodes.Copy() - - for(DEVICE_TYPE_LOOP) - var/new_pos = supposed_node_connect.Find(real_node_connect[I]) - nodes[new_pos] = nodes_copy[I] - -/obj/machinery/atmospherics/afterShuttleMove() - ..() - var/missing_nodes = FALSE - for(DEVICE_TYPE_LOOP) - if(src.nodes[I]) - var/obj/machinery/atmospherics/node = src.nodes[I] - var/connected = FALSE - for(var/D in GLOB.cardinals) - if(node in get_step(src, D)) - connected = TRUE - break - - if(!connected) - nullifyNode(I) - - if(!src.nodes[I]) - missing_nodes = TRUE - - if(missing_nodes) - atmosinit() - for(var/obj/machinery/atmospherics/A in pipeline_expansion()) - A.atmosinit() - if(A.returnPipenet()) - A.addMember(src) - build_network() - else - // atmosinit() calls update_icon(), so we don't need to call it - update_icon() + return 1 \ No newline at end of file diff --git a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm index 60d7535e5a..b9f108c50d 100644 --- a/code/modules/events/shuttle_loan.dm +++ b/code/modules/events/shuttle_loan.dm @@ -79,10 +79,13 @@ SSshuttle.shuttle_loan = null var/list/empty_shuttle_turfs = list() - for(var/turf/open/floor/T in SSshuttle.supply.areaInstance) - if(is_blocked_turf(T)) - continue - empty_shuttle_turfs += T + var/list/area/shuttle/shuttle_areas = SSshuttle.supply.shuttle_areas + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + for(var/turf/open/floor/T in shuttle_area) + if(is_blocked_turf(T)) + continue + empty_shuttle_turfs += T if(!empty_shuttle_turfs.len) return diff --git a/code/modules/lighting/lighting_object.dm b/code/modules/lighting/lighting_object.dm index b0b0b32285..b5d5a2bab1 100644 --- a/code/modules/lighting/lighting_object.dm +++ b/code/modules/lighting/lighting_object.dm @@ -139,10 +139,6 @@ GLOBAL_LIST_EMPTY(all_lighting_objects) // Global list of lighting objects. /atom/movable/lighting_object/blob_act() return -// Nope nope nope! -/atom/movable/lighting_object/onShuttleMove(turf/T1, rotation) - return FALSE - // Override here to prevent things accidentally moving around overlays. /atom/movable/lighting_object/forceMove(atom/destination, var/no_tp=FALSE, var/harderforce = FALSE) if(harderforce) diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 49e89685ee..92a7a25eac 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -32,7 +32,7 @@ // Builds a lighting object for us, but only if our area is dynamic. /turf/proc/lighting_build_overlay() if (lighting_object) - return + qdel(lighting_object,force=TRUE) //Shitty fix for lighting objects persisting after death var/area/A = loc if (!IS_DYNAMIC_LIGHTING(A) && !light_sources) diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 1a9f8c7428..c20f45feac 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -128,12 +128,6 @@ interface with the mining shuttle at the landing site if a mobile beacon is also updateUsrDialog() - -/obj/machinery/computer/auxillary_base/onShuttleMove(turf/T1, rotation) - ..() - if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery - SSblackbox.add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! - /obj/machinery/computer/auxillary_base/proc/set_mining_mode() if(z == ZLEVEL_MINING) //The console switches to controlling the mining shuttle once landed. req_one_access = list() @@ -245,11 +239,6 @@ obj/docking_port/stationary/public_mining_dock width = 7 height = 5 -obj/docking_port/stationary/public_mining_dock/onShuttleMove() - id = "mining_public" //It will not move with the base, but will become enabled as a docking point. - return 0 - - /obj/structure/mining_shuttle_beacon name = "mining shuttle beacon" desc = "A bluespace beacon calibrated to mark a landing spot for the mining shuttle when deployed near the auxillary mining base." diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index cd3563661e..3e2be10d79 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -95,14 +95,6 @@ else devour(L) -/mob/living/simple_animal/hostile/megafauna/onShuttleMove() - var/turf/oldloc = loc - . = ..() - if(!.) - return - var/turf/newloc = loc - message_admins("Megafauna [src] [ADMIN_FLW(src)] moved via shuttle from [ADMIN_COORDJMP(oldloc)] to [ADMIN_COORDJMP(newloc)]") - /mob/living/simple_animal/hostile/megafauna/proc/devour(mob/living/L) if(!L) return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index f63cee2bce..ee02e6eb35 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -390,7 +390,7 @@ By design, d1 is the smallest direction and d2 is the highest qdel(PN) // cut the cable's powernet at this cable and updates the powergrid -/obj/structure/cable/proc/cut_cable_from_powernet() +/obj/structure/cable/proc/cut_cable_from_powernet(remove=TRUE) var/turf/T1 = loc var/list/P_list if(!T1) @@ -412,7 +412,8 @@ By design, d1 is the smallest direction and d2 is the highest var/obj/O = P_list[1] // remove the cut cable from its turf and powernet, so that it doesn't get count in propagate_network worklist - loc = null + if(remove) + loc = null powernet.remove_cable(src) //remove the cut cable from its powernet spawn(0) //so we don't rebuild the network X times when singulo/explosion destroys a line of X cables @@ -426,43 +427,6 @@ By design, d1 is the smallest direction and d2 is the highest if(!P.connect_to_network()) //can't find a node cable on a the turf to connect to P.disconnect_from_network() //remove from current network -// Ugly procs that ensure proper separation and reconnection of wires on shuttle movement/rotation -/obj/structure/cable/beforeShuttleMove(turf/T1, rotation) - var/on_edge = FALSE - var/A = get_area(src) - - for(var/D in GLOB.alldirs) - if(A != get_area(get_step(src, D))) - on_edge = TRUE - break - - if(on_edge && powernet) - var/tmp_loc = loc - cut_cable_from_powernet() - loc = tmp_loc - -/obj/structure/cable/afterShuttleMove() - var/on_edge = FALSE - var/A = get_area(src) - - for(var/D in GLOB.alldirs) - if(A != get_area(get_step(src, D))) - on_edge = TRUE - break - - if(on_edge) - var/datum/powernet/PN = new() - PN.add_cable(src) - - mergeConnectedNetworks(d1) //merge the powernet with adjacents powernets - mergeConnectedNetworks(d2) - mergeConnectedNetworksOnTurf() //merge the powernet with on turf powernets - - if(d1 & (d1 - 1))// if the cable is layed diagonally, check the others 2 possible directions - mergeDiagonalsNetworks(d1) - if(d2 & (d2 - 1)) - mergeDiagonalsNetworks(d2) - /obj/structure/cable/shuttleRotate(rotation) //..() is not called because wires are not supposed to have a non-default direction //Rotate connections diff --git a/code/modules/shuttle/elevator.dm b/code/modules/shuttle/elevator.dm index 12f9c24f9a..de0febf2bf 100644 --- a/code/modules/shuttle/elevator.dm +++ b/code/modules/shuttle/elevator.dm @@ -4,7 +4,7 @@ dwidth = 3 width = 7 height = 7 - knockdown = FALSE + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0) /obj/docking_port/mobile/elevator/request(obj/docking_port/stationary/S) //No transit, no ignition, just a simple up/down platform dock(S, TRUE) \ No newline at end of file diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 20bb1aa462..6b759dbabe 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -259,7 +259,7 @@ continue if(isbrain(player)) //also technically dead continue - if(get_area(player) == areaInstance) + if(shuttle_areas[get_area(player)]) has_people = TRUE var/location = get_turf(player.mind.current) if(!(player.mind.special_role == "traitor" || player.mind.special_role == "Syndicate") && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/brig)) @@ -369,13 +369,20 @@ for(var/area/shuttle/escape/E in GLOB.sortedAreas) areas += E hyperspace_sound(HYPERSPACE_END, areas) - if(areaInstance.parallax_movedir && time_left <= PARALLAX_LOOP_TIME) - parallax_slowdown() - for(var/A in SSshuttle.mobile) - var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_LAUNCHED) - if(istype(M, /obj/docking_port/mobile/pod)) - M.parallax_slowdown() + if(time_left <= PARALLAX_LOOP_TIME) + var/area_parallax = FALSE + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + if(shuttle_area.parallax_movedir) + area_parallax = TRUE + break + if(area_parallax) + parallax_slowdown() + for(var/A in SSshuttle.mobile) + var/obj/docking_port/mobile/M = A + if(M.launch_status == ENDGAME_LAUNCHED) + if(istype(M, /obj/docking_port/mobile/pod)) + M.parallax_slowdown() if(time_left <= 0) //move each escape pod to its corresponding escape dock @@ -531,12 +538,6 @@ /obj/item/weapon/storage/pod/attack_hand(mob/user) return MouseDrop(user) -/obj/item/weapon/storage/pod/onShuttleMove() - unlocked = TRUE - // If the pod was launched, the storage will always open. - return ..() - - /obj/docking_port/mobile/emergency/backup name = "backup shuttle" id = "backup" diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index f9ae5996a2..696372decf 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -1,64 +1,133 @@ -// Called before shuttle starts moving atoms. -/atom/movable/proc/beforeShuttleMove(turf/T1, rotation) - return +/* +All ShuttleMove procs go here +*/ + +/************************************Base procs************************************/ + +// Called on every turf in the shuttle region, return false if it doesn't want to move +/turf/proc/fromShuttleMove(turf/newT, turf_type, baseturf_type) + if(type == turf_type && baseturf == baseturf_type) + return FALSE + return TRUE + +// Called from the new turf before anything has been moved +// Only gets called if fromShuttleMove returns true first +/turf/proc/toShuttleMove(turf/oldT, shuttle_dir) + for(var/i in 1 to contents.len) + var/atom/movable/thing = contents[i] + if(ismob(thing)) + if(isliving(thing)) + var/mob/living/M = thing + if(M.buckled) + M.buckled.unbuckle_mob(M, 1) + if(M.pulledby) + M.pulledby.stop_pulling() + M.stop_pulling() + M.visible_message("[src] slams into [M]!") + if(M.key || M.get_ghost(TRUE)) + SSblackbox.add_details("shuttle_gib", "[type]") + else + SSblackbox.add_details("shuttle_gib_unintelligent", "[type]") + M.gib() + + else //non-living mobs shouldn't be affected by shuttles, which is why this is an else + if(istype(thing, /obj/singularity) && !istype(thing, /obj/singularity/narsie)) //it's a singularity but not a god, ignore it. + continue + if(!thing.anchored) + step(thing, shuttle_dir) + else + qdel(thing) + + return TRUE + +// Called on the old turf to move the turf data +/turf/proc/onShuttleMove(turf/newT, turf_type, baseturf_type, rotation, list/movement_force, move_dir) + if(newT == src) // In case of in place shuttle rotation shenanigans. + return + + //Destination turf changes + var/destination_turf_type = newT.type + copyTurf(newT) + newT.baseturf = destination_turf_type + + if(isopenturf(newT)) + var/turf/open/new_open = newT + new_open.copy_air_with_tile(src) + + //Source turf changes + ChangeTurf(turf_type, FALSE, TRUE, baseturf_type) + + return TRUE + +// Called on the new turf after everything has been moved +/turf/proc/afterShuttleMove(turf/oldT) + if(SSlighting.initialized && FALSE) + var/atom/movable/lighting_object/old_obj = lighting_object + var/atom/movable/lighting_object/new_obj = oldT.lighting_object + if(old_obj) + old_obj.update() + if(new_obj) + new_obj.update() + return TRUE + +///////////////////////////////////////////////////////////////////////////////////// + +// Called on every atom in shuttle turf contents before anything has been moved +// Return true if it should be moved regardless of turf being moved +/atom/movable/proc/beforeShuttleMove(turf/newT, rotation) + return FALSE + +// Called on atoms to move the atom to the new location +/atom/movable/proc/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force, move_dir) + if(newT == oldT) // In case of in place shuttle rotation shenanigans. + return + + if(locs && locs.len > 1) // This is for multi tile objects + if(loc != oldT) + return -// Called when shuttle attempts to move an atom. -/atom/movable/proc/onShuttleMove(turf/T1, rotation, knockdown = TRUE) if(rotation) shuttleRotate(rotation) - loc = T1 - if (length(client_mobs_in_contents)) + loc = newT + if(length(client_mobs_in_contents)) update_parallax_contents() - return 1 + return TRUE -// Called after all of the atoms on shuttle are moved. -/atom/movable/proc/afterShuttleMove() - return +// Called on atoms after everything has been moved +/atom/movable/proc/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) + if(light) + update_light() + return TRUE +///////////////////////////////////////////////////////////////////////////////////// -/obj/onShuttleMove() - if(invisibility >= INVISIBILITY_ABSTRACT) - return 0 - . = ..() +// Called on areas before anything has been moved +/area/proc/beforeShuttleMove() + return TRUE - -/atom/movable/light/onShuttleMove() - return 0 - -/obj/machinery/door/airlock/onShuttleMove() - shuttledocked = 0 - for(var/obj/machinery/door/airlock/A in range(1, src)) - A.shuttledocked = 0 - A.air_tight = TRUE - INVOKE_ASYNC(A, /obj/machinery/door/.proc/close) - . = ..() - shuttledocked = 1 - for(var/obj/machinery/door/airlock/A in range(1, src)) - A.shuttledocked = 1 -/mob/onShuttleMove() - if(!move_on_shuttle) - return 0 - . = ..() - if(!.) +// Called on areas to move their turf between areas +/area/proc/onShuttleMove(turf/oldT, turf/newT, area/underlying_old_area) + if(newT == oldT) // In case of in place shuttle rotation shenanigans. return - if(client) - if(buckled) - shake_camera(src, 2, 1) // turn it down a bit come on - else - shake_camera(src, 7, 1) -/mob/living/carbon/onShuttleMove(turf/T1, rotation, knockdown = TRUE) - . = ..() - if(!.) - return - if(!buckled && knockdown) - Knockdown(60) + contents -= oldT + underlying_old_area.contents += oldT + oldT.change_area(src, underlying_old_area) + //The old turf has now been given back to the area that turf originaly belonged to -/obj/effect/abstract/proximity_checker/onShuttleMove() - //timer so it only happens once - addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) + var/area/old_dest_area = newT.loc + parallax_movedir = old_dest_area.parallax_movedir + + old_dest_area.contents -= newT + contents += newT + newT.change_area(old_dest_area, src) + return TRUE -// Shuttle Rotation // +// Called on areas after everything has been moved +/area/proc/afterShuttleMove() + return TRUE + +/************************************Shuttle Rotation************************************/ /atom/proc/shuttleRotate(rotation) //rotate our direction @@ -76,4 +145,236 @@ var/oldPX = pixel_x var/oldPY = pixel_y pixel_x = oldPY - pixel_y = (oldPX*(-1)) \ No newline at end of file + pixel_y = (oldPX*(-1)) + +/************************************Turf move procs************************************/ + +/turf/open/afterShuttleMove(turf/oldT) //Recalculates SSair stuff for turfs on both sides + . = ..() + SSair.remove_from_active(src) + SSair.remove_from_active(oldT) + + src.CalculateAdjacentTurfs() + oldT.CalculateAdjacentTurfs() + + SSair.add_to_active(src, TRUE) + SSair.add_to_active(oldT, TRUE) + +/************************************Machinery move procs************************************/ + +/obj/machinery/door/airlock/beforeShuttleMove() + . = ..() + shuttledocked = 0 + for(var/obj/machinery/door/airlock/A in range(1, src)) + A.shuttledocked = 0 + A.air_tight = TRUE + INVOKE_ASYNC(A, /obj/machinery/door/.proc/close) + +/obj/machinery/door/airlock/afterShuttleMove() + . = ..() + shuttledocked = 1 + for(var/obj/machinery/door/airlock/A in range(1, src)) + A.shuttledocked = 1 + +/obj/machinery/camera/beforeShuttleMove() + . = ..() + GLOB.cameranet.removeCamera(src) + GLOB.cameranet.updateChunk() + return TRUE + +/obj/machinery/camera/afterShuttleMove() + . = ..() + if(can_use()) + GLOB.cameranet.addCamera(src) + var/datum/camerachunk/chunk = GLOB.cameranet.getCameraChunk(x, y, z) + chunk.hasChanged(TRUE) + +/obj/machinery/telecomms/onShuttleMove(turf/T1) + . = ..() + if(. && T1) // Update listening Z, just in case you have telecomm relay on a shuttle + listening_level = T1.z + +/obj/machinery/mech_bay_recharge_port/afterShuttleMove() + . = ..() + recharging_turf = get_step(loc, dir) + +/obj/machinery/atmospherics/afterShuttleMove() + . = ..() + if(pipe_vision_img) + pipe_vision_img.loc = loc + +/obj/machinery/computer/auxillary_base/onShuttleMove(turf/T1) + . = ..() + if(z == ZLEVEL_MINING) //Avoids double logging and landing on other Z-levels due to badminnery + SSblackbox.add_details("colonies_dropped", "[x]|[y]|[z]") //Number of times a base has been dropped! + +/obj/machinery/gravity_generator/main/beforeShuttleMove() + . = ..() + on = FALSE + update_list() + +/obj/machinery/gravity_generator/main/afterShuttleMove() + . = ..() + if(charge_count != 0 && charging_state != POWER_UP) + on = TRUE + update_list() + +/obj/machinery/thruster/beforeShuttleMove() + . = ..() + . = TRUE + +//Properly updates pipes on shuttle movement +/obj/machinery/atmospherics/shuttleRotate(rotation) + var/list/real_node_connect = getNodeConnects() + for(DEVICE_TYPE_LOOP) + real_node_connect[I] = angle2dir(rotation+dir2angle(real_node_connect[I])) + + . = ..() + SetInitDirections() + var/list/supposed_node_connect = getNodeConnects() + var/list/nodes_copy = nodes.Copy() + + for(DEVICE_TYPE_LOOP) + var/new_pos = supposed_node_connect.Find(real_node_connect[I]) + nodes[new_pos] = nodes_copy[I] + +/obj/machinery/atmospherics/afterShuttleMove() + . = ..() + var/missing_nodes = FALSE + for(DEVICE_TYPE_LOOP) + if(src.nodes[I]) + var/obj/machinery/atmospherics/node = src.nodes[I] + var/connected = FALSE + for(var/D in GLOB.cardinals) + if(node in get_step(src, D)) + connected = TRUE + break + + if(!connected) + nullifyNode(I) + + if(!src.nodes[I]) + missing_nodes = TRUE + + if(missing_nodes) + atmosinit() + for(var/obj/machinery/atmospherics/A in pipeline_expansion()) + A.atmosinit() + if(A.returnPipenet()) + A.addMember(src) + build_network() + else + // atmosinit() calls update_icon(), so we don't need to call it + update_icon() + +/obj/machinery/atmospherics/pipe/afterShuttleMove() + . = ..() + var/turf/T = loc + hide(T.intact) + +/obj/machinery/navbeacon/beforeShuttleMove() + . = ..() + GLOB.navbeacons["[z]"] -= src + GLOB.deliverybeacons -= src + +/obj/machinery/navbeacon/afterShuttleMove() + . = ..() + var/turf/T = loc + hide(T.intact) + if(codes["patrol"]) + if(!GLOB.navbeacons["[z]"]) + GLOB.navbeacons["[z]"] = list() + GLOB.navbeacons["[z]"] += src //Register with the patrol list! + if(codes["delivery"]) + GLOB.deliverybeacons += src + GLOB.deliverybeacontags += location + +/obj/machinery/power/terminal/afterShuttleMove() + . = ..() + var/turf/T = src.loc + if(level==1) + hide(T.intact) + +/************************************Item move procs************************************/ + +/obj/item/weapon/storage/pod/onShuttleMove() + unlocked = TRUE + // If the pod was launched, the storage will always open. + return ..() + +/************************************Mob move procs************************************/ + +/mob/onShuttleMove() + if(!move_on_shuttle) + return 0 + . = ..() + if(!.) + return + if(client) + if(buckled) + shake_camera(src, 2, 1) // turn it down a bit come on + else + shake_camera(src, 7, 1) + +/mob/living/afterShuttleMove(list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir) + . = ..() + if(movement_force && !buckled) + if(movement_force["THROW"]) + var/throw_dir = move_dir + var/turf/target = get_edge_target_turf(src, throw_dir) + var/range = movement_force["THROW"] + var/speed = range/5 + src.throw_at(target, range, speed) + if(movement_force["KNOCKDOWN"]) + Knockdown(movement_force["KNOCKDOWN"]) + +/mob/living/simple_animal/hostile/megafauna/onShuttleMove() + var/turf/oldT = loc + . = ..() + message_admins("Megafauna [src] [ADMIN_FLW(src)] moved via shuttle from [ADMIN_COORDJMP(oldT)] to [ADMIN_COORDJMP(loc)]") + +/************************************Structure move procs************************************/ + +/obj/structure/grille/beforeShuttleMove() + . = ..() + . = TRUE + +/obj/structure/lattice/beforeShuttleMove() + . = ..() + . = TRUE + +/obj/structure/disposalpipe/afterShuttleMove() + . = ..() + update() + +/obj/structure/cable/afterShuttleMove() + . = ..() + var/turf/T = loc + if(level==1) + hide(T.intact) + +/************************************Misc move procs************************************/ + +/atom/movable/lighting_object/onShuttleMove() + return FALSE + +/atom/movable/light/onShuttleMove() + return FALSE + +/obj/docking_port/stationary/onShuttleMove(turf/newT, turf/oldT, rotation, list/movement_force) + var/obj/docking_port/mobile/docked_port = get_docked() + if(!docked_port) + docked_port = locate(/obj/docking_port/mobile) in newT + + if(docked_port && locate(/obj/docking_port/stationary) in newT) + return FALSE //There's a mobile dock that's moving to the new turf to be with another stationary dock! After all I did for them... + + . = ..() + +obj/docking_port/stationary/public_mining_dock/onShuttleMove() + id = "mining_public" //It will not move with the base, but will become enabled as a docking point. + return 0 + +/obj/effect/abstract/proximity_checker/onShuttleMove() + //timer so it only happens once + addtimer(CALLBACK(monitor, /datum/proximity_monitor/proc/SetRange, monitor.current_range, TRUE), 0, TIMER_UNIQUE) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index f850bbb606..d25fc4ab95 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -74,7 +74,7 @@ //returns turfs within our projected rectangle in a specific order. //this ensures that turfs are copied over in the same order, regardless of any rotation -/obj/docking_port/proc/return_ordered_turfs(_x, _y, _z, _dir, area/A) +/obj/docking_port/proc/return_ordered_turfs(_x, _y, _z, _dir, area_type) if(!_dir) _dir = dir if(!_x) @@ -105,8 +105,8 @@ xi = _x + (dx-dwidth)*cos - (dy-dheight)*sin yi = _y + (dy-dheight)*cos + (dx-dwidth)*sin var/turf/T = locate(xi, yi, _z) - if(A) - if(get_area(T) == A) + if(area_type) + if(istype(get_area(T), area_type)) . += T else . += null @@ -142,6 +142,7 @@ name = "dock" var/turf_type = /turf/open/space + var/baseturf_type = /turf/open/space var/area_type = /area/space var/last_dock_time @@ -173,14 +174,16 @@ SSshuttle.transit += src /obj/docking_port/stationary/transit/proc/dezone() - for(var/i in assigned_turfs) - var/turf/T = i + for(var/i in 1 to assigned_turfs.len) + var/turf/T = assigned_turfs[i] if(T.type == turf_type) - T.ChangeTurf(/turf/open/space) + T.ChangeTurf(/turf/open/space,new_baseturf=/turf/open/space) T.flags |= UNUSED_TRANSIT_TURF /obj/docking_port/stationary/transit/Destroy(force=FALSE) if(force) + if(get_docked()) + to_chat("A transit dock was destroyed while something was docked to it.") SSshuttle.transit -= src if(owner) owner = null @@ -195,7 +198,8 @@ name = "shuttle" icon_state = "pinonclose" - var/area/shuttle/areaInstance + var/area_type = /area/shuttle + var/list/area/shuttle/shuttle_areas var/timer //used as a timer (if you want time left to complete move, use timeLeft proc) var/last_timer_length @@ -217,7 +221,7 @@ var/launch_status = NOLAUNCH - var/knockdown = TRUE //Will it knock down mobs when it docks? + var/list/movement_force = list("KNOCKDOWN" = 3, "THROW" = 0) // A timid shuttle will not register itself with the shuttle subsystem // All shuttle templates are timid @@ -237,7 +241,7 @@ destination = null previous = null assigned_transit = null - areaInstance = null + shuttle_areas = null . = ..() /obj/docking_port/mobile/Initialize(mapload) @@ -245,19 +249,18 @@ if(!timid) register() - var/area/A = get_area(src) - if(istype(A, /area/shuttle)) - areaInstance = A - if(!id) id = "[SSshuttle.mobile.len]" if(name == "shuttle") name = "shuttle[SSshuttle.mobile.len]" - if(!areaInstance) - areaInstance = new() - areaInstance.name = name - areaInstance.contents += return_ordered_turfs() + shuttle_areas = list() + var/list/all_turfs = return_ordered_turfs(x, y, z, dir) + for(var/i in 1 to all_turfs.len) + var/turf/curT = all_turfs[i] + var/area/cur_area = curT.loc + if(istype(cur_area, area_type)) + shuttle_areas[cur_area] = TRUE initial_engines = count_engines() current_engines = initial_engines @@ -378,32 +381,41 @@ /obj/docking_port/mobile/proc/jumpToNullSpace() // Destroys the docking port and the shuttle contents. // Not in a fancy way, it just ceases. - var/obj/docking_port/stationary/S0 = get_docked() + var/obj/docking_port/stationary/current_dock = get_docked() + var/turf_type = /turf/open/space + var/baseturf_type = /turf/open/space var/area_type = /area/space // If the shuttle is docked to a stationary port, restore its normal // "empty" area and turf - if(S0) - if(S0.turf_type) - turf_type = S0.turf_type - if(S0.area_type) - area_type = S0.area_type + if(current_dock) + if(current_dock.turf_type) + turf_type = current_dock.turf_type + if(current_dock.baseturf_type) + baseturf_type = current_dock.baseturf_type + if(current_dock.area_type) + area_type = current_dock.area_type - var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) + var/list/shuttle_turfs = return_ordered_turfs(x, y, z, dir, area_type) //remove area surrounding docking port - if(areaInstance.contents.len) - var/area/A0 = locate("[area_type]") - if(!A0) - A0 = new area_type(null) - for(var/turf/T0 in L0) - A0.contents += T0 + for(var/i in 1 to shuttle_areas.len) + var/area/shuttle_area = shuttle_areas[i] + if(shuttle_area.contents.len) + var/area/underlying_area = locate("[area_type]") + if(!underlying_area) + underlying_area = new area_type(null) + for(var/ii in shuttle_turfs) + var/turf/T = shuttle_turfs[ii] + var/area/old_area = T.loc + underlying_area.contents += T + T.change_area(old_area, underlying_area) - for(var/i in L0) - var/turf/T0 =i - if(!T0) + for(var/i in shuttle_turfs) + var/turf/T = i + if(!T) continue - T0.empty(turf_type) + T.empty(turf_type, baseturf_type) qdel(src, force=TRUE) @@ -418,7 +430,7 @@ ripples.Cut() /obj/docking_port/mobile/proc/ripple_area(obj/docking_port/stationary/S1) - var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) + var/list/L0 = return_ordered_turfs(x, y, z, dir, area_type) var/list/L1 = return_ordered_turfs(S1.x, S1.y, S1.z, S1.dir) var/list/ripple_turfs = list() @@ -439,117 +451,134 @@ for(var/obj/machinery/door/poddoor/shuttledock/pod in GLOB.airlocks) pod.check() -//this is the main proc. It instantly moves our mobile port to stationary port S1 -//it handles all the generic behaviour, such as sanity checks, closing doors on the shuttle, stunning mobs, etc -/obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/S1, force=FALSE) - if(S1.get_docked() == src) - remove_ripples() - return +//this is the main proc. It instantly moves our mobile port to stationary port new_dock +/obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/new_dock, movement_direction, force=FALSE) // Crashing this ship with NO SURVIVORS + + if(new_dock.get_docked() == src) + remove_ripples() + return DOCKING_COMPLETE + if(!force) - if(!check_dock(S1)) - return -1 + if(!check_dock(new_dock)) + return DOCKING_BLOCKED if(!canMove()) - return -1 + return DOCKING_IMMOBILIZED - var/obj/docking_port/stationary/S0 = get_docked() - var/turf_type = /turf/open/space - var/area_type = /area/space - if(S0) - if(S0.turf_type) - turf_type = S0.turf_type - if(S0.area_type) - area_type = S0.area_type + var/obj/docking_port/stationary/old_dock = get_docked() + var/turf_type = /turf/open/space //The turf that gets placed under where the shuttle moved from + var/baseturf_type = /turf/open/space //The baseturf that the gets assigned to the turf_type above + var/area_type = /area/space //The area that gets placed under where the shuttle moved from + if(old_dock) //Dock overwrites + if(old_dock.turf_type) + turf_type = old_dock.turf_type + if(old_dock.baseturf_type) + baseturf_type = old_dock.baseturf_type + if(old_dock.area_type) + area_type = old_dock.area_type - var/destination_turf_type = S1.turf_type + var/list/old_turfs = return_ordered_turfs(x, y, z, dir) + var/list/new_turfs = return_ordered_turfs(new_dock.x, new_dock.y, new_dock.z, new_dock.dir) + var/list/old_contents = list() //Lists of turfs to only move contents and area but not move the turf + var/list/new_contents = list() //For structures etc that act attached to the ship - var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) - var/list/L1 = return_ordered_turfs(S1.x, S1.y, S1.z, S1.dir) + var/area/underlying_old_area = locate("[area_type]") + if(!underlying_old_area) + underlying_old_area = new area_type(null) - var/rotation = dir2angle(S1.dir)-dir2angle(dir) - if ((rotation % 90) != 0) - rotation += (rotation % 90) //diagonal rotations not allowed, round up - rotation = SimplifyDegrees(rotation) + var/rotation = 0 + if(new_dock.dir != dir) //Even when the dirs are the same rotation is coming out as not 0 for some reason + rotation = dir2angle(new_dock)-dir2angle(dir) + if ((rotation % 90) != 0) + rotation += (rotation % 90) //diagonal rotations not allowed, round up + rotation = SimplifyDegrees(rotation) + + if(!movement_direction) + movement_direction = turn(preferred_direction, 180) - //remove area surrounding docking port - if(areaInstance.contents.len) - var/area/A0 = locate("[area_type]") - if(!A0) - A0 = new area_type(null) - for(var/turf/T0 in L0) - var/area/old = T0.loc - A0.contents += T0 - T0.change_area(old, A0) - if (istype(S1, /obj/docking_port/stationary/transit)) - areaInstance.parallax_movedir = preferred_direction - else - areaInstance.parallax_movedir = FALSE remove_ripples() - //move or squish anything in the way ship at destination - roadkill(L0, L1, S1.dir) + var/list/moved_atoms = list() //Everything not a turf that gets moved in the shuttle + var/list/areas_to_move = list() //unique assoc list of areas on turfs being moved - - for(var/i in 1 to L0.len) - var/turf/T0 = L0[i] - if(!T0) + /****************************************All beforeShuttleMove procs*****************************************/ + var/index = 1 + while(index <= old_turfs.len) + var/turf/oldT = old_turfs[index] + var/turf/newT = new_turfs[index] + var/area/old_area = oldT.loc + var/move_turf = TRUE //Should this turf be moved, if false remove from the turf list + if(!(shuttle_areas[old_area])) + move_turf = FALSE + if(move_turf) + move_turf = oldT.fromShuttleMove(newT, turf_type, baseturf_type) //turf + if(move_turf) //Only call toShuttleMove if the source turf is willing to move + move_turf = newT.toShuttleMove(oldT, dir) //turf + for(var/ii in 1 to oldT.contents.len) + var/atom/movable/moving_atom = oldT.contents[ii] + if(moving_atom.beforeShuttleMove(newT, rotation) && !move_turf) //atoms + old_contents += oldT + new_contents += newT + if(!move_turf) + old_turfs.Cut(index,index+1) + new_turfs.Cut(index,index+1) continue - var/turf/T1 = L1[i] - if(!T1) + areas_to_move[old_area] = TRUE + index++ + + for(var/thing in areas_to_move) + var/area/internal_area = thing + internal_area.beforeShuttleMove() //areas + + if(!old_turfs.len && !old_contents.len) //This should only happen if no shuttle area has been specified + return DOCKING_AREA_EMPTY + + /*******************************************All onShuttleMove procs******************************************/ + + for(var/i in 1 to old_turfs.len) + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] + if(!oldT || !newT) //This really shouldn't happen continue - if(T0.type == T0.baseturf) + for(var/thing in oldT) //Needs to be this kind of loop in case, because of shuttle rotation shenanigans, the destination turf is the same as the source turf + var/atom/movable/moving_atom = thing + moving_atom.onShuttleMove(newT, oldT, rotation, movement_force, movement_direction) //atoms + moved_atoms += moving_atom + oldT.onShuttleMove(newT, turf_type, baseturf_type, rotation, movement_force, movement_direction) //turfs + var/area/shuttle_area = oldT.loc + shuttle_area.onShuttleMove(oldT, newT, underlying_old_area) //areas + + for(var/i in 1 to old_contents.len) //This is for moving atoms that need to move without their turf + var/turf/oldT = old_contents[i] //I'll figure out a way of merging these loops eventualy, probably + var/turf/newT = new_contents[i] + if(!oldT || !newT) continue - for(var/atom/movable/AM in T0) - AM.beforeShuttleMove(T1, rotation) + for(var/thing in oldT) + var/atom/movable/moving_atom = thing + moving_atom.onShuttleMove(newT, oldT, rotation, movement_force, movement_direction) //atoms + moved_atoms += moving_atom + + /******************************************All afterShuttleMove procs****************************************/ + + for(var/i in 1 to new_turfs.len) + var/turf/oldT = old_turfs[i] + var/turf/newT = new_turfs[i] + newT.afterShuttleMove(oldT) //turfs - var/list/moved_atoms = list() + for(var/i in 1 to moved_atoms.len) + var/atom/movable/moved_object = moved_atoms[i] + moved_object.afterShuttleMove(movement_force, dir, preferred_direction, movement_direction) //atoms - for(var/i in 1 to L0.len) - var/turf/T0 = L0[i] - if(!T0) - continue - var/turf/T1 = L1[i] - if(!T1) - continue - if(T0.type != T0.baseturf) //So if there is a hole in the shuttle we don't drag along the space/asteroid/etc to wherever we are going next - T0.copyTurf(T1) - T1.baseturf = destination_turf_type - var/area/old = T1.loc - areaInstance.contents += T1 - T1.change_area(old, areaInstance) + underlying_old_area.afterShuttleMove() - //copy over air - if(isopenturf(T1)) - var/turf/open/Ts1 = T1 - Ts1.copy_air_with_tile(T0) + for(var/thing in areas_to_move) + var/area/internal_area = thing + internal_area.afterShuttleMove() //areas - //move mobile to new location - for(var/atom/movable/AM in T0) - if(AM.onShuttleMove(T1, rotation, knockdown)) - moved_atoms += AM + new_dock.last_dock_time = world.time + setDir(new_dock.dir) - if(rotation) - T1.shuttleRotate(rotation) - - SSair.remove_from_active(T1) - T1.CalculateAdjacentTurfs() - SSair.add_to_active(T1,1) - - T0.ChangeTurf(turf_type) - - SSair.remove_from_active(T0) - T0.CalculateAdjacentTurfs() - SSair.add_to_active(T0,1) - - for(var/am in moved_atoms) - var/atom/movable/AM = am - AM.afterShuttleMove() - - check_poddoors() - S1.last_dock_time = world.time - - loc = S1.loc - setDir(S1.dir) + return DOCKING_SUCCESS /obj/docking_port/mobile/proc/findRoundstartDock() return SSshuttle.getDock(roundstart_move) @@ -567,40 +596,6 @@ /obj/effect/landmark/shuttle_import name = "Shuttle Import" -/obj/docking_port/mobile/proc/roadkill(list/L0, list/L1, dir) - for(var/i in 1 to L0.len) - var/turf/T0 = L0[i] - var/turf/T1 = L1[i] - if(!T0 || !T1) - continue - if(T0.type == T0.baseturf) - continue - // The corresponding tile will not be changed, so no roadkill - - for(var/atom/movable/AM in T1) - if(ismob(AM)) - if(isliving(AM)) - var/mob/living/M = AM - if(M.buckled) - M.buckled.unbuckle_mob(M, 1) - if(M.pulledby) - M.pulledby.stop_pulling() - M.stop_pulling() - M.visible_message("[src] slams into [M]!") - if(M.key || M.get_ghost(TRUE)) - SSblackbox.add_details("shuttle_gib", "[type]") - else - SSblackbox.add_details("shuttle_gib_unintelligent", "[type]") - M.gib() - - else //non-living mobs shouldn't be affected by shuttles, which is why this is an else - if(istype(AM, /obj/singularity) && !istype(AM, /obj/singularity/narsie)) //it's a singularity but not a god, ignore it. - continue - if(!AM.anchored) - step(AM, dir) - else - qdel(AM) - //used by shuttle subsystem to check timers /obj/docking_port/mobile/proc/check() check_effects() @@ -614,7 +609,7 @@ // then try again switch(mode) if(SHUTTLE_CALL) - if(dock(destination)) + if(dock(destination, preferred_direction)) setTimer(20) return if(SHUTTLE_RECALL) @@ -643,14 +638,19 @@ create_ripples(destination, tl) var/obj/docking_port/stationary/S0 = get_docked() - if(areaInstance.parallax_movedir && istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= PARALLAX_LOOP_TIME) - parallax_slowdown() + if(istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= PARALLAX_LOOP_TIME) + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + if(shuttle_area.parallax_movedir) + parallax_slowdown() /obj/docking_port/mobile/proc/parallax_slowdown() - areaInstance.parallax_movedir = FALSE + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + shuttle_area.parallax_movedir = FALSE if(assigned_transit && assigned_transit.assigned_area) assigned_transit.assigned_area.parallax_movedir = FALSE - var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) + var/list/L0 = return_ordered_turfs(x, y, z, dir, area_type) for (var/thing in L0) var/turf/T = thing for (var/thing2 in T) @@ -740,9 +740,11 @@ // attempts to locate /obj/machinery/computer/shuttle with matching ID inside the shuttle /obj/docking_port/mobile/proc/getControlConsole() - for(var/obj/machinery/computer/shuttle/S in areaInstance) - if(S.shuttleId == id) - return S + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + for(var/obj/machinery/computer/shuttle/S in shuttle_area) + if(S.shuttleId == id) + return S return null /obj/docking_port/mobile/proc/hyperspace_sound(phase, list/areas) @@ -785,9 +787,11 @@ /obj/docking_port/mobile/proc/count_engines() . = 0 - for(var/obj/structure/shuttle/engine/E in areaInstance.contents) - if(!QDELETED(E)) - . += E.engine_power + for(var/thing in shuttle_areas) + var/area/shuttle/areaInstance = thing + for(var/obj/structure/shuttle/engine/E in areaInstance.contents) + if(!QDELETED(E)) + . += E.engine_power // Double initial engines to get to 0.5 minimum // Lose all initial engines to get to 2 diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index feca936dfb..c0d3714acf 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -41,15 +41,17 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/docking_port/mobile/supply/canMove() if(z == ZLEVEL_STATION) - return check_blacklist(areaInstance) + return check_blacklist(shuttle_areas) return ..() -/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstance) - for(var/trf in areaInstance) - var/turf/T = trf - for(var/a in T.GetAllContents()) - if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types)) - return FALSE +/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances) + for(var/place in areaInstances) + var/area/shuttle/shuttle_area = place + for(var/trf in shuttle_area) + var/turf/T = trf + for(var/a in T.GetAllContents()) + if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types)) + return FALSE return TRUE /obj/docking_port/mobile/supply/request() @@ -70,10 +72,12 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( return var/list/empty_turfs = list() - for(var/turf/open/floor/T in areaInstance) - if(is_blocked_turf(T)) - continue - empty_turfs += T + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + for(var/turf/open/floor/T in shuttle_area) + if(is_blocked_turf(T)) + continue + empty_turfs += T var/value = 0 var/purchases = 0 @@ -107,10 +111,12 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( var/msg = "" var/sold_atoms = "" - for(var/atom/movable/AM in areaInstance) - if(AM.anchored && !istype(AM, /obj/mecha)) - continue - sold_atoms += export_item_and_contents(AM, contraband, emagged, dry_run = FALSE) + for(var/place in shuttle_areas) + var/area/shuttle/shuttle_area = place + for(var/atom/movable/AM in shuttle_area) + if(AM.anchored) + continue + sold_atoms += export_item_and_contents(AM, contraband, emagged, dry_run = FALSE) if(sold_atoms) sold_atoms += "."