From 08fcffad4485350c201ed360452379e07985d6d6 Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 26 Dec 2024 16:34:37 +0200 Subject: [PATCH] Exosuit Ore Summoners (#20247) * Added an exosuit compatible ore summoner, capable of pulling ore directly into an ore box held within the exosuit's clamp. Machinists can print them at the cost of steel and glass, and the mining mech dropped from the dropper comes with it equipped. --- .../modules/heavy_vehicle/equipment/mining.dm | 62 ++++++++++++++++++ code/modules/heavy_vehicle/premade/miner.dm | 1 + .../mechs/designs_exosuit_equipment.dm | 6 ++ html/changelogs/mech_ore_summoner.yml | 6 ++ icons/mecha/mech_equipment.dmi | Bin 30943 -> 32473 bytes 5 files changed, 75 insertions(+) create mode 100644 html/changelogs/mech_ore_summoner.yml diff --git a/code/modules/heavy_vehicle/equipment/mining.dm b/code/modules/heavy_vehicle/equipment/mining.dm index b7e30e43abb..736d1164fa3 100644 --- a/code/modules/heavy_vehicle/equipment/mining.dm +++ b/code/modules/heavy_vehicle/equipment/mining.dm @@ -118,3 +118,65 @@ ABSTRACT_TYPE(/obj/item/mecha_equipment/mounted_system/mining) return null return "[exosuit_ka.get_ammo()]/[exosuit_ka.installed_cell.cell_increase / exosuit_ka.cost_increase]" + +/obj/item/mecha_equipment/ore_summoner + name = "mounted ore summoner" + desc = "A large back-mounted ore summoner, capable of pulling ore into an ore box held within a clamp. If no ore box is found, the ore will be deposited beneath the exosuit." + icon_state = "mecha_ore_summoner" + restricted_hardpoints = list(HARDPOINT_BACK) + restricted_software = list(MECH_SOFTWARE_UTILITY) + w_class = WEIGHT_CLASS_HUGE + origin_tech = list(TECH_BLUESPACE = 4, TECH_ENGINEERING = 3) + + /// When last the summoner was used + var/last_use = 0 + + /// How long the cooldown is before the ore can be pulsed again + var/cooldown_time = 5 SECONDS + + /// How many chunks of ore can be moved at one time + var/static/ore_limit = 50 + +/obj/item/mecha_equipment/ore_summoner/afterattack(var/atom/target, var/mob/living/user, var/inrange, var/params) + return FALSE + +/obj/item/mecha_equipment/ore_summoner/attack_self(var/mob/user) + . = ..() + if(.) + summon_ore(user) + +/obj/item/mecha_equipment/ore_summoner/proc/summon_ore(var/mob/user) + if(last_use + cooldown_time >= world.time) + to_chat(user, SPAN_WARNING("The ore summoner is recalibrating...")) + return + + var/obj/structure/ore_box/ore_box + for(var/hardpoint in owner.hardpoints) + var/obj/item/mecha_equipment/clamp/clamp = owner.hardpoints[hardpoint] + if(!istype(clamp)) + continue + var/obj/structure/ore_box/box = locate() in clamp + if(box) + ore_box = box + break + + var/turf/our_turf = get_turf(owner) + + var/limit = ore_limit + for(var/obj/item/ore/ore in range(7, owner)) + if(limit <= 0) + break + if(ore_box) + ore.forceMove(ore_box) + else + ore.forceMove(our_turf) + limit -= 1 + CHECK_TICK + + last_use = world.time + +/obj/item/mecha_equipment/ore_summoner/get_hardpoint_status_value() + return last_use + cooldown_time < world.time ? 1 : 0 + +/obj/item/mecha_equipment/ore_summoner/get_hardpoint_maptext() + return last_use + cooldown_time < world.time ? "Ready" : "Recharging" diff --git a/code/modules/heavy_vehicle/premade/miner.dm b/code/modules/heavy_vehicle/premade/miner.dm index d84b035599b..d1818ba36a7 100644 --- a/code/modules/heavy_vehicle/premade/miner.dm +++ b/code/modules/heavy_vehicle/premade/miner.dm @@ -11,6 +11,7 @@ h_l_hand = /obj/item/mecha_equipment/drill h_r_hand = /obj/item/mecha_equipment/clamp h_l_shoulder = /obj/item/mecha_equipment/mounted_system/mining/kinetic_accelerator + h_back = /obj/item/mecha_equipment/ore_summoner /mob/living/heavy_vehicle/premade/miner/remote name = "remote mining mecha" diff --git a/code/modules/research/designs/mechfab/mechs/designs_exosuit_equipment.dm b/code/modules/research/designs/mechfab/mechs/designs_exosuit_equipment.dm index 66a514dfba9..95b89d58624 100644 --- a/code/modules/research/designs/mechfab/mechs/designs_exosuit_equipment.dm +++ b/code/modules/research/designs/mechfab/mechs/designs_exosuit_equipment.dm @@ -154,3 +154,9 @@ materials = list(MATERIAL_STEEL = 25000, MATERIAL_GLASS = 5000) req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_POWER = 3) build_path = /obj/item/mecha_equipment/mounted_system/mining/kinetic_accelerator + +/datum/design/item/mechfab/exosuit_equipment/ore_summoner + name = "Mounted Ore Summoner" + materials = list(MATERIAL_STEEL = 10000, MATERIAL_GLASS = 5000) + req_tech = list(TECH_MATERIAL = 3, TECH_BLUESPACE = 3) + build_path = /obj/item/mecha_equipment/ore_summoner diff --git a/html/changelogs/mech_ore_summoner.yml b/html/changelogs/mech_ore_summoner.yml new file mode 100644 index 00000000000..c274467f6a1 --- /dev/null +++ b/html/changelogs/mech_ore_summoner.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added an exosuit compatible ore summoner, capable of pulling ore directly into an ore box held within the exosuit's clamp. Machinists can print them at the cost of steel and glass, and the mining mech dropped from the dropper comes with it equipped." diff --git a/icons/mecha/mech_equipment.dmi b/icons/mecha/mech_equipment.dmi index 20589dbb78407551ef147a1353c7923d481aec60..f40cc23e79575a5abdc22a2443e5a04b00cc4141 100644 GIT binary patch delta 13004 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 QnF4`GiOGwW3hVp+KcgR8rT_o{ delta 11463 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