diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_1.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_1.dmm new file mode 100644 index 00000000000..2d2a3b57b75 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_1.dmm @@ -0,0 +1,46 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/clockwork, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/clockwork, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +b +a +c +"} +(2,1,1) = {" +c +c +b +c +c +"} +(3,1,1) = {" +c +c +b +c +c +"} +(4,1,1) = {" +c +c +b +c +c +"} +(5,1,1) = {" +c +a +b +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_2.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_2.dmm new file mode 100644 index 00000000000..7996a2aa6d4 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_2.dmm @@ -0,0 +1,46 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/engine/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +b +a +c +"} +(2,1,1) = {" +c +c +b +c +c +"} +(3,1,1) = {" +c +c +b +c +c +"} +(4,1,1) = {" +c +c +b +c +c +"} +(5,1,1) = {" +c +a +b +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_3.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_3.dmm new file mode 100644 index 00000000000..2d3360cc580 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_3.dmm @@ -0,0 +1,73 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/obj/structure/stone_tile/surrounding, +/obj/structure/stone_tile/center, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"g" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"h" = ( +/obj/structure/stone_tile/slab, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"m" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"o" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/burnt, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +h +a +c +"} +(2,1,1) = {" +c +c +m +c +c +"} +(3,1,1) = {" +c +c +b +c +c +"} +(4,1,1) = {" +c +c +o +c +c +"} +(5,1,1) = {" +c +a +g +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_4.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_4.dmm new file mode 100644 index 00000000000..272dfcd1246 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_4.dmm @@ -0,0 +1,49 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/indestructible/hierophant, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/indestructible/hierophant, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"o" = ( +/turf/simulated/floor/indestructible/hierophant/two, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +b +a +c +"} +(2,1,1) = {" +c +c +b +c +c +"} +(3,1,1) = {" +c +c +o +c +c +"} +(4,1,1) = {" +c +c +b +c +c +"} +(5,1,1) = {" +c +a +b +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_5.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_5.dmm new file mode 100644 index 00000000000..29b681cae82 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_5.dmm @@ -0,0 +1,56 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/mineral/wood/nonmetal, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/wood, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"v" = ( +/turf/simulated/floor/wood{ + icon_state = "wood-broken3" + }, +/area/lavaland/surface/outdoors/unexplored/danger) +"C" = ( +/turf/simulated/floor/wood{ + icon_state = "wood-broken7" + }, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +C +a +c +"} +(2,1,1) = {" +c +c +b +c +c +"} +(3,1,1) = {" +c +c +b +c +c +"} +(4,1,1) = {" +c +c +v +c +c +"} +(5,1,1) = {" +c +a +b +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_6.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_6.dmm new file mode 100644 index 00000000000..2cfe9bd7446 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_horizontal_6.dmm @@ -0,0 +1,49 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/marker_beacon/dock_marker/collision, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/obj/structure/lattice/catwalk/mining, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +a +b +a +c +"} +(2,1,1) = {" +c +c +b +c +c +"} +(3,1,1) = {" +c +c +b +c +c +"} +(4,1,1) = {" +c +c +b +c +c +"} +(5,1,1) = {" +c +a +b +a +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_1.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_1.dmm new file mode 100644 index 00000000000..473e4df56c6 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_1.dmm @@ -0,0 +1,46 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/clockwork, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/clockwork, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +a +c +c +c +a +"} +(3,1,1) = {" +b +b +b +b +b +"} +(4,1,1) = {" +a +c +c +c +a +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_2.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_2.dmm new file mode 100644 index 00000000000..44eb0610f50 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_2.dmm @@ -0,0 +1,46 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/engine/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +a +c +c +c +a +"} +(3,1,1) = {" +b +b +b +b +b +"} +(4,1,1) = {" +a +c +c +c +a +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_3.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_3.dmm new file mode 100644 index 00000000000..8fbfe6ba32e --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_3.dmm @@ -0,0 +1,83 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/wall/cult, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/obj/structure/stone_tile/slab, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"w" = ( +/obj/structure/stone_tile/center/cracked, +/obj/structure/stone_tile/surrounding/cracked, +/obj/structure/stone_tile/slab/cracked{ + dir = 10 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"I" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 1 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"M" = ( +/obj/structure/stone_tile/slab/cracked{ + dir = 5 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"R" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +a +c +c +c +a +"} +(3,1,1) = {" +b +I +w +R +M +"} +(4,1,1) = {" +a +c +c +c +a +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_4.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_4.dmm new file mode 100644 index 00000000000..7c187f4aeec --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_4.dmm @@ -0,0 +1,49 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/indestructible/hierophant/two, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/indestructible/hierophant, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"y" = ( +/turf/simulated/wall/indestructible/hierophant, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +y +c +c +c +y +"} +(3,1,1) = {" +a +a +b +a +a +"} +(4,1,1) = {" +y +c +c +c +y +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_5.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_5.dmm new file mode 100644 index 00000000000..15f612927e4 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_5.dmm @@ -0,0 +1,62 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/wood, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/turf/simulated/floor/wood{ + broken = 1; + icon_state = "wood-broken" + }, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"q" = ( +/turf/simulated/floor/wood{ + icon_state = "wood-broken3" + }, +/area/lavaland/surface/outdoors/unexplored/danger) +"y" = ( +/turf/simulated/wall/mineral/wood, +/area/lavaland/surface/outdoors/unexplored/danger) +"S" = ( +/turf/simulated/floor/wood{ + icon_state = "wood-broken7" + }, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +y +c +c +c +y +"} +(3,1,1) = {" +q +a +b +a +S +"} +(4,1,1) = {" +y +c +c +c +y +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_6.dmm b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_6.dmm new file mode 100644 index 00000000000..ae47effe5fc --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/lavaland_bridge_vertical_6.dmm @@ -0,0 +1,49 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/marker_beacon/dock_marker, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"b" = ( +/obj/structure/lattice/catwalk/mining, +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) +"c" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors/unexplored/danger) + +(1,1,1) = {" +c +c +c +c +c +"} +(2,1,1) = {" +b +c +c +c +b +"} +(3,1,1) = {" +b +a +b +a +b +"} +(4,1,1) = {" +b +c +c +c +b +"} +(5,1,1) = {" +c +c +c +c +c +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm index 5629bb19b49..cb963246b39 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm @@ -93,7 +93,7 @@ /obj/structure/stone_tile{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "r" = ( /obj/structure/stone_tile/block{ @@ -106,7 +106,7 @@ /obj/structure/stone_tile/cracked{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "t" = ( /obj/structure/stone_tile/surrounding/cracked{ @@ -115,14 +115,14 @@ /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "u" = ( /obj/structure/stone_tile{ dir = 1 }, /obj/structure/stone_tile/block/cracked, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "v" = ( /obj/structure/stone_tile{ @@ -136,7 +136,7 @@ /obj/structure/stone_tile/block/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "x" = ( /obj/structure/stone_tile{ diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm index 052ac940448..eb87e9f8e66 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm @@ -10,7 +10,7 @@ }, /area/ruin/unpowered/misc_lavaruin) "c" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/ruin/unpowered/misc_lavaruin) "d" = ( /turf/simulated/wall/cult, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm index 66a8ba0e158..6db766c602d 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm @@ -51,7 +51,7 @@ }, /area/lavaland/surface/outdoors/unexplored) "l" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors/unexplored) "m" = ( /obj/item/clockwork/alloy_shards/medium, @@ -75,7 +75,7 @@ /area/lavaland/surface/outdoors/unexplored) "q" = ( /obj/structure/lattice/catwalk/clockwork, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors/unexplored) "r" = ( /obj/structure/lattice/clockwork, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_envy.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_envy.dmm index 2628c8c4f24..8f328c20132 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_envy.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_envy.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors) "c" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "d" = ( /obj/effect/spawner/random_spawners/wall_rusted_always, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm index c6636911f72..3684e0027ce 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm @@ -6,7 +6,7 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "c" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "d" = ( /obj/effect/baseturf_helper/lava_land/surface, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm index 14ef5982d63..7e1bc2f11e0 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors) "c" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "d" = ( /obj/effect/baseturf_helper/lava_land/surface, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm index d1b00e4775a..51dcf1d6225 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm @@ -8,7 +8,7 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "m" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "r" = ( /obj/effect/mapping_helpers/no_lava, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm index 314a7285bf0..d308b8fcdaa 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm @@ -6,7 +6,7 @@ /turf/simulated/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors) "c" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "d" = ( /obj/effect/baseturf_helper/lava_land/surface, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm index a3dd45e2845..f2cdee32a34 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_sloth.dmm @@ -3,7 +3,7 @@ /turf/simulated/wall/indestructible/riveted, /area/ruin/unpowered/misc_lavaruin) "b" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/ruin/unpowered/misc_lavaruin) "c" = ( /obj/item/paper/fluff/stations/lavaland/sloth/note, diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm index b0323d3ed42..f0f246a4aa7 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm @@ -124,7 +124,7 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/xenonest) "G" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "H" = ( /obj/structure/alien/weeds, diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm index 1a17cc1a69d..fbe5798597d 100644 --- a/_maps/map_files/generic/Lavaland.dmm +++ b/_maps/map_files/generic/Lavaland.dmm @@ -60,7 +60,7 @@ /turf/simulated/mineral/random/volcanic, /area/lavaland/surface/outdoors) "aj" = ( -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "ak" = ( /turf/simulated/mineral/random/volcanic, @@ -1779,7 +1779,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "dP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1850,7 +1850,7 @@ dir = 1 }, /obj/structure/lattice/catwalk/mining, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "dU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -3175,7 +3175,7 @@ /area/mine/sleeper) "go" = ( /obj/structure/stone_tile/block, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "gp" = ( /obj/structure/closet/secure_closet/miner, @@ -3417,13 +3417,13 @@ /obj/structure/stone_tile/block{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "gO" = ( /obj/structure/stone_tile/block{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "gP" = ( /obj/structure/stone_tile/slab, @@ -3464,7 +3464,7 @@ /obj/structure/stone_tile/block{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "hv" = ( /obj/effect/decal/cleanable/dirt, @@ -3750,7 +3750,7 @@ /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "jH" = ( /obj/structure/stone_tile/surrounding_tile{ @@ -3761,7 +3761,7 @@ /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "jK" = ( /turf/simulated/floor/plasteel{ @@ -3778,7 +3778,7 @@ /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "jN" = ( /obj/structure/stone_tile/surrounding_tile{ @@ -3789,7 +3789,7 @@ }, /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/center/cracked, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "jP" = ( /obj/effect/spawner/random_spawners/wall_rusted_maybe, @@ -3870,7 +3870,7 @@ /obj/structure/stone_tile/surrounding_tile/cracked{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "kD" = ( /obj/structure/stone_tile/surrounding_tile{ @@ -3883,7 +3883,7 @@ dir = 8 }, /obj/structure/stone_tile/center, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "kH" = ( /obj/structure/stone_tile/surrounding_tile{ @@ -3894,7 +3894,7 @@ dir = 4 }, /obj/structure/stone_tile/center/cracked, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "kI" = ( /turf/simulated/wall/mineral/titanium, @@ -3910,7 +3910,7 @@ dir = 1 }, /obj/structure/stone_tile/center, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "kM" = ( /obj/structure/stone_tile/block/cracked{ @@ -3996,7 +3996,7 @@ /obj/structure/stone_tile/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lu" = ( /obj/structure/stone_tile/block/cracked{ @@ -4015,17 +4015,17 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lw" = ( /obj/structure/stone_tile/cracked, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "ly" = ( /obj/structure/stone_tile/cracked{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lz" = ( /obj/structure/stone_tile/cracked{ @@ -4034,7 +4034,7 @@ /obj/structure/stone_tile/block{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lD" = ( /obj/structure/stone_tile/block/cracked{ @@ -4043,7 +4043,7 @@ /obj/structure/stone_tile/block/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lE" = ( /obj/structure/stone_tile/block/cracked{ @@ -4052,7 +4052,7 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lF" = ( /obj/structure/stone_tile/block/cracked{ @@ -4064,7 +4064,7 @@ /obj/structure/stone_tile{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lG" = ( /obj/structure/stone_tile/block/cracked{ @@ -4077,7 +4077,7 @@ /obj/structure/stone_tile/cracked{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lO" = ( /obj/effect/decal/cleanable/dirt, @@ -4100,7 +4100,7 @@ /obj/structure/stone_tile/surrounding/cracked{ dir = 6 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lR" = ( /obj/structure/stone_tile/block/cracked{ @@ -4122,14 +4122,14 @@ /obj/structure/stone_tile/cracked{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lW" = ( /obj/structure/stone_tile/block/cracked, /obj/structure/stone_tile/block/cracked{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "lZ" = ( /obj/structure/stone_tile/block/cracked{ @@ -4138,7 +4138,7 @@ /obj/structure/stone_tile/cracked{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "ma" = ( /obj/structure/stone_tile/block/cracked{ @@ -4157,7 +4157,7 @@ /obj/structure/stone_tile/block{ dir = 8 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "mi" = ( /obj/machinery/computer/security{ @@ -4188,7 +4188,7 @@ dir = 8 }, /obj/structure/stone_tile/cracked, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "mn" = ( /obj/structure/stone_tile/block/cracked, @@ -4254,7 +4254,7 @@ /obj/structure/stone_tile{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "mw" = ( /obj/structure/stone_tile{ @@ -4263,11 +4263,11 @@ /obj/structure/stone_tile{ dir = 4 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "mx" = ( /obj/structure/stone_tile, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "my" = ( /obj/structure/stone_tile/cracked{ @@ -4300,7 +4300,7 @@ /obj/structure/stone_tile{ dir = 1 }, -/turf/simulated/floor/plating/lava/smooth/lava_land_surface, +/turf/simulated/floor/plating/lava/smooth/mapping_lava, /area/lavaland/surface/outdoors) "mD" = ( /obj/structure/stone_tile, diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 387a43cadf1..b380d059cd8 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -546,3 +546,9 @@ #define DEADCHAT_ANARCHY_MODE (1<<1) /// Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy. #define MUTE_DEADCHAT_DEMOCRACY_MESSAGES (1<<2) + +// Lavaland cave design defines + +#define BLOCKED_BURROWS "Blocked Burrows" +#define CLASSIC_CAVES "Classic Caves" +#define DEADLY_DEEPROCK "Deadly Deeprock" diff --git a/code/_globalvars/mapping_vars.dm b/code/_globalvars/mapping_vars.dm index f734c6ed723..67857902c53 100644 --- a/code/_globalvars/mapping_vars.dm +++ b/code/_globalvars/mapping_vars.dm @@ -50,4 +50,6 @@ GLOBAL_LIST_EMPTY(space_ruins_templates) GLOBAL_LIST_EMPTY(lava_ruins_templates) GLOBAL_LIST_EMPTY(shelter_templates) GLOBAL_LIST_EMPTY(shuttle_templates) +GLOBAL_LIST_EMPTY(bridge_horizontal_templates) +GLOBAL_LIST_EMPTY(bridge_vertical_templates) GLOBAL_LIST_EMPTY(event_templates) diff --git a/code/controllers/subsystem/non_firing/SSmapping.dm b/code/controllers/subsystem/non_firing/SSmapping.dm index a823d924d8b..60cbe444e16 100644 --- a/code/controllers/subsystem/non_firing/SSmapping.dm +++ b/code/controllers/subsystem/non_firing/SSmapping.dm @@ -12,6 +12,10 @@ SUBSYSTEM_DEF(mapping) var/list/ghostteleportlocs ///List of areas that exist on the station this shift var/list/existing_station_areas + ///What do we have as the lavaland theme today? + var/turf/simulated/floor/lavaland_theme + ///What primary cave theme we have picked for cave generation today. + var/cave_theme // This has to be here because world/New() uses [station_name()], which looks this datum up /datum/controller/subsystem/mapping/PreInit() @@ -36,6 +40,10 @@ SUBSYSTEM_DEF(mapping) F << next_map.type /datum/controller/subsystem/mapping/Initialize() + lavaland_theme = pick(/turf/simulated/floor/plating/lava/smooth/lava_land_surface, /turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma, /turf/simulated/floor/chasm/straight_down/lava_land_surface) + log_startup_progress("We feel like [lavaland_theme] today...") //We load this first. In the event some nerd ever makes a surface map, and we don't have it in lavaland in the event lavaland is disabled. + cave_theme = pick(BLOCKED_BURROWS, CLASSIC_CAVES, DEADLY_DEEPROCK) + log_startup_progress("We feel like [cave_theme] today...") // Load all Z level templates preloadTemplates() @@ -63,8 +71,22 @@ SUBSYSTEM_DEF(mapping) log_startup_progress("Populating lavaland...") var/lavaland_setup_timer = start_watch() seedRuins(list(level_name_to_num(MINING)), GLOB.configuration.ruins.lavaland_ruin_budget, /area/lavaland/surface/outdoors/unexplored, GLOB.lava_ruins_templates) - spawn_rivers(level_name_to_num(MINING)) - log_startup_progress("Successfully populated lavaland in [stop_watch(lavaland_setup_timer)]s.") + switch(lavaland_theme) + if(/turf/simulated/floor/plating/lava/smooth/lava_land_surface) + spawn_rivers(level_name_to_num(MINING)) //Default spawn, no tweaks needed + if(/turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma) //More rivers, smaller + spawn_rivers(level_name_to_num(MINING), nodes = 2) + spawn_rivers(level_name_to_num(MINING), nodes = 2) + if(/turf/simulated/floor/chasm/straight_down/lava_land_surface) //Thiner chasms, bridges, reaches to edge of map. + spawn_rivers(level_name_to_num(MINING), nodes = 6, turf_type = /turf/simulated/floor/plating/lava/smooth/mapping_lava, whitelist_area = /area/lavaland/surface/outdoors, min_x = 50, min_y = 7, max_x = 250, max_y = 225, prob = 10, prob_loss = 5) + var/time_spent = stop_watch(lavaland_setup_timer) + log_startup_progress("Successfully populated lavaland in [time_spent]s.") + if(time_spent >= 10) + log_startup_progress("!!!ERROR!!! Lavaland took FAR too long to generate at [time_spent] seconds. Notify maintainers immediately! !!!ERROR!!!") //In 3 testing cases so far, I have had it take far too long to generate. I am 99% sure I have fixed this issue, but never hurts to be sure + WARNING("!!!ERROR!!! Lavaland took FAR too long to generate at [time_spent] seconds. Notify maintainers immediately! !!!ERROR!!!") + var/loud_annoying_alarm = sound('sound/machines/engine_alert1.ogg') + for(var/get_player_attention in GLOB.player_list) + SEND_SOUND(get_player_attention, loud_annoying_alarm) else log_startup_progress("Skipping lavaland ruins...") diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index da7f3c2b683..170f6773b1d 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -122,6 +122,7 @@ preloadRuinTemplates() preloadShelterTemplates() preloadShuttleTemplates() + preloadBridgeTemplates() preloadEventTemplates() /proc/preloadRuinTemplates() @@ -170,6 +171,22 @@ GLOB.shuttle_templates[S.shuttle_id] = S GLOB.map_templates[S.shuttle_id] = S +/proc/preloadBridgeTemplates() + for(var/item in subtypesof(/datum/map_template/ruin/bridge/horizontal)) + var/datum/map_template/ruin/bridge/horizontal/horizontal_type = item + if(!(initial(horizontal_type.suffix))) + continue + var/datum/map_template/ruin/bridge/horizontal/S = new horizontal_type() + GLOB.bridge_horizontal_templates[S.suffix] = S + GLOB.map_templates[S.suffix] = S + for(var/item in subtypesof(/datum/map_template/ruin/bridge/vertical)) + var/datum/map_template/ruin/bridge/horizontal/vertical_type = item + if(!(initial(vertical_type.suffix))) + continue + var/datum/map_template/ruin/bridge/vertical/V = new vertical_type() + GLOB.bridge_vertical_templates[V.suffix] = V + GLOB.map_templates[V.suffix] = V + /proc/preloadEventTemplates() for(var/item in subtypesof(/datum/map_template/event)) var/datum/map_template/event/event_type = item diff --git a/code/datums/ruins/bridges/bridges.dm b/code/datums/ruins/bridges/bridges.dm new file mode 100644 index 00000000000..a23da600dff --- /dev/null +++ b/code/datums/ruins/bridges/bridges.dm @@ -0,0 +1,82 @@ +/datum/map_template/ruin/bridge + prefix = "_maps/map_files/RandomRuins/LavaRuins/chasm_bridges/" + ci_exclude = /datum/map_template/ruin/bridge + +/datum/map_template/ruin/bridge/horizontal + ci_exclude = /datum/map_template/ruin/bridge/horizontal + +/datum/map_template/ruin/bridge/horizontal/one + name = "Horizontal Bridge One" + suffix = "lavaland_bridge_horizontal_1.dmm" + +/datum/map_template/ruin/bridge/horizontal/two + name = "Horizontal Bridge Two" + suffix = "lavaland_bridge_horizontal_2.dmm" + +/datum/map_template/ruin/bridge/horizontal/three + name = "Horizontal Bridge Three" + suffix = "lavaland_bridge_horizontal_3.dmm" + +/datum/map_template/ruin/bridge/horizontal/four + name = "Horizontal Bridge Four" + suffix = "lavaland_bridge_horizontal_4.dmm" + +/datum/map_template/ruin/bridge/horizontal/five + name = "Horizontal Bridge Five" + suffix = "lavaland_bridge_horizontal_5.dmm" + +/datum/map_template/ruin/bridge/horizontal/six + name = "Horizontal Bridge Six" + suffix = "lavaland_bridge_horizontal_6.dmm" + +/datum/map_template/ruin/bridge/vertical + ci_exclude = /datum/map_template/ruin/bridge/vertical + +/datum/map_template/ruin/bridge/vertical/one + name = "Vertical Bridge One" + suffix = "lavaland_bridge_vertical_1.dmm" + +/datum/map_template/ruin/bridge/vertical/two + name = "Vertical Bridge Two" + suffix = "lavaland_bridge_vertical_2.dmm" + +/datum/map_template/ruin/bridge/vertical/three + name = "Vertical Bridge Three" + suffix = "lavaland_bridge_vertical_3.dmm" + +/datum/map_template/ruin/bridge/vertical/four + name = "Vertical Bridge Four" + suffix = "lavaland_bridge_vertical_4.dmm" + +/datum/map_template/ruin/bridge/vertical/five + name = "Vertical Bridge Five" + suffix = "lavaland_bridge_vertical_5.dmm" + +/datum/map_template/ruin/bridge/vertical/six + name = "Vertical Bridge Six" + suffix = "lavaland_bridge_vertical_6.dmm" + +/obj/effect/spawner/bridge + name = "Bridge spawner" + var/datum/map_template/ruin/bridge/template + +/obj/effect/spawner/bridge/Initialize(mapload) + . = ..() + + var/turf/east = locate(x + 3, y, z) + var/turf/west = locate(x - 3, y, z) + var/turf/north = locate(x, y + 3, z) + var/turf/south = locate(x, y - 3, z) + var/turf/e1 = locate(x + 1, y, z) + var/turf/w1 = locate(x - 1, y, z) + var/turf/n1 = locate(x, y + 1, z) + var/turf/s1 = locate(x, y - 1, z) + + + if((ismineralturf(east) || istype(east, /turf/simulated/floor/plating/asteroid)) && (ismineralturf(west) || istype(west, /turf/simulated/floor/plating/asteroid)) && !(ismineralturf(n1) || istype(n1, /turf/simulated/floor/plating/asteroid)) && !(ismineralturf(s1) || istype(s1, /turf/simulated/floor/plating/asteroid))) + template = GLOB.bridge_horizontal_templates[pick("lavaland_bridge_horizontal_1.dmm", "lavaland_bridge_horizontal_2.dmm", "lavaland_bridge_horizontal_3.dmm", "lavaland_bridge_horizontal_4.dmm", "lavaland_bridge_horizontal_5.dmm", "lavaland_bridge_horizontal_6.dmm")] + template.load(loc, centered = TRUE) + else if((ismineralturf(north) || istype(north, /turf/simulated/floor/plating/asteroid)) && (ismineralturf(south) || istype(south, /turf/simulated/floor/plating/asteroid)) && !(ismineralturf(e1) || istype(e1, /turf/simulated/floor/plating/asteroid)) && !(ismineralturf(w1) || istype(w1, /turf/simulated/floor/plating/asteroid))) + template = GLOB.bridge_vertical_templates[pick("lavaland_bridge_vertical_1.dmm", "lavaland_bridge_vertical_2.dmm", "lavaland_bridge_vertical_3.dmm", "lavaland_bridge_vertical_4.dmm", "lavaland_bridge_vertical_5.dmm", "lavaland_bridge_vertical_6.dmm")] + template.load(loc, centered = TRUE) + return INITIALIZE_HINT_QDEL diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm index 292fa382482..aef389caa42 100644 --- a/code/game/turfs/simulated/floor/asteroid_floors.dm +++ b/code/game/turfs/simulated/floor/asteroid_floors.dm @@ -148,7 +148,7 @@ nitrogen = 23 temperature = 300 planetary_atmos = TRUE - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava /turf/simulated/floor/plating/asteroid/airless temperature = TCMB @@ -198,7 +198,9 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me if (!megafauna_spawn_list) megafauna_spawn_list = GLOB.megafauna_spawn_list if (!flora_spawn_list) - flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2) + flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2, /obj/structure/flora/ash/cap_shroom = 2, /obj/structure/flora/ash/stem_shroom = 2, /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/ash/rock/style_random = 1) + if(SSmapping.cave_theme == BLOCKED_BURROWS) + flora_spawn_list += list(/obj/structure/flora/ash/rock/style_random = 3) //Let us see how this goes . = ..() if(!has_data) produce_tunnel_from_data() @@ -216,7 +218,18 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me backward_cave_dir = angle2dir(dir2angle(forward_cave_dir) + 180) /turf/simulated/floor/plating/asteroid/airless/cave/proc/produce_tunnel_from_data(tunnel_length, excluded_dir = -1) - get_cave_data(tunnel_length, excluded_dir) + if(!tunnel_length)//This is a sub cave do not overide repeat do not overide + get_cave_data(tunnel_length, excluded_dir) + switch(SSmapping.cave_theme) + if(BLOCKED_BURROWS) //Longer on average + get_cave_data(rand(40, 60), excluded_dir) + if(CLASSIC_CAVES) //Classic + get_cave_data(tunnel_length, excluded_dir) + if(DEADLY_DEEPROCK) //Smaller into large rooms with more mobs. + get_cave_data(rand(20, 40), excluded_dir) + if(prob(25)) //Less caves due to big openings. This may lead to fauna inside 1x1 rooms. We'll call that a suprise mechanic + SpawnFloor(src, 75) //now with extra suprise + return // Make our tunnels make_tunnel(forward_cave_dir) if(going_backwards) @@ -233,7 +246,7 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me break var/list/L = list(45) - if(ISODD(dir2angle(dir))) // We're going at an angle and we want thick angled tunnels. + if(ISODD(dir2angle(dir)) && (!SSmapping.cave_theme == BLOCKED_BURROWS || prob(33))) // We're going at an angle and we want thick angled tunnels. L += -45 // Expand the edges of our tunnel @@ -250,7 +263,13 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me if(istype(tunnel)) // Small chance to have forks in our tunnel; otherwise dig our tunnel. - if(i > 3 && prob(20)) + var/caveprob = 20 + switch(SSmapping.cave_theme) + if(BLOCKED_BURROWS) //Longer on average + caveprob = 30 //More splitting + if(DEADLY_DEEPROCK) //Smaller into large rooms with more mobs. + caveprob = 10 //Less splitting + if(i > 3 && prob(caveprob)) var/turf/simulated/floor/plating/asteroid/airless/cave/C = tunnel.ChangeTurf(data_having_type, FALSE, TRUE) C.going_backwards = FALSE C.produce_tunnel_from_data(rand(10, 15), dir) @@ -262,11 +281,47 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me // Chance to change our direction left or right. if(i > 2 && prob(33)) // We can't go a full loop though - next_angle = -next_angle + if(!SSmapping.cave_theme == BLOCKED_BURROWS || prob(60)) + next_angle = -next_angle setDir(angle2dir(dir2angle(dir) )+ next_angle) + if(length -2 == i && !has_data) //Branches will not make this + SpawnRoom(tunnel) +/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnRoom(turf/T) + switch(SSmapping.cave_theme) + if(DEADLY_DEEPROCK) + var/tempradius = rand(10, 15) + var/probmodifer = 43 * tempradius //Yes this is a magic number, it is a magic number that works well. + for(var/turf/NT in circlerangeturfs(T, tempradius)) + var/distance = (max(get_dist(T, NT), 1)) //Get dist throws -1 if same turf + if(prob(min(probmodifer / distance, 100))) + if(ismineralturf(NT) || istype(NT, /turf/simulated/floor/plating/asteroid)) //No spawning on lava / other ruins + SpawnFloor(NT, 50) //Room has higher probabilty. + if(prob(25)) + tempradius = round(tempradius / 3) + var/turf/oasis_lake = pickweight(list(/turf/simulated/floor/plating/lava/smooth/lava_land_surface = 4, /turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma = 4, /turf/simulated/floor/chasm/straight_down/lava_land_surface = 4, /turf/simulated/floor/plating/lava/smooth/mapping_lava = 6, /turf/simulated/floor/beach/away/water = 1, /turf/simulated/floor/plating/asteroid = 1)) + if(oasis_lake == /turf/simulated/floor/plating/asteroid) + new /obj/effect/spawner/oasisrock(T, tempradius) + for(var/turf/oasis in circlerangeturfs(T, tempradius)) + oasis.ChangeTurf(oasis_lake, ignore_air = TRUE) -/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnFloor(turf/T) +/obj/effect/spawner/oasisrock + name = "Oasis rock spawner" + +/obj/effect/spawner/oasisrock/Initialize(mapload, radius) + . = ..() + + addtimer(CALLBACK(src, PROC_REF(make_rock), radius), 5 SECONDS) + +/obj/effect/spawner/oasisrock/proc/make_rock(radius) + for(var/turf/oasis in circlerangeturfs(get_turf(src), radius)) + oasis.ChangeTurf(/turf/simulated/mineral/random/high_chance/volcanic, ignore_air = TRUE) + var/list/valid_turfs = RANGE_EDGE_TURFS(radius + 2, src) + for(var/mob/M in range(src, radius)) //We don't want mobs inside the ore rock + M.forceMove(pick(valid_turfs)) + qdel(src) + +/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnFloor(turf/T, monsterprob = 30) for(var/S in RANGE_TURFS(1, src)) var/turf/NT = S if(!NT || isspaceturf(NT) || istype(NT.loc, /area/mine/explored) || istype(NT.loc, /area/lavaland/surface/outdoors/explored)) @@ -276,11 +331,11 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me return SpawnFlora(T) - SpawnMonster(T) + SpawnMonster(T, monsterprob) T.ChangeTurf(turf_type, FALSE, FALSE, TRUE) -/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnMonster(turf/T) - if(prob(30)) +/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnMonster(turf/T, monsterprob = 30) + if(prob(monsterprob)) if(istype(loc, /area/mine/explored) || !istype(loc, /area/lavaland/surface/outdoors/unexplored)) return var/randumb = pickweight(mob_spawn_list) @@ -291,11 +346,17 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me randumb = maybe_boss else //this is not danger, don't spawn a boss, spawn something else randumb = pickweight(mob_spawn_list) - - for(var/thing in urange(12, T)) //prevents mob clumps + var/scanrange = 12 + var/megafaunarange = 7 + switch(SSmapping.cave_theme) + if(DEADLY_DEEPROCK) + if(prob(50) && monsterprob > 30) + scanrange = rand(4, 7) + megafaunarange = scanrange + for(var/thing in urange(scanrange, T)) //prevents mob clumps if(!ishostile(thing) && !istype(thing, /obj/structure/spawner)) continue - if((ismegafauna(randumb) || ismegafauna(thing)) && get_dist(T, thing) <= 7) + if((ismegafauna(randumb) || ismegafauna(thing)) && get_dist(T, thing) <= megafaunarange) return //if there's a megafauna within standard view don't spawn anything at all if(ispath(randumb, /mob/living/simple_animal/hostile/asteroid) || istype(thing, /mob/living/simple_animal/hostile/asteroid)) return //if the random is a standard mob, avoid spawning if there's another one within 12 tiles @@ -314,7 +375,11 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me #undef SPAWN_BUBBLEGUM /turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnFlora(turf/T) - if(prob(12)) + var/floraprob = 12 + switch(SSmapping.cave_theme) + if(BLOCKED_BURROWS) + floraprob = 30 //Lots of folliage, lots of blockage + if(prob(floraprob)) if(istype(loc, /area/mine/explored) || istype(loc, /area/lavaland/surface/outdoors/explored)) return var/randumb = pickweight(flora_spawn_list) diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm index ab1d0711071..20cd70e4ef6 100644 --- a/code/game/turfs/simulated/floor/chasm.dm +++ b/code/game/turfs/simulated/floor/chasm.dm @@ -9,6 +9,8 @@ smoothing_groups = list(SMOOTH_GROUP_TURF, SMOOTH_GROUP_TURF_CHASM) canSmoothWith = list(SMOOTH_GROUP_TURF_CHASM) density = TRUE //This will prevent hostile mobs from pathing into chasms, while the canpass override will still let it function like an open turf + layer = 1.7 + intact = 0 var/static/list/falling_atoms = list() //Atoms currently falling into the chasm var/static/list/forbidden_types = typecacheof(list( /obj/singularity, @@ -24,7 +26,10 @@ /obj/effect/collapse, /obj/effect/particle_effect/ion_trails, /obj/effect/abstract, - /obj/effect/ebeam + /obj/effect/ebeam, + /obj/effect/spawner, + /obj/structure/railing, + /obj/machinery/atmospherics/pipe/simple )) var/drop_x = 1 var/drop_y = 1 @@ -65,7 +70,7 @@ qdel(L) playsound(src, 'sound/weapons/genhit.ogg', 50, 1) to_chat(user, "You build a floor.") - ChangeTurf(/turf/simulated/floor/plating) + ChangeTurf(/turf/simulated/floor/plating, keep_icon = FALSE) else to_chat(user, "You need one floor tile to build a floor!") else @@ -140,9 +145,9 @@ nitrogen = 23 temperature = 300 planetary_atmos = TRUE - baseturf = /turf/simulated/floor/chasm/straight_down/lava_land_surface - light_range = 1.9 //slightly less range than lava - light_power = 0.65 //less bright, too + baseturf = /turf/simulated/floor/chasm/straight_down/lava_land_surface //Chasms should not turn into lava + light_range = 2 + light_power = 0.75 light_color = LIGHT_COLOR_LAVA //let's just say you're falling into lava, that makes sense right /turf/simulated/floor/chasm/straight_down/lava_land_surface/drop(atom/movable/AM) diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 66d8fb8dc0a..3d207719e7b 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -56,7 +56,7 @@ return FALSE /turf/simulated/floor/plating/lava/proc/burn_stuff(AM) - . = 0 + . = FALSE if(find_safeties()) return FALSE @@ -71,7 +71,7 @@ continue if((O.resistance_flags & (LAVA_PROOF|INDESTRUCTIBLE)) || O.throwing) continue - . = 1 + . = TRUE if((O.resistance_flags & (ON_FIRE))) continue if(!(O.resistance_flags & FLAMMABLE)) @@ -83,7 +83,7 @@ O.fire_act(10000, 1000) else if(isliving(thing)) - . = 1 + . = TRUE var/mob/living/L = thing if(L.flying) continue //YOU'RE FLYING OVER IT @@ -142,3 +142,101 @@ /turf/simulated/floor/plating/lava/smooth/airless temperature = TCMB + +/turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma + name = "liquid plasma" + desc = "A flowing stream of chilled liquid plasma. You probably shouldn't get in." + icon = 'icons/turf/floors/liquidplasma.dmi' + icon_state = "liquidplasma-255" + base_icon_state = "liquidplasma" + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma + + light_range = 3 + light_power = 0.75 + light_color = LIGHT_COLOR_PINK + +/turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma/examine(mob/user) + . = ..() + . += "Some liquid plasma could probably be scooped up with a container." + +/turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma/attackby(obj/item/I, mob/user, params) + if(!I.is_open_container()) + return ..() + if(!I.reagents.add_reagent("plasma", 10)) + to_chat(user, "[I] is full.") + return + to_chat(user, "You scoop out some plasma from the [src] using [I].") + +/turf/simulated/floor/plating/lava/smooth/lava_land_surface/plasma/burn_stuff(AM) + . = FALSE + if(find_safeties()) + return FALSE + + var/thing_to_check = src + if(AM) + thing_to_check = list(AM) + for(var/thing in thing_to_check) + if(isobj(thing)) + var/obj/O = thing + if(!O.simulated) + continue + if((O.resistance_flags & (LAVA_PROOF|INDESTRUCTIBLE)) || O.throwing) + continue + . = TRUE + if((O.resistance_flags & ON_FIRE)) + continue + if(!(O.resistance_flags & FLAMMABLE)) + O.resistance_flags |= FLAMMABLE //Even fireproof things burn up in lava + if(O.resistance_flags & FIRE_PROOF) + O.resistance_flags &= ~FIRE_PROOF + if(O.armor.getRating(FIRE) > 50) //obj with 100% fire armor still get slowly burned away. + O.armor = O.armor.setRating(fire_value = 50) + O.fire_act(10000, 1000) + + if(!isliving(thing)) + continue + . = TRUE + var/mob/living/burn_living = thing + if(burn_living.flying) + continue //YOU'RE FLYING OVER IT + var/buckle_check = burn_living.buckling + if(!buckle_check) + buckle_check = burn_living.buckled + if(isobj(buckle_check)) + var/obj/O = buckle_check + if(O.resistance_flags & LAVA_PROOF) + continue + else if(isliving(buckle_check)) + var/mob/living/live = buckle_check + if("lava" in live.weather_immunities) + continue + if("lava" in burn_living.weather_immunities) + continue + burn_living.adjustFireLoss(2) + if(QDELETED(burn_living)) + return + burn_living.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual + burn_living.IgniteMob() + burn_living.adjust_bodytemperature(-rand(50, 65)) //its cold, man + if(!ishuman(burn_living) || prob(65)) + return + var/mob/living/carbon/human/burn_human = burn_living + var/datum/species/burn_species = burn_human.dna.species + if(istype(burn_species, /datum/species/plasmaman) || istype(burn_species, /datum/species/machine)) //ignore plasmamen/robotic species. + return + + burn_human.adjustToxLoss(15) //Cold mutagen is bad for you, more at 11. + burn_human.adjustFireLoss(15) + +/turf/simulated/floor/plating/lava/smooth/mapping_lava + name = "Adaptive lava / chasm / plasma" + icon_state = "mappinglava" + base_icon_state = "mappinglava" + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava + + +/turf/simulated/floor/plating/lava/smooth/mapping_lava/Initialize(mapload) + . = ..() + ChangeTurf(SSmapping.lavaland_theme) + + diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index b593aad49e1..4e2697eced5 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -251,7 +251,7 @@ /turf/simulated/mineral/random/high_chance/volcanic environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava oxygen = 14 nitrogen = 23 temperature = 300 @@ -271,7 +271,7 @@ /turf/simulated/mineral/random/volcanic environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava oxygen = 14 nitrogen = 23 temperature = 300 @@ -293,7 +293,7 @@ /turf/simulated/mineral/random/labormineral/volcanic environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava oxygen = 14 nitrogen = 23 temperature = 300 @@ -467,7 +467,7 @@ /turf/simulated/mineral/volcanic/lava_land_surface environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava defer_change = 1 //gibtonite state defines diff --git a/code/game/turfs/simulated/river.dm b/code/game/turfs/simulated/river.dm index 6547a8922db..883ea8f4a4e 100644 --- a/code/game/turfs/simulated/river.dm +++ b/code/game/turfs/simulated/river.dm @@ -4,7 +4,7 @@ #define RANDOM_LOWER_X 50 #define RANDOM_LOWER_Y 50 -/proc/spawn_rivers(target_z, nodes = 4, turf_type = /turf/simulated/floor/plating/lava/smooth/lava_land_surface, whitelist_area = /area/lavaland/surface/outdoors, min_x = RANDOM_LOWER_X, min_y = RANDOM_LOWER_Y, max_x = RANDOM_UPPER_X, max_y = RANDOM_UPPER_Y) +/proc/spawn_rivers(target_z, nodes = 4, turf_type = /turf/simulated/floor/plating/lava/smooth/mapping_lava, whitelist_area = /area/lavaland/surface/outdoors, min_x = RANDOM_LOWER_X, min_y = RANDOM_LOWER_Y, max_x = RANDOM_UPPER_X, max_y = RANDOM_UPPER_Y, prob = 25, prob_loss = 11) var/list/river_nodes = list() var/num_spawned = 0 var/list/possible_locs = block(locate(min_x, min_y, target_z), locate(max_x, max_y, target_z)) @@ -46,6 +46,9 @@ cur_dir = get_dir(cur_turf, target_turf) cur_turf = get_step(cur_turf, cur_dir) + if(cur_turf == null) //This might be the fuck up. Kill the loop if this happens + message_admins("Encountered a null turf in river loop.") + break var/area/new_area = get_area(cur_turf) if(!istype(new_area, whitelist_area) || (cur_turf.flags & NO_LAVA_GEN)) //Rivers will skip ruins detouring = 0 @@ -54,7 +57,9 @@ continue else var/turf/river_turf = cur_turf.ChangeTurf(turf_type, ignore_air = TRUE) - river_turf.Spread(25, 11, whitelist_area) + if(prob(1)) + new /obj/effect/spawner/bridge(river_turf) + river_turf.Spread(prob, prob_loss, whitelist_area) for(var/WP in river_nodes) qdel(WP) @@ -91,6 +96,8 @@ var/turf/T = F if(!istype(T, logged_turf_type) && T.ChangeTurf(type, ignore_air = TRUE) && prob(probability)) T.Spread(probability - prob_loss, prob_loss, whitelisted_area) + if(prob(1)) + new /obj/effect/spawner/bridge(T) for(var/F in diagonal_turfs) //diagonal turfs only sometimes change, but will always spread if changed var/turf/T = F @@ -99,6 +106,8 @@ else if(ismineralturf(T)) var/turf/simulated/mineral/M = T M.ChangeTurf(M.turf_type, ignore_air = TRUE) + if(prob(1)) + new /obj/effect/spawner/bridge(M) #undef RANDOM_UPPER_X diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index d6a528f1f6f..56665987307 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -52,7 +52,7 @@ /obj/effect/baseturf_helper/lava_land/surface name = "lavaland baseturf editor" - baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/mapping_lava /obj/effect/mapping_helpers icon = 'icons/effects/mapping_helpers.dmi' diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index c7557ccea6b..7a9d08733e3 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -17,6 +17,7 @@ var/harvest_message_med = "You pick a mushroom, carefully collecting the shavings from its cap." var/harvest_message_high = "You harvest and collect shavings from several mushroom caps." var/harvested = FALSE + var/delete_on_harvest = FALSE var/base_icon var/regrowth_time_low = 8 MINUTES var/regrowth_time_high = 16 MINUTES @@ -46,6 +47,9 @@ name = harvested_name desc = harvested_desc harvested = TRUE + if(delete_on_harvest) + qdel(src) + return 1 addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high)) return 1 @@ -143,6 +147,40 @@ // min dmg 3, max dmg 6, prob(70) AddComponent(/datum/component/caltrop, 3, 6, 70) + +/********* + * Rocks * + *********/ +// (I know these aren't plants) + +/obj/structure/flora/ash/rock + name = "large rock" + desc = "A volcanic rock. Pioneers used to ride these babies for miles." + icon_state = "basalt1" + density = TRUE + resistance_flags = FIRE_PROOF + harvest = /obj/item/stack/ore/glass/basalt + harvest_time = 6 SECONDS + harvest_amount_low = 10 + harvest_amount_high = 20 + harvest_message_low = "You finish mining the rock." + harvest_message_med = "You finish mining the rock." + harvest_message_high = "You finish mining the rock." + delete_on_harvest = TRUE + +/obj/structure/flora/ash/rock/style_2 + icon_state = "basalt2" + +/obj/structure/flora/ash/rock/style_3 + icon_state = "basalt3" + +/obj/structure/flora/ash/rock/style_4 + icon_state = "basalt4" + +/obj/structure/flora/ash/rock/style_random/Initialize(mapload) + . = ..() + icon_state = "basalt[rand(1, 4)]" + /obj/item/reagent_containers/food/snacks/grown/ash_flora name = "mushroom shavings" desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl." diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index aa4f84098de..fa2d49111f9 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/obj/lavaland/ash_flora.dmi b/icons/obj/lavaland/ash_flora.dmi index c8c128a0ab5..3c262cd882c 100644 Binary files a/icons/obj/lavaland/ash_flora.dmi and b/icons/obj/lavaland/ash_flora.dmi differ diff --git a/icons/turf/floors/lava.dmi b/icons/turf/floors/lava.dmi index 3b889c9a5f6..f3c51368fec 100644 Binary files a/icons/turf/floors/lava.dmi and b/icons/turf/floors/lava.dmi differ diff --git a/icons/turf/floors/liquidplasma.dmi b/icons/turf/floors/liquidplasma.dmi new file mode 100644 index 00000000000..f4917c23878 Binary files /dev/null and b/icons/turf/floors/liquidplasma.dmi differ diff --git a/paradise.dme b/paradise.dme index b0feee6edf6..9cc94c4cdb1 100644 --- a/paradise.dme +++ b/paradise.dme @@ -476,6 +476,7 @@ #include "code\datums\outfits\vv_outfit.dm" #include "code\datums\ruins\lavaland.dm" #include "code\datums\ruins\space_ruins.dm" +#include "code\datums\ruins\bridges\bridges.dm" #include "code\datums\spell_cooldown\spell_charges.dm" #include "code\datums\spell_cooldown\spell_cooldown.dm" #include "code\datums\spell_handler\alien_spell_handler.dm"