When you attempted to charge a gun when it didn't have the ability to do so, it had set 'recharging = TRUE', and then kicked you out of the 'recharge' proc and left 'recharging = TRUE' meaning it would see 'recharging = true' and just return TRUE when the recharge proc was called.
This makes it so if you hit a gun and you can't charge it, it just sets the recharging = FALSE and then returns.
Also gives it a better error message