Slightly cleans up shotgun code (#25044)

* I love code quality

* Update code/modules/projectiles/guns/projectile/shotgun.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
DGamerL
2024-04-12 20:41:24 +02:00
committed by GitHub
parent ba0797c48f
commit f0d2e31f18
2 changed files with 11 additions and 15 deletions
@@ -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)
@@ -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()