Sorry to anyone itching to examine my code for multi-weapon units and ammo. Being a hopeless perfectionist, I've been obsessing over what appeared to be minor glitches and error notifications associated with my changes that would pop up once in a blue moon. Alas, some of them turned out to be not so minor after all. In particular, there seems to be a nasty interaction between the weapon switching in code and the ammo counting code. (Animations sometimes get desynced from the simulation and units forget how long weapon cooldowns and ammo reload cycles are supposed to be. Put them together and you have units occasionally vomiting out dozens of invisible projectiles like a machine gun. I didn't notice until in one very large test battle a lone surviving Hastatus mowed down a dozen enemies with what appeared to be three successive pila throws.)
That's just the fun of game development I guess... always a learning experience. I've made some initial improvements to try to fix it, but the problem appears to be somewhat intrinsic to the way I clumsily shoehorned my variables for tracking ammo and attack cycling into the preexisting architecture of the INDIVIDUAL.COMBAT.ATTACKING state. I basically need to go back to the drawing board with the attack cycling code. It's going to take a lot of work for me to fix, and right now I don't have the time.
But I don't want anyone to feel short changed, so tomorrow I'll work getting the repo semi-presentable and post the link here. I wouldn't recommend anyone try to build off my work just yet, but maybe it will provide some inspiration for what is possible.