public static void Shoot(BasePlayer ownerPlayer, BaseProjectile baseProjectile)
        {
            if (HasAttackCooldown(baseProjectile))
            {
                return;
            }

            if (baseProjectile.primaryMagazine.contents <= 0)
            {
                baseProjectile.DryFire();
                return;
            }


            baseProjectile.primaryMagazine.contents--;
            //baseProjectile.OnSignal(BaseEntity.Signal.Attack, string.Empty);
            LaunchProjectile(ownerPlayer, baseProjectile);
            UpdateAmmoDisplay(baseProjectile);
            //ShotFired(baseProjectile);
            baseProjectile.BeginCycle();
        }