diff --git a/code/game/objects/effects/temporary_visuials/miscellaneous.dm b/code/game/objects/effects/temporary_visuials/miscellaneous.dm
index eba5ff59ad..b68c9c96c6 100644
--- a/code/game/objects/effects/temporary_visuials/miscellaneous.dm
+++ b/code/game/objects/effects/temporary_visuials/miscellaneous.dm
@@ -22,4 +22,25 @@
/obj/effect/temp_visual/small_smoke
icon_state = "smoke"
- duration = 50
\ No newline at end of file
+ duration = 50
+
+// VOREStation Add - Used by Kinetic Accelerator
+/obj/effect/temp_visual/kinetic_blast
+ name = "kinetic explosion"
+ icon = 'icons/obj/projectiles_vr.dmi'
+ icon_state = "kinetic_blast"
+ layer = ABOVE_MOB_LAYER
+ duration = 4
+
+/obj/effect/temp_visual/explosion
+ name = "explosion"
+ icon = 'icons/effects/96x96_vr.dmi'
+ icon_state = "explosion"
+ pixel_x = -32
+ pixel_y = -32
+ duration = 8
+
+/obj/effect/temp_visual/explosion/fast
+ icon_state = "explosionfast"
+ duration = 4
+// VOREStation Add End
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm
new file mode 100644
index 0000000000..8d0a0bd6d7
--- /dev/null
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator_vr.dm
@@ -0,0 +1,351 @@
+/obj/item/weapon/gun/energy/kinetic_accelerator
+ name = "proto-kinetic accelerator"
+ desc = "A self recharging, ranged mining tool that does increased damage in low temperature. Capable of holding up to six slots worth of mod kits."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "kineticgun"
+ item_state = "kineticgun"
+ item_icons = list(
+ slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi',
+ slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
+ projectile_type = /obj/item/projectile/kinetic
+ origin_tech = list(TECH_COMBAT = 3, TECH_POWER = 3, TECH_ENGINEERING = 3)
+ can_flashlight = TRUE
+ flight_x_offset = 15
+ flight_y_offset = 9
+ charge_cost = 120 // 20 shots on weapon power cell
+ fire_delay = 16
+ self_recharge = TRUE
+ recharge_time = 10 // every 20*2 seconds will get 20% power restored
+
+ var/max_mod_capacity = 100
+ var/list/modkits = list()
+ var/empty_state = "kineticgun_empty"
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user)
+ if(..(user, 1))
+ if(max_mod_capacity)
+ to_chat(user, "[get_remaining_mod_capacity()]% mod capacity remaining.")
+ for(var/A in get_modkits())
+ var/obj/item/borg/upgrade/modkit/M = A
+ to_chat(user, "There is a [M.name] mod installed, using [M.cost]% capacity.")
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
+ if(istype(A, /obj/item/weapon/crowbar))
+ if(modkits.len)
+ to_chat(user, "You pry the modifications out.")
+ playsound(loc, A.usesound, 100, 1)
+ for(var/obj/item/borg/upgrade/modkit/M in modkits)
+ M.uninstall(src)
+ else
+ to_chat(user, "There are no modifications currently installed.")
+ else if(istype(A, /obj/item/borg/upgrade/modkit))
+ var/obj/item/borg/upgrade/modkit/MK = A
+ MK.install(src, user)
+ else
+ ..()
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/get_remaining_mod_capacity()
+ var/current_capacity_used = 0
+ for(var/A in get_modkits())
+ var/obj/item/borg/upgrade/modkit/M = A
+ current_capacity_used += M.cost
+ return max_mod_capacity - current_capacity_used
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/get_modkits()
+ . = list()
+ for(var/A in modkits)
+ . += A
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/proc/modify_projectile(obj/item/projectile/kinetic/K)
+ for(var/A in get_modkits())
+ var/obj/item/borg/upgrade/modkit/M = A
+ M.modify_projectile(K)
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/consume_next_projectile()
+ var/obj/item/projectile/kinetic/BB = ..()
+ if(!istype(BB))
+ return
+ modify_projectile(BB)
+
+ var/turf/proj_turf = get_turf(src)
+ if(!isturf(proj_turf))
+ return
+ var/datum/gas_mixture/environment = proj_turf.return_air()
+ if(environment.temperature > 250)
+ BB.name = "weakened [BB.name]"
+ BB.damage *= BB.pressure_decrease
+ return BB
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/handle_post_fire(mob/user, atom/target, var/pointblank=0, var/reflex=0)
+ . = ..()
+ spawn(fire_delay)
+ if(power_supply && power_supply.check_charge(charge_cost))
+ playsound(loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/update_icon()
+ cut_overlays()
+ if(!power_supply || !power_supply.check_charge(charge_cost))
+ add_overlay(empty_state)
+ if(can_flashlight)
+ var/iconF = "flight"
+ if(gun_light)
+ iconF = "flight_on"
+ add_overlay(image(icon = icon, icon_state = iconF, pixel_x = flight_x_offset, pixel_y = flight_y_offset))
+
+//Projectiles
+/obj/item/projectile/kinetic
+ name = "kinetic force"
+ icon = 'icons/obj/projectiles_vr.dmi'
+ icon_state = null
+ damage = 32
+ damage_type = BRUTE
+ check_armour = "bomb"
+ kill_count = 3 // Our "range" var is named "kill_count". Yes it is.
+
+ var/pressure_decrease = 0.25
+ var/turf_aoe = FALSE
+ var/mob_aoe = FALSE
+ var/list/hit_overlays = list()
+
+// /obj/item/projectile/kinetic/pod
+// kill_count = 4
+//
+// /obj/item/projectile/kinetic/pod/regular
+// damage = 50
+// pressure_decrease = 0.5
+//
+// /obj/item/projectile/kinetic/pod/enhanced
+// turf_aoe = TRUE
+// mob_aoe = TRUE
+
+/obj/item/projectile/kinetic/on_impact(var/atom/A)
+ strike_thing(A)
+ . = ..()
+
+/obj/item/projectile/kinetic/on_hit(var/atom/target)
+ strike_thing(target)
+ . = ..()
+
+/obj/item/projectile/kinetic/proc/strike_thing(atom/target)
+ var/turf/target_turf = get_turf(target)
+ if(!target_turf)
+ target_turf = get_turf(src)
+ if(istype(target_turf, /turf/simulated/mineral))
+ var/turf/simulated/mineral/M = target_turf
+ M.GetDrilled()
+ var/obj/effect/temp_visual/kinetic_blast/K = new /obj/effect/temp_visual/kinetic_blast(target_turf)
+ K.color = color
+ for(var/type in hit_overlays)
+ new type(target_turf)
+ if(turf_aoe)
+ for(var/T in RANGE_TURFS(1, target_turf) - target_turf)
+ if(istype(T, /turf/simulated/mineral))
+ var/turf/simulated/mineral/M = T
+ M.GetDrilled()
+ if(mob_aoe)
+ for(var/mob/living/L in range(1, target_turf) - firer - target)
+ var/armor = L.run_armor_check(def_zone, check_armour)
+ L.apply_damage(damage*mob_aoe, damage_type, def_zone, armor)
+ to_chat(L, "You're struck by a [name]!")
+
+//Modkits
+/obj/item/borg/upgrade/modkit
+ name = "modification kit"
+ desc = "An upgrade for kinetic accelerators."
+ icon = 'icons/obj/objects_vr.dmi'
+ icon_state = "modkit"
+ origin_tech = list(TECH_DATA = 2, TECH_MATERIAL = 2, TECH_MAGNET = 4)
+ require_module = 1
+ // var/module_type = /obj/item/robot_module/miner
+ usesound = 'sound/items/Screwdriver.ogg'
+ var/denied_type = null
+ var/maximum_of_type = 1
+ var/cost = 30
+ var/modifier = 1 //For use in any mod kit that has numerical modifiers
+
+/obj/item/borg/upgrade/modkit/examine(mob/user)
+ if(..(user, 1))
+ to_chat(user, "Occupies [cost]% of mod capacity.")
+
+/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
+ if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator) && !issilicon(user))
+ install(A, user)
+ else
+ ..()
+
+/obj/item/borg/upgrade/modkit/action(mob/living/silicon/robot/R)
+ if(..())
+ return
+
+ for(var/obj/item/weapon/gun/energy/kinetic_accelerator/H in R.module.modules)
+ return install(H, usr)
+
+/obj/item/borg/upgrade/modkit/proc/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user)
+ . = TRUE
+ if(denied_type)
+ var/number_of_denied = 0
+ for(var/A in KA.get_modkits())
+ var/obj/item/borg/upgrade/modkit/M = A
+ if(istype(M, denied_type))
+ number_of_denied++
+ if(number_of_denied >= maximum_of_type)
+ . = FALSE
+ break
+ if(KA.get_remaining_mod_capacity() >= cost)
+ if(.)
+ to_chat(user, "You install the modkit.")
+ playsound(loc, usesound, 100, 1)
+ user.unEquip(src)
+ forceMove(KA)
+ KA.modkits += src
+ else
+ to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")
+ else
+ to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")
+ . = FALSE
+
+/obj/item/borg/upgrade/modkit/proc/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA)
+ forceMove(get_turf(KA))
+ KA.modkits -= src
+
+/obj/item/borg/upgrade/modkit/proc/modify_projectile(obj/item/projectile/kinetic/K)
+ return
+
+//Range
+/obj/item/borg/upgrade/modkit/range
+ name = "range increase"
+ desc = "Increases the range of a kinetic accelerator when installed."
+ modifier = 1
+ cost = 24 //so you can fit four plus a tracer cosmetic
+
+/obj/item/borg/upgrade/modkit/range/modify_projectile(obj/item/projectile/kinetic/K)
+ K.kill_count += modifier
+
+
+//Damage
+/obj/item/borg/upgrade/modkit/damage
+ name = "damage increase"
+ desc = "Increases the damage of kinetic accelerator when installed."
+ modifier = 10
+
+/obj/item/borg/upgrade/modkit/damage/modify_projectile(obj/item/projectile/kinetic/K)
+ K.damage += modifier
+
+
+// //Cooldown
+// /obj/item/borg/upgrade/modkit/cooldown
+// name = "cooldown decrease"
+// desc = "Decreases the cooldown of a kinetic accelerator."
+// modifier = 2.5
+
+// /obj/item/borg/upgrade/modkit/cooldown/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user)
+// . = ..()
+// if(.)
+// KA.overheat_time -= modifier
+
+// /obj/item/borg/upgrade/modkit/cooldown/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA)
+// KA.overheat_time += modifier
+// ..()
+
+//Cooldown
+/obj/item/borg/upgrade/modkit/efficiency
+ name = "energy efficiency"
+ desc = "Decreases the energy use of a kinetic accelerator."
+ modifier = 20
+
+/obj/item/borg/upgrade/modkit/efficiency/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user)
+ . = ..()
+ if(.)
+ KA.charge_cost -= modifier
+
+/obj/item/borg/upgrade/modkit/efficiency/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA)
+ KA.charge_cost += modifier
+ ..()
+
+//AoE blasts
+/obj/item/borg/upgrade/modkit/aoe
+ modifier = 0
+
+/obj/item/borg/upgrade/modkit/aoe/modify_projectile(obj/item/projectile/kinetic/K)
+ K.name = "kinetic explosion"
+ if(!K.turf_aoe && !K.mob_aoe)
+ K.hit_overlays += /obj/effect/temp_visual/explosion/fast
+ K.mob_aoe += modifier
+
+/obj/item/borg/upgrade/modkit/aoe/turfs
+ name = "mining explosion"
+ desc = "Causes the kinetic accelerator to destroy rock in an AoE."
+ denied_type = /obj/item/borg/upgrade/modkit/aoe/turfs
+
+/obj/item/borg/upgrade/modkit/aoe/turfs/modify_projectile(obj/item/projectile/kinetic/K)
+ ..()
+ K.turf_aoe = TRUE
+
+/obj/item/borg/upgrade/modkit/aoe/turfs/andmobs
+ name = "offensive mining explosion"
+ desc = "Causes the kinetic accelerator to destroy rock and damage mobs in an AoE."
+ maximum_of_type = 3
+ modifier = 0.25
+
+/obj/item/borg/upgrade/modkit/aoe/mobs
+ name = "offensive explosion"
+ desc = "Causes the kinetic accelerator to damage mobs in an AoE."
+ modifier = 0.2
+
+
+//Indoors
+/obj/item/borg/upgrade/modkit/indoors
+ name = "decrease pressure penalty"
+ desc = "Increases the damage a kinetic accelerator does in a high pressure environment."
+ modifier = 2
+ denied_type = /obj/item/borg/upgrade/modkit/indoors
+ maximum_of_type = 2
+ cost = 40
+
+/obj/item/borg/upgrade/modkit/indoors/modify_projectile(obj/item/projectile/kinetic/K)
+ K.pressure_decrease *= modifier
+
+//Cosmetic
+
+/obj/item/borg/upgrade/modkit/chassis_mod
+ name = "super chassis"
+ desc = "Makes your KA yellow. All the fun of having a more powerful KA without actually having a more powerful KA."
+ cost = 0
+ denied_type = /obj/item/borg/upgrade/modkit/chassis_mod
+ var/chassis_icon = "kineticgun_u"
+ var/chassis_name = "super-kinetic accelerator"
+
+/obj/item/borg/upgrade/modkit/chassis_mod/install(obj/item/weapon/gun/energy/kinetic_accelerator/KA, mob/user)
+ . = ..()
+ if(.)
+ KA.icon_state = chassis_icon
+ KA.name = chassis_name
+
+/obj/item/borg/upgrade/modkit/chassis_mod/uninstall(obj/item/weapon/gun/energy/kinetic_accelerator/KA)
+ KA.icon_state = initial(KA.icon_state)
+ KA.name = initial(KA.name)
+ ..()
+
+/obj/item/borg/upgrade/modkit/chassis_mod/orange
+ name = "hyper chassis"
+ desc = "Makes your KA orange. All the fun of having explosive blasts without actually having explosive blasts."
+ chassis_icon = "kineticgun_h"
+ chassis_name = "hyper-kinetic accelerator"
+
+/obj/item/borg/upgrade/modkit/tracer
+ name = "white tracer bolts"
+ desc = "Causes kinetic accelerator bolts to have a white tracer trail and explosion."
+ cost = 0
+ denied_type = /obj/item/borg/upgrade/modkit/tracer
+ var/bolt_color = "#FFFFFF"
+
+/obj/item/borg/upgrade/modkit/tracer/modify_projectile(obj/item/projectile/kinetic/K)
+ K.icon_state = "ka_tracer"
+ K.color = bolt_color
+
+/obj/item/borg/upgrade/modkit/tracer/adjustable
+ name = "adjustable tracer bolts"
+ desc = "Causes kinetic accelerator bolts to have a adjustably-colored tracer trail and explosion. Use in-hand to change color."
+
+/obj/item/borg/upgrade/modkit/tracer/adjustable/attack_self(mob/user)
+ bolt_color = input(user,"Choose Color") as color
diff --git a/icons/effects/96x96_vr.dmi b/icons/effects/96x96_vr.dmi
new file mode 100644
index 0000000000..6214e7643f
Binary files /dev/null and b/icons/effects/96x96_vr.dmi differ
diff --git a/icons/mob/items/lefthand_guns_vr.dmi b/icons/mob/items/lefthand_guns_vr.dmi
index 46c0497d38..8f6b3b50ce 100644
Binary files a/icons/mob/items/lefthand_guns_vr.dmi and b/icons/mob/items/lefthand_guns_vr.dmi differ
diff --git a/icons/mob/items/righthand_guns_vr.dmi b/icons/mob/items/righthand_guns_vr.dmi
index 6d8b68356e..6048f79855 100644
Binary files a/icons/mob/items/righthand_guns_vr.dmi and b/icons/mob/items/righthand_guns_vr.dmi differ
diff --git a/icons/obj/gun_vr.dmi b/icons/obj/gun_vr.dmi
index d502267439..88ff7bde89 100644
Binary files a/icons/obj/gun_vr.dmi and b/icons/obj/gun_vr.dmi differ
diff --git a/icons/obj/objects_vr.dmi b/icons/obj/objects_vr.dmi
index 47bb9eae24..5abf64ced4 100644
Binary files a/icons/obj/objects_vr.dmi and b/icons/obj/objects_vr.dmi differ
diff --git a/icons/obj/projectiles_vr.dmi b/icons/obj/projectiles_vr.dmi
index 0fa44fbec3..0ceba03d4f 100644
Binary files a/icons/obj/projectiles_vr.dmi and b/icons/obj/projectiles_vr.dmi differ
diff --git a/sound/weapons/Kenetic_accel.ogg b/sound/weapons/Kenetic_accel.ogg
new file mode 100644
index 0000000000..ab525baf9a
Binary files /dev/null and b/sound/weapons/Kenetic_accel.ogg differ
diff --git a/sound/weapons/kenetic_reload.ogg b/sound/weapons/kenetic_reload.ogg
new file mode 100644
index 0000000000..7f2c779fa6
Binary files /dev/null and b/sound/weapons/kenetic_reload.ogg differ
diff --git a/vorestation.dme b/vorestation.dme
index 8412af551d..07d743c1cc 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -2414,6 +2414,7 @@
#include "code\modules\projectiles\guns\modular_guns.dm"
#include "code\modules\projectiles\guns\projectile.dm"
#include "code\modules\projectiles\guns\vox.dm"
+#include "code\modules\projectiles\guns\energy\kinetic_accelerator_vr.dm"
#include "code\modules\projectiles\guns\energy\laser.dm"
#include "code\modules\projectiles\guns\energy\netgun_vr.dm"
#include "code\modules\projectiles\guns\energy\nuclear.dm"