public void FireRifle()
    {
        if (HuntingRifleTimer < 1)
        {
            if (HuntingRifleMagazine > 0)
            {
                NPCmanager.GetComponent <NpcManagement>().JustFired();                              //lets NPCs know you fired, so they can look for you
                HuntingRifle.GetComponent <Animator>().SetTrigger("Fire");                          //HuntingRifle.GetComponent<Animator>().SetTrigger("Fire");  //plays a firing animation
                Instantiate(muzzleflash, HuntingRifleMuzzle.position, HuntingRifleMuzzle.rotation); //muzzleflash
                Instantiate(smoke, HuntingRifleMuzzle.position, HuntingRifleMuzzle.rotation);       //gunsmoke

                //stores location of raycast hit
                RaycastHit hit;
                //makes raycast avoid game-layer with player and ui

                int layerMask = (1 << 8) | (1 << 9);
                layerMask = ~layerMask;
                //casts ray
                if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, HuntingRifleRange, layerMask))
                {
                    //makes an impact particle effect


                    HitBox target = hit.transform.GetComponent <HitBox>();         // this checks to see if object hit has a certain script
                    if (target != null)
                    {
                        target.HitByProjectile(HuntingRifleDamage);
                        GameObject blik = Instantiate(blood, hit.point, Quaternion.LookRotation(hit.normal)) as GameObject;
                        blik.transform.SetParent(target.transform);
                        GameObject smokes = Instantiate(sparks, hit.point, Quaternion.LookRotation(hit.normal)) as GameObject;
                        smokes.transform.SetParent(target.transform);
                    }
                    else
                    {
                        Instantiate(sparks, hit.point, Quaternion.LookRotation(hit.normal));
                    }
                }



                cam.transform.rotation *= Quaternion.Euler(-.1f, 0, 0.0f);

                HuntingRifleMagazine -= 1;
                activemagazine        = HuntingRifleMagazine;

                hud.AmmoUpdate();
                HuntingRifleTimer = 4;
            }
        }
    }