Timer not working?

Hey guys! I am using this timer script that I have used many times and have worked, but for some reason it is not working now… Please help!

void Update()
    {
        bool TimerTrue = false;
        float timer = 1;
        if (TimerTrue)
            timer -= Time.deltaTime;
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {

            GameObject Temporary_Bullet_Handler;
            Temporary_Bullet_Handler = PhotonNetwork.Instantiate("projectile", Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation, 0) as GameObject;
            Temporary_Bullet_Handler.GetComponent<BulletAttributes>().Owner = this.gameObject;
            TimerTrue = true;   
            Rigidbody Temporary_RigidBody;
            Temporary_RigidBody = Temporary_Bullet_Handler.GetComponent<Rigidbody>();

            Temporary_RigidBody.AddForce(transform.forward * Bullet_Forward_Force);


            if (timer < 0)
            {
                PhotonNetwork.Destroy(Temporary_Bullet_Handler);
                TimerTrue = false;
            }
        }
    }

The bullet successfully shoots but never despawns, I would do Destroy(Temporary_Bullet_Handler, 1.0f); but I am doing multiplayer and Photon does not have that feature for some reason

Put the declaration of TimerTrue outside of the function, right now it will always be false at the first if, stopping the timer counting down.

Ah, yes didn’t read over that. things as simple as that just slip over my head
EDIT- Gonna have to redo the whole method as it is faulty