diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm new file mode 100644 index 0000000000..f7dff903f5 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm @@ -0,0 +1,84 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/lavaland/surface/outdoors) +"b" = ( +/turf/closed/mineral/volcanic, +/area/lavaland/surface/outdoors) +"c" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"d" = ( +/obj/mecha/working/ripley/mining, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"e" = ( +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/under/rank/miner/lavaland, +/obj/effect/decal/remains/human, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) + +(1,1,1) = {" +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +b +b +b +a +a +"} +(3,1,1) = {" +a +b +c +b +c +b +a +"} +(4,1,1) = {" +a +b +c +d +e +b +a +"} +(5,1,1) = {" +a +b +c +c +b +b +a +"} +(6,1,1) = {" +a +b +b +b +b +a +a +"} +(7,1,1) = {" +a +a +a +a +a +a +a +"} diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 64282c8762..0cc5851d24 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -43,7 +43,7 @@ SUBSYSTEM_DEF(mapping) loading_ruins = TRUE var/mining_type = config.minetype if (mining_type == "lavaland") - seedRuins(list(5), global.config.lavaland_budget, /area/lavaland/surface/outdoors/unexplored, lava_ruins_templates) + seedRuins(list(ZLEVEL_LAVALAND), global.config.lavaland_budget, /area/lavaland/surface/outdoors/unexplored, lava_ruins_templates) spawn_rivers() // deep space ruins diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 011363f001..4f6be75f4f 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -183,3 +183,11 @@ suffix = "lavaland_surface_swarmer_crash.dmm" allow_duplicates = FALSE cost = 20 + +/datum/map_template/ruin/lavaland/miningripley + name = "Ripley" + id = "ripley" + description = "A heavily-damaged mining ripley, property of a very unfortunate miner. You might have to do a bit of work to fix this thing up." + suffix = "lavaland_surface_random_ripley.dmm" + allow_duplicates = FALSE + cost = 5 diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index a752811fe7..e23cea0397 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -91,32 +91,34 @@ /obj/mecha/working/ripley/mining desc = "An old, dusty mining Ripley." name = "\improper APLU \"Miner\"" + obj_integrity = 75 //Low starting health -/obj/mecha/working/ripley/mining/New() - ..() - //Attach drill - if(prob(25)) //Possible diamond drill... Feeling lucky? - var/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill/D = new /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill - D.attach(src) - else - var/obj/item/mecha_parts/mecha_equipment/drill/D = new /obj/item/mecha_parts/mecha_equipment/drill - D.attach(src) +/obj/mecha/working/ripley/mining/Initialize() + . = ..() + if(cell) + cell.charge = Floor(cell.charge * 0.25) //Starts at very low charge + if(prob(70)) //Maybe add a drill + if(prob(15)) //Possible diamond drill... Feeling lucky? + var/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill/D = new + D.attach(src) + else + var/obj/item/mecha_parts/mecha_equipment/drill/D = new + D.attach(src) - //Add possible plasma cutter - if(prob(25)) - var/obj/item/mecha_parts/mecha_equipment/M = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma + else //Add possible plasma cutter if no drill + var/obj/item/mecha_parts/mecha_equipment/M = new M.attach(src) //Add ore box to cargo cargo.Add(new /obj/structure/ore_box(src)) //Attach hydraulic clamp - var/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/HC = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp + var/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/HC = new HC.attach(src) for(var/obj/item/mecha_parts/mecha_tracking/B in trackers)//Deletes the beacon so it can't be found easily qdel(B) - var/obj/item/mecha_parts/mecha_equipment/mining_scanner/scanner = new /obj/item/mecha_parts/mecha_equipment/mining_scanner + var/obj/item/mecha_parts/mecha_equipment/mining_scanner/scanner = new scanner.attach(src) /obj/mecha/working/ripley/Exit(atom/movable/O)