From aff71e7f14d53e7f3948c101be9c248091726915 Mon Sep 17 00:00:00 2001 From: BlackMajor Date: Mon, 17 Feb 2020 23:44:06 +1300 Subject: [PATCH] Initial Commit. Adds space ruins to station z. --- _maps/RandomRuins/SpaceRuins/spacehermit.dmm | 29 +- _maps/RandomRuins/SpaceRuinsStation/roid1.dmm | 111 ++++ _maps/RandomRuins/SpaceRuinsStation/roid2.dmm | 289 ++++++++++ _maps/RandomRuins/SpaceRuinsStation/roid3.dmm | 498 ++++++++++++++++++ _maps/RandomRuins/SpaceRuinsStation/roid4.dmm | 438 +++++++++++++++ _maps/RandomRuins/SpaceRuinsStation/roid5.dmm | 296 +++++++++++ .../configuration/entries/game_options.dm | 4 + code/controllers/subsystem/mapping.dm | 10 + code/datums/ruins/space.dm | 37 ++ code/datums/ruins/station.dm | 2 +- config/game_options.txt | 3 + config/stationRuinBlacklist.txt | 10 + 12 files changed, 1703 insertions(+), 24 deletions(-) create mode 100644 _maps/RandomRuins/SpaceRuinsStation/roid1.dmm create mode 100644 _maps/RandomRuins/SpaceRuinsStation/roid2.dmm create mode 100644 _maps/RandomRuins/SpaceRuinsStation/roid3.dmm create mode 100644 _maps/RandomRuins/SpaceRuinsStation/roid4.dmm create mode 100644 _maps/RandomRuins/SpaceRuinsStation/roid5.dmm create mode 100644 config/stationRuinBlacklist.txt diff --git a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm index f64bfa8a4e..10be01b0f4 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehermit.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehermit.dmm @@ -143,10 +143,6 @@ /obj/item/mining_scanner, /turf/open/floor/plating/asteroid, /area/ruin/unpowered) -"aE" = ( -/obj/machinery/status_display/shuttle, -/turf/closed/wall/mineral/titanium, -/area/ruin/unpowered) "aF" = ( /obj/item/pickaxe/emergency, /turf/open/floor/plating/asteroid, @@ -237,19 +233,6 @@ }, /turf/open/floor/mineral/titanium, /area/ruin/powered) -"aZ" = ( -/turf/closed/wall/mineral/titanium, -/area/ruin/unpowered) -"ba" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/mineral/titanium, -/area/ruin/unpowered) -"bb" = ( -/obj/structure/shuttle/engine/propulsion/left{ - dir = 4 - }, -/turf/closed/wall/mineral/titanium, -/area/ruin/unpowered) "bc" = ( /obj/item/circuitboard/machine/circuit_imprinter, /turf/open/floor/plating/asteroid, @@ -954,7 +937,7 @@ bh an an ae -aZ +ae bt bt bt @@ -1006,7 +989,7 @@ ao ao ao ak -ba +af bt bt bt @@ -1058,7 +1041,7 @@ ap an as aj -aE +al bt bt bt @@ -1110,7 +1093,7 @@ ao ao ao ak -ba +af ac bt bt @@ -1162,7 +1145,7 @@ an an an ae -aZ +ae ac bt bt @@ -1214,7 +1197,7 @@ af ar af at -bb +at ac bt bt diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid1.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid1.dmm new file mode 100644 index 0000000000..7db21b1491 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuinsStation/roid1.dmm @@ -0,0 +1,111 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"e" = ( +/turf/template_noop, +/area/template_noop) +"m" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"q" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) + +(1,1,1) = {" +e +e +e +q +q +e +e +e +"} +(2,1,1) = {" +e +e +q +m +m +q +e +e +"} +(3,1,1) = {" +e +q +m +m +m +m +q +e +"} +(4,1,1) = {" +e +q +m +m +m +m +m +q +"} +(5,1,1) = {" +q +m +m +m +m +m +m +q +"} +(6,1,1) = {" +q +m +m +m +m +m +m +q +"} +(7,1,1) = {" +q +m +m +m +m +m +q +e +"} +(8,1,1) = {" +e +q +m +m +m +m +q +e +"} +(9,1,1) = {" +e +e +q +m +m +q +e +e +"} +(10,1,1) = {" +e +e +e +q +q +e +e +e +"} diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid2.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid2.dmm new file mode 100644 index 0000000000..687355586c --- /dev/null +++ b/_maps/RandomRuins/SpaceRuinsStation/roid2.dmm @@ -0,0 +1,289 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/overlay/palmtree_l, +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"j" = ( +/turf/open/floor/holofloor/beach/coast_t, +/area/ruin/unpowered) +"n" = ( +/turf/open/floor/holofloor/beach/coast_b, +/area/ruin/unpowered) +"o" = ( +/turf/template_noop, +/area/template_noop) +"p" = ( +/turf/open/floor/holofloor/beach/water, +/area/ruin/unpowered) +"s" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"t" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"u" = ( +/obj/structure/marker_beacon, +/turf/open/floor/holofloor/beach/coast_t, +/area/ruin/unpowered) +"v" = ( +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"A" = ( +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"F" = ( +/mob/living/simple_animal/crab{ + desc = "This little bugger seems so happy to dance.!"; + name = "raving crab" + }, +/turf/open/floor/holofloor/beach/coast_t, +/area/ruin/unpowered) +"H" = ( +/obj/structure/marker_beacon, +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"L" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"R" = ( +/mob/living/simple_animal/crab{ + desc = "This little bugger seems so happy to dance.!"; + name = "raving crab" + }, +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) +"T" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"X" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"Z" = ( +/turf/open/floor/holofloor/beach, +/area/ruin/unpowered) + +(1,1,1) = {" +o +o +X +o +o +o +o +o +o +o +o +o +o +o +"} +(2,1,1) = {" +X +L +L +X +o +o +o +o +o +o +o +o +o +o +"} +(3,1,1) = {" +X +L +L +L +L +X +X +X +X +X +o +o +o +o +"} +(4,1,1) = {" +o +X +L +L +L +L +L +L +L +L +X +o +o +o +"} +(5,1,1) = {" +o +X +L +L +Z +Z +L +L +L +L +L +X +o +o +"} +(6,1,1) = {" +X +L +L +L +Z +R +j +n +p +p +L +L +X +o +"} +(7,1,1) = {" +X +L +L +Z +a +Z +u +n +p +p +L +L +X +o +"} +(8,1,1) = {" +X +L +L +H +R +Z +j +n +p +p +L +L +X +o +"} +(9,1,1) = {" +X +L +L +Z +Z +Z +u +n +p +p +L +L +X +o +"} +(10,1,1) = {" +X +L +L +L +Z +t +F +n +p +p +L +L +X +o +"} +(11,1,1) = {" +o +X +X +L +L +Z +L +L +L +L +L +L +X +o +"} +(12,1,1) = {" +o +o +o +X +L +L +L +L +L +L +L +L +X +o +"} +(13,1,1) = {" +o +o +o +o +X +L +L +L +L +o +X +X +L +X +"} +(14,1,1) = {" +o +o +o +o +o +o +o +o +o +o +o +o +X +o +"} diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid3.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid3.dmm new file mode 100644 index 0000000000..146104fdd0 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuinsStation/roid3.dmm @@ -0,0 +1,498 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/bed, +/obj/item/bedsheet, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"c" = ( +/obj/machinery/door/airlock/silver{ + name = "Bathroom" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/powered) +"d" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"e" = ( +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"g" = ( +/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"i" = ( +/obj/structure/fireplace{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"j" = ( +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"m" = ( +/obj/structure/mineral_door/woodrustic{ + name = "Event Hall" + }, +/obj/structure/fans/tiny, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"n" = ( +/obj/machinery/vending/boozeomat{ + req_access = null + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"o" = ( +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"p" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"q" = ( +/turf/template_noop, +/area/template_noop) +"s" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"t" = ( +/turf/closed/indestructible/wood, +/area/ruin/space/has_grav/powered) +"v" = ( +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"w" = ( +/obj/item/plant_analyzer, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"y" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"A" = ( +/obj/item/seeds/glowshroom, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"C" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"E" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/powered) +"F" = ( +/obj/item/seeds/grass, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"J" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/powered) +"K" = ( +/obj/structure/table/wood, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/wine, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"L" = ( +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/shower{ + dir = 8; + pixel_y = -4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/powered) +"M" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/powered) +"N" = ( +/obj/structure/rack, +/obj/item/stack/sheet/mineral/wood, +/obj/item/stack/sheet/mineral/wood, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"P" = ( +/obj/structure/table/wood, +/obj/item/clothing/head/festive, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"T" = ( +/obj/item/shovel/spade, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"W" = ( +/obj/item/cultivator, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"Y" = ( +/obj/structure/table/wood, +/obj/item/phone, +/turf/open/floor/wood, +/area/ruin/space/has_grav/powered) +"Z" = ( +/obj/item/seeds/tower, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) + +(1,1,1) = {" +q +q +q +d +d +d +d +q +q +q +q +d +d +d +q +q +q +"} +(2,1,1) = {" +q +q +d +p +p +p +p +d +d +d +d +p +p +p +d +q +q +"} +(3,1,1) = {" +q +d +p +p +p +p +p +p +p +p +p +p +p +p +p +d +q +"} +(4,1,1) = {" +d +p +p +p +p +p +p +p +p +p +t +t +t +t +p +p +d +"} +(5,1,1) = {" +d +p +p +d +d +d +e +j +p +p +t +M +J +t +p +p +d +"} +(6,1,1) = {" +d +p +p +d +d +d +F +o +p +p +t +E +L +t +p +p +d +"} +(7,1,1) = {" +q +d +d +s +s +s +s +d +t +t +t +c +t +t +t +p +d +"} +(8,1,1) = {" +q +d +d +d +A +g +W +d +t +Y +C +v +n +y +t +p +d +"} +(9,1,1) = {" +q +d +d +s +s +s +s +d +t +P +C +v +v +v +t +p +d +"} +(10,1,1) = {" +q +d +d +d +T +Z +d +d +m +v +v +v +v +v +t +p +d +"} +(11,1,1) = {" +q +d +d +s +s +s +s +d +t +v +v +v +v +v +t +p +d +"} +(12,1,1) = {" +q +d +d +d +w +A +d +d +t +t +i +N +K +a +t +p +d +"} +(13,1,1) = {" +q +d +p +s +s +s +s +d +p +t +t +t +t +t +t +p +q +"} +(14,1,1) = {" +d +p +p +p +d +d +d +p +p +p +p +p +p +p +p +d +q +"} +(15,1,1) = {" +d +p +p +p +p +p +p +p +p +p +p +p +p +d +d +q +q +"} +(16,1,1) = {" +d +p +p +p +p +p +p +p +p +p +p +p +p +d +q +q +q +"} +(17,1,1) = {" +q +d +p +p +p +p +d +d +d +d +d +d +d +q +q +q +q +"} +(18,1,1) = {" +q +q +d +d +d +d +q +q +q +q +q +q +q +q +q +q +q +"} diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid4.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid4.dmm new file mode 100644 index 0000000000..3d61f35691 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuinsStation/roid4.dmm @@ -0,0 +1,438 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"f" = ( +/obj/effect/decal/cleanable/blood/gibs/body, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"g" = ( +/obj/structure/lattice, +/turf/closed/wall, +/area/ruin/unpowered) +"l" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"n" = ( +/turf/template_noop, +/area/template_noop) +"r" = ( +/turf/closed/wall, +/area/ruin/unpowered) +"t" = ( +/obj/structure/lattice, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"z" = ( +/obj/item/pickaxe/silver, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"M" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"P" = ( +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"R" = ( +/obj/item/lazarus_injector, +/obj/effect/decal/cleanable/blood/gibs/human/lizard/body, +/turf/open/floor/plating/airless, +/area/ruin/unpowered) +"Z" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) + +(1,1,1) = {" +n +n +n +n +n +n +n +n +n +n +n +n +n +n +l +l +n +n +n +n +"} +(2,1,1) = {" +n +n +n +n +n +l +l +l +l +l +n +n +l +l +Z +Z +l +n +n +n +"} +(3,1,1) = {" +n +n +n +l +l +Z +Z +Z +Z +Z +l +n +l +Z +Z +Z +Z +l +n +n +"} +(4,1,1) = {" +n +n +l +Z +Z +Z +Z +Z +Z +t +n +n +l +Z +Z +Z +l +n +n +n +"} +(5,1,1) = {" +n +l +Z +Z +Z +Z +Z +Z +t +M +n +n +l +Z +Z +Z +Z +l +n +n +"} +(6,1,1) = {" +n +l +Z +Z +Z +Z +l +l +n +M +n +l +Z +Z +Z +Z +Z +Z +l +n +"} +(7,1,1) = {" +l +Z +Z +Z +Z +l +n +M +M +g +r +l +Z +Z +Z +Z +Z +Z +l +n +"} +(8,1,1) = {" +l +Z +Z +Z +Z +l +n +M +z +f +r +l +Z +Z +Z +Z +Z +Z +l +n +"} +(9,1,1) = {" +l +Z +Z +Z +t +M +M +M +R +P +M +t +t +Z +Z +Z +Z +Z +l +n +"} +(10,1,1) = {" +l +Z +Z +Z +l +n +n +r +r +M +n +n +n +Z +Z +Z +Z +Z +Z +n +"} +(11,1,1) = {" +n +l +Z +l +n +n +n +n +n +M +n +n +n +n +l +Z +Z +Z +Z +l +"} +(12,1,1) = {" +n +n +l +n +n +n +l +l +l +M +n +n +n +n +l +Z +Z +Z +Z +Z +"} +(13,1,1) = {" +n +n +n +n +n +l +Z +Z +Z +t +n +n +n +n +n +l +Z +Z +Z +Z +"} +(14,1,1) = {" +n +n +n +n +n +l +Z +Z +Z +Z +l +n +n +n +n +n +l +Z +Z +Z +"} +(15,1,1) = {" +n +n +n +n +l +Z +Z +Z +Z +Z +l +n +n +n +n +n +l +Z +Z +l +"} +(16,1,1) = {" +n +n +n +n +l +Z +Z +Z +Z +l +n +n +n +n +n +n +n +l +l +n +"} +(17,1,1) = {" +n +n +n +n +l +Z +Z +l +l +n +n +n +n +n +n +n +n +n +n +n +"} +(18,1,1) = {" +n +n +n +n +n +l +l +n +n +n +n +n +n +n +n +n +n +n +n +n +"} diff --git a/_maps/RandomRuins/SpaceRuinsStation/roid5.dmm b/_maps/RandomRuins/SpaceRuinsStation/roid5.dmm new file mode 100644 index 0000000000..a5afaa4730 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuinsStation/roid5.dmm @@ -0,0 +1,296 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"b" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/unpowered) +"h" = ( +/obj/effect/decal/remains/human, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"t" = ( +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"B" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) +"G" = ( +/obj/item/holosign_creator/atmos, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"K" = ( +/turf/template_noop, +/area/template_noop) +"P" = ( +/obj/structure/holosign/barrier/atmos, +/turf/open/floor/plating/asteroid, +/area/ruin/unpowered) +"Y" = ( +/obj/structure/fluff/fokoff_sign, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered) + +(1,1,1) = {" +K +K +K +B +B +B +B +K +K +K +K +B +b +b +B +K +K +"} +(2,1,1) = {" +K +K +B +b +b +b +b +B +K +K +B +b +b +b +b +B +K +"} +(3,1,1) = {" +K +B +b +b +b +b +b +b +B +Y +b +b +b +b +b +b +B +"} +(4,1,1) = {" +B +b +b +b +b +b +b +b +b +B +b +b +b +b +b +b +B +"} +(5,1,1) = {" +B +b +b +b +b +b +b +b +b +P +b +b +b +b +b +b +B +"} +(6,1,1) = {" +K +B +b +b +b +b +b +b +t +G +t +b +b +b +b +B +K +"} +(7,1,1) = {" +K +K +B +b +b +b +B +P +t +h +t +t +b +b +b +B +K +"} +(8,1,1) = {" +K +K +K +B +Y +B +B +b +b +b +t +t +P +Y +B +K +K +"} +(9,1,1) = {" +K +K +K +B +B +b +b +b +b +b +b +b +b +B +K +K +K +"} +(10,1,1) = {" +K +K +K +B +b +b +b +b +b +b +b +b +b +b +B +K +K +"} +(11,1,1) = {" +K +K +K +B +b +b +b +b +b +b +b +b +b +B +K +K +K +"} +(12,1,1) = {" +K +K +K +K +B +b +b +b +b +B +B +B +B +K +K +K +K +"} +(13,1,1) = {" +K +K +K +K +K +B +b +b +B +K +K +K +K +K +K +K +K +"} +(14,1,1) = {" +K +K +K +K +K +K +B +B +K +K +K +K +K +K +K +K +K +"} diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 0f12d1d9ae..0dc8b29656 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -335,6 +335,10 @@ config_entry_value = 16 min_val = 0 +/datum/config_entry/number/station_space_budget + config_entry_value = 10 + min_val = 0 + /datum/config_entry/flag/allow_random_events // Enables random events mid-round when set /datum/config_entry/number/events_min_time_mul // Multipliers for random events minimal starting time and minimal players amounts diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 4850a67646..b1d183dba3 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -14,6 +14,7 @@ SUBSYSTEM_DEF(mapping) var/list/ruins_templates = list() var/list/space_ruins_templates = list() var/list/lava_ruins_templates = list() + var/list/station_ruins_templates = list() var/datum/space_level/isolated_ruins_z //Created on demand during ruin loading. var/list/shuttle_templates = list() @@ -94,6 +95,11 @@ SUBSYSTEM_DEF(mapping) var/list/space_ruins = levels_by_trait(ZTRAIT_SPACE_RUINS) if (space_ruins.len) seedRuins(space_ruins, CONFIG_GET(number/space_budget), /area/space, space_ruins_templates) + + // Generate station space ruins + var/list/station_ruins = levels_by_trait(ZTRAIT_STATION) + if (station_ruins.len) + seedRuins(station_ruins, CONFIG_GET(number/station_space_budget), /area/space, station_ruins_templates) SSmapping.seedStation() loading_ruins = FALSE #endif @@ -161,6 +167,7 @@ SUBSYSTEM_DEF(mapping) ruins_templates = SSmapping.ruins_templates space_ruins_templates = SSmapping.space_ruins_templates lava_ruins_templates = SSmapping.lava_ruins_templates + station_ruins_templates = SSmapping.station_ruins_templates shuttle_templates = SSmapping.shuttle_templates shelter_templates = SSmapping.shelter_templates unused_turfs = SSmapping.unused_turfs @@ -352,6 +359,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) // Still supporting bans by filename var/list/banned = generateMapList("[global.config.directory]/lavaruinblacklist.txt") banned += generateMapList("[global.config.directory]/spaceruinblacklist.txt") + banned += generateMapList("[global.config.directory]/stationruinblacklist.txt") for(var/item in sortList(subtypesof(/datum/map_template/ruin), /proc/cmp_ruincost_priority)) var/datum/map_template/ruin/ruin_type = item @@ -372,6 +380,8 @@ GLOBAL_LIST_EMPTY(the_station_areas) space_ruins_templates[R.name] = R else if(istype(R, /datum/map_template/ruin/station)) station_room_templates[R.name] = R + else if(istype(R, /datum/map_template/ruin/spacenearstation)) + station_ruins_templates[R.name] = R /datum/controller/subsystem/mapping/proc/preloadShuttleTemplates() var/list/unbuyable = generateMapList("[global.config.directory]/unbuyableshuttles.txt") diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 34a676603e..47cb91c367 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -316,3 +316,40 @@ suffix = "advancedlab.dmm" name = "Abductor Replication Lab" description = "Some scientists tried and almost succeeded to recreate abductor tools. Somewhat slower and a bit less modern than their originals, these tools are the best you can get if you aren't an alien." + +//Space ruins for the station z +/datum/map_template/ruin/spacenearstation + prefix = "_maps/RandomRuins/SpaceRuinsStation/" + cost = 1 + allow_duplicates = FALSE + +/datum/map_template/ruin/spacenearstation/roid1 + id = "roid1" + suffix = "roid1.dmm" + name = "Mineable Asteroid 1" + description = "Mineral asteroid 1." + allow_duplicates = TRUE + +/datum/map_template/ruin/spacenearstation/roid2 + id = "roid2" + suffix = "roid2.dmm" + name = "Crab Roid" + description = "Mineral asteroid. Ft. Crabs." + +/datum/map_template/ruin/spacenearstation/roid3 + id = "roid3" + suffix = "roid3.dmm" + name = "Dorm Roid" + description = "Mineral asteroid. Ft. Dorm." + +/datum/map_template/ruin/spacenearstation/roid4 + id = "roid4" + suffix = "roid4.dmm" + name = "Mineable Asteroid 2" + description = "Mineral asteroid 2." + +/datum/map_template/ruin/spacenearstation/roid5 + id = "roid5" + suffix = "roid5.dmm" + name = "Mineable Asteroid 3" + description = "Mineral asteroid. Ft. Holofans." \ No newline at end of file diff --git a/code/datums/ruins/station.dm b/code/datums/ruins/station.dm index 71cdf495e9..745d022889 100644 --- a/code/datums/ruins/station.dm +++ b/code/datums/ruins/station.dm @@ -60,4 +60,4 @@ /datum/map_template/ruin/station/lavaland/mining_base id = "mining_public_01" suffix = "Lavaland/Mining_Station/Mining_Station_Public_01.dmm" - name = "Public Mining Base" + name = "Public Mining Base" \ No newline at end of file diff --git a/config/game_options.txt b/config/game_options.txt index b2b0ac0abd..5be76ae60d 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -531,6 +531,9 @@ LAVALAND_BUDGET 60 ## Space Ruin Budged Space_Budget 16 +## Station Ruin Budget +STATION_SPACE_BUDGET 10 + ## Time in ds from when a player latejoins till the arrival shuttle docks at the station ## Must be at least 30. At least 55 recommended to be visually/aurally appropriate ARRIVALS_SHUTTLE_DOCK_WINDOW 55 diff --git a/config/stationRuinBlacklist.txt b/config/stationRuinBlacklist.txt new file mode 100644 index 0000000000..532ce710fe --- /dev/null +++ b/config/stationRuinBlacklist.txt @@ -0,0 +1,10 @@ +#Listing maps here will blacklist them from generating in station space. +#Maps must be the full path to them +#A list of maps valid to blacklist can be found in _maps\RandomRuins\StationRuins\Space +#SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START + +#_maps/RandomRuins/StationRuins/Space/roid1.dmm +#_maps/RandomRuins/StationRuins/Space/roid2.dmm +#_maps/RandomRuins/StationRuins/Space/roid3.dmm +#_maps/RandomRuins/StationRuins/Space/roid4.dmm +#_maps/RandomRuins/StationRuins/Space/roid5.dmm \ No newline at end of file