Nice, the project have a good organization, the code it’s fine too, the functions and variables are readable, good practices followed, I particularly don’t like comments on code, I prefer that the code explain itself with good naming and organization, so I liked it a lot.
About the game, I little bug, since you stored the ammunition on a global it doesn’t reset on replay, it would be better to store on player code, since it’s an state of the player. Overall good job.
Ps. I think I heard that dying sound fx before on my youth, sounds familiar.