Fire Rate Not Changing (C#)

So I have been making a top-down shooter style game, and it has been going pretty well, other than the fact that when I change the value of "timeBetweenShots" (the fire rate variable) it doesn't change the fire rate at all, no matter if I set it at 0.001, 0.1, 1, or even 100. It stays a constant line of bullets. I have tried changing around the script a bit, but nothing changes. Please look at my script, and tell me what is wrong if you can.

Your if statement is executed if shotCounter is less or equal to zero, but if not you setting it to zero in the else statement. So the update after you set it to timeBetweenShots it will be equal zero again.