Mixed belt ammo... too hard to code?
Suggestion: For any gun that has "mixed ammo belts" (AP, HE, HEI, API, etc etc) take that gun and make as many of it as there are different types of bullets, then stagger the firing sequence.
Example:
AH now: 1 gun, "averaged" damage bullets, but every bullet is the same.
5-round burst:
Fire-fire-fire-fire-fire
My suggestion (radical as it may seem) will use a hypothetical gun that fires 2 AP rounds, 1 tracer round, then 2 HE rounds, and repeats.
3 guns
Gun 1 (fires only AP): fire-fire-pause-pause-pause
Gun 2 (fires only HE): pause-pause-pause-fire-fire
Gun 3 (fires only tracer): pause-pause-fire-pause-pause.
The effect is thus: You get mixed ammo belts without having to code every single frakkin' round on the gun belt (this is GOOD, because aircraft have MANY hundreds of rounds per gun). The guns are all in the same place, are damage-linked (one goes they all go, thus that "gun" is damaged, and only 1 shows up in the damage list).
Each "sub gun" would have only one type of ammo, with a finite amount. Example: if my hypthetical belting of AP-AP-Trc-HE-HE was used on a gun with 400rpg, then take 400 and multiply it by 40% (160 rounds) for the AP gun, 400 x 20% (80 rounds) for the tracer, and another 40% for the HE (160 rounds).
No need to keep track of whatever bullet is in the gun at any given moment. No need to track where the belt is when you stop/start firing. Just code an interruptor system so that the guns fire staggered, then all the other code is already there (gun takes bullet, fires bullet, remove bullet from ammo count, repeat). The ammo counters already cumulatively add the ammo up, so that already works, too!
Like I said it's crazy, but it would work. The only bit of code you'd have to add would be 1) stagger the firing of 3 guns so that only 1 gun fires at any given time and 2) link the damage so that if any one of the guns goes all do. The rest we already have.