**[SOLVED]** Gun not firing after certain amount of shots

for some reason my gun script stops firing bullets after a certain amount of shots. This amount seems to be fixed but I don’t really count becuase it is a fairly large number. Apart from that it all works fine.
Here is the gun script:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Gun : MonoBehaviour
{
    public Camera Cam;
    public float range = Mathf.Infinity;
    public GameObject HitParticles;
    public GameObject Flash;
    public float TotalPause;
    public float Lighttime;
    public bool shooting;
    public AudioSource Audio;
    public AudioClip Shots;
    public float Zoom;
    private float NormalFOV;
    public int Damage;
    public Animator animator;
    public bool scope;
    public GameObject Graphic;
    public float Cooldown;
    public Slider Energy;
    public int PowerUsage;
    // Start is called before the first frame update
    void OnEnable()
    {
        shooting = false;
        NormalFOV = Cam.fieldOfView;
    }

    // Update is called once per frame
    void Update()
    {
        Debug.Log("Update");
        if (Input.GetButton("Fire1") && !shooting && PowerUsage <= Energy.value)
        {
            Audio.clip = Shots;
            Audio.Play();
            Energy.value -= PowerUsage;
            StartCoroutine(Shoot());
        }
        if (Input.GetButtonDown("Fire2"))
        {
            StartCoroutine(ZoomIn(0.5403233f));
        }




        if(Input.GetButtonUp("Fire2"))
        {
            animator.SetBool("isZoomed", false);
            Graphic.SetActive(true);
            Cam.fieldOfView = NormalFOV;
        }
    }
    IEnumerator Shoot()
    {
        Debug.Log("Assert Dominance");
        RaycastHit hit;
        shooting = true;
        if (Physics.Raycast(Cam.transform.position, Cam.transform.forward, out hit, range))
        {
            if (hit.transform.CompareTag("Enemy"))
            {
                hit.transform.gameObject.GetComponent<Enemy>().Kill(Damage);
            }
            Debug.Log("Shots Fired");
            Instantiate(HitParticles, hit.point, Quaternion.identity);
        }
        Flash.SetActive(true);
        yield return new WaitForSeconds(Lighttime);
        Flash.SetActive(false);
        yield return new WaitForSeconds(TotalPause - Lighttime);
        shooting = false;
        this.enabled = false;
        this.enabled = true;

    }

    IEnumerator ZoomIn(float ZoomTime)
    {
        animator.SetBool("isZoomed", true);
        yield return new WaitForSeconds(ZoomTime);
        if (scope)
        {
            Graphic.SetActive(false);
        }

        Cam.fieldOfView = Zoom;
    }

    
}

Fixed it! It was just stupid me forgetting I did something and had nothing to do with that script.

facepalm