ACE3/TO_MERGE/agm/Ballistics/config.cpp

1337 lines
35 KiB
C++

// 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 <FixVests.hpp>
};
#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 <FixUniforms.hpp>
#include <FixHelmets.hpp>
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)
*/