diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 96e6216eac1..7e80e0f776b 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -15,8 +15,9 @@ origin_tech = "combat=4;materials=2" mag_type = /obj/item/ammo_box/magazine/internal/shot fire_sound = 'sound/weapons/gunshots/gunshot_shotgun.ogg' - var/recentpump = 0 // to prevent spammage weapon_weight = WEAPON_HEAVY + var/pump_time = 1 SECONDS // To prevent spammage + COOLDOWN_DECLARE(pump_cooldown) /obj/item/gun/projectile/shotgun/examine(mob/user) . = ..() @@ -37,37 +38,32 @@ /obj/item/gun/projectile/shotgun/process_chamber() - return ..(0, 0) + return ..(FALSE, FALSE) /obj/item/gun/projectile/shotgun/chamber_round() return /obj/item/gun/projectile/shotgun/can_shoot() if(!chambered) - return 0 - return (chambered.BB ? 1 : 0) + return FALSE + return chambered.BB /obj/item/gun/projectile/shotgun/attack_self(mob/living/user) - if(recentpump) + if(!COOLDOWN_FINISHED(src, pump_cooldown)) return pump(user) - recentpump = 1 - spawn(10) - recentpump = 0 - return - + COOLDOWN_START(src, pump_cooldown, pump_time) /obj/item/gun/projectile/shotgun/proc/pump(mob/M) - playsound(M, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, 1) + playsound(M, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, TRUE) pump_unload(M) pump_reload(M) - return 1 /obj/item/gun/projectile/shotgun/proc/pump_unload(mob/M) if(chambered)//We have a shell in the chamber - chambered.loc = get_turf(src)//Eject casing + chambered.forceMove(get_turf(src)) chambered.SpinAnimation(5, 1) - playsound(src, chambered.casing_drop_sound, 60, 1) + playsound(src, chambered.casing_drop_sound, 60, TRUE) chambered = null /obj/item/gun/projectile/shotgun/proc/pump_reload(mob/M) diff --git a/code/modules/projectiles/guns/projectile_gun.dm b/code/modules/projectiles/guns/projectile_gun.dm index 36bac6af4d0..37d17ed38d4 100644 --- a/code/modules/projectiles/guns/projectile_gun.dm +++ b/code/modules/projectiles/guns/projectile_gun.dm @@ -48,7 +48,7 @@ if(bayonet && can_bayonet) . += knife_overlay -/obj/item/gun/projectile/process_chamber(eject_casing = 1, empty_chamber = 1) +/obj/item/gun/projectile/process_chamber(eject_casing = TRUE, empty_chamber = TRUE) var/obj/item/ammo_casing/ammo_chambered = chambered //Find chambered round if(!istype(ammo_chambered)) chamber_round()