diff --git a/TO_MERGE/agm/Ballistics/config.cpp b/TO_MERGE/agm/Ballistics/config.cpp deleted file mode 100644 index d8bc4bad83..0000000000 --- a/TO_MERGE/agm/Ballistics/config.cpp +++ /dev/null @@ -1,1336 +0,0 @@ -// NEW CLASSES -/* - -// CFGWeapons - -AGM_muzzle_mzls_H -AGM_muzzle_mzls_B -AGM_muzzle_mzls_L -AGM_muzzle_mzls_smg_01 -AGM_muzzle_mzls_smg_02 - - -// CFGAmmo - -AGM_B_65x39_Caseless_Tracer_Dim -AGM_B_65x39_Caseless_SD -AGM_B_65x39_Caseless_AP - -AGM_B_65x39_Case_Tracer_Dim -AGM_B_65x39_Case_SD -AGM_B_65x39_Case_AP - -AGM_B_556x45_Ball_Tracer_Dim -AGM_B_556x45_Ball_SD -AGM_B_556x45_Ball_AP - -AGM_B_762x51_Tracer_Dim -AGM_B_762x51_Ball_SD -AGM_B_762x51_Ball_AP -AGM_B_762x51_M118LR - - -// CFGMagazines - -AGM_30Rnd_65x39_caseless_mag_Tracer_Dim -AGM_30Rnd_65x39_caseless_mag_SD -AGM_30Rnd_65x39_caseless_mag_AP - -AGM_30Rnd_65x39_caseless_green_mag_Tracer_Dim -AGM_30Rnd_65x39_caseless_green_mag_SD -AGM_30Rnd_65x39_caseless_green_mag_AP - -AGM_30Rnd_556x45_Stanag_Tracer_Dim -AGM_30Rnd_556x45_Stanag_SD -AGM_30Rnd_556x45_Stanag_AP - -AGM_20Rnd_762x51_Mag_Tracer -AGM_20Rnd_762x51_Mag_Tracer_Dim -AGM_20Rnd_762x51_Mag_SD -AGM_20Rnd_762x51_Mag_AP -*/ - -class CfgPatches { - class AGM_Ballistics { - units[] = {"AGM_TargetWall"}; - weapons[] = {"AGM_muzzle_mzls_H", "AGM_muzzle_mzls_B", "AGM_muzzle_mzls_L", "AGM_muzzle_mzls_smg_01", "AGM_muzzle_mzls_smg_02"}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"TaoSensai", "commy2"}; - authorUrl = "https://github.com/Taosenai/tmr"; - }; -}; - -// EVERYTHING BELOW BELONGS TO TAOSENSAI - -class CfgAmmo { - class BulletBase; - - - /* 6.5x39mm Grendel */ - - class B_65x39_Caseless : BulletBase { - typicalSpeed = 724; - airFriction = -0.000915; - }; - - // IR Dim - class B_65x39_Caseless_yellow; - class AGM_B_65x39_Caseless_Tracer_Dim : B_65x39_Caseless_yellow { - nvgOnly = 1; - }; - class B_65x39_Case_yellow; - class AGM_B_65x39_Case_Tracer_Dim : B_65x39_Case_yellow { - nvgOnly = 1; - }; - - // sub sonic - class AGM_B_65x39_Caseless_SD : B_65x39_Caseless { - airFriction = -0.00054; - hit = 8.75; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.8; - visibleFire = 2.5; - }; - class B_65x39_Case; - class AGM_B_65x39_Case_SD : B_65x39_Case { - airFriction = -0.00054; - hit = 8.75; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.8; - visibleFire = 2.5; - }; - - // armor piercing - class AGM_B_65x39_Caseless_AP : B_65x39_Caseless { - caliber = 1.8; - hit = 10.5; - }; - class AGM_B_65x39_Case_AP : B_65x39_Case { - caliber = 1.8; - hit = 10.5; - }; - - - /* 5.56x45mm NATO */ - - class B_556x45_Ball : BulletBase { - typicalSpeed = 911; - airFriction = -0.001335; - }; - - // IR Dim - class B_556x45_Ball_Tracer_Red; - class AGM_B_556x45_Ball_Tracer_Dim : B_556x45_Ball_Tracer_Red { - nvgOnly = 1; - }; - - // sub sonic - class AGM_B_556x45_Ball_SD : B_556x45_Ball { - airFriction = -0.0006; - hit = 7; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.6; - visibleFire = 2.0; - }; - - // armor piercing - class AGM_B_556x45_Ball_AP : B_556x45_Ball { - caliber = 1.4; - hit = 8.4; - }; - - - /* 7.62x51mm NATO */ - - class B_762x51_Ball: BulletBase { - typicalSpeed = 853; - //airfriction = - }; - - // IR Dim - class B_762x51_Tracer_Red; - class AGM_B_762x51_Tracer_Dim : B_762x51_Tracer_Red { - nvgOnly = 1; - }; - - // sub sonic - class AGM_B_762x51_Ball_SD : B_762x51_Ball { - airFriction = -0.00048; - hit = 10.5; - supersonicCrackFar[] = {}; - supersonicCrackNear[] = {}; - typicalSpeed = 320; - audibleFire = 0.9; - visibleFire = 3.0; - }; - - // armor piercing - class AGM_B_762x51_Ball_AP : B_762x51_Ball { - caliber = 2.4; - hit = 12.6; - }; - - // M118 LR - class AGM_B_762x51_M118LR : B_762x51_Ball { - typicalspeed = 792; - airfriction = -0.0008577; - }; - - - /* Other */ - - class B_9x21_Ball; - class B_9x19_Ball : B_9x21_Ball { - typicalSpeed = 381; - airfriction = -0.00213; - }; - - class B_45ACP_Ball: BulletBase { - typicalSpeed = 250; - airfriction = -0.0009; - }; -}; - -class CfgMagazines { - class CA_Magazine; - - - /* 6.5x39mm Grendel - MX */ - - class 30Rnd_65x39_caseless_mag : CA_Magazine { - initSpeed = 724; - }; - class 30Rnd_65x39_caseless_mag_Tracer; - class 100Rnd_65x39_caseless_mag : CA_Magazine { - initSpeed = 724; - }; - - class AGM_30Rnd_65x39_caseless_mag_Tracer_Dim : 30Rnd_65x39_caseless_mag_Tracer { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_Tracer_Dim"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_mag_Tracer_DimName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; - }; - class AGM_30Rnd_65x39_caseless_mag_SD : 30Rnd_65x39_caseless_mag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_SD"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_mag_SDName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_mag_SDNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_mag_SDDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_green_CA.paa"; - initSpeed = 320; - }; - class AGM_30Rnd_65x39_caseless_mag_AP : 30Rnd_65x39_caseless_mag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_AP"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_mag_APName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_mag_APNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_mag_APDescription"; - }; - - - /* 6.5x39mm Grendel - Katiba */ - - class 30Rnd_65x39_caseless_green : 30Rnd_65x39_caseless_mag { - initSpeed = 724; - }; - class 30Rnd_65x39_caseless_green_mag_Tracer; - class 200Rnd_65x39_cased_Box : 100Rnd_65x39_caseless_mag { - initSpeed = 691; - }; - - class AGM_30Rnd_65x39_caseless_green_mag_Tracer_Dim : 30Rnd_65x39_caseless_green_mag_Tracer { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_Tracer_Dim"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_green_mag_Tracer_DimName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_Tracer_DimDescription"; - }; - class AGM_30Rnd_65x39_caseless_green_mag_SD : 30Rnd_65x39_caseless_green { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_SD"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_green_mag_SDName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_SDNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_SDDescription"; - initSpeed = 320; - }; - class AGM_30Rnd_65x39_caseless_green_mag_AP : 30Rnd_65x39_caseless_green { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_65x39_Caseless_AP"; - displayName = "$STR_AGM_30Rnd_65x39_caseless_green_mag_APName"; - displayNameShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_APNameShort"; - descriptionShort = "$STR_AGM_30Rnd_65x39_caseless_green_mag_APDescription"; - }; - - - /* 5.56x45mm NATO */ - - class 30Rnd_556x45_Stanag : CA_Magazine { - initSpeed = 911; - }; - class 30Rnd_556x45_Stanag_Tracer_Red; //picture = "\A3\weapons_f\data\ui\m_30stanag_red_ca.paa"; - - class AGM_30Rnd_556x45_Stanag_Tracer_Dim : 30Rnd_556x45_Stanag_Tracer_Red { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_556x45_Ball_Tracer_Dim"; - displayName = "$STR_AGM_30Rnd_556x45_mag_Tracer_DimName"; - displayNameShort = "$STR_AGM_30Rnd_556x45_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_AGM_30Rnd_556x45_mag_Tracer_DimDescription"; - picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; - }; - class AGM_30Rnd_556x45_Stanag_SD : 30Rnd_556x45_Stanag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_556x45_Ball_SD"; - displayName = "$STR_AGM_30Rnd_556x45_mag_SDName"; - displayNameShort = "$STR_AGM_30Rnd_556x45_mag_SDNameShort"; - descriptionShort = "$STR_AGM_30Rnd_556x45_mag_SDDescription"; - initSpeed = 320; - picture = "\A3\weapons_f\data\ui\m_30stanag_green_ca.paa"; - }; - class AGM_30Rnd_556x45_Stanag_AP : 30Rnd_556x45_Stanag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_556x45_Ball_AP"; - displayName = "$STR_AGM_30Rnd_556x45_mag_APName"; - displayNameShort = "$STR_AGM_30Rnd_556x45_mag_APNameShort"; - descriptionShort = "$STR_AGM_30Rnd_556x45_mag_APDescription"; - }; - - - /* 7.62x51mm NATO */ - - class 20Rnd_762x51_Mag: CA_Magazine { - descriptionshort = "$STR_AGM_Ballistics_20Rnd_762x51_Mag_Description"; - initSpeed = 792; // 18" M14 EBR barrel - ammo = "AGM_B_762x51_M118LR"; // Use M118LR - }; - class 150Rnd_762x51_Box : CA_Magazine { - ammo = "B_762x51_Ball"; - initSpeed = 853; // Typical MV for M240 - }; - - class AGM_20Rnd_762x51_Mag_Tracer : 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent - author = "$STR_AGM_Core_AGMTeam"; - ammo = "B_762x51_Tracer_Red"; - displayName = "$STR_AGM_20Rnd_762x51_mag_TracerName"; - displayNameShort = "$STR_AGM_20Rnd_762x51_mag_TracerNameShort"; - descriptionShort = "$STR_AGM_20Rnd_762x51_mag_TracerDescription"; - tracersEvery = 1; - }; - class AGM_20Rnd_762x51_Mag_Tracer_Dim : AGM_20Rnd_762x51_Mag_Tracer { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_762x51_Tracer_Dim"; - displayName = "$STR_AGM_20Rnd_762x51_mag_Tracer_DimName"; - displayNameShort = "$STR_AGM_20Rnd_762x51_mag_Tracer_DimNameShort"; - descriptionShort = "$STR_AGM_20Rnd_762x51_mag_Tracer_DimDescription"; - }; - class AGM_20Rnd_762x51_Mag_SD : 20Rnd_762x51_Mag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_762x51_Ball_SD"; - displayName = "$STR_AGM_20Rnd_762x51_mag_SDName"; - displayNameShort = "$STR_AGM_20Rnd_762x51_mag_SDNameShort"; - descriptionShort = "$STR_AGM_20Rnd_762x51_mag_SDDescription"; - initSpeed = 320; - }; - class AGM_20Rnd_762x51_Mag_AP : 20Rnd_762x51_Mag { - author = "$STR_AGM_Core_AGMTeam"; - ammo = "AGM_B_762x51_Ball_AP"; - displayName = "$STR_AGM_20Rnd_762x51_mag_APName"; - displayNameShort = "$STR_AGM_20Rnd_762x51_mag_APNameShort"; - descriptionShort = "$STR_AGM_20Rnd_762x51_mag_APDescription"; - }; - - - /* Other */ - - class 30Rnd_9x21_Mag : CA_Magazine { - ammo = "B_9x19_Ball"; - initSpeed = 370; - }; - class 16Rnd_9x21_Mag : 30Rnd_9x21_Mag { - ammo = "B_9x19_Ball"; - initSpeed = 381; - }; - class 30Rnd_45ACP_Mag_SMG_01 : 30Rnd_9x21_Mag { - initSpeed = 259; - }; - class 9Rnd_45ACP_Mag : 30Rnd_45ACP_Mag_SMG_01 { - initSpeed = 250; - }; -}; - -class Mode_SemiAuto; -class Mode_FullAuto; -class SlotInfo; -//class MuzzleSlot; - -class CfgWeapons { - class Pistol; - class Pistol_Base_F: Pistol { - class WeaponSlotsInfo; - }; - class Rifle; - class Rifle_Base_F: Rifle { - class WeaponSlotsInfo; - }; - class Rifle_Long_Base_F: Rifle_Base_F { - class WeaponSlotsInfo; - }; - - - /* MX */ - - class arifle_MX_Base_F : Rifle_Base_F { - magazines[] += { - "AGM_30Rnd_65x39_caseless_mag_Tracer_Dim", - "AGM_30Rnd_65x39_caseless_mag_SD", - "AGM_30Rnd_65x39_caseless_mag_AP", - "100Rnd_65x39_caseless_mag", - "100Rnd_65x39_caseless_mag_Tracer" - }; - class Single : Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - class FullAuto : Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_H"}; - }; - }; - }; - class arifle_MX_SW_F : arifle_MX_Base_F { - magazines[] += { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer" - }; - class Single : Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - class manual : FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - // Shit is broken again - //compatibleItems[] += {"AGM_muzzle_mzls_H"}; - compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","AGM_muzzle_mzls_H"}; - }; - }; - }; - class arifle_MXM_F : arifle_MX_Base_F { - magazines[] += { - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer" - }; - class Single : Single { - dispersion = 0.00029; // radians. Equal to 1 MOA. - // 6.5mm is easily capable of this in a half-tuned rifle. - }; - class FullAuto : FullAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - }; - }; - - - /* Katiba */ - - class arifle_katiba_Base_F : Rifle_Base_F { - magazines[] += { - "AGM_30Rnd_65x39_caseless_green_mag_Tracer_Dim", - "AGM_30Rnd_65x39_caseless_green_mag_SD", - "AGM_30Rnd_65x39_caseless_green_mag_AP" - }; - class Single : Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR? - // Use your imagination for fictional weapons! - }; - class FullAuto : Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_H"}; - }; - }; - }; - - - /* Other */ - - class EBR_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_B"}; - }; - }; - }; - class DMR_01_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_B"}; - }; - }; - }; - - class LMG_Mk200_F : Rifle_Long_Base_F { - class manual : Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - class Single : manual { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_H"}; - }; - }; - }; - - class LMG_Zafir_F : Rifle_Long_Base_F { - class FullAuto : Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - class Single : Mode_SemiAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_B"}; - }; - }; - }; - - - /* Assault Rifles */ - - class Tavor_base_F : Rifle_Base_F { - magazines[] += { - "AGM_30Rnd_556x45_Stanag_Tracer_Dim", - "AGM_30Rnd_556x45_Stanag_SD", - "AGM_30Rnd_556x45_Stanag_AP" - }; - class Single : Mode_SemiAuto { - dispersion = 0.000727; // radians. Equal to 2.5 MOA, about the limit of mass-produced M855. - // - }; - class FullAuto : Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_L"}; - }; - }; - }; - - class mk20_base_F : Rifle_Base_F { - magazines[] += { - "AGM_30Rnd_556x45_Stanag_Tracer_Dim", - "AGM_30Rnd_556x45_Stanag_SD", - "AGM_30Rnd_556x45_Stanag_AP" - }; - class Single : Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra for these worn out Greek Army service rifles. - }; - class FullAuto : Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_L"}; - }; - }; - }; - - - /* SMGs */ - - class SDAR_base_F : Rifle_Base_F { - magazines[] += { - "AGM_30Rnd_556x45_Stanag_Tracer_Dim", - "AGM_30Rnd_556x45_Stanag_SD", - "AGM_30Rnd_556x45_Stanag_AP" - }; - class Single : Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra because Kel-Tec. - }; - class FullAuto : Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; - }; - - class pdw2000_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_smg_02"}; - }; - }; - }; - class SMG_01_Base: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_smg_01"}; - }; - }; - }; - class SMG_02_base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_smg_02"}; - }; - }; - }; - - - /* Pistols */ - - class hgun_P07_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"AGM_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_Rook40_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"AGM_muzzle_mzls_smg_02"}; - }; - }; - }; - - class hgun_ACPC2_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_smg_01"}; - }; - }; - }; - - class hgun_Pistol_heavy_01_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo { - compatibleItems[] += {"AGM_muzzle_mzls_smg_01"}; - }; - }; - }; - - /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot { - linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; - compatibleItems[] += {"AGM_muzzle_mzls_smg_01"}; - }; - }; - };*/ - - - /* Silencers */ - - class ItemCore; - class InventoryMuzzleItem_Base_F; - - class muzzle_snds_H: ItemCore { - class ItemInfo: InventoryMuzzleItem_Base_F { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_L: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_M: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_B: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_H_MG: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_H_SW: muzzle_snds_H_MG { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - class muzzle_snds_acp: muzzle_snds_H { - class ItemInfo: ItemInfo { - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 0.9; - visibleFire = 0.5; - audibleFire = 0.1; - visibleFireTime = 0.5; - audibleFireTime = 0.5; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.8f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - }; - - // Flash suppressors - class AGM_muzzle_mzls_H: ItemCore { - author = "$STR_AGM_Core_AGMTeam"; - _generalMacro = "AGM_muzzle_mzls_H"; - htMin = 1; - htMax = 600; - afMax = 0; - mfMax = 0; - mFact = 1; - tBody = 100; - scope = 2; - displayName = "$STR_AGM_muzzle_mzls_H"; - picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; - model = "\A3\weapons_f\acc\acca_mzls_H_F"; - - class ItemInfo: InventoryMuzzleItem_Base_F { - mass = 8; - soundTypeIndex = 0; - muzzleEnd = "zaslehPoint"; - alternativeFire = "Zasleh2"; - - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 1.0; - visibleFire = 0.5; - audibleFire = 1.0; - visibleFireTime = 0.5; - audibleFireTime = 1.0; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.9f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - inertia = 0.2; - }; - - class AGM_muzzle_mzls_B: AGM_muzzle_mzls_H { - author = "$STR_AGM_Core_AGMTeam"; - _generalMacro = "AGM_muzzle_mzls_B"; - displayName = "$STR_AGM_muzzle_mzls_B"; - picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; - model = "\A3\weapons_f\acc\acca_mzls_H_F"; - - class ItemInfo: ItemInfo { - mass = 6; - soundTypeIndex = 0; - muzzleEnd = "zaslehPoint"; - alternativeFire = "Zasleh2"; - - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 1.0; - visibleFire = 0.5; - audibleFire = 1.0; - visibleFireTime = 0.5; - audibleFireTime = 1.0; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.9f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - inertia = 0.2; - }; - - class AGM_muzzle_mzls_L: AGM_muzzle_mzls_H { - author = "$STR_AGM_Core_AGMTeam"; - _generalMacro = "AGM_muzzle_mzls_L"; - displayName = "$STR_AGM_muzzle_mzls_L"; - picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; - model = "\A3\weapons_f\acc\acca_mzls_l_F"; - - class ItemInfo: ItemInfo { - mass = 6; - soundTypeIndex = 0; - muzzleEnd = "zaslehPoint"; - alternativeFire = "Zasleh2"; - - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 1.0; - visibleFire = 0.5; - audibleFire = 1.0; - visibleFireTime = 0.5; - audibleFireTime = 1.0; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.9f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - inertia = 0.1; - }; - - class AGM_muzzle_mzls_smg_01: AGM_muzzle_mzls_H { - author = "$STR_AGM_Core_AGMTeam"; - _generalMacro = "AGM_muzzle_mzls_smg_01"; - displayName = "$STR_AGM_muzzle_mzls_smg_01"; - picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; - model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F"; - - class ItemInfo: ItemInfo { - mass = 6; - soundTypeIndex = 0; - muzzleEnd = "zaslehPoint"; - alternativeFire = "Zasleh2"; - - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 1.0; - visibleFire = 0.5; - audibleFire = 1.0; - visibleFireTime = 0.5; - audibleFireTime = 1.0; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.9f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - inertia = 0.1; - }; - - class AGM_muzzle_mzls_smg_02: AGM_muzzle_mzls_H { - author = "$STR_AGM_Core_AGMTeam"; - _generalMacro = "AGM_muzzle_mzls_smg_02"; - displayName = "$STR_AGM_muzzle_mzls_smg_02"; - picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; - model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F"; - - class ItemInfo: ItemInfo { - mass = 6; - soundTypeIndex = 0; - muzzleEnd = "zaslehPoint"; - alternativeFire = "Zasleh2"; - - class MagazineCoef { - initSpeed = 1.0; - }; - - class AmmoCoef { - hit = 1.0; - visibleFire = 0.5; - audibleFire = 1.0; - visibleFireTime = 0.5; - audibleFireTime = 1.0; - cost = 1.0; - typicalSpeed = 1.0; - airFriction = 1.0; - }; - - class MuzzleCoef { - dispersionCoef = "0.9f"; - artilleryDispersionCoef = "1.0f"; - fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; - minRangeCoef = "1.0f"; - minRangeProbabCoef = "1.0f"; - midRangeCoef = "1.0f"; - midRangeProbabCoef = "1.0f"; - maxRangeCoef = "1.0f"; - maxRangeProbabCoef = "1.0f"; - }; - }; - inertia = 0.1; - }; - - /* Vests */ - - #include -}; - -#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \ - magazine = #MAGAZINE; \ - count = COUNT; \ -}; - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - -class CfgVehicles { - #include - #include - - class NATO_Box_Base; - class EAST_Box_Base; - class IND_Box_Base; - class FIA_Box_Base_F; - class ReammoBox_F; - - class Box_NATO_Wps_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_AP,2) - }; - }; - - class Box_NATO_WpsSpecial_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_Tracer_Dim,1) - }; - }; - - class Box_NATO_Ammo_F: NATO_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_SD,2) - }; - }; - - class Box_NATO_Support_F: NATO_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_muzzle_mzls_H,5) - MACRO_ADDITEM(AGM_muzzle_mzls_B,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_01,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_02,5) - }; - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_SD,6) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,3) - }; - }; - - class B_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_SD,2) - }; - }; - - class Box_East_Wps_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_AP,2) - }; - }; - - class Box_East_WpsSpecial_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_Tracer_Dim,1) - }; - }; - - class Box_East_Ammo_F: EAST_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_SD,2) - }; - }; - - class Box_East_Support_F: EAST_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_muzzle_mzls_H,5) - MACRO_ADDITEM(AGM_muzzle_mzls_B,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_01,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_02,5) - }; - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_SD,6) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,3) - }; - }; - - class O_supplyCrate_F: B_supplyCrate_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_SD,2) - }; - }; - - class Box_IND_Wps_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - }; - }; - - class Box_IND_WpsSpecial_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_Tracer_Dim,2) - }; - }; - - class Box_IND_Ammo_F: IND_Box_Base { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,2) - }; - }; - - class Box_IND_Support_F: IND_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_muzzle_mzls_H,1) - MACRO_ADDITEM(AGM_muzzle_mzls_B,5) - MACRO_ADDITEM(AGM_muzzle_mzls_L,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_01,5) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_02,5) - }; - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,6) - }; - }; - - class Box_FIA_Wps_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - }; - }; - - class Box_FIA_Ammo_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,2) - }; - }; - - class Box_FIA_Support_F: FIA_Box_Base_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,6) - }; - }; - - class I_supplyCrate_F: B_supplyCrate_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,2) - }; - }; - - class IG_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,2) - }; - }; - - class C_supplyCrate_F: ReammoBox_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_SD,2) - }; - }; - - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportMagazines { - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_SD,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_SD,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_65x39_caseless_green_mag_AP,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_SD,2) - MACRO_ADDMAGAZINE(AGM_30Rnd_556x45_Stanag_AP,2) - /*MACRO_ADDMAGAZINE(AGM_20Rnd_762x51_Mag_Tracer,2) - MACRO_ADDMAGAZINE(AGM_20Rnd_762x51_Mag_Tracer_Dim,2) - MACRO_ADDMAGAZINE(AGM_20Rnd_762x51_Mag_SD,2) - MACRO_ADDMAGAZINE(AGM_20Rnd_762x51_Mag_AP,2)*/ - }; - class TransportItems { - MACRO_ADDITEM(AGM_muzzle_mzls_H,2) - MACRO_ADDITEM(AGM_muzzle_mzls_B,2) - MACRO_ADDITEM(AGM_muzzle_mzls_L,2) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_01,2) - MACRO_ADDITEM(AGM_muzzle_mzls_smg_02,2) - }; - }; - - class Sign_F; - class AGM_TargetWall: Sign_F { - author = "$STR_AGM_Core_AGMTeam"; - class Eventhandlers { - init = "_this call compile preprocessFileLineNumbers '\AGM_Ballistics\scripts\initTargetWall.sqf'"; - //hitPart = "systemChat str _this"; - }; - }; -}; - -/* -MACRO_ADDITEM(AGM_muzzle_mzls_H,2) -MACRO_ADDITEM(AGM_muzzle_mzls_B,2) -MACRO_ADDITEM(AGM_muzzle_mzls_L,2) -MACRO_ADDITEM(AGM_muzzle_mzls_smg_01,2) -MACRO_ADDITEM(AGM_muzzle_mzls_smg_02,2) -*/ diff --git a/addons/ballistics/$PBOPREFIX$ b/addons/ballistics/$PBOPREFIX$ new file mode 100644 index 0000000000..39789fcaba --- /dev/null +++ b/addons/ballistics/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\blank \ No newline at end of file diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp new file mode 100644 index 0000000000..4e2aa6cb9e --- /dev/null +++ b/addons/ballistics/CfgAmmo.hpp @@ -0,0 +1,137 @@ + +class CfgAmmo { + + /* 6.5x39mm Grendel */ + + class BulletBase; + class B_65x39_Caseless: BulletBase { + typicalSpeed = 724; + airFriction = -0.000915; + }; + + // IR Dim + class B_65x39_Caseless_yellow; + class ACE_B_65x39_Caseless_Tracer_Dim: B_65x39_Caseless_yellow { + nvgOnly = 1; + }; + + class B_65x39_Case_yellow; + class ACE_B_65x39_Case_Tracer_Dim: B_65x39_Case_yellow { + nvgOnly = 1; + }; + + // sub sonic + class ACE_B_65x39_Caseless_SD: B_65x39_Caseless { + airFriction = -0.00054; + hit = 8.75; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 0.8; + visibleFire = 2.5; + }; + + class B_65x39_Case; + class ACE_B_65x39_Case_SD: B_65x39_Case { + airFriction = -0.00054; + hit = 8.75; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 0.8; + visibleFire = 2.5; + }; + + // armor piercing + class ACE_B_65x39_Caseless_AP: B_65x39_Caseless { + caliber = 1.8; + hit = 10.5; + }; + + class ACE_B_65x39_Case_AP: B_65x39_Case { + caliber = 1.8; + hit = 10.5; + }; + + + /* 5.56x45mm NATO */ + + class B_556x45_Ball: BulletBase { + typicalSpeed = 911; + airFriction = -0.001335; + }; + + // IR Dim + class B_556x45_Ball_Tracer_Red; + class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { + nvgOnly = 1; + }; + + // sub sonic + class ACE_B_556x45_Ball_SD: B_556x45_Ball { + airFriction = -0.0006; + hit = 7; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 0.6; + visibleFire = 2.0; + }; + + // armor piercing + class ACE_B_556x45_Ball_AP: B_556x45_Ball { + caliber = 1.4; + hit = 8.4; + }; + + + /* 7.62x51mm NATO */ + + class B_762x51_Ball: BulletBase { + typicalSpeed = 853; + //airfriction = + }; + + // IR Dim + class B_762x51_Tracer_Red; + class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { + nvgOnly = 1; + }; + + // sub sonic + class ACE_B_762x51_Ball_SD: B_762x51_Ball { + airFriction = -0.00048; + hit = 10.5; + supersonicCrackFar[] = {}; + supersonicCrackNear[] = {}; + typicalSpeed = 320; + audibleFire = 0.9; + visibleFire = 3.0; + }; + + // armor piercing + class ACE_B_762x51_Ball_AP: B_762x51_Ball { + caliber = 2.4; + hit = 12.6; + }; + + // M118 LR + class ACE_B_762x51_M118LR: B_762x51_Ball { + typicalspeed = 792; + airfriction = -0.0008577; + }; + + + /* Other */ + + class B_9x21_Ball; + class B_9x19_Ball: B_9x21_Ball { + typicalSpeed = 381; + airfriction = -0.00213; + }; + + class B_45ACP_Ball: BulletBase { + typicalSpeed = 250; + airfriction = -0.0009; + }; +}; diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp new file mode 100644 index 0000000000..d64e04ad08 --- /dev/null +++ b/addons/ballistics/CfgMagazines.hpp @@ -0,0 +1,183 @@ + +class CfgMagazines { + + /* 6.5x39mm Grendel - MX */ + + class CA_Magazine; + class 30Rnd_65x39_caseless_mag: CA_Magazine { + initSpeed = 724; + }; + + class 100Rnd_65x39_caseless_mag: CA_Magazine { + initSpeed = 724; + }; + + class 30Rnd_65x39_caseless_mag_Tracer; + class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; + }; + + class ACE_30Rnd_65x39_caseless_mag_SD: 30Rnd_65x39_caseless_mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_SD"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_SDName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_SDNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_SDDescription"; + picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_green_CA.paa"; + initSpeed = 320; + }; + + class ACE_30Rnd_65x39_caseless_mag_AP: 30Rnd_65x39_caseless_mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_AP"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_APName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_APNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_APDescription"; + }; + + + /* 6.5x39mm Grendel - Katiba */ + + class 30Rnd_65x39_caseless_green: 30Rnd_65x39_caseless_mag { + initSpeed = 724; + }; + + class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { + initSpeed = 691; + }; + + class 30Rnd_65x39_caseless_green_mag_Tracer; + class ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim: 30Rnd_65x39_caseless_green_mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimDescription"; + }; + + class ACE_30Rnd_65x39_caseless_green_mag_SD: 30Rnd_65x39_caseless_green { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_SD"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_SDDescription"; + initSpeed = 320; + }; + + class ACE_30Rnd_65x39_caseless_green_mag_AP: 30Rnd_65x39_caseless_green { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_65x39_Caseless_AP"; + displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APName"; + displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APNameShort"; + descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_APDescription"; + }; + + + /* 5.56x45mm NATO */ + + class 30Rnd_556x45_Stanag: CA_Magazine { + initSpeed = 911; + }; + + class 30Rnd_556x45_Stanag_Tracer_Red; //picture = "\A3\weapons_f\data\ui\m_30stanag_red_ca.paa"; + class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_556x45_Ball_Tracer_Dim"; + displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; + picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; + }; + + class ACE_30Rnd_556x45_Stanag_SD: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_556x45_Ball_SD"; + displayName = "$STR_ACE_30Rnd_556x45_mag_SDName"; + displayNameShort = "$STR_ACE_30Rnd_556x45_mag_SDNameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_mag_SDDescription"; + initSpeed = 320; + picture = "\A3\weapons_f\data\ui\m_30stanag_green_ca.paa"; + }; + + class ACE_30Rnd_556x45_Stanag_AP: 30Rnd_556x45_Stanag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_556x45_Ball_AP"; + displayName = "$STR_ACE_30Rnd_556x45_mag_APName"; + displayNameShort = "$STR_ACE_30Rnd_556x45_mag_APNameShort"; + descriptionShort = "$STR_ACE_30Rnd_556x45_mag_APDescription"; + }; + + + /* 7.62x51mm NATO */ + + class 20Rnd_762x51_Mag: CA_Magazine { + descriptionshort = "$STR_ACE_Ballistics_20Rnd_762x51_Mag_Description"; + initSpeed = 792; // 18" M14 EBR barrel + ammo = "ACE_B_762x51_M118LR"; // Use M118LR + }; + + class 150Rnd_762x51_Box: CA_Magazine { + ammo = "B_762x51_Ball"; + initSpeed = 853; // Typical MV for M240 + }; + + class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent + author = "$STR_ACE_Common_ACETeam"; + ammo = "B_762x51_Tracer_Red"; + displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_TracerNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_TracerDescription"; + tracersEvery = 1; + }; + + class ACE_20Rnd_762x51_Mag_Tracer_Dim: ACE_20Rnd_762x51_Mag_Tracer { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_762x51_Tracer_Dim"; + displayName = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimDescription"; + }; + + class ACE_20Rnd_762x51_Mag_SD: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_762x51_Ball_SD"; + displayName = "$STR_ACE_20Rnd_762x51_mag_SDName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_SDNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_SDDescription"; + initSpeed = 320; + }; + + class ACE_20Rnd_762x51_Mag_AP: 20Rnd_762x51_Mag { + author = "$STR_ACE_Common_ACETeam"; + ammo = "ACE_B_762x51_Ball_AP"; + displayName = "$STR_ACE_20Rnd_762x51_mag_APName"; + displayNameShort = "$STR_ACE_20Rnd_762x51_mag_APNameShort"; + descriptionShort = "$STR_ACE_20Rnd_762x51_mag_APDescription"; + }; + + + /* Other */ + + class 30Rnd_9x21_Mag: CA_Magazine { + ammo = "B_9x19_Ball"; + initSpeed = 370; + }; + + class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag { + ammo = "B_9x19_Ball"; + initSpeed = 381; + }; + + class 30Rnd_45ACP_Mag_SMG_01: 30Rnd_9x21_Mag { + initSpeed = 259; + }; + + class 9Rnd_45ACP_Mag: 30Rnd_45ACP_Mag_SMG_01 { + initSpeed = 250; + }; +}; diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp new file mode 100644 index 0000000000..5401236ce5 --- /dev/null +++ b/addons/ballistics/CfgVehicles.hpp @@ -0,0 +1,206 @@ + +#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \ + magazine = #MAGAZINE; \ + count = COUNT; \ +}; + +#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ + name = #ITEM; \ + count = COUNT; \ +}; + +class CfgVehicles { + #include + #include + + class NATO_Box_Base; + class Box_NATO_Wps_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); + }; + }; + + class Box_NATO_WpsSpecial_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + }; + }; + + class Box_NATO_Ammo_F: NATO_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); + }; + }; + + class Box_NATO_Support_F: NATO_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_muzzle_mzls_H,5); + MACRO_ADDITEM(ACE_muzzle_mzls_B,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + }; + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,6); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,3); + }; + }; + + class ReammoBox_F; + class B_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); + }; + }; + + class EAST_Box_Base; + class Box_East_Wps_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); + }; + }; + + class Box_East_WpsSpecial_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1); + }; + }; + + class Box_East_Ammo_F: EAST_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_muzzle_mzls_H,5); + MACRO_ADDITEM(ACE_muzzle_mzls_B,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + }; + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,6); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,3); + }; + }; + + class O_supplyCrate_F: B_supplyCrate_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); + }; + }; + + class IND_Box_Base; + class Box_IND_Wps_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + }; + }; + + class Box_IND_WpsSpecial_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,2); + }; + }; + + class Box_IND_Ammo_F: IND_Box_Base { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); + }; + }; + + class Box_IND_Support_F: IND_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_muzzle_mzls_H,1); + MACRO_ADDITEM(ACE_muzzle_mzls_B,5); + MACRO_ADDITEM(ACE_muzzle_mzls_L,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,5); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,5); + }; + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,6); + }; + }; + + class FIA_Box_Base_F; + class Box_FIA_Wps_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + }; + }; + + class Box_FIA_Ammo_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); + }; + }; + + class Box_FIA_Support_F: FIA_Box_Base_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,6); + }; + }; + + class I_supplyCrate_F: B_supplyCrate_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); + }; + }; + + class IG_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); + }; + }; + + class C_supplyCrate_F: ReammoBox_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); + }; + }; + + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportMagazines { + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_SD,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_SD,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_green_mag_AP,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_SD,2); + MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_AP,2); + /*MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,2); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,2); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,2); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_AP,2);*/ + }; + class TransportItems { + MACRO_ADDITEM(ACE_muzzle_mzls_H,2); + MACRO_ADDITEM(ACE_muzzle_mzls_B,2); + MACRO_ADDITEM(ACE_muzzle_mzls_L,2); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_01,2); + MACRO_ADDITEM(ACE_muzzle_mzls_smg_02,2); + }; + }; + + class Sign_F; + class ACE_TargetWall: Sign_F { + author = "$STR_ACE_Common_ACETeam"; + class Eventhandlers { + init = QUOTE(_this call COMPILE_FILE(scripts\initTargetWall)); + //hitPart = "systemChat str _this"; + }; + }; +}; diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp new file mode 100644 index 0000000000..1cf94c0ed8 --- /dev/null +++ b/addons/ballistics/CfgWeapons.hpp @@ -0,0 +1,787 @@ + +class Mode_SemiAuto; +class Mode_FullAuto; +class SlotInfo; + +class CfgWeapons { + + /* MX */ + + class Rifle; + class Rifle_Base_F: Rifle { + class WeaponSlotsInfo; + }; + + class arifle_MX_Base_F: Rifle_Base_F { + magazines[] += { + "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", + "ACE_30Rnd_65x39_caseless_mag_SD", + "ACE_30Rnd_65x39_caseless_mag_AP", + "100Rnd_65x39_caseless_mag", + "100Rnd_65x39_caseless_mag_Tracer" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.000800; // radians. Equal to 2.75 MOA. + // Based on widely cited 2 MOA figure for new 5.56 ACR. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class arifle_MX_SW_F: arifle_MX_Base_F { + magazines[] += { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.000800; // radians. Equal to 2.75 MOA. + // Based on widely cited 2 MOA figure for new 5.56 ACR. + }; + + class manual: FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + // Shit is broken again + //compatibleItems[] += {"ACE_muzzle_mzls_H"}; + compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; + }; + }; + }; + + class arifle_MXM_F: arifle_MX_Base_F { + magazines[] += { + "30Rnd_65x39_caseless_mag", + "30Rnd_65x39_caseless_mag_Tracer" + }; + + class Single: Single { + dispersion = 0.00029; // radians. Equal to 1 MOA. + // 6.5mm is easily capable of this in a half-tuned rifle. + }; + + class FullAuto: FullAuto { + dispersion = 0.000800; // radians. Equal to 2.75 MOA. + }; + }; + + + /* Katiba */ + + class arifle_katiba_Base_F: Rifle_Base_F { + magazines[] += { + "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim", + "ACE_30Rnd_65x39_caseless_green_mag_SD", + "ACE_30Rnd_65x39_caseless_green_mag_AP" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.000800; // radians. Equal to 2.75 MOA. + // Based on widely cited 2 MOA figure for new 5.56 ACR? + // Use your imagination for fictional weapons! + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + + /* Other */ + + class Rifle_Long_Base_F: Rifle_Base_F { + class WeaponSlotsInfo; + }; + + class EBR_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + class LMG_Mk200_F: Rifle_Long_Base_F { + class manual: Mode_FullAuto { + dispersion = 0.00175; // radians. Equal to 6 MOA. + }; + + class Single: manual { + dispersion = 0.00175; // radians. Equal to 6 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class LMG_Zafir_F: Rifle_Long_Base_F { + class FullAuto: Mode_FullAuto { + dispersion = 0.00175; // radians. Equal to 6 MOA. + }; + + class Single: Mode_SemiAuto { + dispersion = 0.00175; // radians. Equal to 6 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + }; + + + /* Assault Rifles */ + + class Tavor_base_F: Rifle_Base_F { + magazines[] += { + "ACE_30Rnd_556x45_Stanag_Tracer_Dim", + "ACE_30Rnd_556x45_Stanag_SD", + "ACE_30Rnd_556x45_Stanag_AP" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.000727; // radians. Equal to 2.5 MOA, about the limit of mass-produced M855. + // + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + class mk20_base_F: Rifle_Base_F { + magazines[] += { + "ACE_30Rnd_556x45_Stanag_Tracer_Dim", + "ACE_30Rnd_556x45_Stanag_SD", + "ACE_30Rnd_556x45_Stanag_AP" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus + // some extra for these worn out Greek Army service rifles. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_L"}; + }; + }; + }; + + + /* SMGs */ + + class SDAR_base_F: Rifle_Base_F { + magazines[] += { + "ACE_30Rnd_556x45_Stanag_Tracer_Dim", + "ACE_30Rnd_556x45_Stanag_SD", + "ACE_30Rnd_556x45_Stanag_AP" + }; + + class Single: Mode_SemiAuto { + dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus + // some extra because Kel-Tec. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00147; // radians. Equal to 5.1 MOA. + }; + }; + + class pdw2000_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class SMG_01_Base: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class SMG_02_base_F: Rifle_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + + /* Pistols */ + + class Pistol; + class Pistol_Base_F: Pistol { + class WeaponSlotsInfo; + }; + + class hgun_P07_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_Rook40_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_02"}; + }; + }; + }; + + class hgun_ACPC2_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + class hgun_Pistol_heavy_01_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + }; + + /*class hgun_Pistol_heavy_02_F: Pistol_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot { + linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; + compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; + }; + }; + };*/ + + + /* Silencers */ + + class ItemCore; + class InventoryMuzzleItem_Base_F; + + class muzzle_snds_H: ItemCore { + class ItemInfo: InventoryMuzzleItem_Base_F { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_L: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_M: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_B: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_H_MG: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_H_SW: muzzle_snds_H_MG { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + class muzzle_snds_acp: muzzle_snds_H { + class ItemInfo: ItemInfo { + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 0.9; + visibleFire = 0.5; + audibleFire = 0.1; + visibleFireTime = 0.5; + audibleFireTime = 0.5; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.8f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + }; + + + /* Flash suppressors */ + + class ACE_muzzle_mzls_H: ItemCore { + author = "$STR_ACE_Core_AGMTeam"; + _generalMacro = "ACE_muzzle_mzls_H"; + htMin = 1; + htMax = 600; + afMax = 0; + mfMax = 0; + mFact = 1; + tBody = 100; + scope = 2; + displayName = "$STR_ACE_muzzle_mzls_H"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: InventoryMuzzleItem_Base_F { + mass = 8; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; + + class ACE_muzzle_mzls_B: ACE_muzzle_mzls_H { + author = "$STR_ACE_Core_AGMTeam"; + _generalMacro = "ACE_muzzle_mzls_B"; + displayName = "$STR_ACE_muzzle_mzls_B"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; + + class ItemInfo: ItemInfo { + mass = 6; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.2; + }; + + class ACE_muzzle_mzls_L: ACE_muzzle_mzls_H { + author = "$STR_ACE_Core_AGMTeam"; + _generalMacro = "ACE_muzzle_mzls_L"; + displayName = "$STR_ACE_muzzle_mzls_L"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_l_F"; + + class ItemInfo: ItemInfo { + mass = 6; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.1; + }; + + class ACE_muzzle_mzls_smg_01: ACE_muzzle_mzls_H { + author = "$STR_ACE_Core_AGMTeam"; + _generalMacro = "ACE_muzzle_mzls_smg_01"; + displayName = "$STR_ACE_muzzle_mzls_smg_01"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F"; + + class ItemInfo: ItemInfo { + mass = 6; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.1; + }; + + class ACE_muzzle_mzls_smg_02: ACE_muzzle_mzls_H { + author = "$STR_ACE_Core_AGMTeam"; + _generalMacro = "ACE_muzzle_mzls_smg_02"; + displayName = "$STR_ACE_muzzle_mzls_smg_02"; + picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa"; + model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F"; + + class ItemInfo: ItemInfo { + mass = 6; + soundTypeIndex = 0; + muzzleEnd = "zaslehPoint"; + alternativeFire = "Zasleh2"; + + class MagazineCoef { + initSpeed = 1.0; + }; + + class AmmoCoef { + hit = 1.0; + visibleFire = 0.5; + audibleFire = 1.0; + visibleFireTime = 0.5; + audibleFireTime = 1.0; + cost = 1.0; + typicalSpeed = 1.0; + airFriction = 1.0; + }; + + class MuzzleCoef { + dispersionCoef = "0.9f"; + artilleryDispersionCoef = "1.0f"; + fireLightCoef = "0.5f"; + recoilCoef = "1.0f"; + recoilProneCoef = "1.0f"; + minRangeCoef = "1.0f"; + minRangeProbabCoef = "1.0f"; + midRangeCoef = "1.0f"; + midRangeProbabCoef = "1.0f"; + maxRangeCoef = "1.0f"; + maxRangeProbabCoef = "1.0f"; + }; + }; + + inertia = 0.1; + }; + + + /* Vests */ + + #include +}; diff --git a/TO_MERGE/agm/Ballistics/FixHelmets.hpp b/addons/ballistics/FixHelmets.hpp similarity index 100% rename from TO_MERGE/agm/Ballistics/FixHelmets.hpp rename to addons/ballistics/FixHelmets.hpp diff --git a/TO_MERGE/agm/Ballistics/FixUniforms.hpp b/addons/ballistics/FixUniforms.hpp similarity index 100% rename from TO_MERGE/agm/Ballistics/FixUniforms.hpp rename to addons/ballistics/FixUniforms.hpp diff --git a/TO_MERGE/agm/Ballistics/FixVests.hpp b/addons/ballistics/FixVests.hpp similarity index 100% rename from TO_MERGE/agm/Ballistics/FixVests.hpp rename to addons/ballistics/FixVests.hpp diff --git a/addons/ballistics/config.cpp b/addons/ballistics/config.cpp new file mode 100644 index 0000000000..9e8614c3fb --- /dev/null +++ b/addons/ballistics/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_TargetWall"}; + weapons[] = {"ACE_muzzle_mzls_H","ACE_muzzle_mzls_B","ACE_muzzle_mzls_L","ACE_muzzle_mzls_smg_01","ACE_muzzle_mzls_smg_02"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"TaoSensai","commy2"}; + authorUrl = "https://github.com/Taosenai/tmr"; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/ballistics/newclasses.txt b/addons/ballistics/newclasses.txt new file mode 100644 index 0000000000..4e162aa749 --- /dev/null +++ b/addons/ballistics/newclasses.txt @@ -0,0 +1,48 @@ + +// CFGWeapons + +ACE_muzzle_mzls_H +ACE_muzzle_mzls_B +ACE_muzzle_mzls_L +ACE_muzzle_mzls_smg_01 +ACE_muzzle_mzls_smg_02 + + +// CFGAmmo + +ACE_B_65x39_Caseless_Tracer_Dim +ACE_B_65x39_Caseless_SD +ACE_B_65x39_Caseless_AP + +ACE_B_65x39_Case_Tracer_Dim +ACE_B_65x39_Case_SD +ACE_B_65x39_Case_AP + +ACE_B_556x45_Ball_Tracer_Dim +ACE_B_556x45_Ball_SD +ACE_B_556x45_Ball_AP + +ACE_B_762x51_Tracer_Dim +ACE_B_762x51_Ball_SD +ACE_B_762x51_Ball_AP +ACE_B_762x51_M118LR + + +// CFGMagazines + +ACE_30Rnd_65x39_caseless_mag_Tracer_Dim +ACE_30Rnd_65x39_caseless_mag_SD +ACE_30Rnd_65x39_caseless_mag_AP + +ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim +ACE_30Rnd_65x39_caseless_green_mag_SD +ACE_30Rnd_65x39_caseless_green_mag_AP + +ACE_30Rnd_556x45_Stanag_Tracer_Dim +ACE_30Rnd_556x45_Stanag_SD +ACE_30Rnd_556x45_Stanag_AP + +ACE_20Rnd_762x51_Mag_Tracer +ACE_20Rnd_762x51_Mag_Tracer_Dim +ACE_20Rnd_762x51_Mag_SD +ACE_20Rnd_762x51_Mag_AP diff --git a/addons/ballistics/script_component.hpp b/addons/ballistics/script_component.hpp new file mode 100644 index 0000000000..2852ff952b --- /dev/null +++ b/addons/ballistics/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT ballistics +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_BALLISTICS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_BALLISTICS + #define DEBUG_SETTINGS DEBUG_ENABLED_BALLISTICS +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/agm/Ballistics/scripts/initTargetWall.sqf b/addons/ballistics/scripts/initTargetWall.sqf similarity index 100% rename from TO_MERGE/agm/Ballistics/scripts/initTargetWall.sqf rename to addons/ballistics/scripts/initTargetWall.sqf diff --git a/TO_MERGE/agm/Ballistics/stringtable.xml b/addons/ballistics/stringtable.xml similarity index 92% rename from TO_MERGE/agm/Ballistics/stringtable.xml rename to addons/ballistics/stringtable.xml index dc315651dc..32e5c8097d 100644 --- a/TO_MERGE/agm/Ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,9 +1,9 @@  - + - + 6.5mm 30Rnd Tracer IR-DIM Mag 6,5 mm Nyomjelző IR-DIM 30-as Tár 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM @@ -15,7 +15,7 @@ Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-и 6.5 мм трассирующих под ПНВ - + 6.5mm IR-DIM 6,5 mm IR-DIM 6,5mm IR-DIM @@ -27,7 +27,7 @@ 6.5 IR-DIM 6.5 мм трассирущие под ПНВ - + Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL @@ -39,7 +39,7 @@ Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - + 6.5mm 30Rnd SD Mag 6,5 mm Hangtompítós 30-as Tár 6,5 mm 30-Schuss-Magazin SD @@ -51,7 +51,7 @@ Caricatore 6.5mm 30Rnd Sil. Магазин из 30-и 6.5 мм дозвуковых - + 6.5mm SD 6,5 mm Hangtompítós 6,5mm SD @@ -63,7 +63,7 @@ 6.5mm Sil. 6.5 мм дозвуковые - + Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL @@ -75,7 +75,7 @@ Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - + 6.5mm 30Rnd AP Mag 6,5 mm Páncéltörő 30-as Tár 6,5 mm 30-Schuss-Magazin AP @@ -87,7 +87,7 @@ Caricatore 6.5mm 30Rnd AP Магазин из 30-и 6.5 мм бронебойных - + 6.5mm AP 6,5 mm Páncéltörő 6,5mm AP @@ -99,7 +99,7 @@ 6.5mm AP 6.5 мм бронебойные - + Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL @@ -112,7 +112,7 @@ Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: MX/C/M/SW/3GL - + 6.5mm 30Rnd Tracer IR-DIM Mag 6,5mm IR-DIM Nyomjelző 30-as Tár 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM @@ -124,7 +124,7 @@ Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-и 6.5 мм трассирующих под ПНВ - + 6.5mm IR-DIM 6,5mm IR-DIM 6,5mm IR-DIM @@ -136,7 +136,7 @@ 6.5mm IR-DIM 6.5 мм трассирущие под ПНВ - + Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: Katiba Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba @@ -148,7 +148,7 @@ Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba Калибр: 6.5x39 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: Katiba - + 6.5mm 30Rnd SD Mag 6,5 mm Hangtompítós 30-as Tár 6,5 mm 30-Schuss-Magazin SD @@ -160,7 +160,7 @@ Caricatore 6.5mm 30Rnd Sil. Магазин из 30-и 6.5 мм дозвуковых - + 6.5mm SD 6,5 mm Hangtompítós 6,5mm SD @@ -172,7 +172,7 @@ 6.5mm Sil. 6.5 мм дозвуковые - + Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Hangtompítós<br />Lőszerek: 30<br />Használható: Katiba Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba @@ -184,7 +184,7 @@ Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba Калибр: 6.5x39 мм дозвуковые<br />Патронов: 30<br />Применимы в: Katiba - + 6.5mm 30Rnd AP Mag 6,5 mm Páncéltörő 30-as Tár 6,5 mm 30-Schuss-Magazin AP @@ -196,7 +196,7 @@ Caricatore 6.5mm 30Rnd AP Магазин из 30-и 6.5 мм бронебойных - + 6.5mm AP 6,5 mm Páncéltörő 6,5mm AP @@ -208,7 +208,7 @@ 6.5mm AP 6.5 мм бронебойные - + Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Páncéltörő<br />Lőszerek: 30<br />Használható: Katiba Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba @@ -221,7 +221,7 @@ Калибр: 6.5x39 мм бронебойные<br />Патронов: 30<br />Применимы в: Katiba - + 5.56mm 30rnd Tracer IR-DIM Mag 5,56 mm Nyomjelző IR-DIM 30-as Tár 5,56 mm 30-Schuss-Magazin Leuchtspur IR-DIM @@ -233,7 +233,7 @@ Caricatore 5.56mm 30rnd Traccianti IR-DIM Магазин из 30-и 5.56 мм трассирующих под ПНВ - + 5.56mm IR-DIM 5,56 mm IR-DIM 5,56mm IR-DIM @@ -245,7 +245,7 @@ 5.56mm IR-DIM 5.56 мм трассирущие под ПНВ - + Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -257,7 +257,7 @@ Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Калибр: 5.56x45 мм трассирующие под ПНВ<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - + 5.56mm 30Rnd SD Mag 5,56 mm Hangtompítós 30-as Tár 5,56 mm 30-Schuss-Magazin SD @@ -269,7 +269,7 @@ Caricatore 5.56mm 30Rnd Sil. Магазин из 30-и 5.56 мм дозвуковых - + 5.56mm SD 5,56 mm Hangtompítós 5,56mm SD @@ -281,7 +281,7 @@ 5.56 Sil. 5.56 мм дозвуковые - + Caliber: 5.56x45 mm SD<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Hangtompítós<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm SD<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -293,7 +293,7 @@ Calibro: 5.56x45 mm Sil.<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Калибр: 5.56x45 мм дозвуковые<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - + 5.56mm 30Rnd AP Mag 5,56 mm Páncéltörő 30-as Tár 5,56 mm 30-Schuss-Magazin AP @@ -305,7 +305,7 @@ Caricatore 5.56mm 30Rnd AP Магазин из 30-и 5.56 мм бронебойных - + 5.56mm AP 5,56 mm Páncéltörő 5,56mm AP @@ -317,7 +317,7 @@ 5.56mm AP 5.56 мм бронебойные - + Caliber: 5.56x45 mm AP<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Páncéltörő<br />Lőszerek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm AP<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -330,7 +330,7 @@ Калибр: 5.56x45 мм бронебойные<br />Патронов: 30<br />Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - + 7.62mm 20rnd Tracer Mag 7,62 mm Nyomjelző IR-DIM 20-as Tár 7,62 mm 20-Schuss-Magazin Leuchtspur @@ -342,7 +342,7 @@ Caricatore 7.62mm 20Rnd Traccianti Магазин из 20-и 7.62 мм трассирующих - + 7.62mm Tracer 7,62 mm Nyomjelző 7,62mm Leuchtspur @@ -354,7 +354,7 @@ 7.62mm Traccianti 7.62 мм трассирущие - + Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Nyomjelző<br />Lőszerek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR @@ -366,7 +366,7 @@ Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм трассирующие<br />Патронов: 20<br />Применимы в: Mk18 ABR - + 7.62mm 20rnd Tracer IR-DIM Mag 7,62 mm Nyomjelző IR-DIM 20-as Tár 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM @@ -378,7 +378,7 @@ Caricatore 7.62mm 20rnd Traccianti IR-DIM Магазин из 20-и 7.62 мм трассирующих под ПНВ - + 7.62mm IR-DIM 7,62 mm IR-DIM 7,62mm IR-DIM @@ -390,7 +390,7 @@ 7.62mm IR-DIM 7.62 мм трассирущие под ПНВ - + Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lőszerek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR @@ -402,7 +402,7 @@ Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм трассирующие под ПНВ<br />Патронов: 20<br />Применимы в: Mk18 ABR - + 7.62mm 20Rnd SD Mag 7,62 mm Hangtompítós 20-as Tár 7,62 mm 20-Schuss-Magazin SD @@ -414,7 +414,7 @@ Caricatore 7.62mm 20Rnd Sil. Магазин из 20-и 7.62 мм дозвуковых - + 7.62mm SD 7,62 mm Hangtompítós 7,62mm SD @@ -426,7 +426,7 @@ 7.62mm Sil. 7.62 мм дозвуковые - + Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Hangtompítós<br />Lőszerek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR @@ -438,7 +438,7 @@ Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - + 7.62mm 20Rnd AP Mag 7,62 mm Páncéltörő 20-as Tár 7,62 mm 20-Schuss-Magazin AP @@ -450,7 +450,7 @@ Caricatore 7.62mm 20Rnd AP Магазин из 20-и 7.62 мм бронебойных - + 7.62mm AP 7,62 mm Páncéltörő 7,62mm AP @@ -462,7 +462,7 @@ 7.62mm AP 7.62 мм бронебойные - + Caliber: 7.62x51 mm AP<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Páncéltörő<br />Lőszerek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51 mm AP<br />Patronen: 20<br />Eingesetzt von: EBR @@ -474,7 +474,7 @@ Calibro: 7.62x51 mm AP<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7.62x51 мм дозвуковые<br />Патронов: 20<br />Применимы в: Mk18 ABR - + Caliber: 7.62x51mm M118LR<br />Rounds: 20<br />Type: M14 Kaliber: 7,62x51 mm M118LR<br />Lőszerek: 20<br />Típus: M14 Kaliber: 7,62x51mm M118LR<br />Schuss: 20<br />Typ: M14 @@ -487,7 +487,7 @@ Calibro: 7.62x51mm M118LR<br />Munizioni:20<br />In uso su: M14 - + Flash Suppressor (6.5 mm) Lángrejtő (6,5 mm) Mündungsfeuerdämpfer (6,5 mm) @@ -499,7 +499,7 @@ Пламегаситель (6,5 мм) Supresor (6,5 mm) - + Flash Suppressor (7.62 mm) Lángrejtő (7,62 mm) Mündungsfeuerdämpfer (7,62 mm) @@ -511,7 +511,7 @@ Пламегаситель (7,62 мм) Supresor (7,62 mm) - + Flash Suppressor (5.56 mm) Lángrejtő (5,56 mm) Mündungsfeuerdämpfer (5,56 mm) @@ -523,7 +523,7 @@ Пламегаситель (5,56 мм) Supresor (5,56 mm) - + Flash Suppressor (.45 ACP) Lángrejtő (.45 ACP) Mündungsfeuerdämpfer (.45 ACP) @@ -535,7 +535,7 @@ Пламегаситель (.45 ACP) Supresor (.45 ACP) - + Flash Suppressor (9 mm) Lángrejtő (9 mm) Mündungsfeuerdämpfer (9 mm) diff --git a/TO_MERGE/agm/Ballistics/textures/target_ca.paa b/addons/ballistics/textures/target_ca.paa similarity index 100% rename from TO_MERGE/agm/Ballistics/textures/target_ca.paa rename to addons/ballistics/textures/target_ca.paa diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index 34119a3407..42f05e0c20 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -1,15 +1,15 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit) ); - serverInit = QUOTE(call COMPILE_FILE(scripts\readParameters) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(scripts\readParameters)); disableModuload = true; }; }; class Extended_PostInit_EventHandlers { class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_postInit) ); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); disableModuload = true; }; }; @@ -17,15 +17,15 @@ class Extended_PostInit_EventHandlers { class Extended_InitPost_EventHandlers { class All { class GVAR(executePersistent) { - init = QUOTE([_this select 0] call FUNC(executePersistent) ); + init = QUOTE([_this select 0] call FUNC(executePersistent)); }; }; class CAManBase { class GVAR(setName) { - init = QUOTE(if (local (_this select 0)) then { _this call FUNC(setName) }; ); + init = QUOTE(if (local (_this select 0)) then {_this call FUNC(setName)};); }; class GVAR(forceWalk) { - init = QUOTE(if (local (_this select 0)) then { _this call FUNC(applyForceWalkStatus); }; ); + init = QUOTE(if (local (_this select 0)) then {_this call FUNC(applyForceWalkStatus);};); }; }; }; @@ -33,10 +33,10 @@ class Extended_InitPost_EventHandlers { class Extended_Respawn_EventHandlers { class All { class GVAR(restoreVariablesJIP) { - respawn = QUOTE(_this call FUNC(restoreVariablesJIP) ); + respawn = QUOTE(_this call FUNC(restoreVariablesJIP)); }; class GVAR(setName) { - respawn = QUOTE(_this call FUNC(setName) ); + respawn = QUOTE(_this call FUNC(setName)); }; }; };