diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp index 0da9c7760fa..dd93606d8a5 100644 --- a/addons/aircraft/CfgAmmo.hpp +++ b/addons/aircraft/CfgAmmo.hpp @@ -1,6 +1,6 @@ class CfgAmmo { class BulletBase; - class B_20mm : BulletBase { + class B_20mm: BulletBase { hit = 80; indirectHit = 12; indirectHitRange = 2; //2; @@ -15,8 +15,8 @@ class CfgAmmo { model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; }; - class ACE_20mm_HE : B_20mm {}; - class ACE_20mm_AP : B_20mm { + class ACE_20mm_HE: B_20mm {}; + class ACE_20mm_AP: B_20mm { hit = 50; indirectHit = 12; indirectHitRange = 0.3; //2; @@ -39,15 +39,53 @@ class CfgAmmo { // also adjust tracer, "muh lightshow"; also adjust splash damage radius class Gatling_30mm_HE_Plane_CAS_01_F: BulletBase { - hit = 80; // default: 180 + hit = 70; // default: 180 indirectHit = 12; // default: 4 - indirectHitRange = 3; // default: 3 + indirectHitRange = 4; // default: 3 caliber = 1.4; // default: 5 deflecting = 3; // default: 5 fuseDistance = 3; // default: 10 tracerStartTime = 0.02; // default: 0.1 timeToLive = 40; // default: 6 }; + + // adjust damage and splash damage, AP Rounds + class ACE_Gatling_30mm_AP_Plane_CAS_01_F: Gatling_30mm_HE_Plane_CAS_01_F { + explosive = 0.05; // default: 0.4 + caliber = 5; // default: 5 + deflecting = 8; // default: 5 + hit = 110; // default: 180 + indirectHit = 2.5; // default: 4 + indirectHitRange = 1; // default: 3 + fuseDistance = 0.2; // default: 10 + }; + + // adds submunition logic, enabling multiple rounds per frame + class ACE_Gatling_30mm_Sub_HEI: SubmunitionBullet { + submunitionAmmo = "Gatling_30mm_HE_Plane_CAS_01_F"; + weaponType = "cannon"; + submunitionConeType[] = {"poissondisccenter", 3}; + submunitionConeAngle = 0.056; // in degrees, 0.055 ~= 0.001 mils minute, but present + model = "\A3\Weapons_f\Data\bullettracer\tracer_red.p3d"; + triggerTime = 0.005; + ACE_caliber = 1.4; + }; + + class ACE_Gatling_30mm_Sub_AP: ACE_Gatling_30mm_Sub_HEI { + submunitionAmmo = "ACE_Gatling_30mm_AP_Plane_CAS_01_F"; + ACE_caliber = 1.4; + }; + + class ACE_Gatling_30mm_Sub_CM41: ACE_Gatling_30mm_Sub_HEI { + submunitionAmmo[] = {"ACE_Gatling_30mm_AP_Plane_CAS_01_F",0.8,"Cannon_30mm_HE_Plane_CAS_01_F",0.2}; + ACE_caliber = 1.4; + }; + + class ACE_Gatling_30mm_Sub_CM51: ACE_Gatling_30mm_Sub_HEI { + submunitionAmmo[] = {"ACE_Gatling_30mm_AP_Plane_CAS_01_F",0.83,"Cannon_30mm_HE_Plane_CAS_01_F",0.17}; + ACE_caliber = 1.4; + }; + // adjust damage and splash damage, closer to bluefor gatling with same caliber class Cannon_30mm_HE_Plane_CAS_02_F: Gatling_30mm_HE_Plane_CAS_01_F { diff --git a/addons/aircraft/CfgMagazines.hpp b/addons/aircraft/CfgMagazines.hpp index 19797b53d87..d08a460bb83 100644 --- a/addons/aircraft/CfgMagazines.hpp +++ b/addons/aircraft/CfgMagazines.hpp @@ -2,9 +2,36 @@ class CfgMagazines { // shoot helper object to tripple rof class VehicleMagazine; class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine { + ammo = "ACE_Gatling_30mm_Sub_CM51"; + displayName = CSTRING(GatlingDescriptionCM51); + displayNameShort = CSTRING(GatlingDescriptionShortCM51); count = 1170; }; + class ACE_1000Rnd_Gatling_30mm_Plane_CAS_HEI: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + ammo = "ACE_Gatling_30mm_Sub_HEI"; + displayName = CSTRING(GatlingDescriptionHEI); + displayNameShort = CSTRING(GatlingDescriptionShortHEI); + }; + + class ACE_1000Rnd_Gatling_30mm_Plane_CAS_AP: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + ammo = "ACE_Gatling_30mm_Sub_AP"; + displayName = CSTRING(GatlingDescriptionAP); + displayNameShort = CSTRING(GatlingDescriptionShortAP); + }; + + class ACE_1000Rnd_Gatling_30mm_Plane_CAS_CM41: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + ammo = "ACE_Gatling_30mm_Sub_CM41"; + displayName = CSTRING(GatlingDescriptionCM41); + displayNameShort = CSTRING(GatlingDescriptionShortCM41); + }; + + class ACE_1000Rnd_Gatling_30mm_Plane_CAS_CM51: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + ammo = "ACE_Gatling_30mm_Sub_CM51"; + displayName = CSTRING(GatlingDescriptionCM51); + displayNameShort = CSTRING(GatlingDescriptionShortCM51); + }; + // an extended magazine for the comanche class 300Rnd_20mm_shells; class ACE_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { diff --git a/addons/aircraft/CfgWeapons.hpp b/addons/aircraft/CfgWeapons.hpp index 5543925b5b0..7c1a87e2fc8 100644 --- a/addons/aircraft/CfgWeapons.hpp +++ b/addons/aircraft/CfgWeapons.hpp @@ -2,7 +2,7 @@ class Mode_FullAuto; class CfgWeapons { class RocketPods; - class ACE_AIR_SAFETY : RocketPods { + class ACE_AIR_SAFETY: RocketPods { CanLock = 0; displayName = "SAFE"; displayNameMagazine = "SAFE"; @@ -16,8 +16,21 @@ class CfgWeapons { magazineReloadTime = 0.1; }; - // bigger mag for comanche class CannonCore; + // Fix attrocious A-10 Cannon Dispersion; Add high ROF capability + class Gatling_30mm_Plane_CAS_01_F: CannonCore { + magazines[] += {"ACE_1000Rnd_Gatling_30mm_Plane_CAS_HEI","ACE_1000Rnd_Gatling_30mm_Plane_CAS_AP","ACE_1000Rnd_Gatling_30mm_Plane_CAS_CM41","ACE_1000Rnd_Gatling_30mm_Plane_CAS_CM51"}; + class LowROF: Mode_FullAuto { + multiplier = 3; + burst = 1; + burstRangeMax = 1; + reloadtime = 0.046; + dispersion = 0.0046; //0.279508497 = 0.25 * sqrt(0.8^-1); (80%, 5mil. https://en.wikipedia.org/wiki/GAU-8_Avenger#Accuracy) - Luke + magazines[] = {"1000Rnd_Gatling_30mm_Plane_CAS_01_F", "ACE_1000Rnd_Gatling_30mm_Plane_CAS_CM"}; + + }; + }; + // bigger mag for comanche class gatling_20mm: CannonCore { magazines[] += {"ACE_500Rnd_20mm_shells_Comanche"}; diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 0c523972428..cc8cd469439 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -49,5 +49,29 @@ 關閉貨艙門 关闭货舱门 + + 30mm High-Explosive Incendiary + + + 30mm HEI + + + 30mm DU Armor Piercing + + + 30mm DU AP + + + 30mm Combat Mix 4:1 DU:HEI + + + 30mm CM 4:1 + + + 30mm Combat Mix 5:1 DU:HEI + + + 30mm CM 5:1 +