Part of P0062, funded by Touhou Patch Center.
That should make this convoluted copypasta a bit easier to read. And sure, I could have done something about the loop as well, but SHOT_FUNC_INIT already hides enough control flow behind a macro… Part of P0037, funded by zorg.