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