diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 4e2aa6cb9e..6e11038924 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -9,50 +9,6 @@ class CfgAmmo { 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 */ @@ -61,29 +17,6 @@ class CfgAmmo { 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 */ @@ -92,35 +25,6 @@ class CfgAmmo { //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 */ diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index d64e04ad08..1c5dabacd8 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -12,34 +12,6 @@ class CfgMagazines { 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 */ @@ -51,32 +23,6 @@ class CfgMagazines { 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 */ @@ -84,41 +30,11 @@ class CfgMagazines { 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 { @@ -126,40 +42,6 @@ class CfgMagazines { 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 */ diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index 9923d083ad..efd2132d95 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -1,169 +1,9 @@ -#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \ - magazine = #MAGAZINE; \ - count = COUNT; \ -} - class CfgVehicles { - 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 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 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 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 Sign_F; class ACE_TargetWall: Sign_F { author = "$STR_ACE_Common_ACETeam"; + scope = 0; 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 index 43a0bf365f..2319f8279b 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -1,26 +1,13 @@ class Mode_SemiAuto; class Mode_FullAuto; -class SlotInfo; class CfgWeapons { /* MX */ - class Rifle; - class Rifle_Base_F: Rifle { - class WeaponSlotsInfo; - }; - + class Rifle_Base_F; 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. @@ -29,20 +16,9 @@ class CfgWeapons { 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. @@ -51,22 +27,9 @@ class CfgWeapons { 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. @@ -81,12 +44,6 @@ class CfgWeapons { /* 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? @@ -96,37 +53,12 @@ class CfgWeapons { 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 Rifle_Long_Base_F: Rifle_Base_F {}; class LMG_Mk200_F: Rifle_Long_Base_F { class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -135,12 +67,6 @@ class CfgWeapons { 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 { @@ -151,24 +77,12 @@ class CfgWeapons { 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. // @@ -177,21 +91,9 @@ class CfgWeapons { 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. @@ -200,24 +102,12 @@ class CfgWeapons { 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. @@ -227,316 +117,4 @@ class CfgWeapons { 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"; - }; - }; - }; }; diff --git a/addons/flashsuppressors/config.cpp b/addons/flashsuppressors/config.cpp index bc04cdefea..6f94efba1d 100644 --- a/addons/flashsuppressors/config.cpp +++ b/addons/flashsuppressors/config.cpp @@ -6,8 +6,8 @@ class CfgPatches { 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"; + author[] = {"commy2"}; + authorUrl = "https://github.com/commy2"; VERSION_CONFIG; }; }; diff --git a/addons/magazines/$PBOPREFIX$ b/addons/magazines/$PBOPREFIX$ new file mode 100644 index 0000000000..dee71053cc --- /dev/null +++ b/addons/magazines/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\magazines \ No newline at end of file diff --git a/addons/magazines/CfgAmmo.hpp b/addons/magazines/CfgAmmo.hpp new file mode 100644 index 0000000000..2e1e9fceea --- /dev/null +++ b/addons/magazines/CfgAmmo.hpp @@ -0,0 +1,110 @@ + +class CfgAmmo { + + /* 6.5x39mm Grendel */ + + // 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 B_65x39_Caseless; + 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 */ + + // 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 B_556x45_Ball; + 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 */ + + // IR Dim + class B_762x51_Tracer_Red; + class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { + nvgOnly = 1; + }; + + // sub sonic + class B_762x51_Ball; + 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; + }; +}; diff --git a/addons/magazines/CfgMagazines.hpp b/addons/magazines/CfgMagazines.hpp new file mode 100644 index 0000000000..86cb6d9e1b --- /dev/null +++ b/addons/magazines/CfgMagazines.hpp @@ -0,0 +1,139 @@ + +class CfgMagazines { + + /* 6.5x39mm Grendel - MX */ + + 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 30Rnd_65x39_caseless_mag; + 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 100Rnd_65x39_caseless_mag; + 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 30Rnd_65x39_caseless_green; + 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_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 30Rnd_556x45_Stanag; + 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; + 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"; + }; +}; diff --git a/addons/magazines/CfgVehicles.hpp b/addons/magazines/CfgVehicles.hpp new file mode 100644 index 0000000000..b78eb71abc --- /dev/null +++ b/addons/magazines/CfgVehicles.hpp @@ -0,0 +1,163 @@ + +#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \ + magazine = #MAGAZINE; \ + count = COUNT; \ +} + +class CfgVehicles { + 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 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 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 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);*/ + }; + }; +}; diff --git a/addons/magazines/CfgWeapons.hpp b/addons/magazines/CfgWeapons.hpp new file mode 100644 index 0000000000..d54cf28e52 --- /dev/null +++ b/addons/magazines/CfgWeapons.hpp @@ -0,0 +1,460 @@ + +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 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 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" + }; + }; + + + /* 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 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 WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: SlotInfo { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; + }; + }; + }; + + class LMG_Zafir_F: Rifle_Long_Base_F { + 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 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 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 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"; + }; + }; + }; +}; diff --git a/addons/magazines/config.cpp b/addons/magazines/config.cpp new file mode 100644 index 0000000000..c757d62f5c --- /dev/null +++ b/addons/magazines/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"commy2"}; + authorUrl = "https://github.com/commy2"; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/ballistics/newclasses.txt b/addons/magazines/newclasses.txt similarity index 100% rename from addons/ballistics/newclasses.txt rename to addons/magazines/newclasses.txt diff --git a/addons/magazines/script_component.hpp b/addons/magazines/script_component.hpp new file mode 100644 index 0000000000..2fa1b774f5 --- /dev/null +++ b/addons/magazines/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT magazines +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_MAGAZINES + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_MAGAZINES + #define DEBUG_SETTINGS DEBUG_ENABLED_MAGAZINES +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/magazines/stringtable.xml similarity index 99% rename from addons/ballistics/stringtable.xml rename to addons/magazines/stringtable.xml index 429e4aabe6..c8f652fa39 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/magazines/stringtable.xml @@ -1,7 +1,7 @@  - + 6.5mm 30Rnd Tracer IR-DIM Mag @@ -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 diff --git a/addons/protection/config.cpp b/addons/protection/config.cpp index fb81590d90..bb4ef3f739 100644 --- a/addons/protection/config.cpp +++ b/addons/protection/config.cpp @@ -6,8 +6,8 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {"TaoSensai","commy2"}; - authorUrl = "https://github.com/Taosenai/tmr"; + author[] = {"commy2"}; + authorUrl = "https://github.com/commy2"; VERSION_CONFIG; }; };