diff --git a/_maps/cyberiad.dm b/_maps/cyberiad.dm index 03aa5eef214..dceb8f4bc47 100644 --- a/_maps/cyberiad.dm +++ b/_maps/cyberiad.dm @@ -21,6 +21,7 @@ z7 = empty #include "map_files\cyberiad\z6.dmm" #include "map_files\generic\z7.dmm" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ diff --git a/_maps/delta.dm b/_maps/delta.dm index 5ee84d3d0cd..83a4d72c24d 100644 --- a/_maps/delta.dm +++ b/_maps/delta.dm @@ -26,6 +26,7 @@ Lovingly ported by Purpose2 to Paradise #define MAP_FILE "delta.dmm" #define MAP_NAME "Kerberos" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL,STATION_CONTACT,REACHABLE,AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm new file mode 100644 index 00000000000..0d9327b6421 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm @@ -0,0 +1,1546 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/template_noop, +/area/template_noop) +"ad" = ( +/obj/structure/flora/ausbushes/leafybush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ae" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/cable_coil, +/obj/item/storage/box/lights/mixed, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"af" = ( +/obj/structure/table, +/obj/item/clothing/mask/gas, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/clothing/glasses/sunglasses/big, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ag" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ah" = ( +/obj/effect/mob_spawn/human/bartender/alive, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ai" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"aj" = ( +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"ak" = ( +/obj/structure/toilet, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"al" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"am" = ( +/obj/structure/urinal{ + pixel_y = 32 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"an" = ( +/obj/item/flashlight/lantern, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"ao" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ap" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aq" = ( +/obj/structure/flora/ausbushes/sunnybush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ar" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"as" = ( +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"at" = ( +obj/item/tank/oxygen, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"au" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"av" = ( +/obj/structure/mineral_door/sandstone{ + name = "Lavatory" + }, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"aw" = ( +/obj/structure/mineral_door/sandstone{ + name = "Bar Storage" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"ax" = ( +/obj/structure/extinguisher_cabinet, +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"ay" = ( +/obj/structure/mineral_door/sandstone{ + name = "Restroom" + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"az" = ( +/obj/item/clothing/accessory/necklace, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aA" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aB" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aC" = ( +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aD" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/chem_dispenser/soda, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aE" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aF" = ( +/obj/machinery/vending/boozeomat{ + emagged = 1 + req_access_txt = "0" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aH" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/reagent_containers/glass/rag, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aI" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aJ" = ( +/obj/structure/closet/crate, +/obj/item/tank/emergency_oxygen, +/obj/item/trash/candy, +/obj/item/toy/owl, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aK" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aM" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aN" = ( +/obj/machinery/vending/cigarette, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aO" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aP" = ( +/obj/structure/table/wood, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aQ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/tequila, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aS" = ( +/obj/machinery/processor, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aT" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aU" = ( +/obj/effect/overlay/palmtree_l, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aV" = ( +/obj/effect/mob_spawn/human/beach/alive, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"aW" = ( +/obj/structure/chair/stool, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aX" = ( +/obj/structure/closet/secure_closet/freezer/meat/open, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"aY" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"aZ" = ( +/obj/effect/overlay/coconut, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bb" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bc" = ( +/obj/structure/mineral_door/sandstone{ + name = "Bar Access" + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bd" = ( +/obj/structure/closet/secure_closet/freezer/kitchen{ + req_access = null + }, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"be" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bg" = ( +/obj/structure/sign/barsign, +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"bl" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"bx" = ( +/obj/structure/flora/rock, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bz" = ( +/mob/living/simple_animal/crab, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bA" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/bikehorn/airhorn, +/obj/structure/table/wood, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/brute, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bB" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/chair/stool, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bE" = ( +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bF" = ( +/obj/item/beach_ball, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bG" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/item/megaphone, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bH" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/mob_spawn/human/beach/alive/lifeguard, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"bJ" = ( +/obj/structure/chair, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bK" = ( +/obj/item/storage/backpack/duffel, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bL" = ( +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"bM" = ( +/turf/simulated/floor/plasteel/stairs/old, +/area/ruin/powered/beach) +"bN" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bO" = ( +/obj/item/camera, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bP" = ( +/obj/item/reagent_containers/food/drinks/cans/beer, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"bQ" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bR" = ( +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bS" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/simulated/floor/beach/coastline_t, +/area/ruin/powered/beach) +"bT" = ( +/turf/simulated/floor/beach/coastline_b, +/area/ruin/powered/beach) +"bU" = ( +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"bV" = ( +/obj/structure/flora/ausbushes/stalkybush, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"bW" = ( +/turf/simulated/wall/r_wall, +/area/ruin/powered/beach) +"cd" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/wall/mineral/sandstone, +/area/ruin/powered/beach) +"ce" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"cg" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ch" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"cj" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"cs" = ( +/obj/effect/overlay/palmtree_l, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"ct" = ( +/obj/machinery/light, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) +"cR" = ( +/obj/structure/table/wood, +obj/item/tank/oxygen, +/obj/item/pickaxe, +/obj/item/clothing/mask/gas, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"dw" = ( +/obj/structure/mineral_door/sandstone{ + name = "Beach Access" + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"gg" = ( +/obj/structure/table, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/box/beakers, +/obj/item/storage/box/donkpockets, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"hY" = ( +/obj/structure/table, +/obj/machinery/chem_dispenser/beer, +/turf/simulated/floor/wood, +/area/ruin/powered/beach) +"iw" = ( +/obj/machinery/light/small{ + light_power = 3; + dir = 8 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"jF" = ( +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"lF" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/pod{ + oxygen = 14 + nitrogen = 23 + temperature = 300 + }, +/area/ruin/powered/beach) +"lM" = ( +/obj/structure/dresser, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"mh" = ( +/obj/effect/spawner/window, +/turf/simulated/floor/plating, +/area/ruin/powered/beach) +"oK" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"pg" = ( +/obj/machinery/shower{ + dir = 4 + }, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"pI" = ( +/obj/machinery/door/airlock/hatch{ + name = "Lava Beach Club" + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"pU" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"qa" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"qT" = ( +/obj/machinery/shower{ + dir = 8 + }, +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"sy" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"sO" = ( +/turf/simulated/floor/light/colour_cycle, +/area/ruin/powered/beach) +"vl" = ( +/obj/structure/closet/athletic_mixed, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"wY" = ( +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"yp" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"zw" = ( +/obj/structure/closet/athletic_mixed, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Bl" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"Ec" = ( +/obj/structure/mineral_door/sandstone{ + name = "Beach Access" + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Ga" = ( +/turf/simulated/floor/plating/asteroid{ + baseturf = /turf/simulated/floor/beach/sand + }, +/area/ruin/powered/beach) +"Gc" = ( +/turf/simulated/floor/pod/light, +/area/ruin/powered/beach) +"HC" = ( +/obj/structure/rack, +/obj/item/clothing/shoes/sandal, +/obj/item/clothing/shoes/sandal, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"QS" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/beach/sand, +/area/ruin/powered/beach) +"TP" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/pod{ + oxygen = 14 + nitrogen = 23 + temperature = 300 + }, +/area/ruin/powered/beach) +"VO" = ( +/turf/simulated/floor/pod, +/area/ruin/powered/beach) +"Xp" = ( +/obj/machinery/light/small{ + light_power = 3; + dir = 8 + }, +/turf/simulated/floor/pod, +/area/ruin/powered/beach) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +lF +aa +bW +bW +bW +pI +bW +pI +bW +bW +bW +aa +lF +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +bW +bW +bW +bW +bW +bW +vl +iw +wY +pg +wY +Xp +cR +bW +bW +bW +bW +bW +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +bW +bW +bW +ap +cg +ar +ar +bW +HC +VO +Gc +Gc +wY +VO +lM +bW +ad +bQ +bT +bW +bW +bW +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +bW +bW +ap +ar +ar +ar +ar +ar +bW +mh +mh +mh +dw +mh +mh +mh +bW +ap +bR +bT +bU +ct +bW +bW +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +bW +bW +ad +ar +ar +aO +ar +bb +ar +cg +ar +ar +Bl +aA +Bl +ar +ar +cg +bN +bR +bT +bU +bU +bU +bW +bW +aa +aa +"} +(6,1,1) = {" +aa +aa +bW +aq +ar +ar +ar +ar +aV +ar +ar +ar +ar +ar +ar +ar +ar +bz +ar +bJ +ar +bS +bT +bU +bU +bU +bU +bW +aa +aa +"} +(7,1,1) = {" +aa +bW +bW +ar +ap +az +ar +aO +ar +bb +ar +ar +ar +aU +aZ +ar +ar +ar +ar +ar +ar +bR +bT +bU +bU +bU +ct +bW +bW +aa +"} +(8,1,1) = {" +aa +bW +ad +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +bJ +bE +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(9,1,1) = {" +aa +bW +bW +bW +bW +ce +aA +aA +aA +aA +aA +aA +aA +aA +ar +ar +ar +ap +ar +ar +bO +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(10,1,1) = {" +aa +bW +ae +gg +bW +aB +aK +aK +aK +aK +aK +aK +yp +aA +ar +ar +ap +bx +ar +bJ +ar +bR +bT +bU +bU +bV +bU +bU +bW +aa +"} +(11,1,1) = {" +aa +bW +af +as +aj +aj +aj +aj +aB +aK +aK +aK +aK +aA +ar +ar +ar +ar +ar +ar +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(12,1,1) = {" +aa +bW +ag +as +aw +aC +aC +aP +aW +aK +Ga +aK +aK +aA +ar +ar +ap +ar +ar +bJ +ar +bR +bT +bU +bU +bU +bU +ct +bW +aa +"} +(13,1,1) = {" +aa +bW +ah +as +aj +aD +aC +aQ +aW +oK +sO +bl +aK +aA +ar +bx +ar +ar +ar +bK +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(14,1,1) = {" +aa +bW +ai +at +ax +hY +aC +aP +aW +aK +sy +aK +aK +aA +ar +ap +ar +ar +ar +bJ +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(15,1,1) = {" +aa +bW +cd +aj +aj +aF +aC +aR +aW +aK +aK +aK +aK +aA +ar +ar +ar +ar +bE +ar +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(16,1,1) = {" +aa +bW +ak +au +aj +aE +aC +aj +aj +bc +aj +cj +aK +aA +ar +ar +ar +ar +ar +bJ +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(17,1,1) = {" +aa +bW +aj +av +aj +aH +aC +aC +aC +aC +bg +aB +aK +aA +ar +ar +aU +ar +ar +ar +ar +bR +bT +bU +bV +bU +bU +bU +bW +aa +"} +(18,1,1) = {" +aa +bW +al +as +aj +aI +aM +aS +aX +bd +aj +aB +aK +aA +ar +aZ +ar +ar +bF +ar +bz +bR +bT +bU +bU +bU +bU +ct +bW +aa +"} +(19,1,1) = {" +aa +bW +am +as +aj +aj +aj +aj +aj +aj +aj +cj +aK +aA +ar +ar +ar +ar +ch +ar +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(20,1,1) = {" +aa +bW +an +au +aj +aJ +aN +aT +aY +aK +aK +aK +aK +aA +ar +ar +ar +bA +bG +bL +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(21,1,1) = {" +aa +bW +ao +au +ay +aK +aK +aK +aK +aK +aK +aK +aK +aA +ar +ar +ar +bB +bH +bM +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(22,1,1) = {" +aa +bW +bW +bW +bW +ce +aA +aA +aA +aA +aA +aA +aA +aA +ar +ar +ar +ar +ar +ar +bP +bR +bT +bU +bU +bU +bV +bU +bW +aa +"} +(23,1,1) = {" +aa +bW +ap +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +bJ +ar +bR +bT +bU +bU +bU +bU +bU +bW +aa +"} +(24,1,1) = {" +aa +bW +bW +ar +ap +ar +ar +aU +bE +ar +ar +bz +ar +ar +ar +ar +ar +aZ +ar +ar +ar +bR +bT +bU +bU +bU +ct +bW +bW +aa +"} +(25,1,1) = {" +aa +aa +bW +aq +ar +ar +ar +ar +aZ +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +ar +bS +bT +bU +bU +bU +bU +bW +aa +aa +"} +(26,1,1) = {" +aa +aa +bW +bW +ap +ar +ar +aq +aV +be +ar +ch +ar +ar +QS +aA +QS +ar +ar +cs +ar +bR +bT +bU +bU +bU +bW +bW +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +bW +bW +ad +ar +ar +ar +ar +ar +bW +mh +mh +mh +Ec +mh +mh +mh +bW +ap +bR +bT +bU +ct +bW +bW +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +bW +bW +bW +ap +ch +ap +ar +bW +zw +VO +wY +Gc +Gc +jF +lM +bW +bN +bR +bT +bW +bW +bW +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +bW +bW +bW +bW +bW +bW +HC +qa +wY +qT +Gc +pU +cR +bW +bW +bW +bW +bW +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +TP +aa +bW +bW +bW +pI +bW +pI +bW +bW +bW +aa +TP +aa +aa +aa +aa +aa +aa +aa +aa +"} \ No newline at end of file diff --git a/_maps/metastation.dm b/_maps/metastation.dm index 7fa09edbca9..6466bc1c0d9 100644 --- a/_maps/metastation.dm +++ b/_maps/metastation.dm @@ -24,6 +24,7 @@ z7 = empty space #define MAP_FILE "MetaStation.v41A.II.dmm" #define MAP_NAME "MetaStation" + #define MINETYPE "lavaland" #define MAP_TRANSITION_CONFIG list(\ DECLARE_LEVEL(MAIN_STATION, CROSSLINKED, list(STATION_LEVEL, STATION_CONTACT, REACHABLE, AI_OK)),\ DECLARE_LEVEL(CENTCOMM, SELFLOOPING, list(ADMIN_LEVEL, BLOCK_TELEPORT, IMPEDES_MAGIC)),\ diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 444077aacd7..2fb41fb5354 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -101,6 +101,7 @@ //turf-only flags #define NOJAUNT 1 +#define NO_LAVA_GEN 2 //Blocks lava rivers being generated on the turf //ITEM INVENTORY SLOT BITMASKS #define SLOT_OCLOTHING 1 diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index b492e91ece5..35a85794fe5 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -14,6 +14,7 @@ #define STATUS_EFFECT_SHADOW_MEND /datum/status_effect/shadow_mend //Quick, powerful heal that deals damage afterwards. Heals 15 brute/burn every second for 3 seconds. #define STATUS_EFFECT_VOID_PRICE /datum/status_effect/void_price //The price of healing yourself with void energy. Deals 3 brute damage every 3 seconds for 30 seconds. +#define STATUS_EFFECT_EXERCISED /datum/status_effect/exercised //Prevents heart disease //#define STATUS_EFFECT_VANGUARD /datum/status_effect/vanguard_shield //Grants temporary stun absorption, but will stun the user based on how many stuns they absorbed. //#define STATUS_EFFECT_INATHNEQS_ENDOWMENT /datum/status_effect/inathneqs_endowment //A 15-second invulnerability and stun absorption, granted by Inath-neq. diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 5848155711e..55408300c18 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -218,6 +218,9 @@ // Automatic localhost admin disable var/disable_localhost_admin = 0 + // Lavaland + var/lavaland_budget = 60 + /datum/configuration/New() for(var/T in subtypesof(/datum/game_mode)) var/datum/game_mode/M = T @@ -725,6 +728,8 @@ config.randomize_shift_time = TRUE if("enable_night_shifts") config.enable_night_shifts = TRUE + if("lavaland_budget") + config.lavaland_budget = text2num(value) else log_config("Unknown setting in configuration: '[name]'") diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 1fd81402544..29f316398a0 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -39,6 +39,7 @@ var/global/pipe_processing_killed = 0 preloadTemplates() if(!config.disable_away_missions) createRandomZlevel() + // Create 6 extra space levels to put space ruins on if(!config.disable_space_ruins) var/timer = start_watch() @@ -53,12 +54,16 @@ var/global/pipe_processing_killed = 0 var/zlev = space_manager.add_new_zlevel("[EMPTY_AREA] #[i]", linkage = CROSSLINKED) seedRuins(zlev, rand(0, 3), /area/space, space_ruins_templates) + var/mining_type = MINETYPE + if (mining_type == "lavaland") + seedRuins(list(5), config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) + spawn_rivers() + else + make_mining_asteroid_secret() + space_manager.do_transition_setup() setupfactions() setup_economy() - for(var/i=0, i[user] is [bragmessage]!") + AnimateMachine(user) + + playsound(user, 'sound/machines/click.ogg', 60, 1) + obj_flags &= ~IN_USE + user.pixel_y = 0 + var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!") + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) + icon_state = initial(icon_state) + to_chat(user, finishmessage) + user.apply_status_effect(STATUS_EFFECT_EXERCISED) + +/obj/structure/weightmachine/stacklifter + icon = 'icons/goonstation/objects/fitness.dmi' + icon_state = "fitnesslifter" + icon_state_inuse = "fitnesslifter2" + +/obj/structure/weightmachine/stacklifter/AnimateMachine(mob/living/user) + var/lifts = 0 + while (lifts++ < 6) + if (user.loc != src.loc) + break + sleep(3) + animate(user, pixel_y = -2, time = 3) + sleep(3) + animate(user, pixel_y = -4, time = 3) + sleep(3) + playsound(user, 'sound/goonstation/effects/spring.ogg', 60, 1) + +/obj/structure/weightmachine/weightlifter + icon = 'icons/goonstation/objects/fitness.dmi' + icon_state = "fitnessweight" + icon_state_inuse = "fitnessweight-c" + +/obj/structure/weightmachine/weightlifter/AnimateMachine(mob/living/user) + var/mutable_appearance/swole_overlay = mutable_appearance(icon, "fitnessweight-w", WALL_OBJ_LAYER) + add_overlay(swole_overlay) + var/reps = 0 + user.pixel_y = 5 + while (reps++ < 6) + if (user.loc != src.loc) + break + for (var/innerReps = max(reps, 1), innerReps > 0, innerReps--) + sleep(3) + animate(user, pixel_y = (user.pixel_y == 3) ? 5 : 3, time = 3) + playsound(user, 'sound/goonstation/effects/spring.ogg', 60, 1) + sleep(3) + animate(user, pixel_y = 2, time = 3) + sleep(3) + cut_overlay(swole_overlay) \ No newline at end of file diff --git a/config/example/game_options.txt b/config/example/game_options.txt index 8a477dd6610..a48bd912bd1 100644 --- a/config/example/game_options.txt +++ b/config/example/game_options.txt @@ -71,4 +71,11 @@ DEFAULT_LAWS 1 RANDOMIZE_SHIFT_TIME ## Enable Nightshift - Causes the station to go into "night mode" from 19:30 to 07:30. Best used with RANDOMIZED_SHIFT_TIME. -ENABLE_NIGHT_SHIFTS \ No newline at end of file +ENABLE_NIGHT_SHIFTS + +## Lavaland "Budget" +# Lavaland ruin spawning has an imaginary budget to spend on ruins, where +# a less lootfilled or smaller or less round effecting ruin costs less to +# spawn, while the converse is true. Alter this number to affect the amount +# of ruins. +LAVALAND_BUDGET 60 \ No newline at end of file diff --git a/config/example/lavaRuinBlacklist.txt b/config/example/lavaRuinBlacklist.txt new file mode 100644 index 00000000000..ef5e81fceb1 --- /dev/null +++ b/config/example/lavaRuinBlacklist.txt @@ -0,0 +1,15 @@ +#Listing maps here will blacklist them from generating in lavaland. +#Maps must be the full path to them +#A list of maps valid to blacklist can be found in _maps\RandomRuins\LavaRuins +#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START + +##BIODOMES + + +##RESPAWN + + +##SIN + + +##MISC diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi new file mode 100644 index 00000000000..821338058ce Binary files /dev/null and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/goonstation/objects/fitness.dmi b/icons/goonstation/objects/fitness.dmi new file mode 100644 index 00000000000..e2675cbda49 Binary files /dev/null and b/icons/goonstation/objects/fitness.dmi differ diff --git a/icons/misc/beach.dmi b/icons/misc/beach.dmi index 330bb8dddb4..aa846e1c60a 100644 Binary files a/icons/misc/beach.dmi and b/icons/misc/beach.dmi differ diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi index 4d5fe2d875d..343e5d4c785 100644 Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 16aa1e6a471..ea28da421c4 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/paradise.dme b/paradise.dme index cb8091d83ce..3fbb2696d6d 100644 --- a/paradise.dme +++ b/paradise.dme @@ -337,6 +337,7 @@ #include "code\datums\looping_sounds\weather.dm" #include "code\datums\outfits\outfit.dm" #include "code\datums\outfits\outfit_admin.dm" +#include "code\datums\ruins\lavaland.dm" #include "code\datums\ruins\space.dm" #include "code\datums\spells\area_teleport.dm" #include "code\datums\spells\bloodcrawl.dm" @@ -421,6 +422,7 @@ #include "code\game\area\Space Station 13 areas.dm" #include "code\game\area\areas\depot-areas.dm" #include "code\game\area\areas\mining.dm" +#include "code\game\area\areas\ruins\lavaland.dm" #include "code\game\dna\dna2.dm" #include "code\game\dna\dna2_domutcheck.dm" #include "code\game\dna\dna2_helpers.dm" @@ -1090,6 +1092,7 @@ #include "code\game\turfs\unsimulated.dm" #include "code\game\turfs\simulated\floor.dm" #include "code\game\turfs\simulated\minerals.dm" +#include "code\game\turfs\simulated\river.dm" #include "code\game\turfs\simulated\shuttle.dm" #include "code\game\turfs\simulated\walls.dm" #include "code\game\turfs\simulated\walls_mineral.dm" @@ -2279,6 +2282,7 @@ #include "code\modules\response_team\ert.dm" #include "code\modules\response_team\ert_outfits.dm" #include "code\modules\ruins\ruin_areas.dm" +#include "code\modules\ruins\objects_and_mobs\gym.dm" #include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm" #include "code\modules\security_levels\keycard authentication.dm" #include "code\modules\security_levels\security levels.dm" diff --git a/sound/ambience/ambidanger.ogg b/sound/ambience/ambidanger.ogg new file mode 100644 index 00000000000..265b51f2c9b Binary files /dev/null and b/sound/ambience/ambidanger.ogg differ diff --git a/sound/ambience/ambidanger2.ogg b/sound/ambience/ambidanger2.ogg new file mode 100644 index 00000000000..761c63a4809 Binary files /dev/null and b/sound/ambience/ambidanger2.ogg differ diff --git a/sound/goonstation/effects/spring.ogg b/sound/goonstation/effects/spring.ogg new file mode 100644 index 00000000000..472a75e304b Binary files /dev/null and b/sound/goonstation/effects/spring.ogg differ