Yes, the function part looks correct. Is it working fine?
If the "trigger once" part I mentioned is working fine the way you have it then good—I was just unsure what the result would be.
One thing you could think about is adding more states—if it makes things more organized for you.
0 = spawned
1 = moving
2 = charging (not moving and waiting to shoot)
3 = firing
4 = pause, then set back to 1
Just a thought, but not necessary—however makes sense to you
Tip on the timers. Use one tag, call it "state" or "AI" or something.
On Timer Tag "state"
-for each enemy
--state = 0
--else state = 1
--etc etc
It can make it easier if the timer needs to be interrupted (destroyed, stunned, etc.) just one timer to stop and restart or can just change the state if don't want to restart the timer. Also, I've heard you want to do a 'for each' as a sub event for the timer in case two instances' timers go off at once. It will only have those that timers go off picked, not all, but can run them separately.