diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7315628f7c..0f398b6d3b 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -76,17 +76,16 @@ var/datum/action/item_action/toggle_scope_zoom/azoom var/dualwield_spread_mult = 1 //dualwield spread multiplier - + /// Just 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun. var/projectile_damage_multiplier = 1 /obj/item/gun/Initialize() . = ..() - if(pin) - if(no_pin_required) - pin = null - else - pin = new pin(src) + if(no_pin_required) + pin = null + else if(pin) + pin = new pin(src) if(gun_light) alight = new (src) if(zoomable) diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index f8ddcb5aae..2af25971f3 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -295,7 +295,7 @@ if(istype(object, /obj/screen) && !istype(object, /obj/screen/click_catcher)) return process_aim() - if(fire_check()) + if(fire_check() && can_trigger_gun(M)) sync_ammo() do_fire(M.client.mouseObject, M, FALSE, M.client.mouseParams, M.zone_selected) stop_aiming()