I haven't looked very deep into the matter at all, but a cursory search doesn't reveal a specific means by which AP or API ammo is to be handled differently than ball ammo. Below is the code in MGunBrowning50APIT.class. The properties of any relevance are power, powerType, PowerRadius, speed (m/s) and massa (kg). (I think kalibr is used to calculate atmospheric drag, principally.)
Compared to the basic BrowningM2, the projectiles here are a little lighter, have a slightly faster muzzle velocity, share pretty much the same power values, share the same powerType of zero, and share the same powerRadius of zero, except here one round of the four has a value of 0.15m (along with the smallest power value, both of which are highlighted).
public class MGunBrowning50APIT extends MGunAircraftGeneric
{
public MGunBrowning50APIT()
{
}
public GunProperties createProperties()
{
GunProperties gunproperties = super.createProperties();
gunproperties.bCannon = false;
gunproperties.bUseHookAsRel = true;
gunproperties.fireMesh = "3DO/Effects/GunFire/12mm/mono.sim";
gunproperties.fire = null;
gunproperties.sprite = "3DO/Effects/GunFire/12mm/GunFlare.eff";
gunproperties.smoke = "effects/smokes/MachineGun.eff";
gunproperties.shells = "3DO/Effects/GunShells/GunShells.eff";
gunproperties.sound = "weapon.MGunBrowning50s";
gunproperties.emitColor = new Color3f(0.6F, 0.4F, 0.2F);
gunproperties.emitI = 2.5F;
gunproperties.emitR = 1.5F;
gunproperties.emitTime = 0.03F;
gunproperties.aimMinDist = 10F;
gunproperties.aimMaxDist = 1000F;
gunproperties.weaponType = -1;
gunproperties.maxDeltaAngle = 0.229F;
gunproperties.shotFreq = 12.5F;
gunproperties.traceFreq = 1;
gunproperties.bullets = 500;
gunproperties.bulletsCluster = 1;
gunproperties.bullet = (new BulletProperties[] {
new BulletProperties(), new BulletProperties(), new BulletProperties(), new BulletProperties(), new BulletProperties()
});
gunproperties.bullet[0].massa = 0.043F;
gunproperties.bullet[0].kalibr = 0.0001209675F;
gunproperties.bullet[0].speed = 890F;
gunproperties.bullet[0].power = 0.002F;
gunproperties.bullet[0].powerType = 0;
gunproperties.bullet[0].powerRadius = 0.0F;
gunproperties.bullet[0].traceMesh = "3do/effects/tracers/20mmRed/mono.sim";
gunproperties.bullet[0].traceTrail = "Effects/Smokes/SmokeBlack_BuletteTrail.eff";
gunproperties.bullet[0].traceColor = 0xf42b20ff;
gunproperties.bullet[0].timeLife = 6.5F;
gunproperties.bullet[1].massa = 0.043F;
gunproperties.bullet[1].kalibr = 0.0001105062F;
gunproperties.bullet[1].speed = 890F;
gunproperties.bullet[1].power = 0.002F;
gunproperties.bullet[1].powerType = 0;
gunproperties.bullet[1].powerRadius = 0.0F;
gunproperties.bullet[1].traceMesh = null;
gunproperties.bullet[1].traceTrail = null;
gunproperties.bullet[1].traceColor = 0;
gunproperties.bullet[1].timeLife = 6.52F;
gunproperties.bullet[2].massa = 0.043F;
gunproperties.bullet[2].kalibr = 0.0001105062F;
gunproperties.bullet[2].speed = 890F;
gunproperties.bullet[2].power = 0.0009768F; //--------------
gunproperties.bullet[2].powerType = 0;
gunproperties.bullet[2].powerRadius = 0.15F; //--------------
gunproperties.bullet[2].traceMesh = null;
gunproperties.bullet[2].traceTrail = null;
gunproperties.bullet[2].traceColor = 0;
gunproperties.bullet[2].timeLife = 6.5F;
gunproperties.bullet[3].massa = 0.043F;
gunproperties.bullet[3].kalibr = 0.0001105062F;
gunproperties.bullet[3].speed = 890F;
gunproperties.bullet[3].power = 0.002F;
gunproperties.bullet[3].powerType = 0;
gunproperties.bullet[3].powerRadius = 0.0F;
gunproperties.bullet[3].traceMesh = null;
gunproperties.bullet[3].traceTrail = null;
gunproperties.bullet[3].traceColor = 0;
gunproperties.bullet[3].timeLife = 6.25F;
return gunproperties;
}
}