diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 6b6332eb65e..99dd27d88d6 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -222,19 +222,33 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. /obj/item/weapon/gun/energy/kinetic_accelerator name = "proto-kinetic accelerator" - desc = "According to Nanotrasen accounting, this is mining equipment. It's been modified to the legal limit on power output, and often serves as a miner's first defense against hostile alien life; it's not very powerful unless used in a low pressure environment." - icon_state = "freezegun" - item_state = "shotgun" + desc = "According to Nanotrasen accounting, this is mining equipment. It's been modified for extreme power output to crush rocks, but often serves as a miner's first defense against hostile alien life; it's not very powerful unless used in a low pressure environment." + icon_state = "kineticgun" + item_state = "kineticgun" + icon_override = 'icons/mob/in-hand/guns.dmi' projectile_type = "/obj/item/projectile/kinetic" - cell_type = "/obj/item/weapon/cell/crap" + fire_sound = 'sound/weapons/Kenetic_accel.ogg' charge_cost = 5000 + cell_type = "/obj/item/weapon/cell/crap" + var/overheat = 0 + var/recent_reload = 1 + +/obj/item/weapon/gun/energy/kinetic_accelerator/Fire() + overheat = 1 + spawn(20) + overheat = 0 + recent_reload = 0 + ..() /obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(var/mob/living/user/L) + if(overheat || recent_reload) + return power_supply.give(5000) - playsound(src.loc, 'sound/weapons/shotgunpump.ogg', 60, 1) + playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) + recent_reload = 1 + update_icon() return - /obj/item/weapon/gun/energy/disabler name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index ec20788aaed..e2e643a1111 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -187,38 +187,15 @@ obj/item/projectile/kinetic/New() range-- if(range <= 0) new /obj/item/effect/kinetic_blast(src.loc) - delete() + del(src) -/obj/item/projectile/kinetic/on_hit(var/atom/target) +/obj/item/projectile/kinetic/on_hit(atom/target) var/turf/target_turf= get_turf(target) if(istype(target_turf, /turf/simulated/mineral)) var/turf/simulated/mineral/M = target_turf M.GetDrilled() new /obj/item/effect/kinetic_blast(target_turf) - ..(target,blocked) - -/obj/item/projectile/kinetic/Bump(atom/A as mob|obj|turf|area) - if(!loc) return - if(A == firer) - loc = A.loc - return - - if(src)//Do not add to this if() statement, otherwise the meteor won't delete them - - if(A) - var/turf/target_turf = get_turf(A) - //testing("Bumped [A.type], on [target_turf.type].") - if(istype(target_turf, /turf/unsimulated/mineral)) - var/turf/simulated/mineral/M = target_turf - M.GetDrilled() - // Now we bump as a bullet, if the atom is a non-turf. - if(!isturf(A)) - ..(A) - qdel(src) // Comment this out if you want to shoot through the asteroid, ERASER-style. - return 1 - else - qdel(src) - return 0 + ..() /obj/item/effect/kinetic_blast name = "kinetic explosion" @@ -228,5 +205,4 @@ obj/item/projectile/kinetic/New() /obj/item/effect/kinetic_blast/New() spawn(4) - del(src) - + del(src) \ No newline at end of file diff --git a/icons/mob/in-hand/guns.dmi b/icons/mob/in-hand/guns.dmi index 99093c521cf..9609c6d23f7 100644 Binary files a/icons/mob/in-hand/guns.dmi and b/icons/mob/in-hand/guns.dmi differ diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index f6ce90f5790..a105ed232af 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 14b94a22744..c4ecd1b70f3 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/sound/weapons/Kenetic_accel.ogg b/sound/weapons/Kenetic_accel.ogg new file mode 100644 index 00000000000..ab525baf9af 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 00000000000..7f2c779fa62 Binary files /dev/null and b/sound/weapons/kenetic_reload.ogg differ