When the player collects the triple-shot powerup, ActivateTripleshot() is called on the Player. This in turn starts a coroutine that sets a triple-shot active to true, waits for a set amount of time (here 5 seconds), and then sets it to false, returning it to normal shooting behavior.
A different way to go about it could have the triple-shot be limited to a set amount of shots before it runs out.
It’s just a matter of trial and error to figure out what works best for the situation. To me, 5 seconds felt like a good way to go, not too short and long enough to feel the power.
Thanks for your time 😀