ACE3/addons/ballistics/CfgAmmo.hpp

791 lines
33 KiB
C++
Raw Normal View History

2016-05-30 16:37:03 +00:00
class CfgAmmo {
class BulletCore;
class BulletBase: BulletCore {
timeToLive=6;
};
class ShotgunBase;
class B_12Gauge_Pellets_Submunition: BulletBase { //#00 Buckshot
//vanilla values have been left as comments for reference purposes
caliber = 0.525; //penetration of ~3mm RHA, ~9.6mm metal
//caliber = 1; //too high, ~5.7mm of RHA (380*1*15/1000=5.7), ~18.25 metal
//cost = 1;
//hit = 20;
//simulationStep = 0.0001;
//cartridge = "";
//submunitionAmmo = "B_12Gauge_Pellets_Submunition_Deploy";
submunitionConeType[] = {"poissondisc", 9}; //#00 Buckshot generally has 9 pellets per shell
//submunitionConeType[] = {"poissondisc", 18};
//submunitionConeAngle = 0.8;
//triggerSpeedCoef[] = {0.85, 1};
triggerTime = 0.008; // Shot takes ~5-15 feet to start spreading out and the vanilla triggerTime is too short to allow that
//triggerTime = 0.001;
};
class B_12Gauge_Pellets_Submunition_Deploy: BulletBase {
airFriction = -0.0030;
//airFriction = -0.0067;
caliber = 0.525;
hit = 2.55; //vanilla hit is way too high
//hit = 6;
//indirectHit = 0;
//indirectHitRange = 0;
//typicalSpeed = 360;
//deflecting = 35;
};
class B_12Gauge_Pellets: ShotgunBase { //This doesn't seem to be used for anything, but I want to standardize the caliber with the other pellet classes.
caliber = 0.525; //3mm RHA, probably still too high though as RHA is hardened.
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.5;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 9};
submunitionConeAngle = 0.81;
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0033;
caliber = 0.5;
hit = 2.27;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.475;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 11};
submunitionConeAngle = 0.83;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0038;
caliber = 0.475;
hit = 1.86;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.45;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 14};
submunitionConeAngle = 0.85;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0048;
caliber = 0.45;
hit = 1.46;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.425;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 18};
submunitionConeAngle = 0.87;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0067;
caliber = 0.425;
hit = 1.13;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.4;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 21};
submunitionConeAngle = 0.89;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0085;
caliber = 0.4;
hit = 0.97;
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird: B_12Gauge_Pellets_Submunition {
caliber = 0.2;
hit = 3;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy";
submunitionConeType[] = {"poissondisc", 135};
submunitionConeAngle = 1.1;
triggerSpeedCoef[] = {0.8, 1};
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
caliber = 0.2;
airFriction = -0.0800;
hit = 0.15;
};
class B_12Gauge_Slug: BulletBase {
//caliber = 3; //too high, ~20mm of RHA (450*3*15/1000=20), ~64mm metal
caliber = 1.037; //~7mm RHA, ~22.4mm metal, probably still too high though as RHA is hardened.
};
class B_556x45_Ball: BulletBase {
airFriction=-0.00130094;
2016-05-30 16:37:03 +00:00
tracerScale = 1;
tracerStartTime=0.073; // M856 tracer burns out to 800m
tracerEndTime=1.57123; // Time in seconds calculated with ballistics calculator
ACE_caliber=5.69;
ACE_bulletLength=23.012;
ACE_bulletMass=4.0176;
ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75};
ACE_ballisticCoefficients[]={0.151};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=7;
ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900};
ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6};
};
class B_556x45_dual: B_556x45_Ball {
airFriction = -0.00055;
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_muzzleVelocities[] = {268}; // at 21°C, at 15°C 267 m/s according with the 20Rnd_556x45_UW_mag initSpeed
ACE_barrelLengths[] = {457.2}; // according with the SDAR barrel length: https://en.wikipedia.org/wiki/Kel-Tec_RFB
};
class ACE_556x45_Ball_Mk262: B_556x45_Ball {
airFriction=-0.00111805;
2016-05-30 16:37:03 +00:00
ACE_caliber=5.69;
ACE_bulletLength=23.012;
ACE_bulletMass=4.9896;
ACE_muzzleVelocityVariationSD=0.4;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.361};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={624, 816, 832, 838};
ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0};
};
class ACE_556x45_Ball_Mk318: B_556x45_Ball {
airFriction=-0.0012588;
2016-05-30 16:37:03 +00:00
ACE_caliber=5.69;
ACE_bulletLength=23.012;
ACE_bulletMass=4.0176;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.307};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={780, 886, 950};
ACE_barrelLengths[]={254.0, 393.7, 508.0};
};
class ACE_556x45_Ball_M995_AP: B_556x45_Ball {
airFriction=-0.00126182;
2016-05-30 16:37:03 +00:00
caliber=1.6;
ACE_caliber=5.69;
ACE_bulletLength=23.012;
ACE_bulletMass=4.5359237;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.310};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={820, 865, 880};
ACE_barrelLengths[]={254.0, 368.3, 508.0};
};
class B_556x45_Ball_Tracer_Red;
class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red {
nvgOnly = 1;
};
class B_545x39_Ball_F: BulletBase {
airFriction = -0.001195;
ACE_caliber = 5.6; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/5-45-x-39-en.pdf
ACE_bulletLength = 21.59;
ACE_bulletMass = 3.43;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.168};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {743, 848, 891, 900}; // at 21°C, at 15°C {735, 840, 883, 892} according with the AKS initSpeed
ACE_barrelLengths[] = {210, 314, 415, 508.0}; // respectively {AKS74U / AK105,AK12K / AK74 / default}
2016-05-30 16:37:03 +00:00
};
class B_580x42_Ball_F: BulletBase { // DBP87
airFriction = -0.00121087;
ACE_caliber = 6;
ACE_bulletLength = 24;
ACE_bulletMass = 4.15;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.156};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {790, 930, 950};
ACE_barrelLengths[] = {369.0, 463.0, 600.0};
};
class ACE_580x42_DBP88_Ball: B_580x42_Ball_F { // DBP88 https://en.wikipedia.org/wiki/5.8%C3%9742mm
airFriction = -0.000968;
typicalSpeed = 895;
ACE_bulletLength = 28; // https://files.osgnetworks.tv/2/files/2017/11/DBP87-Specs2.jpg
ACE_bulletMass = 5;
ACE_ballisticCoefficients[] = {0.21};
ACE_muzzleVelocities[] = {903}; // at 21°C, at 15°C 895 m/s according with the ACE_10Rnd_580x42_DBP88_Mag initSpeep
ACE_barrelLengths[] = {640};
};
class B_65x39_Caseless: BulletBase {
airFriction=-0.00077363;
2016-05-30 16:37:03 +00:00
tracerScale = 1.1; //1.0;
ACE_caliber=6.706;
ACE_bulletLength=32.893;
ACE_bulletMass=7.9704;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.263};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830};
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0};
};
class B_65x39_Case_yellow;
class ACE_65x39_Caseless_Tracer_Dim: B_65x39_Case_yellow {
2016-05-30 16:37:03 +00:00
nvgOnly = 1;
};
class B_65x39_Caseless_green;
class ACE_65x39_Caseless_green_Tracer_Dim: B_65x39_Caseless_green {
2016-05-30 16:37:03 +00:00
nvgOnly = 1;
};
class ACE_65x47_Ball_Scenar: B_65x39_Caseless {
airFriction=-0.00069003;
2016-05-30 16:37:03 +00:00
caliber=0.9;
ACE_caliber=6.706;
ACE_bulletLength=34.646;
ACE_bulletMass=9.0072;
ACE_muzzleVelocityVariationSD=0.35;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.290};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={730, 760, 790, 820, 830};
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class ACE_65_Creedmor_Ball: B_65x39_Caseless {
airFriction=-0.00062437;
2016-05-30 16:37:03 +00:00
caliber=1.1;
ACE_caliber=6.706;
ACE_bulletLength=36.22;
ACE_bulletMass=9.072;
ACE_muzzleVelocityVariationSD=0.3;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.317};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={750, 820, 840, 852, 860};
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class SubmunitionBullet;
class B_65x39_Minigun_Caseless: SubmunitionBullet {
tracerScale = 1.1; //1.0;
};
class B_762x51_Ball: BulletBase {
airFriction=-0.00103711;
2016-05-30 16:37:03 +00:00
tracerScale = 1.2; //0.6;
tracerStartTime=0.073; // Based on the British L5A1 which burns out to 1000m
tracerEndTime=2.15957; // Time in seconds calculated with ballistics calculator
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.2};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={700, 800, 820, 833, 845};
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class B_762x51_Tracer_Yellow;
class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow {
nvgOnly = 1;
};
class ACE_762x51_Ball_M118LR: B_762x51_Ball {
airFriction=-0.00085157;
2016-05-30 16:37:03 +00:00
caliber=1.8;
hit=16;
typicalSpeed=790;
ACE_caliber=7.823;
ACE_bulletLength=31.496;
ACE_bulletMass=11.34;
ACE_muzzleVelocityVariationSD=0.4;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.243};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={750, 780, 790, 794};
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class ACE_762x51_Ball_Mk316_Mod_0: B_762x51_Ball {
airFriction=-0.00084311;
2016-05-30 16:37:03 +00:00
caliber=1.8;
hit=16;
typicalSpeed=790;
ACE_caliber=7.823;
ACE_bulletLength=31.496;
ACE_bulletMass=11.34;
ACE_muzzleVelocityVariationSD=0.45;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2};
ACE_ballisticCoefficients[]={0.243};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={775, 790, 805, 810};
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class ACE_762x51_Ball_Mk319_Mod_0: B_762x51_Ball {
airFriction=-0.00104515;
2016-05-30 16:37:03 +00:00
caliber=1.5;
hit=14;
typicalSpeed=900;
ACE_caliber=7.823;
ACE_bulletLength=31.496;
ACE_bulletMass=8.424;
ACE_muzzleVelocityVariationSD=0.45;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.377};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={838, 892, 910};
ACE_barrelLengths[]={330.2, 406.4, 508.0};
};
class ACE_762x51_Ball_M993_AP: B_762x51_Ball {
airFriction=-0.0010939;
2016-05-30 16:37:03 +00:00
caliber=2.2;
hit=11;
typicalSpeed=910;
ACE_caliber=7.823;
ACE_bulletLength=31.496;
ACE_bulletMass=8.22946157;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.359};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={875, 910, 930};
ACE_barrelLengths[]={330.2, 406.4, 508.0};
};
class ACE_762x51_Ball_Subsonic: B_762x51_Ball {
2021-10-24 17:46:17 +00:00
airFriction = -0.00060194;
caliber = 1;
hit = 6;
typicalSpeed = 320;
visibleFire = 1; // B_762x51_Ball: 3
audibleFire = 5; // B_762x51_Ball: 45
dangerRadiusBulletClose = 4; // B_762x51_Ball: 8
suppressionRadiusBulletClose = 2; // B_762x51_Ball: 6
ACE_caliber = 7.823;
ACE_bulletLength = 34.036;
ACE_bulletMass = 12.96;
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[] = {0.235};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {305, 325, 335, 340};
ACE_barrelLengths[] = {406.4, 508.0, 609.6, 660.4};
class CamShakeExplode {
power = 2.2360699; // B_762x51_Ball: 2.8284299
duration = 0.4; // B_762x51_Ball: 0.6
frequency = 20; // B_762x51_Ball: 20
distance = 6.7082; // B_762x51_Ball: 8.48528
};
2016-05-30 16:37:03 +00:00
};
class ACE_762x67_Ball_Mk248_Mod_0: B_762x51_Ball {
airFriction=-0.00072468;
2016-05-30 16:37:03 +00:00
caliber=1.8;
hit=17;
typicalSpeed=900;
ACE_caliber=7.823;
ACE_bulletLength=34.366;
ACE_bulletMass=12.312;
ACE_muzzleVelocityVariationSD=0.45;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2};
ACE_ballisticCoefficients[]={0.268};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={865, 900, 924};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_762x67_Ball_Mk248_Mod_1: B_762x51_Ball {
airFriction=-0.00063027;
2016-05-30 16:37:03 +00:00
caliber=1.9;
hit=18;
typicalSpeed=867;
ACE_caliber=7.823;
ACE_bulletLength=37.821;
ACE_bulletMass=14.256;
ACE_muzzleVelocityVariationSD=0.45;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2};
ACE_ballisticCoefficients[]={0.310};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={847, 867, 877};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_762x67_Ball_Berger_Hybrid_OTM: B_762x51_Ball {
airFriction=-0.000546;
2016-05-30 16:37:03 +00:00
caliber=2.0;
hit=19;
typicalSpeed=853;
ACE_caliber=7.823;
ACE_bulletLength=40.691;
ACE_bulletMass=14.904;
ACE_muzzleVelocityVariationSD=0.35;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.368};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={800, 853, 884};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class B_762x54_Ball: B_762x51_Ball {
airFriction=-0.00101071;
typicalSpeed=835;
2016-05-30 16:37:03 +00:00
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.8496;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.4};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={760, 795, 835, 865};
ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6};
2016-05-30 16:37:03 +00:00
};
class B_762x54_Tracer_Green;
class ACE_762x54_Ball_7T2: B_762x54_Tracer_Green {
airFriction=-0.00103739;
2016-05-30 16:37:03 +00:00
typicalSpeed=800;
tracerStartTime=0.073; // Based on the 7T2 which burns three seconds
tracerEndTime=3;
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.6552;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.395};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={735, 770, 809, 838};
ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6};
2016-05-30 16:37:03 +00:00
};
class B_762x39_Ball_F: BulletBase {
airFriction = -0.001548;
ACE_caliber = 7.92; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/7-62-x-39-en.pdf
ACE_bulletLength = 28.956;
ACE_bulletMass = 7.97;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.275};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 1;
ACE_muzzleVelocities[] = {658, 678, 723, 743, 753}; // at 21°C, at 15°C {650, 670, 715, 735, 745} according with the AKM,AK12,AK12U,RPK initSpeed
ACE_barrelLengths[] = {254, 314, 415, 520, 590}; // respectively {default / AK104,AK15K / AK47,AKM,AK103,AK15 / SKS / RPK}
2016-05-30 16:37:03 +00:00
};
class B_9x21_Ball: BulletBase {
airFriction=-0.00211064;
2016-05-30 16:37:03 +00:00
tracerScale = 0.5;
ACE_caliber=9.042;
ACE_bulletLength=15.494;
ACE_bulletMass=7.452;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.17};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={380, 390, 420, 435};
ACE_barrelLengths[]={93.5, 101.6, 127.0, 228.6};
2016-05-30 16:37:03 +00:00
};
class B_9x21_Ball_Tracer_Green: B_9x21_Ball {
tracerScale = 0.5;
};
class ACE_9x19_Ball: B_9x21_Ball {
airFriction=-0.00201185;
2016-05-30 16:37:03 +00:00
ACE_caliber=9.017;
ACE_bulletLength=15.494;
ACE_bulletMass=8.0352;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.165};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={340, 370, 400};
ACE_barrelLengths[]={101.6, 127.0, 228.6};
};
class B_93x64_Ball: BulletBase {
airFriction = -0.000808; // According with the G1 BC 0.515 and the SVDK muzzle velocity 780 m/s https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=3
ACE_caliber = 9.28; // https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=3
ACE_bulletLength = 35.56; // Average length from bullets with similar mass and BC
ACE_bulletMass = 17; // https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=3
ACE_muzzleVelocityVariationSD = 0.4;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.515}; // Compromise as close as possible to these velocities and times of flight from this table (unknown measurement conditions) https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=5
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO"; // Better result with ICAO (15°C, 1013,25 hPa, 0%) than ASM conditions (15°C, 999,916 hPa, 78%)
ACE_dragModel = 1; // Better result than an equivalent G7 BC
ACE_muzzleVelocities[] = {768, 788, 798}; // Default values - 82 m/s at 21°C, at 15°C {760, 780, 790} according with the 10Rnd_93x64_DMR_05_Mag and the 150Rnd_93x64_Mag initSpeed
ACE_barrelLengths[] = {508.0, 620.0, 660.4};
2016-05-30 16:37:03 +00:00
};
class B_408_Ball: BulletBase {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00046249;
tracerScale = 1.3;
2016-05-30 16:37:03 +00:00
ACE_caliber=10.363;
ACE_bulletLength=55.1942;
ACE_bulletMass=27.1507; // 419 gr
2016-05-30 16:37:03 +00:00
ACE_transonicStabilityCoef=1;
ACE_muzzleVelocityVariationSD=0.2;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.434};
2016-05-30 16:37:03 +00:00
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={867};
ACE_barrelLengths[]={736.6};
};
class ACE_408_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00065414;
typicalSpeed=1067;
tracerScale = 1.3;
ACE_caliber=10.363;
ACE_bulletLength=41.4528;
ACE_bulletMass=19.7637; // 305 gr
ACE_transonicStabilityCoef=1;
ACE_muzzleVelocityVariationSD=0.2;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.279};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={1067};
2016-05-30 16:37:03 +00:00
ACE_barrelLengths[]={736.6};
};
class B_338_Ball: BulletBase {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00060841;
2016-05-30 16:37:03 +00:00
ACE_caliber=8.585;
ACE_bulletLength=39.573;
ACE_bulletMass=16.2;
ACE_muzzleVelocityVariationSD=0.3;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.322};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={880, 915, 925};
ACE_barrelLengths[]={508.0, 660.4, 711.2};
};
class B_338_NM_Ball: BulletBase {
airFriction=-0.00053639;
2016-05-30 16:37:03 +00:00
ACE_caliber=8.585;
ACE_bulletLength=43.18;
ACE_bulletMass=19.44;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.381};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={790, 807, 820};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_338_Ball: B_338_Ball {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00055706;
2016-05-30 16:37:03 +00:00
typicalSpeed=826;
ACE_caliber=8.585;
ACE_bulletLength=44.0182;
2016-05-30 16:37:03 +00:00
ACE_bulletMass=19.44;
ACE_muzzleVelocityVariationSD=0.3;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.368};
2016-05-30 16:37:03 +00:00
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={800, 820, 826, 830};
ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2};
};
class ACE_338_Ball_API526: B_338_Ball {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.0006922;
2016-05-30 16:37:03 +00:00
caliber=2.8;
typicalSpeed=895;
ACE_caliber=8.585;
ACE_bulletLength=38.989;
ACE_bulletMass=16.3941242;
ACE_muzzleVelocityVariationSD=0.4;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.290};
2016-05-30 16:37:03 +00:00
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={880, 895, 900};
2016-11-02 13:27:26 +00:00
ACE_barrelLengths[]={508.0, 685.8, 711.2};
Add Vehicle Damage (ACE2 port) & Enhance Cook-Off (#7565) * Initital port of ACE2 Vehicle Damage * Add fire damage and burning people * Migrate vehicle damge stuff from cookoff. Change cookoff function to enhance effect. * Minor tweaks * Add incendiary values to all applicable ammunition. Add engine fire/smoke if hit enough * Handle car damage more elegantly. * Added ability to create fire sources arbitrarily * tweaks * Add chance to detonate after cookoff * disable compile cache * Move blown-off turret config to vehicle damage. Add settings inititalized EH for initializing off settings * tabs->spaces * Various code improvements * Change to count loop for deleting effects * update addon requirements * remove vanilla config requirements * Add RHS compatability * RHS compat. Various QOL fixes/changes * Various tweaks to compats and code. * High-Explosive damage tweak * Change how penetration is calculated for parts * Fix RHS compat * Create setting for flare effect * increase burning scream sounds * swap out file name for snake_case * move incendiary values out of vehicle damage. remove medical dependency * vehicle_dammage - update all refs to snake * sqf fixes * fix fire string package caps * fix pboprefix * Default setting to on * Add variables to enable/disable ring fire to avoid goofy looking vehicles. Enhance how particles are cleaned up. Remove advanced penetration simulation. Change how fire intensity is calculated. Add setting to "disable" vehicle after cookoff * Fix bug where event handler wasn't giving the damage last. * change to snake * fix build errors * Fix UBC * Fix Order of Operations * avoid O^2 events * Make sure that no damage processing happens on dead units * Change some if statements * Keep track of player's death to stop various things * add quotes to right middle wheen * Add VD documentation * fire docs * Code quality fixes * Clarify documentation * define IDD * switch global -> server * Add newline between header and first code statement * stop the dead from suffering Its hard to tell when a unit is dead or in spectator, so check the config of the unit to determine it. * Add settings to disable cook-off effects * Delete effects if vehicle is deleted before cookoff occurs. Don't cookoff player ammo. Throw weapon better * Move fire into own PR * fix tabs and macro * Shuffle crew indices so that a random person is first on the list to be injured each time * fix effects not clearing Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2021-10-14 15:49:27 +00:00
EGVAR(vehicle_damage,incendiary) = 1.0;
2016-05-30 16:37:03 +00:00
};
class B_127x33_Ball: BulletBase {
tracerScale = 1.3; //1.2;
};
class B_127x54_Ball: BulletBase {
airFriction=-0.00019568;
2016-05-30 16:37:03 +00:00
tracerScale = 1.3;//
ACE_caliber=12.954;
ACE_bulletLength=64.516;
ACE_bulletMass=48.6;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={1.050};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={300};
ACE_barrelLengths[]={436.88};
};
class B_127x99_Ball: BulletBase {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00058679;
2016-05-30 16:37:03 +00:00
tracerScale = 1.3; //1.2;
ACE_caliber=12.954;
ACE_bulletLength=58.674;
ACE_bulletMass=41.9256;
ACE_muzzleVelocityVariationSD=0.35;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.670};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={900};
ACE_barrelLengths[]={736.6};
};
class ACE_127x99_API: B_127x99_Ball {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00058679;
2016-05-30 16:37:03 +00:00
tracerScale = 1.3;//
hit=25;
caliber=4.0;
ACE_caliber=12.954;
ACE_bulletLength=58.674;
ACE_bulletMass=41.9904;
ACE_muzzleVelocityVariationSD=0.4;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.670};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={900};
ACE_barrelLengths[]={736.6};
Add Vehicle Damage (ACE2 port) & Enhance Cook-Off (#7565) * Initital port of ACE2 Vehicle Damage * Add fire damage and burning people * Migrate vehicle damge stuff from cookoff. Change cookoff function to enhance effect. * Minor tweaks * Add incendiary values to all applicable ammunition. Add engine fire/smoke if hit enough * Handle car damage more elegantly. * Added ability to create fire sources arbitrarily * tweaks * Add chance to detonate after cookoff * disable compile cache * Move blown-off turret config to vehicle damage. Add settings inititalized EH for initializing off settings * tabs->spaces * Various code improvements * Change to count loop for deleting effects * update addon requirements * remove vanilla config requirements * Add RHS compatability * RHS compat. Various QOL fixes/changes * Various tweaks to compats and code. * High-Explosive damage tweak * Change how penetration is calculated for parts * Fix RHS compat * Create setting for flare effect * increase burning scream sounds * swap out file name for snake_case * move incendiary values out of vehicle damage. remove medical dependency * vehicle_dammage - update all refs to snake * sqf fixes * fix fire string package caps * fix pboprefix * Default setting to on * Add variables to enable/disable ring fire to avoid goofy looking vehicles. Enhance how particles are cleaned up. Remove advanced penetration simulation. Change how fire intensity is calculated. Add setting to "disable" vehicle after cookoff * Fix bug where event handler wasn't giving the damage last. * change to snake * fix build errors * Fix UBC * Fix Order of Operations * avoid O^2 events * Make sure that no damage processing happens on dead units * Change some if statements * Keep track of player's death to stop various things * add quotes to right middle wheen * Add VD documentation * fire docs * Code quality fixes * Clarify documentation * define IDD * switch global -> server * Add newline between header and first code statement * stop the dead from suffering Its hard to tell when a unit is dead or in spectator, so check the config of the unit to determine it. * Add settings to disable cook-off effects * Delete effects if vehicle is deleted before cookoff occurs. Don't cookoff player ammo. Throw weapon better * Move fire into own PR * fix tabs and macro * Shuffle crew indices so that a random person is first on the list to be injured each time * fix effects not clearing Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2021-10-14 15:49:27 +00:00
EGVAR(vehicle_damage,incendiary) = 1.0;
2016-05-30 16:37:03 +00:00
};
class ACE_127x99_Ball_AMAX: B_127x99_Ball {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00037397;
2016-05-30 16:37:03 +00:00
caliber=3.0;
ACE_caliber=12.954;
ACE_bulletLength=64.516;
ACE_bulletMass=48.6;
ACE_muzzleVelocityVariationSD=0.2;
2016-05-30 16:37:03 +00:00
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={1.050};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={860};
ACE_barrelLengths[]={736.6};
};
class B_127x108_Ball: BulletBase {
2016-05-30 16:37:03 +00:00
timeToLive=10;
airFriction=-0.00065098;
2016-05-30 16:37:03 +00:00
tracerScale = 1.3; //1.5;
ACE_caliber=12.979;
ACE_bulletLength=64.008;
ACE_bulletMass=48.276;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.63};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={820};
ACE_barrelLengths[]={728.98};
};
class B_127x108_APDS: B_127x108_Ball {
typicalSpeed = 820;
airFriction = -0.00065098;
};
class B_45ACP_Ball: BulletBase {
airFriction=-0.00082143;
2016-05-30 16:37:03 +00:00
tracerScale = 0.6;
ACE_caliber=11.481;
ACE_bulletLength=17.272;
ACE_bulletMass=14.904;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.195};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={230, 250, 285};
ACE_barrelLengths[]={101.6, 127.0, 228.6};
};
class B_50BW_Ball_F: BulletBase { // http://www.alexanderarms.com/images/pdfs/beowulf_ballistics.pdf#page=2
airFriction = -0.002098; // According with the G1 BC 0.21 and the muzzle velocity 1800 ft/s: 549 m/s
ACE_caliber = 4.55; // instead 12.7 to match with the .50BW adv. ballistics (twist rate 20") overwritten by the Katiba rifle twist 8" until a BI fix
ACE_bulletLength = 24.13;
ACE_bulletMass = 21.64; // 334 grains
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[] = {0.21};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ASM";
ACE_dragModel = 1;
ACE_muzzleVelocities[] = {550}; // at 21°C, at 15°C 549 m/s according with the 10Rnd_50BW_Mag_F initSpeep
ACE_barrelLengths[] = {304.8}; // 12"
};
class B_570x28_Ball: BulletBase {
ACE_caliber = 5.7; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/tabical-en-page7.pdf
ACE_bulletLength = 21.6; // http://blog.thejustnation.org/2011/04/5-7x28mm-ammo-review/
ACE_bulletMass = 2; // based on the SS190
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[] = {0.084}; // https://www.thefirearmblog.com/blog/2016/10/24/modern-personal-defense-weapon-calibers-4-6x30mm-hk/
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {716, 776}; // at 21°C, 715-775 m/s at 15°C according with the 50Rnd_570x28_SMG_03 initSpeed
ACE_barrelLengths[] = {264, 407};
airFriction = -0.002619; // default BI value -0.001412
};
2016-05-30 16:37:03 +00:00
class B_19mm_HE: BulletBase {
tracerScale = 1;
};
class B_30mm_HE: B_19mm_HE {
tracerScale = 2.5;
};
class B_20mm: BulletBase {
timeToLive=30;
tracerScale = 1.5; //1;
};
class B_25mm: BulletBase {
timeToLive=30;
tracerScale = 2.0; //1;
};
class B_30mm_AP: BulletBase {
timeToLive=30;
tracerScale = 2.5;
};
class B_35mm_AA: BulletBase {
timeToLive=30;
tracerScale = 2.75; //1.85;
};
class ShellBase;
class Sh_120mm_HE: ShellBase {
tracerScale = 3;
};
class Sh_120mm_APFSDS: ShellBase {
tracerScale = 3;
};
class Gatling_30mm_HE_Plane_CAS_01_F: BulletBase {
tracerScale = 2.5;
};
};