diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_worldanvil.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_worldanvil.dmm new file mode 100644 index 000000000000..512cd465420e --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_worldanvil.dmm @@ -0,0 +1,446 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"b" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/block/cracked, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"d" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile/block, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"f" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"g" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"h" = ( +/obj/structure/world_anvil, +/obj/structure/stone_tile/slab, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"i" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"j" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"l" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"m" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"o" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"s" = ( +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"t" = ( +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"v" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"w" = ( +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/center/cracked, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"x" = ( +/obj/structure/stone_tile, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"z" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 8 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/center/burnt, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"B" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"E" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"I" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"J" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"M" = ( +/turf/closed/indestructible/riveted/boss, +/area/lavaland/surface/outdoors) +"O" = ( +/obj/structure/stone_tile/block, +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"P" = ( +/turf/template_noop, +/area/template_noop) +"Q" = ( +/obj/structure/stone_tile{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"T" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"Z" = ( +/obj/structure/stone_tile/surrounding_tile{ + dir = 4 + }, +/obj/structure/stone_tile/surrounding_tile{ + dir = 1 + }, +/obj/structure/stone_tile/surrounding_tile, +/obj/structure/stone_tile/center, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +P +P +t +P +t +P +P +T +P +P +t +t +P +P +P +"} +(2,1,1) = {" +P +t +t +t +t +t +B +B +B +t +t +t +t +t +P +"} +(3,1,1) = {" +t +t +M +M +M +t +B +s +B +t +M +M +M +t +t +"} +(4,1,1) = {" +t +t +M +B +B +B +B +B +B +B +B +B +M +t +t +"} +(5,1,1) = {" +t +t +M +B +B +B +T +v +s +B +B +B +M +t +P +"} +(6,1,1) = {" +P +t +t +B +B +M +M +I +M +M +B +B +t +B +P +"} +(7,1,1) = {" +P +B +B +B +T +M +w +J +Z +M +s +B +B +B +B +"} +(8,1,1) = {" +P +s +B +Q +E +b +f +h +d +O +o +Q +B +s +B +"} +(9,1,1) = {" +P +B +B +B +Q +M +m +i +z +M +x +B +B +B +P +"} +(10,1,1) = {" +P +t +t +B +B +M +M +j +M +M +B +B +t +t +P +"} +(11,1,1) = {" +t +t +M +B +B +B +Q +g +x +B +B +B +M +t +P +"} +(12,1,1) = {" +t +t +M +B +B +B +B +l +B +B +B +B +M +t +t +"} +(13,1,1) = {" +P +P +M +M +M +t +B +B +B +t +M +M +M +t +P +"} +(14,1,1) = {" +P +t +t +t +t +t +B +Q +B +B +t +t +t +t +P +"} +(15,1,1) = {" +P +P +P +t +P +P +P +B +P +P +P +t +t +P +P +"} diff --git a/_maps/RandomRuins/LavaRuins/miningbase.dmm b/_maps/RandomRuins/LavaRuins/miningbase.dmm index cc3e745422f8..900698f03fd6 100644 --- a/_maps/RandomRuins/LavaRuins/miningbase.dmm +++ b/_maps/RandomRuins/LavaRuins/miningbase.dmm @@ -3042,6 +3042,9 @@ }, /turf/open/floor/plasteel, /area/mine/eva) +"Ow" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors) "OC" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ @@ -3806,6 +3809,16 @@ ab ab ab ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab "} (2,1,1) = {" ab @@ -3848,6 +3861,16 @@ ab ab ab ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab "} (3,1,1) = {" ab @@ -3890,6 +3913,16 @@ ab ab ab ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab "} (4,1,1) = {" ab @@ -3905,6 +3938,11 @@ ab ab ab ab +ab +ab +ab +ab +ab Ap Ap Ap @@ -3924,6 +3962,11 @@ ab ab ab ab +Ow +Ow +ab +ab +ab ab ab ab @@ -3945,6 +3988,11 @@ ab ab ab ab +ab +ab +ak +ab +ak Ap Ap Ap @@ -3965,6 +4013,11 @@ Ap ab ab Ap +Ow +Ow +Ow +Ow +Ow ab ab ab @@ -3987,6 +4040,11 @@ ab ab ab ab +ab +ak +ak +ak +ak Ap zW zW @@ -4007,9 +4065,14 @@ Ap Ap Ap Ap -ab -ab +Ow +Ow Ap +Ow +Ow +Ow +Ow +ab ab ab ab @@ -4024,11 +4087,16 @@ ab ab ab ab +ab +ab +ab +ab +ab +ak ak ak ak ak -ab Ap zW id @@ -4053,6 +4121,11 @@ Ap Ap Ap Ap +Ow +Ow +Ow +ab +ab ab ab ab @@ -4067,6 +4140,11 @@ ab ab ab ab +ab +ab +Ow +ak +ak ak ak ak @@ -4096,6 +4174,11 @@ Cv Cv Ap Ap +Ow +Ow +Ow +ab +ab ab ab ab @@ -4108,6 +4191,11 @@ ab ab ab ab +ab +ab +Ow +Ow +Ow YA YA JJ @@ -4139,6 +4227,11 @@ Cv Cv Ap Ap +Ow +Ow +Ow +ab +ab ab ab ab @@ -4150,6 +4243,11 @@ ab ab ab ab +ab +Ow +Ow +Ow +Ow YA XC XC @@ -4181,6 +4279,11 @@ qK Cv Cv Ap +ak +Ow +Ow +Ow +Ow ab ab ab @@ -4192,6 +4295,11 @@ ab ab ab ab +Ow +Ow +Ow +ak +ak YA XC aJ @@ -4223,7 +4331,12 @@ sW sW Cv Ap -ab +ak +Ow +Ow +Ow +Ow +Ow ab ab "} @@ -4233,7 +4346,12 @@ ab ab ab ab -ab +Ow +Ow +Ow +ak +ak +ak YA XC aW @@ -4265,17 +4383,27 @@ qK sW Cv Ap -ab -ab -ab +ak +ak +Ow +Ow +Ow +Ow +Ow +Ow "} (13,1,1) = {" ab ab ab ab -ab -ab +Ow +Ow +Ow +Ow +ak +ak +ak YA sp jX @@ -4307,17 +4435,27 @@ sW sW Cv Ap -ab -ab -ab +ak +ak +Ow +ak +ak +Ow +Ow +Ow "} (14,1,1) = {" ab ab -ab -ab -ab -ab +Ow +Ow +Ow +Ow +Ow +ak +ak +ak +ak YA yf SI @@ -4349,16 +4487,26 @@ qK Cv Cv ak -ab -ab -ab +ak +ak +ak +ak +ak +ak +Ow +Ow "} (15,1,1) = {" ab ab -ab -ab -ab +Ow +Ow +Ow +ak +ak +ak +ak +ak ak YA YA @@ -4391,16 +4539,26 @@ Cv Cv ak ak -ab -ab -ab +ak +ak +ak +ak +ak +ak +ak +Ow "} (16,1,1) = {" ab -ab +Ow +Ow +ak +ak +ak +ak +ak +ak ak -ab -ab ak RR FR @@ -4434,12 +4592,22 @@ ak ak ak ak -ab -ab +ak +ak +ak +ak +ak +ak +Ow "} (17,1,1) = {" ab -ab +Ow +Ow +ak +ak +ak +ak ak ak ak @@ -4476,11 +4644,21 @@ ak ak ak ak -ab -ab +ak +ak +ak +ak +ak +Ow +Ow "} (18,1,1) = {" -ab +Ow +Ow +ak +ak +ak +ak ak ai cU @@ -4518,11 +4696,21 @@ ND vl hq ak -ab -ab +ak +ak +ak +ak +ak +Ow +Ow "} (19,1,1) = {" -ab +Ow +Ow +ak +ak +ak +ak ak ak RR @@ -4561,10 +4749,20 @@ ND ak ak ak -ab +ak +ak +ak +ak +ak +Ow "} (20,1,1) = {" -ab +Ow +Ow +ak +ak +ak +ak ak ak qL @@ -4603,10 +4801,20 @@ PQ ak ak ak -ab +ak +ak +ak +ak +ak +Ow "} (21,1,1) = {" -ab +Ow +Ow +ak +ak +ak +ak ak ak RR @@ -4645,10 +4853,20 @@ ND ak ak ak -ab +ak +ak +ak +ak +ak +Ow "} (22,1,1) = {" -ab +Ow +Ow +ak +ak +ak +ak ak ai cU @@ -4687,11 +4905,21 @@ vl hq ak ak -ab +ak +ak +ak +ak +ak +Ow "} (23,1,1) = {" -ab -ab +Ow +Ow +ak +ak +ak +ak +ak ak ak ak @@ -4729,13 +4957,23 @@ Ap ak ak ak -ab +ak +ak +ak +ak +Ow +Ow "} (24,1,1) = {" -ab -ab -ab -ab +Ow +Ow +Ow +ak +ak +ak +ak +ak +ak ak Ap RR @@ -4770,15 +5008,25 @@ Ap ak ak ak -ab -ab +ak +ak +ak +ak +ak +Ow +Ow "} (25,1,1) = {" ab -ab -ab -ab -ab +Ow +Ow +Ow +ak +ak +ak +ak +ak +ak Ap Uf Uf @@ -4812,16 +5060,26 @@ ak ak ak ak -ab -ab +ak +ak +ak +ak +Ow +Ow +Ow "} (26,1,1) = {" ab -ab -ab -ab -ab -ab +Ow +Ow +Ow +ak +ak +ak +ak +ak +ak +ak Uf Rl Rl @@ -4854,16 +5112,26 @@ ak ak ak ak -ab -ab +ak +ak +ak +Ow +Ow +Ow +Ow "} (27,1,1) = {" ab ab -ab -ab -ab -ab +Ow +Ow +Ow +ak +ak +ak +Ow +ak +ak Bx Rl Hi @@ -4895,16 +5163,26 @@ ez ez ak ak -ab -ab -ab +ak +ak +ak +ak +Ow +Ow +Ow +Ow "} (28,1,1) = {" ab ab ab -ab -ab +Ow +Ow +ak +ak +ak +Ow +Ow Ap Uf gk @@ -4937,16 +5215,26 @@ QQ ez ak ak -ab -ab -ab +ak +ak +ak +ak +Ow +Ow +Ow +Ow "} (29,1,1) = {" ab ab ab -ab -ab +Ow +Ow +ak +ak +Ow +Ow +Ow Ap Bx Rl @@ -4979,8 +5267,13 @@ ez ez ak ak -ab -ab +ak +ak +ak +ak +Ow +Ow +Ow ab "} (30,1,1) = {" @@ -4988,7 +5281,12 @@ ab ab ab ab -ab +Ow +Ow +Ow +Ow +Ow +Ow Ap Uf Rl @@ -5021,8 +5319,13 @@ ez Ap ak ak -ab -ab +ak +ak +ak +ak +Ow +Ow +Ow ab "} (31,1,1) = {" @@ -5031,6 +5334,11 @@ ab ab ab ab +ab +Ow +Ow +Ow +Ow Ap Uf Uf @@ -5063,7 +5371,12 @@ Ap Ap ak ak -ab +ak +ak +ak +Ow +Ow +Ow ab ab "} @@ -5073,11 +5386,16 @@ ab ab ab ab +ab +Ow +Ow +Ow +Ow Ap Ap -ab -ab -ab +Ow +Ow +ak ak ak zW @@ -5105,7 +5423,12 @@ Ap Ap ak ak -ab +ak +ak +ak +Ow +Ow +Ow ab ab "} @@ -5117,11 +5440,16 @@ ab ab ab ab -ab -ab -ab -ab -ab +Ow +Ow +Ow +Ow +Ow +Ow +Ow +Ow +ak +ak zW we fO @@ -5142,11 +5470,16 @@ Ap Ap Ap Ap -ab +Ow Ap Ap ak -ab +Ow +ak +ak +Ow +Ow +Ow ab ab ab @@ -5162,8 +5495,13 @@ ab ab ab ab -ab -ab +Ow +Ow +Ow +Ow +Ow +ak +ak zW zW lH @@ -5184,10 +5522,15 @@ Ap ab ab ab -ab -ab +Ow +Ow Ap ak +Ow +Ow +Ow +Ow +Ow ab ab ab @@ -5203,6 +5546,11 @@ ab ab ab ab +ab +ab +Ow +Ow +Ow ak ak ak @@ -5227,15 +5575,23 @@ ab ab ab ab +Ow +Ow +Ow +Ow +Ow +Ow +Ow +Ow ab ab ab ab +"} +(36,1,1) = {" ab ab ab -"} -(36,1,1) = {" ab ab ab @@ -5248,12 +5604,14 @@ ab ab ab ab -ak -ak ab ab ak ak +ak +ak +ak +ak Ap ab Ap @@ -5270,7 +5628,12 @@ ab ab ab ab -ab +Ow +Ow +Ow +Ow +Ow +Ow ab ab ab @@ -5296,6 +5659,11 @@ ab ab ab ab +ak +ak +ak +ak +ab ab ab ab @@ -5314,6 +5682,11 @@ ab ab ab ab +Ow +Ow +ab +ab +ab ab ab ab @@ -5339,6 +5712,11 @@ ab ab ab ab +ak +ab +ab +ab +ab ab ab ab @@ -5360,6 +5738,11 @@ ab ab ab ab +ab +ab +ab +ab +ab "} (39,1,1) = {" ab @@ -5402,6 +5785,16 @@ ab ab ab ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab "} (40,1,1) = {" ab @@ -5444,4 +5837,14 @@ ab ab ab ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab "} diff --git a/_maps/map_files/mining/Lavaland.dmm b/_maps/map_files/mining/Lavaland.dmm index ee5686d63308..58c556f6b5c7 100644 --- a/_maps/map_files/mining/Lavaland.dmm +++ b/_maps/map_files/mining/Lavaland.dmm @@ -265,6 +265,19 @@ /obj/item/shovel, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/explored) +"eh" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "ei" = ( /obj/structure/window/reinforced{ dir = 8 @@ -277,16 +290,6 @@ }, /turf/open/floor/plasteel/dark, /area/mine/laborcamp) -"ev" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/block{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "ez" = ( /obj/effect/decal/cleanable/shreds, /turf/open/indestructible/necropolis, @@ -333,19 +336,6 @@ /obj/structure/bookcase/random, /turf/open/floor/plasteel, /area/mine/laborcamp) -"fz" = ( -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "fQ" = ( /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/unexplored/danger) @@ -421,16 +411,6 @@ /obj/structure/stone_tile/block, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"gp" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "gr" = ( /obj/structure/stone_tile{ dir = 1 @@ -1728,6 +1708,15 @@ "pl" = ( /turf/open/floor/plasteel/freezer, /area/mine/laborcamp) +"pp" = ( +/obj/structure/stone_tile/cracked{ + dir = 8 + }, +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "pw" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 1; @@ -1754,16 +1743,6 @@ }, /turf/open/floor/plasteel, /area/mine/laborcamp) -"pH" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "pJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -1947,16 +1926,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/indestructible/necropolis, /area/ruin/unpowered/dragonslair) -"sR" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "sY" = ( /obj/effect/turf_decal/loading_area{ dir = 4 @@ -2055,29 +2024,6 @@ }, /turf/open/indestructible/necropolis, /area/ruin/unpowered/dragonslair) -"ue" = ( -/obj/structure/stone_tile/block/cracked, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ut" = ( -/obj/structure/stone_tile/cracked, -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "uu" = ( /obj/machinery/door/airlock{ name = "Labor Camp Library" @@ -2326,16 +2272,6 @@ }, /turf/open/indestructible/necropolis, /area/ruin/unpowered/dragonslair) -"Af" = ( -/obj/structure/stone_tile/block, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "Al" = ( /obj/machinery/conveyor{ dir = 8; @@ -2604,14 +2540,6 @@ }, /turf/open/floor/plasteel, /area/mine/laborcamp) -"Ey" = ( -/obj/structure/stone_tile/block{ - dir = 1 - }, -/obj/structure/stone_tile, -/obj/structure/stone_tile/block/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "Ez" = ( /obj/effect/decal/cleanable/dirt, /obj/item/seeds/onion, @@ -2672,6 +2600,13 @@ }, /turf/open/indestructible/necropolis, /area/ruin/unpowered/dragonslair) +"FK" = ( +/obj/structure/stone_tile/cracked, +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "FP" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -2688,21 +2623,6 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/mine/laborcamp) -"Gn" = ( -/obj/structure/stone_tile, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 4 - }, -/obj/structure/stone_tile/cracked{ - dir = 1 - }, -/obj/structure/world_anvil, -/obj/structure/stone_tile/slab/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "Gr" = ( /obj/structure/sign/poster/official/do_not_question{ pixel_y = 32 @@ -3240,19 +3160,6 @@ }, /turf/open/floor/plasteel/cafeteria, /area/mine/laborcamp) -"TP" = ( -/obj/structure/stone_tile/cracked{ - dir = 4 - }, -/obj/structure/stone_tile{ - dir = 8 - }, -/obj/structure/stone_tile{ - dir = 1 - }, -/obj/structure/stone_tile/cracked, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "Ub" = ( /turf/closed/wall/r_wall, /area/lavaland/surface/outdoors/explored) @@ -34661,8 +34568,8 @@ gs gr gr kR -js -ja +ab +ab ab ab aj @@ -34918,11 +34825,11 @@ jF gM kB jm -pH -hH -fz -js -ja +ix +ab +jS +aj +aj aj aj lI @@ -35176,10 +35083,10 @@ kg hs gr hH -TP -Af -Af -sR +ab +ab +aj +ly aj aj aj @@ -35433,8 +35340,6 @@ gO kD ag le -Af -Ey aa aa ls @@ -35445,6 +35350,8 @@ aj aj aj aj +aj +aj lI aa aa @@ -35689,12 +35596,12 @@ gr gr gr gr -kR -gP -gP +gs aa lp lp +pp +lp lF lp lP @@ -35946,12 +35853,12 @@ fT kj fT fT +lg gP -Gn -kR -ma lq lu +lq +lD WA lD lQ @@ -36203,12 +36110,12 @@ gr ah gG gs -gP -kR -gP +eh aa -ev +FK +lv lv +lE lR lE lR @@ -36461,12 +36368,12 @@ gM kH gr hH -hH -ue aa aa lw aj +aj +aj lI aj aj @@ -36718,10 +36625,10 @@ kl hs gG lj -ut -Af -Ey -gp +ab +ab +aj +aj mv my lw @@ -36974,11 +36881,11 @@ jN gO kJ gr -Af -Ey -kR -iu -jq +it +ab +ab +aj +aj aj ab jQ @@ -37231,10 +37138,10 @@ gr gr jm gP -iu -iy ab ab +ab +aj aj aj aj diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 6f2e237d6e16..4d2e4fdb196a 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -230,6 +230,15 @@ suffix = "lavaland_surface_puzzle.dmm" cost = 5 +/datum/map_template/ruin/lavaland/worldanvil //Plasma magmite upgrading area... always place. + name = "World Anvil" + id = "worldanvil" + description = "An ancient anvil, standing untainted for millennia. Wonders were once forged here." + suffix = "lavaland_surface_worldanvil.dmm" + always_place = TRUE + unpickable = TRUE + cost = 0 + /datum/map_template/ruin/lavaland/miningbase //THIS IS THE MINING BASE. DO NOT FUCK WITH THIS UNLESS YOU ARE 100% CERTAIN YOU KNOW WHAT YOU'RE DOING, OR THE MINING BASE WILL DISAPPEAR name = "Mining Base" id = "miningbase" diff --git a/code/modules/mining/equipment/mining_charges.dm b/code/modules/mining/equipment/mining_charges.dm index f5a6b668b978..493cc907263b 100644 --- a/code/modules/mining/equipment/mining_charges.dm +++ b/code/modules/mining/equipment/mining_charges.dm @@ -1,7 +1,8 @@ /obj/item/grenade/plastic/miningcharge name = "mining charge" desc = "Used to make big holes in rocks. Only works on rocks!" - icon_state = "mining-charge" + icon = 'icons/obj/mining.dmi' + icon_state = "mining-charge-2" det_time = 5 //uses real world seconds cause screw you i guess boom_sizes = list(1,3,5) alert_admins = FALSE @@ -43,3 +44,19 @@ /obj/item/grenade/plastic/miningcharge/deconstruct(disassembled = TRUE) //no gibbing a miner with pda bombs if(!QDELETED(src)) qdel(src) + +/obj/item/grenade/plastic/miningcharge/lesser + name = "lesser mining charge" + desc = "A mining charge. This one seems less powerful than normal. Only works on rocks!" + icon_state = "mining-charge-1" + boom_sizes = list(1,1,1) + +/obj/item/grenade/plastic/miningcharge/mega + name = "mega mining charge" + desc = "A mining charge. This one seems much more powerful than normal!" + icon_state = "mining-charge-3" + boom_sizes = list(2,4,7) + +/obj/item/storage/backpack/duffelbag/miningcharges/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/grenade/plastic/miningcharge/lesser(src) diff --git a/code/modules/mining/equipment/upgrades.dm b/code/modules/mining/equipment/upgrades.dm new file mode 100644 index 000000000000..8a69c4da376b --- /dev/null +++ b/code/modules/mining/equipment/upgrades.dm @@ -0,0 +1,72 @@ +//plasma magmite is exclusively used to upgrade mining equipment, by using it on a heated world anvil to make upgradeparts. +/obj/item/magmite + name = "plasma magmite" + desc = "A chunk of plasma magmite, crystallized deep under the planet's surface. It seems to lose strength as it gets further from the planet!" + icon = 'icons/obj/mining.dmi' + icon_state = "Magmite ore" + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/magmite_parts + name = "plasma magmite upgrade parts" + desc = "Forged on the legendary World Anvil, these parts can be used to upgrade many kinds of mining equipment." + icon = 'icons/obj/mining.dmi' + icon_state = "upgrade_parts" + w_class = WEIGHT_CLASS_NORMAL + var/inert = FALSE + +/obj/item/magmite_parts/Initialize() + . = ..() + addtimer(CALLBACK(src, .proc/go_inert), 10 MINUTES) + +/obj/item/magmite_parts/proc/go_inert() + if(inert) + return + visible_message(span_warning("The [src] loses it's glow!")) + inert = TRUE + name = "inert plasma magmite upgrade parts" + icon_state = "upgrade_parts_inert" + desc += "It appears to have lost its magma-like glow." + +/obj/item/magmite_parts/proc/restore() + if(!inert) + return + inert = FALSE + name = initial(name) + icon_state = initial(icon_state) + desc = initial(desc) + addtimer(CALLBACK(src, .proc/go_inert), 10 MINUTES) + +/obj/item/magmite_parts/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if(inert) + to_chat(span_warning("[src] appears inert! Perhaps the World Anvil can restore it!")) + switch(target.type) + if(/obj/item/gun/energy/kinetic_accelerator) //basic kinetic accelerator + var/obj/item/gun/energy/kinetic_accelerator/gun = target + if(gun.bayonet) + gun.remove_gun_attachment(item_to_remove = gun.bayonet) + if(gun.gun_light) + gun.remove_gun_attachment(item_to_remove = gun.gun_light) + for(var/obj/item/borg/upgrade/modkit/kit in gun.modkits) + kit.uninstall(gun) + qdel(gun) + var/obj/item/gun/energy/kinetic_accelerator/mega/newgun = new(get_turf(user)) + user.put_in_hand(newgun) + to_chat(user,"Harsh tendrils wrap around the kinetic accelerator, merging the parts and kinetic accelerator to form a mega kinetic accelerator.") + qdel(src) + if(/obj/item/gun/energy/plasmacutter/adv) + var/obj/item/gun/energy/plasmacutter/adv/gun = target + qdel(gun) + var/obj/item/gun/energy/plasmacutter/adv/mega/newgun = new(get_turf(user)) + user.put_in_hand(newgun) + to_chat(user,"Harsh tendrils wrap around the plasma cutter, merging the parts and cutter to form a mega plasma cutter.") + qdel(src) + if(/obj/item/gun/energy/plasmacutter/scatter) //holy fuck make a new system bro do a /datum/worldanvilrecipe DAMN + var/obj/item/gun/energy/plasmacutter/scatter/gun = target + qdel(gun) + var/obj/item/gun/energy/plasmacutter/scatter/mega/newgun = new(get_turf(user)) + user.put_in_hand(newgun) + to_chat(user,"Harsh tendrils wrap around the plasma cutter shotgun, merging the parts and cutter to form a mega plasma cutter shotgun.") + qdel(src) + + + \ No newline at end of file diff --git a/code/modules/mining/lavaland/world_anvil.dm b/code/modules/mining/lavaland/world_anvil.dm index bd6b577063aa..76b08f2ca73a 100644 --- a/code/modules/mining/lavaland/world_anvil.dm +++ b/code/modules/mining/lavaland/world_anvil.dm @@ -11,7 +11,21 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/forge_charges = 0 - var/list/placed_objects = list() + var/obj/item/gps/internal //so we can find it! + +/obj/item/gps/internal/world_anvil + icon_state = null + gpstag = "Tempered Signal" + desc = "An ancient anvil rests at this location." + invisibility = 100 + +/obj/structure/world_anvil/Initialize() + . = ..() + internal = new /obj/item/gps/internal/world_anvil(src) + +/obj/structure/world_anvil/Destroy() + QDEL_NULL(internal) + . = ..() /obj/structure/world_anvil/update_icon() icon_state = forge_charges > 0 ? "anvil_a" : "anvil" @@ -28,79 +42,35 @@ if(istype(I,/obj/item/twohanded/required/gibtonite)) var/obj/item/twohanded/required/gibtonite/placed_ore = I forge_charges = forge_charges + placed_ore.quality - to_chat(user,"You place down the gibtonite on the world anvil, and watch as the gibtonite melts into it. The world anvil is now heated enough for [forge_charges] forge[forge_charges > 1 ? "s" : ""].") + to_chat(user,"You place down the gibtonite on the World Anvil, and watch as the gibtonite melts into it. The World Anvil is now heated enough for [forge_charges] forge[forge_charges > 1 ? "s" : ""].") qdel(placed_ore) update_icon() - else //put everything else except gibtonite on the forge - if(user.transferItemToLoc(I, src)) - vis_contents += I - placed_objects += I - RegisterSignal(I, COMSIG_MOVABLE_MOVED, .proc/ItemMoved,TRUE) - -/obj/structure/world_anvil/proc/ItemMoved(obj/item/I, atom/OldLoc, Dir, Forced) - vis_contents -= I - placed_objects -= I - UnregisterSignal(I, COMSIG_MOVABLE_MOVED) - -/obj/structure/world_anvil/attack_hand(mob/user) - if(!LAZYLEN(placed_objects)) - to_chat(user,"You must place a piece of plasma magmite and either a kinetic accelerator or advanced plasma cutter on the anvil!") - return ..() + return + if(forge_charges <= 0) + to_chat(user,"The World Anvil is not hot enough to be usable!") + return + var/success = FALSE + switch(I.type) + if(/obj/item/magmite) + if(do_after(user,10 SECONDS, target = src)) + new /obj/item/magmite_parts(get_turf(src)) + qdel(I) + to_chat(user, "You carefully forge the rough plasma magmite into plasma magmite upgrade parts.") + success = TRUE + if(/obj/item/magmite_parts) + var/obj/item/magmite_parts/parts = I + if(!parts.inert) + to_chat(user,"The magmite upgrade parts are already glowing and usable!") + return + if(do_after(user,5 SECONDS, target = src)) + parts.restore() + to_chat(user, "You successfully reheat the magmite upgrade parts. They are now glowing and usable again.") + if(!success) + return + forge_charges-- if(forge_charges <= 0) - to_chat(user,"The anvil is not heated enough to be usable!") - return ..() - var/magmite_amount = 0 - var/used_magmite = 0 - for(var/obj/item/magmite/placed_magmite in placed_objects) - magmite_amount++ - if(magmite_amount <= 0) - to_chat(user,"The anvil does not have any plasma magmite on it!") - return ..() - for(var/obj/item/I in placed_objects) - if(istype(I,/obj/item/gun/energy/kinetic_accelerator) && forge_charges && used_magmite < magmite_amount) - var/obj/item/gun/energy/kinetic_accelerator/gun = I - if(gun.max_mod_capacity != 100) - to_chat(user,"This is not a base kinetic accelerator!") - break - if(gun.bayonet) - gun.remove_gun_attachment(item_to_remove = gun.bayonet) - if(gun.gun_light) - gun.remove_gun_attachment(item_to_remove = gun.gun_light) - for(var/obj/item/borg/upgrade/modkit/kit in gun.modkits) - kit.uninstall(gun) - var/obj/item/gun/energy/kinetic_accelerator/mega/newgun = new(src) - if(user.transferItemToLoc(newgun, src)) - vis_contents += newgun - placed_objects += newgun - RegisterSignal(newgun, COMSIG_MOVABLE_MOVED, .proc/ItemMoved,TRUE) - ItemMoved(gun) - qdel(gun) - forge_charges-- - used_magmite++ - to_chat(user,"Harsh tendrils wrap around the kinetic accelerator, consuming the plasma magmite to form a mega kinetic accelerator.") - if(istype(I,/obj/item/gun/energy/plasmacutter/adv) && forge_charges && used_magmite < magmite_amount) - var/obj/item/gun/energy/plasmacutter/adv/gun = I - if(gun.name != "advanced plasma cutter") - to_chat(user,"This is not an advanced plasma cutter!") - break - var/obj/item/gun/energy/plasmacutter/adv/mega/newgun = new(src) - if(user.transferItemToLoc(newgun, src)) - vis_contents += newgun - placed_objects += newgun - RegisterSignal(newgun, COMSIG_MOVABLE_MOVED, .proc/ItemMoved,TRUE) - ItemMoved(gun) - qdel(gun) - forge_charges-- - used_magmite++ - to_chat(user,"Harsh tendrils wrap around the plasma cutter, consuming the plasma magmite to form a mega plasma cutter.") - //time to clean up all the magmite we used - for(var/obj/item/magmite in placed_objects) - if(used_magmite) - used_magmite-- - ItemMoved(magmite) - qdel(magmite) - update_icon() - if(!forge_charges) - to_chat(user,"The world anvil cools down.") - - + visible_message("The World Anvil cools down.") + update_icon() + + + diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index bda70f84f7f8..12701a1cc6fe 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -18,7 +18,6 @@ circuit = /obj/item/circuitboard/machine/mining_equipment_vendor var/icon_deny = "mining-deny" var/list/prize_list = list( //if you add something to this, please, for the love of god, sort it by price/type. use tabs and not spaces. - new /datum/data/mining_equipment("Mining Charge", /obj/item/grenade/plastic/miningcharge, 500, VENDING_EQUIPMENT), //only at the top for players to see it new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750, VENDING_WEAPON), new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/twohanded/required/kinetic_crusher, 750, VENDING_WEAPON), new /datum/data/mining_equipment("Resonator", /obj/item/resonator, 800, VENDING_WEAPON), @@ -54,6 +53,7 @@ new /datum/data/mining_equipment("Minebot Armor Upgrade", /obj/item/mine_bot_upgrade/health, 400, VENDING_MINEBOT), new /datum/data/mining_equipment("Minebot Cooldown Upgrade", /obj/item/borg/upgrade/modkit/cooldown/minebot, 600, VENDING_MINEBOT), new /datum/data/mining_equipment("Minebot AI Upgrade", /obj/item/slimepotion/slime/sentience/mining, 1000, VENDING_MINEBOT), + new /datum/data/mining_equipment("Lesser Mining Charge", /obj/item/grenade/plastic/miningcharge/lesser, 300, VENDING_EQUIPMENT), new /datum/data/mining_equipment("Explorer's Webbing", /obj/item/storage/belt/mining, 500, VENDING_EQUIPMENT), new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffelbag/mining_conscript, 1000, VENDING_EQUIPMENT), new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500, VENDING_EQUIPMENT), @@ -193,7 +193,8 @@ "Minebot Kit" = image(icon = 'icons/mob/aibots.dmi', icon_state = "mining_drone"), "Extraction and Rescue Kit" = image(icon = 'icons/obj/fulton.dmi', icon_state = "extraction_pack"), "Crusher Kit" = image(icon = 'icons/obj/mining.dmi', icon_state = "mining_hammer1"), - "Mining Conscription Kit" = image(icon = 'icons/obj/storage.dmi', icon_state = "duffel") + "Mining Conscription Kit" = image(icon = 'icons/obj/storage.dmi', icon_state = "duffel"), + "Bag of Lesser Mining Charges" = image(icon= 'icons/obj/mining.dmi',icon_state = "mining-charge-1") ) items = sortList(items) @@ -222,6 +223,8 @@ new /obj/item/twohanded/required/kinetic_crusher(drop_location) if("Mining Conscription Kit") new /obj/item/storage/backpack/duffelbag/mining_conscript(drop_location) + if("Bag of Lesser Mining Charges") + new /obj/item/storage/backpack/duffelbag/miningcharges(drop_location) SSblackbox.record_feedback("tally", "mining_voucher_redeemed", 1, selection) qdel(voucher) @@ -306,6 +309,7 @@ new /datum/data/mining_equipment("Mecha Plasma Generator", /obj/item/mecha_parts/mecha_equipment/generator, 1500, VENDING_MECHA), new /datum/data/mining_equipment("Diamond Mecha Drill", /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, 2000, VENDING_MECHA), new /datum/data/mining_equipment("Mecha Plasma Cutter", /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma, 3000, VENDING_MECHA), + new /datum/data/mining_equipment("Lesser Mining Charge", /obj/item/grenade/plastic/miningcharge/lesser, 300, VENDING_EQUIPMENT), new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500, VENDING_EQUIPMENT), new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000, VENDING_EQUIPMENT), new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/tank/jetpack/suit, 2000, VENDING_EQUIPMENT), @@ -334,7 +338,8 @@ "Resonator Kit" = image(icon = 'icons/obj/mining.dmi', icon_state = "resonator"), "Minebot Kit" = image(icon = 'icons/mob/aibots.dmi', icon_state = "mining_drone"), "Crusher Kit" = image(icon = 'icons/obj/mining.dmi', icon_state = "mining_hammer1"), - "Advanced Scanner" = image(icon = 'icons/obj/device.dmi', icon_state = "adv_mining0") + "Advanced Scanner" = image(icon = 'icons/obj/device.dmi', icon_state = "adv_mining0"), + "Bag of Lesser Mining Charges" = image(icon= 'icons/obj/mining.dmi', icon_state = "mining-charge-1") ) items = sortList(items) @@ -359,6 +364,9 @@ new /obj/item/twohanded/required/kinetic_crusher(drop_location) if("Advanced Scanner") new /obj/item/t_scanner/adv_mining_scanner(drop_location) + if("Bag of Lesser Mining Charges") + new /obj/item/storage/backpack/duffelbag/miningcharges(drop_location) + SSblackbox.record_feedback("tally", "mining_voucher_redeemed", 1, selection) qdel(voucher) diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index fce9e766e563..f4d27a401569 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -293,15 +293,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ return qdel(src) -//plasa magmite functions like an ore in the way it's mined, but we don't want to be redeeming this. Since Gibtonite is stuck with other ores it's okay to put it here. -/obj/item/magmite - name = "plasma magmite" - desc = "A chunk of plasma magmite, crystallized deep under lavaland's surface. Its strength seems to fluctuate depending on the distance to the planet." - icon = 'icons/obj/mining.dmi' - icon_state = "Magmite ore" - w_class = WEIGHT_CLASS_NORMAL - - /*****************************Coin********************************/ // The coin's value is a value of it's materials. diff --git a/code/modules/projectiles/ammunition/energy/plasma.dm b/code/modules/projectiles/ammunition/energy/plasma.dm index 7421b5ab4a39..455321ac2893 100644 --- a/code/modules/projectiles/ammunition/energy/plasma.dm +++ b/code/modules/projectiles/ammunition/energy/plasma.dm @@ -23,6 +23,9 @@ /obj/item/ammo_casing/energy/plasma/scatter/adv projectile_type = /obj/item/projectile/plasma/scatter/adv +/obj/item/ammo_casing/energy/plasma/scatter/adv/mega + projectile_type = /obj/item/projectile/plasma/scatter/adv/mega + /obj/item/ammo_casing/energy/plasma/adv/cyborg projectile_type = /obj/item/projectile/plasma/adv delay = 10 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 22887388c3f9..3de25ad28d53 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -231,10 +231,12 @@ name = "plasma cutter shotgun" icon_state = "miningshotgun" item_state = "miningshotgun" - desc = "An industrial-grade heavy-duty mining shotgun" + desc = "An industrial-grade, heavy-duty mining shotgun." force = 10 ammo_type = list(/obj/item/ammo_casing/energy/plasma/scatter) + + /obj/item/gun/energy/plasmacutter/attackby(obj/item/I, mob/user) . = ..() if(try_upgrade(I)) @@ -242,6 +244,13 @@ playsound(loc, 'sound/items/screwdriver.ogg', 100, 1) qdel(I) +/obj/item/gun/energy/plasmacutter/scatter/mega + name = "mega plasma cutter shotgun" + icon_state = "miningshotgun_mega" + item_state = "miningshotgun_mega" + desc = "An industrial-grade, heavy-duty mining shotgun. This one seems... mega!" + ammo_type = list(/obj/item/ammo_casing/energy/plasma/scatter/adv/mega) + /obj/item/gun/energy/plasmacutter/adv/cyborg name = "cyborg advanced plasma cutter" icon_state = "adv_plasmacutter" @@ -273,6 +282,10 @@ return TRUE return FALSE +//no upgrading this one either (for now) +/obj/item/gun/energy/plasmacutter/scatter/mega/try_upgrade(obj/item/I) + return + /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" desc = "A projector that emits high density quantum-coupled bluespace beams." diff --git a/code/modules/projectiles/projectile/special/plasma.dm b/code/modules/projectiles/projectile/special/plasma.dm index cdd04e55fa11..fe6df11f6d23 100644 --- a/code/modules/projectiles/projectile/special/plasma.dm +++ b/code/modules/projectiles/projectile/special/plasma.dm @@ -46,6 +46,11 @@ // Same as the scatter but with automatic defusing /obj/item/projectile/plasma/scatter/adv +//mega plasma shotgun auto defuses +/obj/item/projectile/plasma/scatter/adv/mega + range = 7 + mine_range = 3 + /obj/item/projectile/plasma/adv/mech damage = 10 range = 9 diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 4caac4df4808..a6675ab9f3be 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -62,6 +62,26 @@ category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO +/datum/design/miningcharge + name = "Mining Charge" + desc = "A regular sized, green mining charge!" + id = "miningcharge" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 3000, /datum/material/plasma = 1000) + build_path = /obj/item/grenade/plastic/miningcharge + category = list("Mining Designs") + departmental_flags = DEPARTMENTAL_FLAG_CARGO + +/datum/design/miningcharge_mega + name = "Mega Mining Charge" + desc = "A MAGNUM sized, RED mining charge!" + id = "miningcharge_mega" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 5000, /datum/material/plasma = 2000, /datum/material/uranium = 1500, /datum/material/diamond = 500) + build_path = /obj/item/grenade/plastic/miningcharge/mega + category = list("Mining Designs") + departmental_flags = DEPARTMENTAL_FLAG_CARGO + /datum/design/jackhammer name = "Sonic Jackhammer" desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well." @@ -140,4 +160,4 @@ materials = list(/datum/material/iron = 1000, /datum/material/glass = 1000, /datum/material/gold = 500) build_path = /obj/item/clothing/neck/bodycam/miner category = list("Mining Designs","Equipment") - departmental_flags = DEPARTMENTAL_FLAG_CARGO \ No newline at end of file + departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 4bdc68cfbcb0..646f14a94843 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -576,10 +576,21 @@ display_name = "Advanced Mining Technology" description = "Efficiency Level 127" //dumb mc references prereq_ids = list("basic_mining", "adv_engi", "adv_power", "adv_plasma") - design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv", "borg_upgrade_plasmacutter") + design_ids = list("drill_diamond", "jackhammer", "hypermod", "plasmacutter_adv", "borg_upgrade_plasmacutter","miningcharge") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 +/datum/techweb_node/magmite_mining + id = "magmite_mining" + display_name = "Magmite Technology" + description = "Who needs a pickaxe when you have a nuke?" + prereq_ids = list("adv_mining") + design_ids = list("miningcharge_mega") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) + export_price = 5000 + hidden = TRUE + boost_item_paths = list(/obj/item/magmite) + /datum/techweb_node/camera_theory id = "cam_theory" display_name = "Camera Theory" diff --git a/code/modules/research/techweb/layout.dm b/code/modules/research/techweb/layout.dm index 271c930a421d..7841a251b447 100644 --- a/code/modules/research/techweb/layout.dm +++ b/code/modules/research/techweb/layout.dm @@ -323,6 +323,10 @@ ui_x = 96 ui_y = -448 +/datum/techweb_node/magmite_mining + ui_x = 160 + ui_y = -512 + /datum/techweb_node/janitor ui_x = -320 ui_y = -160 diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index 42da0e5c6101..1e57cdc200a3 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index c8844727ccb7..1cf811a8208b 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 14630ef48d6b..4e2cdd72ad34 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/yogstation.dme b/yogstation.dme index c10da798e0c9..f6cb6fa09600 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -2227,6 +2227,7 @@ #include "code\modules\mining\equipment\regenerative_core.dm" #include "code\modules\mining\equipment\resonator.dm" #include "code\modules\mining\equipment\survival_pod.dm" +#include "code\modules\mining\equipment\upgrades.dm" #include "code\modules\mining\equipment\vendor_items.dm" #include "code\modules\mining\equipment\wormhole_jaunter.dm" #include "code\modules\mining\laborcamp\laborshuttle.dm"