Here are the MGun classes in the synchronized mounting (firing through the prop arc). Note that the properties "power", "powerType" and "powerRadius" determine the bullet type, which can be ball, API or mine (explosive); this thus controls the visual impact effect, such as whether or not there is a flash/smoke puff.
The Ho103 (synced) has 350 rounds firing at 14.67/second, maxDeltaAngle of 0.12, velocity of 710/750m/s, bullet mass of 34/35g.
The Browning_jap (synced) has 500 rounds firing at 10.8/second, MaxDeltaAngle of 0.229, velocity of 870m/s, bullet mass of 48.5g.
The Browning ball round is heavier AND faster and so hits harder, but fires at a slower rate and suffers nearly double the dispersion.
The Ho103 and the Browning50_jap has one explosive shell out of two and one out of four, respectively. (The Bowning50 has two incendiary rounds out of four.)
Ho103:
public class MGunHo103s extends MGunAircraftGeneric
{
public MGunHo103s()
{
}
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.mgun_13_800";
gunproperties.customSound = "weapon.mgun_ho103";
gunproperties.emitColor = new Color3f(0.6F, 0.4F, 0.2F);
gunproperties.emitI = 5.1F; //was 10F;
gunproperties.emitR = 3F;
gunproperties.emitTime = 0.03F;
gunproperties.aimMinDist = 10F;
gunproperties.aimMaxDist = 3000F;
gunproperties.weaponType = 3;
gunproperties.maxDeltaAngle = 0.12F;
gunproperties.shotFreq = 14.66667F;
gunproperties.traceFreq = 4;
gunproperties.bullets = 350;
gunproperties.bulletsCluster = 1;
gunproperties.bullet = (new BulletProperties[] {
new BulletProperties(), new BulletProperties()
});
gunproperties.bullet[0].massa = 0.035F;
gunproperties.bullet[0].kalibr = 0.00012675F;
gunproperties.bullet[0].speed = 710F;
gunproperties.bullet[0].power = 0.00074F;
gunproperties.bullet[0].powerType = 0;
gunproperties.bullet[0].powerRadius = 0.15F;
gunproperties.bullet[0].traceMesh = "3do/effects/tracers/20mmYellow/mono.sim";
gunproperties.bullet[0].traceTrail = "effects/Smokes/SmokeBlack_BuletteTrail.eff";
gunproperties.bullet[0].traceColor = 0x8c04fffd; //was ; //was 0xd200ffff;
gunproperties.bullet[0].timeLife = 6.1F; //3F;
gunproperties.bullet[1].massa = 0.034F;
gunproperties.bullet[1].kalibr = 0.00012675F;
gunproperties.bullet[1].speed = 750F;
gunproperties.bullet[1].power = 0.0F;
gunproperties.bullet[1].powerType = 0;
gunproperties.bullet[1].powerRadius = 0.0F;
gunproperties.bullet[1].traceMesh = "3do/effects/tracers/20mmYellow/mono.sim";
gunproperties.bullet[1].traceTrail = "effects/Smokes/SmokeBlack_BuletteTrail.eff";
gunproperties.bullet[1].traceColor = 0x8c04fffd; //was ; //was 0xd200ffff;
gunproperties.bullet[1].timeLife = 6.1F; //3F;
return gunproperties;
}
}
Browning50_jap (extends Browning50, class included at bottom):
public class MGunBrowning50s_jap extends MGunBrowning50s
{
public MGunBrowning50s_jap()
{
}
public GunProperties createProperties()
{
GunProperties gunproperties = super.createProperties();
gunproperties.bullet = (new BulletProperties[] {
new BulletProperties(), new BulletProperties(), new BulletProperties(), new BulletProperties()
});
gunproperties.bullet[0].massa = 0.0485F;
gunproperties.bullet[0].kalibr = 0.0001209675F;
gunproperties.bullet[0].speed = 870F;
gunproperties.bullet[0].power = 0.002F;
gunproperties.bullet[0].powerType = 0;
gunproperties.bullet[0].powerRadius = 0.0F;
gunproperties.bullet[0].traceMesh = "3do/effects/tracers/20mmYellow/mono.sim";
gunproperties.bullet[0].traceTrail = "effects/Smokes/SmokeBlack_BuletteTrail2.eff";
gunproperties.bullet[0].traceColor = 0x8c04fffd; //was ; //was 0xf900ffff;
gunproperties.bullet[0].timeLife = 6.5F;
gunproperties.bullet[1].massa = 0.0485F;
gunproperties.bullet[1].kalibr = 0.0001209675F;
gunproperties.bullet[1].speed = 870F;
gunproperties.bullet[1].power = 0.0F;
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.0485F;
gunproperties.bullet[2].kalibr = 0.0001258062F;
gunproperties.bullet[2].speed = 870F;
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.0485F;
gunproperties.bullet[3].kalibr = 0.0001209675F;
gunproperties.bullet[3].speed = 870F;
gunproperties.bullet[3].power = was 0.0F;
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;
}
}
Browning50 (Browning50_jap based on this):
public class MGunBrowning50s extends MGunAircraftGeneric
{
public MGunBrowning50s()
{
}
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.mgun_15_700";
gunproperties.customSound = "weapon.mgun_browning50";
gunproperties.emitColor = new Color3f(0.6F, 0.4F, 0.2F);
gunproperties.emitI = 5.1F; //was 10F;
gunproperties.emitR = 3F;
gunproperties.emitTime = 0.03F;
gunproperties.aimMinDist = 10F;
gunproperties.aimMaxDist = 1000F;
gunproperties.weaponType = -1;
gunproperties.maxDeltaAngle = 0.229F;
gunproperties.shotFreq = 10.83333F;
gunproperties.traceFreq = 4;
gunproperties.bullets = 500;
gunproperties.bulletsCluster = 1;
gunproperties.bullet = (new BulletProperties[] {
new BulletProperties(), new BulletProperties(), new BulletProperties(), new BulletProperties()
});
gunproperties.bullet[0].massa = 0.0485F;
gunproperties.bullet[0].kalibr = 0.0001209675F;
gunproperties.bullet[0].speed = 870F;
gunproperties.bullet[0].power = 0.0022F;
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_BuletteTrail2.eff";
gunproperties.bullet[0].traceColor = 0xf42b20ff; //alpha 244
gunproperties.bullet[0].timeLife = 6.5F;
gunproperties.bullet[1].massa = 0.0485F;
gunproperties.bullet[1].kalibr = 0.0001209675F;
gunproperties.bullet[1].speed = 870F;
gunproperties.bullet[1].power = was 0.0F;
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.0485F;
gunproperties.bullet[2].kalibr = 0.0001258062F;
gunproperties.bullet[2].speed = 870F;
gunproperties.bullet[2].power = 0.0022F;
gunproperties.bullet[2].powerType = 0;
gunproperties.bullet[2].powerRadius = 0.0F;
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.0485F;
gunproperties.bullet[3].kalibr = 0.0001209675F;
gunproperties.bullet[3].speed = 870F;
gunproperties.bullet[3].power = was 0.0F;
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;
}
}