I think you’ve been close to finishing this,
you need to set InDelay variable to True after firing and before timer in SemiAuto.
In the DelayComplete function reset InDelay bool to false.
This should do the trick.
Edit: reset the bool in ReleaseTrigger, not in DelayComplete.