From d78d3a5f4a8b249e3de12c28b0cc4a10aef061bb Mon Sep 17 00:00:00 2001 From: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Date: Thu, 2 Oct 2025 11:06:07 -0400 Subject: [PATCH] Ore vents spawn a ring of platforms around themselves for the duration of wave defense. (#92978) Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> --- _maps/map_files/Mining/Lavaland.dmm | 682 +++++++++--------- .../objects/structures/lavaland/ore_vent.dm | 33 +- .../mining/boulder_processing/boulder.dm | 18 +- 3 files changed, 380 insertions(+), 353 deletions(-) diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 8789106bd6a..1b677d44d66 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -278,6 +278,28 @@ }, /turf/open/floor/iron/textured_large, /area/mine/lounge) +"bM" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/arrow_cw{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/textured_edge{ + dir = 4 + }, +/area/mine/production) "bQ" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -553,13 +575,6 @@ /obj/structure/lattice/catwalk/mining, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"dh" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 2 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/mine/mechbay) "di" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -721,27 +736,6 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"ez" = ( -/obj/structure/chair/comfy/teal{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/west{ - network = list("mine") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/edge{ - dir = 4 - }, -/area/mine/lounge) "eA" = ( /turf/closed/wall, /area/mine/maintenance/public/south) @@ -909,14 +903,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"fA" = ( -/obj/machinery/computer/shuttle/mining{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/production) "fD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1179,17 +1165,6 @@ dir = 1 }, /area/mine/living_quarters) -"gK" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Labor Camp External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "gM" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -1235,18 +1210,6 @@ /obj/structure/ore_box, /turf/open/floor/iron/dark, /area/mine/production) -"gZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/mine/laborcamp/security) "hd" = ( /obj/machinery/door/airlock/security/glass{ name = "Labor Camp Shuttle Security Airlock" @@ -1345,15 +1308,6 @@ /obj/structure/lattice/catwalk, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"hB" = ( -/obj/structure/cable, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/wall_healer/directional/north, -/turf/open/floor/iron/white, -/area/mine/medical) "hD" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -1423,6 +1377,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/living/north) +"hS" = ( +/obj/structure/gulag_vent, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "hV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -1601,6 +1559,13 @@ }, /turf/open/floor/iron/edge, /area/mine/living_quarters) +"iT" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/light/directional/west, +/obj/machinery/wall_healer/directional/west, +/turf/open/floor/iron/dark, +/area/mine/production) "iX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/sofa/bench{ @@ -1642,6 +1607,18 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"jg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/mine/laborcamp/security) "jh" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -2017,14 +1994,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron/dark, /area/mine/production) -"lg" = ( -/obj/machinery/computer/order_console/mining, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark/smooth_edge, -/area/mine/eva) "lh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2204,29 +2173,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/living/south) -"lO" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/structure/sign/directions/dorms/directional/north, -/obj/structure/sign/directions/security/directional/north{ - pixel_y = 24 - }, -/obj/structure/sign/directions/supply/directional/north{ - pixel_y = 40 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red/corner{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/mine/lounge) "lP" = ( /obj/item/flashlight/lantern/on, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -2654,13 +2600,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/service) -"nk" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/light/directional/west, -/obj/machinery/wall_healer/directional/west, -/turf/open/floor/iron/dark, -/area/mine/production) "nl" = ( /obj/structure/fence{ dir = 8 @@ -2901,6 +2840,29 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"oD" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Labor Camp External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) +"oE" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/structure/rack, +/obj/item/mining_scanner, +/obj/item/flashlight, +/obj/item/clothing/glasses/meson, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/storage/public) "oI" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -2910,18 +2872,6 @@ /obj/item/cigbutt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) -"oJ" = ( -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = list("mining_station") - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 4 - }, -/area/mine/mechbay) "oN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/decal/cleanable/dirt, @@ -3161,6 +3111,13 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"pY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/mine/mechbay) "pZ" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -3292,6 +3249,14 @@ }, /turf/open/floor/iron/freezer, /area/mine/living_quarters) +"qL" = ( +/obj/machinery/computer/order_console/mining, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark/smooth_edge, +/area/mine/eva) "qN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -3493,6 +3458,19 @@ /obj/item/flashlight/lantern/on, /turf/open/misc/hay/lavaland, /area/mine/lobby/raptor) +"sb" = ( +/obj/structure/sink/directional/east, +/obj/item/reagent_containers/cup/bucket, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/hydroponics) "se" = ( /turf/open/floor/iron/dark/textured_large, /area/mine/eva) @@ -3638,13 +3616,6 @@ dir = 1 }, /area/mine/cafeteria) -"sX" = ( -/obj/machinery/mechpad, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/mine/mechbay) "tc" = ( /obj/structure/bed{ dir = 4 @@ -3732,17 +3703,6 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/mine/maintenance/service) -"tB" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white/smooth_corner, -/area/mine/medical) "tE" = ( /turf/open/floor/iron/smooth, /area/mine/laborcamp) @@ -3775,6 +3735,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/storage) +"tQ" = ( +/obj/structure/tank_holder/extinguisher, +/obj/effect/turf_decal/trimline/yellow/filled/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/arrow_ccw{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/textured_edge{ + dir = 8 + }, +/area/mine/lounge) "tV" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -3828,10 +3808,6 @@ /obj/item/crowbar/large/emergency, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"uo" = ( -/obj/structure/fluff/minepost, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "up" = ( /obj/structure/railing{ dir = 1 @@ -3875,6 +3851,15 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"uy" = ( +/obj/structure/cable, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/wall_healer/directional/north, +/turf/open/floor/iron/white, +/area/mine/medical) "uC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wideplating_new{ @@ -4207,22 +4192,6 @@ dir = 8 }, /area/mine/lounge) -"wq" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/checker, -/area/mine/cafeteria) "wr" = ( /obj/item/seeds/plump, /obj/machinery/hydroponics/soil, @@ -4297,16 +4266,6 @@ /obj/item/seeds/banana, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"wT" = ( -/obj/structure/cable, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "wU" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -4343,19 +4302,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) -"xr" = ( -/obj/structure/sink/directional/east, -/obj/item/reagent_containers/cup/bucket, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/hydroponics) "xt" = ( /obj/structure/railing{ dir = 4 @@ -4425,6 +4371,13 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) +"xK" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/mine/mechbay) "xN" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -4585,6 +4538,17 @@ }, /turf/open/floor/iron, /area/mine/living_quarters) +"yM" = ( +/obj/structure/bed, +/obj/item/bedsheet, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white/smooth_corner, +/area/mine/medical) "yN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4609,13 +4573,6 @@ /obj/structure/stone_tile/block/cracked, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"yT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "yV" = ( /obj/structure/railing{ dir = 1 @@ -5310,6 +5267,24 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/open/floor/plating, /area/mine/maintenance/public/north) +"DM" = ( +/obj/machinery/computer/shuttle/mining{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/mine/production) +"DT" = ( +/obj/structure/cable, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "DV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5597,6 +5572,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/mine/lobby/raptor) +"FK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "FL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/west, @@ -5645,22 +5627,6 @@ "Ge" = ( /turf/closed/wall, /area/mine/laborcamp/quarters) -"Gf" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Labor Camp External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) -"Gi" = ( -/obj/item/stack/cable_coil/cut, -/turf/open/misc/asteroid/basalt/lava_land_surface{ - icon_state = "basalt_dug" - }, -/area/lavaland/surface/outdoors) "Gl" = ( /obj/item/reagent_containers/cup/glass/colocup, /turf/open/misc/asteroid/basalt/lava_land_surface, @@ -5839,6 +5805,18 @@ dir = 1 }, /area/mine/lounge) +"Hx" = ( +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = list("mining_station") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 4 + }, +/area/mine/mechbay) "Hz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/toilet{ @@ -5872,6 +5850,10 @@ dir = 1 }, /area/mine/lounge) +"HC" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "HD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5924,22 +5906,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) -"HP" = ( -/obj/machinery/computer/mech_bay_power_console{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("mine") - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 8 - }, -/area/mine/mechbay) "HS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6440,19 +6406,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/mine/maintenance/service/comms) -"Ko" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/item/storage/bag/ore, -/obj/item/pickaxe, -/obj/structure/rack, -/obj/item/mining_scanner, -/obj/item/flashlight, -/obj/item/clothing/glasses/meson, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/mine/storage/public) "Kp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -6505,6 +6458,22 @@ }, /turf/open/floor/carpet/royalblue, /area/mine/living_quarters) +"KD" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/bar/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/checker, +/area/mine/cafeteria) "KI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6578,28 +6547,6 @@ "Lg" = ( /turf/open/floor/plating, /area/mine/storage) -"Lh" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/textured_edge{ - dir = 4 - }, -/area/mine/production) "Li" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6649,6 +6596,17 @@ dir = 8 }, /area/mine/production) +"Ls" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Labor Camp External Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/production) "Lu" = ( /obj/structure/closet/crate/secure/loot, /obj/effect/decal/cleanable/dirt, @@ -6793,12 +6751,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"Mc" = ( -/obj/structure/chair/wood/wings, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/carpet/neon/simple/red/nodots, -/area/mine/cafeteria) "Me" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/stripes/corner{ @@ -6824,6 +6776,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood/parquet, /area/mine/lobby/raptor) +"Mp" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/mine/production) "Mr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -6865,6 +6824,14 @@ }, /turf/open/floor/iron, /area/mine/living_quarters) +"MF" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/mine/cafeteria) "MH" = ( /obj/machinery/door/airlock/external/glass{ name = "Mining External Airlock" @@ -7043,10 +7010,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/mine/laborcamp/production) -"NC" = ( -/obj/structure/gulag_vent, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "NE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7377,26 +7340,6 @@ /obj/item/toy/beach_ball, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"PA" = ( -/obj/structure/tank_holder/extinguisher, -/obj/effect/turf_decal/trimline/yellow/filled/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/arrow_ccw{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/mid_joiner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/mid_joiner{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/textured_edge{ - dir = 8 - }, -/area/mine/lounge) "PD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance/two, @@ -7539,6 +7482,10 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Qx" = ( +/obj/structure/fluff/minepost, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "Qz" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -7626,6 +7573,29 @@ "QX" = ( /turf/closed/wall, /area/mine/mechbay) +"QY" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/structure/sign/directions/dorms/directional/north, +/obj/structure/sign/directions/security/directional/north{ + pixel_y = 24 + }, +/obj/structure/sign/directions/supply/directional/north{ + pixel_y = 40 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red/corner{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/mine/lounge) "Ra" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Station EVA" @@ -7780,6 +7750,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/eva) +"RU" = ( +/obj/machinery/mechpad, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/mine/mechbay) "RV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7947,7 +7924,7 @@ }, /turf/open/floor/iron/dark/textured_large, /area/mine/laborcamp/security) -"SI" = ( +"SK" = ( /obj/effect/turf_decal/weather/dirt{ dir = 1 }, @@ -8426,6 +8403,22 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/plating, /area/mine/maintenance/labor) +"Vs" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("mine") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 8 + }, +/area/mine/mechbay) "Vt" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -8627,13 +8620,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"WJ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/mine/mechbay) "WK" = ( /obj/structure/chair/sofa/corp{ dir = 8 @@ -8917,6 +8903,12 @@ dir = 1 }, /area/mine/cafeteria) +"Yd" = ( +/obj/item/stack/cable_coil/cut, +/turf/open/misc/asteroid/basalt/lava_land_surface{ + icon_state = "basalt_dug" + }, +/area/lavaland/surface/outdoors) "Ye" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -9000,13 +8992,6 @@ dir = 1 }, /area/mine/laborcamp/quarters) -"YD" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/mine/production) "YF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9056,6 +9041,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) +"Za" = ( +/obj/structure/chair/wood/wings, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/carpet/neon/simple/red/nodots, +/area/mine/cafeteria) "Zb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9089,14 +9080,6 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/mine/laborcamp/security) -"Zn" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/mine/cafeteria) "Zp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9168,6 +9151,27 @@ /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) +"ZG" = ( +/obj/structure/chair/comfy/teal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/west{ + network = list("mine") + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/edge{ + dir = 4 + }, +/area/mine/lounge) "ZH" = ( /obj/structure/closet/secure_closet/labor_camp_security, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -9190,10 +9194,6 @@ /obj/structure/lattice/catwalk/mining, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"ZN" = ( -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/production) "ZP" = ( /obj/structure/sign/directions/engineering/directional/north{ pixel_y = 24 @@ -20251,7 +20251,7 @@ uU uU uU pU -NC +hS pU uU uU @@ -21278,7 +21278,7 @@ uU uU uU uU -uo +Qx pU uU uU @@ -22307,7 +22307,7 @@ uU uU uU uU -SI +SK uU uU uU @@ -22563,7 +22563,7 @@ uU uU uU uU -uo +Qx pU pU uU @@ -22821,7 +22821,7 @@ uU uU pU pU -Gi +Yd pU pU uU @@ -23078,7 +23078,7 @@ pU pU pU tL -wT +DT pV pU pU @@ -23335,7 +23335,7 @@ pU pU pU ff -Gf +oD ff pU pU @@ -23592,7 +23592,7 @@ pU pU pU ff -yT +FK ff pU pU @@ -23849,7 +23849,7 @@ ff eR eR ff -gK +Ls ff eR ff @@ -24106,7 +24106,7 @@ YY YY LR bb -ZN +HC rm Qe ff @@ -32590,7 +32590,7 @@ he he Ia TT -gZ +jg Ia Ia Ia @@ -37983,7 +37983,7 @@ Tc xJ XA eK -Zn +MF px DI oS @@ -38766,9 +38766,9 @@ pq Vp Zq Me -PA +tQ Zq -lO +QY Zz FT Qa @@ -39281,7 +39281,7 @@ pU gx Sn Sz -xr +sb yX PV Gx @@ -39775,7 +39775,7 @@ aj aj pU kY -Mc +Za wJ kY Zj @@ -40036,7 +40036,7 @@ kY kY kY eP -wq +KD DW qg kY @@ -40058,7 +40058,7 @@ bw XD rU Og -Ko +oE Ly dJ aj @@ -40822,7 +40822,7 @@ aj xB DK Dz -hB +uy vu It Xp @@ -41337,7 +41337,7 @@ xB ZT Dz ae -tB +yM It yf mR @@ -42365,7 +42365,7 @@ Zq Rt bK Xi -ez +ZG EE XB Zb @@ -46200,9 +46200,9 @@ Ey tV tM QX -sX +RU ht -oJ +Hx Ok QX Vh @@ -46971,9 +46971,9 @@ tV tV tM QX -dh -WJ -HP +xK +pY +Vs CE Ni IW @@ -47479,20 +47479,20 @@ aj gA aj Le -Lh +bM Nh NU Yl XT NU ld -nk +iT ld NU WB wt jw -fA +DM Le Le NU @@ -48773,7 +48773,7 @@ Vw wl Ti pK -lg +qL se Yg li @@ -49285,7 +49285,7 @@ RY RY dQ Cg -YD +Mp pK Ob IL diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index 2e00a08a600..3067be08f43 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -237,13 +237,34 @@ addtimer(CALLBACK(node, TYPE_PROC_REF(/atom, update_appearance)), wave_timer * 0.75) add_shared_particles(/particles/smoke/ash) for(var/i in 1 to 5) // Clears the surroundings of the ore vent before starting wave defense. - for(var/turf/closed/mineral/rock in oview(i)) - if(istype(rock, /turf/open/misc/asteroid) && prob(35)) // so it's too common - new /obj/effect/decal/cleanable/rubble(rock) - if(prob(100 - (i * 15))) - rock.gets_drilled(user) + for(var/turf/rock in oview(i)) + + if(istype(rock, /turf/closed/mineral)) //Solid wall checks: Mine out the wall, but start skipping more as we move farther away. + if(prob(50 + (i * 8))) + continue + var/turf/closed/mineral/drillable = rock + drillable.gets_drilled(user) if(prob(50)) - new /obj/effect/decal/cleanable/rubble(rock) + new /obj/effect/decal/cleanable/rubble(rock) // Only throw rubble when we actually mine something, and not all the time. + continue //skip the rest of the checks + + if(istype(rock, /turf/open/misc/asteroid) && prob(35)) // Open rock floors: make rubble decals occasionally. + new /obj/effect/decal/cleanable/rubble(rock) + continue + + if(istype(rock, /turf/open/lava)) // Lava turfs, skip as we get farther away, otherwise produce a boulder and make it a platform, lasting the whole wave. + if(prob(30 + (i * 8))) // We want to skip these less than the mining walls, since lava is more common to deal with. + continue + + var/obj/item/boulder/produced = produce_boulder(FALSE) + var/obj/structure/lattice/catwalk/boulder/platform = produced.create_platform(rock, null, wave_timer) + + if(!platform || !QDELETED(produced)) + qdel(produced) + continue + platform.alpha = 0 + platform.pixel_z = -16 + animate(platform, alpha = 255, time = 2 SECONDS, pixel_z = 0, easing = QUAD_EASING|EASE_OUT) sleep(0.6 SECONDS) return TRUE diff --git a/code/modules/mining/boulder_processing/boulder.dm b/code/modules/mining/boulder_processing/boulder.dm index 6ffddb8e5cd..94435f233d7 100644 --- a/code/modules/mining/boulder_processing/boulder.dm +++ b/code/modules/mining/boulder_processing/boulder.dm @@ -114,7 +114,7 @@ /obj/item/boulder/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) . = ..() if(istype(interacting_with, /turf/open/lava)) - if(!create_platform(interacting_with, user, interacting_with)) + if(!create_platform(interacting_with, user, null)) return ITEM_INTERACT_BLOCKING return ITEM_INTERACT_SUCCESS @@ -124,17 +124,23 @@ if(!create_platform(target, thrower)) return FALSE -/obj/item/boulder/proc/create_platform(atom/interacting_with, mob/living/user) +/obj/item/boulder/proc/create_platform(atom/interacting_with, mob/living/user, timer_override = null) if(locate(/obj/structure/lattice/catwalk/boulder, interacting_with)) - to_chat(user, span_warning("There is already a boulder platform here!")) - return FALSE + if(user) + to_chat(user, span_warning("There is already a boulder platform here!")) + return null + + var/active_platform_lifespan = platform_lifespan //Default to the assigned value. + if(timer_override) + active_platform_lifespan = timer_override var/obj/structure/lattice/catwalk/boulder/platform = new(interacting_with) - addtimer(CALLBACK(platform, TYPE_PROC_REF(/obj/structure/lattice/catwalk/boulder, pre_self_destruct)), platform_lifespan) + addtimer(CALLBACK(platform, TYPE_PROC_REF(/obj/structure/lattice/catwalk/boulder, pre_self_destruct)), active_platform_lifespan) // See Lattice.dm for more info visible_message(span_notice("\The [src] floats on \the [interacting_with], forming a temporary platform!")) qdel(src) - return TRUE + return platform + /** * This is called when a boulder is processed by a mob or tool, and reduces the durability of the boulder. * @param obj/item/weapon The weapon that is being used to process the boulder, that we pull toolspeed from. If null, we use the override_speed_multiplier instead.