Better way to achieve semi-automatic fire for third person shooter?

“TriggerHeld” is a bit of a misnomer; I should’ve called it something else. In this case it referred to the physical gun trigger, rather than the input. What it’s actually doing is keeping a track if the button is still being held since the previous “shot” has been fired.

I really don’t know if I’m doing any of this right, but this is the way to achieve semi-auto functionality as it’s currently implemented.