Halo-style Trigger Problems

I’m working on a project that is supposed to emulate the way that Halo allows players to consistently reach the maximum rate of fire for semi-auto weapons. I presume that it would check two variables: a boolean that checks if the player had re-actuated the trigger and a timer that checks if the minimum delay has pasted. Here’s what I had originally (unfinished):

I haven’t set up any events for this and have no idea how to set this up, but I assume that I have to create a firing event. My current idea is to start a timer after the set WillFire of the event StartShooting and then go back through the event from the first Reloading check with a trigger down check before hand. Here’s what it looks like with that idea (still no events or timers or timelines as of now):

Please tell me if any of this makes sense. I’m sure that there’s a far easier way to do this than what is above, but I can’t figure it out atm.

I figured out a system that works as intended. Here’s the delay loop That is currently used:

Removing the “Set TriggerActuated false” node is all that is needed to make the system a generic full auto one that can’t be over sampled. I’m sure that all that would be needed to set this to burst fire is a simple incremental loop. I hope that I can easily incorporate a charge effect to this, maybe even set up a boolean for turning off/on the future charge effect. and a burst integer set to 1 would be single shot semi auto. Maybe a boolean check and reset could make manual action weapons need to be cycled once switching to or picking up said weapon if it had not been cycled when dropped. Should the charge/cycle systems be specific to subclasses using said features?