private void Shoot()
    {
        if (levelManager.EnemiesPresentCheck())
        {
            isShooting        = true;
            timeSinceLastShot = Time.time;
            //shooter.Init(playerStats.weapon);
            //Debug.Log("Shoot: ");

            int dmgBoost = 0;
            int wpnDmg   = EverythingLoader.Instance.WeaponInfos[playerStats.Weapon].dmgMod;

            if (playerStats.Rage)
            {
                float healthPercentage = (playerStats.CurrentHealth / (float)playerStats.MaxHealth) * 100;
                //Debug.Log("rage mode hp perc: " + healthPercentage);

                if (healthPercentage < 50)
                {
                    int missHP = 50 - (int)healthPercentage;
                    dmgBoost = (int)(playerStats.AttackPower * missHP / 400f);
                    //Debug.Log("rage mode atk boost: " + dmgBoost);
                    //extraDmgRef = dmgBoost;
                }
            }

            int randomPoint = Random.Range(1, 101);

            if (randomPoint <= playerStats.CriticalHitRate)
            {
                dmgBoost += CalculateCritDamage();
            }

            //Debug.Log("Total Damage: " + (dmgBoost + playerStats.AttackPower));
            levelManager.audioManager.PlaySFXClip("playerShoot");

            //Add all boosts and shoot
            shooter.FireGun(playerStats.Weapon, playerStats.AttackRange, dmgBoost + playerStats.AttackPower + wpnDmg);
        }
    }