From a1d4e80c9529adfbb5994d660ee4a192e7d4a62e Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 2 Jul 2020 19:49:03 +0200 Subject: [PATCH] Mining Borg Buffs (#9218) --- code/game/objects/items/weapons/RFD.dm | 23 +++++++++---------- code/modules/custom_ka/frames.dm | 1 + code/modules/mining/mine_items.dm | 7 ++++++ .../mob/living/silicon/robot/robot_modules.dm | 18 +++++++++++++-- html/changelogs/geeves-mining_borg_buffs.yml | 6 +++++ 5 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 html/changelogs/geeves-mining_borg_buffs.yml diff --git a/code/game/objects/items/weapons/RFD.dm b/code/game/objects/items/weapons/RFD.dm index 0550f3c1d72..4270da6a680 100644 --- a/code/game/objects/items/weapons/RFD.dm +++ b/code/game/objects/items/weapons/RFD.dm @@ -360,13 +360,15 @@ RFD Mining-Class icon_state = "rfd-m" item_state = "rfd-m" -/obj/item/rfd/mining/afterattack(atom/A, mob/user as mob, proximity) +/obj/item/rfd/mining/afterattack(atom/A, mob/user, proximity) + if(!proximity) + return - if(!proximity) return - - if(istype(user,/mob/living/silicon/robot)) + if(isrobot(user)) var/mob/living/silicon/robot/R = user - if(R.stat || !R.cell || R.cell.charge <= 0) + if(R.stat || !R.cell || R.cell.charge <= 500) + to_chat(user, SPAN_WARNING("You are unable to produce enough charge to use \the [src]!")) + flick("[icon_state]-empty", src) return else if(stored_matter <= 0) @@ -378,26 +380,23 @@ RFD Mining-Class return if(locate(/obj/structure/track) in A) + to_chat(user, SPAN_WARNING("There is already a track on \the [A]!")) return playsound(src.loc, 'sound/machines/click.ogg', 10, 1) - var/used_energy = 0 - - used_energy = 10 new /obj/structure/track(get_turf(A)) - to_chat(user, "Dispensing track...") + to_chat(user, SPAN_NOTICE("You deploy a mine track on \the [A].")) update_icon() if(isrobot(user)) var/mob/living/silicon/robot/R = user if(R.cell) - R.cell.use(used_energy) - + R.cell.use(500) else stored_matter-- - to_chat(user, "The RFD now holds [stored_matter]/30 fabrication-units.") + to_chat(user, SPAN_NOTICE("The RFD now holds [stored_matter]/30 fabrication-units.")) // Malf AI RFD Transformer. diff --git a/code/modules/custom_ka/frames.dm b/code/modules/custom_ka/frames.dm index 46b0db3cc46..a853938e435 100644 --- a/code/modules/custom_ka/frames.dm +++ b/code/modules/custom_ka/frames.dm @@ -71,6 +71,7 @@ mod_limit_increase = 100 origin_tech = list() can_disassemble_cell = FALSE + displays_maptext = FALSE installed_cell = /obj/item/custom_ka_upgrade/cells/cyborg installed_barrel = /obj/item/custom_ka_upgrade/barrels/barrel02 diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index d6220ad536c..a32def56407 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -459,6 +459,13 @@ newflag.set_light(2) src.use(1) +/obj/item/stack/flag/purple/borg + name = "stationbound beacon deployer" + desc = "A stationbound-mounted beacon deployer, deploys standard purple beacons in accordance with the mining colour scheme. Uses a metal synthesizer to produce more." + charge_costs = list(1500) + uses_charge = TRUE + stacktype = /obj/item/stack/flag/purple + /**********************Miner Carts***********************/ // RRF refactored into RFD-M, found in RFD.dm diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 055ae5bc151..35cb5cea503 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -672,12 +672,11 @@ var/global/list/robot_modules = list( /obj/item/robot_module/miner/New() ..() src.modules += new /obj/item/borg/sight/material(src) - src.modules += new /obj/item/wrench/robotic(src) - src.modules += new /obj/item/screwdriver/robotic(src) src.modules += new /obj/item/storage/bag/ore(src) src.modules += new /obj/item/pickaxe/borgdrill(src) src.modules += new /obj/item/storage/bag/sheetsnatcher/borg(src) src.modules += new /obj/item/gripper/miner(src) + src.modules += new /obj/item/rfd/mining(src) src.modules += new /obj/item/mining_scanner(src) src.modules += new /obj/item/device/gps/mining(src) // for locating itself in the deep space src.modules += new /obj/item/gun/custom_ka/cyborg(src) @@ -687,7 +686,22 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/extinguisher/mini(src) // For navigating space and/or low grav, and just being useful. src.modules += new /obj/item/device/flash(src) // Non-lethal tool that prevents any 'borg from going lethal on Crew so long as it's an option according to laws. src.modules += new /obj/item/crowbar/robotic(src) // Base crowbar that all 'borgs should have access to. + src.modules += new /obj/item/wrench/robotic(src) + src.modules += new /obj/item/screwdriver/robotic(src) src.modules += new /obj/item/storage/part_replacer(src) + src.modules += new /obj/item/tank/jetpack/carbondioxide(src) + + var/datum/matter_synth/metal = new /datum/matter_synth/metal(80000) + synths += metal + + var/obj/item/stack/rods/cyborg/R = new /obj/item/stack/rods/cyborg(src) + R.synths = list(metal) + src.modules += R + + var/obj/item/stack/flag/purple/borg/F = new /obj/item/stack/flag/purple/borg(src) + F.synths = list(metal) + src.modules += F + src.emag = new /obj/item/gun/energy/plasmacutter/mounted(src) /obj/item/robot_module/research diff --git a/html/changelogs/geeves-mining_borg_buffs.yml b/html/changelogs/geeves-mining_borg_buffs.yml new file mode 100644 index 00000000000..c87c3db83a3 --- /dev/null +++ b/html/changelogs/geeves-mining_borg_buffs.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added a jetpack, metal rods, a track laying RFD, and purple mining beacons to the mining cyborg module." \ No newline at end of file