diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 39089dc488..c8265996e7 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -771,6 +771,7 @@ if(wrapped) wrapped.forceMove(get_turf(wrapped)) wrapped = null + to_chat(user, "You drop \the [wrapped].") return ..() /obj/item/weapon/gripper/afterattack(var/atom/target, var/mob/living/user, proximity, params) @@ -817,6 +818,25 @@ else to_chat(user, "Your gripper cannot hold \the [target].") +/obj/item/weapon/gripper/mining + name = "shelter capsule deployer" + desc = "A simple grasping tool for carrying and deploying shelter capsules." + icon_state = "gripper_mining" + can_hold = list( + /obj/item/survivalcapsule/luxury + ) + +/obj/item/weapon/gripper/mining/afterattack() + return + +/obj/item/weapon/gripper/mining/attack_self() + if(wrapped) + wrapped.forceMove(get_turf(wrapped)) + wrapped = null + to_chat(user, "You deploy \the [wrapped].") + wrapped.attack_self() + return ..() + /obj/item/gun/energy/plasmacutter/cyborg name = "cyborg plasma cutter" desc = "A basic variation of the plasma cutter, compressed into a cyborg chassis. Less effective than normal plasma cutters." diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 4ac8ac6b18..3d5aa6c3bc 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -171,6 +171,38 @@ R.module.basic_modules += S R.module.add_module(S, FALSE, TRUE) +/obj/item/borg/upgrade/premiumka + name = "mining cyborg premium KA" + desc = "A premium kinetic accelerator replacement for the mining module's standard kinetic accelerator." + icon_state = "cyborg_upgrade3" + require_module = 1 + module_type = list(/obj/item/robot_module/miner) + +/obj/item/borg/upgrade/premiumka/action(mob/living/silicon/robot/R, user = usr) + . = ..() + if(.) + for(var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA in R.module) + for(var/obj/item/borg/upgrade/modkit/M in KA.modkits) + M.uninstall(src) + R.module.remove_module(KA, TRUE) + + var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA = new /obj/item/pickaxe/drill/cyborg/diamond(R.module) + R.module.basic_modules += PKA + R.module.add_module(PKA, FALSE, TRUE) + +/obj/item/borg/upgrade/premiumka/deactivate(mob/living/silicon/robot/R, user = usr) + . = ..() + if (.) + for(var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA in R.module) + for(var/obj/item/borg/upgrade/modkit/M in PKA.modkits) + M.uninstall(src) + R.module.remove_module(PKA, TRUE) + + var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA = new (R.module) + R.module.basic_modules += KA + R.module.add_module(KA, FALSE, TRUE) + + /obj/item/borg/upgrade/advcutter name = "mining cyborg advanced plasma cutter" desc = "An upgrade for the mining cyborgs plasma cutter, bringing it to advanced operation." diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index eb3e6a5b58..e10af3d23f 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -29,6 +29,15 @@ var/light_on = FALSE var/brightness_on = 7 +/obj/item/twohanded/kinetic_crusher/cyborg //probably give this a unique sprite later + desc = "An integrated version of the standard kinetic crusher with a grinded down axe head to dissuade mis-use against crewmen. Deals damage equal to the standard crusher against creatures, however." + force_wielded = 10 //wouldn't want to give a borg a 20 brute melee weapon unemagged now would we + detonation_damage = 60 + wielded = 1 + +/obj/item/twohanded/kinetic_crusher/cyborg/wield() + return + /obj/item/twohanded/kinetic_crusher/Initialize() . = ..() AddComponent(/datum/component/butchering, 60, 110) //technically it's huge and bulky, but this provides an incentive to use it diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index eb03b4e156..8ea368cc03 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -845,6 +845,7 @@ /obj/item/borg/sight/meson, /obj/item/storage/bag/ore/cyborg, /obj/item/pickaxe/drill/cyborg, + /obj/item/twohanded/kinetic_crusher/cyborg, /obj/item/weldingtool/mini, /obj/item/storage/bag/sheetsnatcher/borg, /obj/item/t_scanner/adv_mining_scanner, diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index b216d8d536..ecd906f2a9 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -112,7 +112,10 @@ /obj/item/gun/energy/kinetic_accelerator/cyborg holds_charge = TRUE unique_frequency = TRUE - max_mod_capacity = 80 + +/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg + holds_charge = TRUE + unique_frequency = TRUE /obj/item/gun/energy/kinetic_accelerator/minebot trigger_guard = TRIGGER_GUARD_ALLOW_ALL @@ -280,7 +283,7 @@ . += "Occupies [cost]% of mod capacity." /obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user) - if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user)) + if(istype(A, /obj/item/gun/energy/kinetic_accelerator)) install(A, user) else ..() diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index f467da6fbf..3a07d40407 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ