From 711ac23f9b5c5028accd84d533a181402aecc3a0 Mon Sep 17 00:00:00 2001 From: Hophri <50061641+Azodion@users.noreply.github.com> Date: Fri, 27 Sep 2024 00:54:45 -0500 Subject: [PATCH 1/2] CUP HAFM Gives a RVMAT Error whenever the GD420 Spawns. But it's not a crashing error. --- .../Templates/Templates/CUP/CUP_AI_HAFM.sqf | 1336 +++++++++++++++++ .../Templates/Templates/CUP/templates.hpp | 15 + A3A/addons/hals/Addons/store/config.hpp | 19 + A3A/addons/hals/Addons/store/config/hafm.hpp | 149 ++ A3A/addons/hals/Stringtable.xml | 7 + A3A/addons/logistics/CfgLogistics.hpp | 1 + A3A/addons/logistics/Nodes/HAFM.hpp | 58 + .../config/plane/cfgPlaneLoadouts.hpp | 88 ++ .../config/trader/cfgTraderAddons.hpp | 6 + .../config/trader/cfgTraderWeapons.hpp | 4 + .../config/trader/vehicles/vehicles_hafm.hpp | 50 + .../trader/vehicles/vehicles_includes.hpp | 1 + 12 files changed, 1734 insertions(+) create mode 100644 A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf create mode 100644 A3A/addons/hals/Addons/store/config/hafm.hpp create mode 100644 A3A/addons/logistics/Nodes/HAFM.hpp create mode 100644 A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf new file mode 100644 index 0000000000..8f969fc87e --- /dev/null +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf @@ -0,0 +1,1336 @@ +//these variables determine whether specified dlcs are loaded +private _hasWs = "ws" in A3A_enabledDLC; +private _hasMarksman = "mark" in A3A_enabledDLC; +private _hasLawsOfWar = "orange" in A3A_enabledDLC; +private _hasTanks = "tank" in A3A_enabledDLC; +private _hasLawsOfWar = "orange" in A3A_enabledDLC; +private _hasContact = "enoch" in A3A_enabledDLC; + +////////////////////////// +// Side Information // +////////////////////////// + +["name", "HAFM"] call _fnc_saveToTemplate; //this line determines the faction name -- Example: ["name", "NATO"] - ENTER ONLY ONE OPTION +["spawnMarkerName", format [localize "STR_supportcorridor", "HAFM"]] call _fnc_saveToTemplate; //this line determines the name tag for the "carrier" on the map -- Example: ["spawnMarkerName", "NATO support corridor"] - ENTER ONLY ONE OPTION. Format and localize function can be used for translation + +["flag", "Flag_AAF_F"] call _fnc_saveToTemplate; //this line determines the flag -- Example: ["flag", "Flag_NATO_F"] - ENTER ONLY ONE OPTION +["flagTexture", "\A3\ui_f\data\map\markers\flags\Greece_ca.paa"] call _fnc_saveToTemplate; //this line determines the flag texture -- Example: ["flagTexture", "\A3\Data_F\Flags\Flag_NATO_CO.paa"] - ENTER ONLY ONE OPTION +["flagMarkerType", "flag_Greece"] call _fnc_saveToTemplate; //this line determines the flag marker type -- Example: ["flagMarkerType", "flag_NATO"] - ENTER ONLY ONE OPTION + +////////////////////////// +// Vehicles // +////////////////////////// + +["ammobox", "B_supplyCrate_F"] call _fnc_saveToTemplate; //Don't touch or you die a sad and lonely death! +["surrenderCrate", "Box_NATO_Wps_F"] call _fnc_saveToTemplate; //Changeing this from default will require you to define logistics attachement offset for the box type +["equipmentBox", "Box_NATO_Equip_F"] call _fnc_saveToTemplate; //Changeing this from default will require you to define logistics attachement offset for the box type + +["vehiclesBasic", []] call _fnc_saveToTemplate; //this line determines basic vehicles, the lightest kind available. -- Example: ["vehiclesBasic", ["B_Quadbike_01_F"]] -- Array, can contain multiple assets +["vehiclesLightUnarmed", ["HAFM_GD240_Unarmed2", "HAFM_HMMWV1", "HAFM_VBL2"]] call _fnc_saveToTemplate; //this line determines light and unarmed vehicles. -- Example: ["vehiclesLightUnarmed", ["B_MRAP_01_F"]] -- Array, can contain multiple assets +["vehiclesLightArmed",["HAFM_GD240_Patrol2", "HAFM_HMMWV1_M2", "HAFM_HMMWV1_Kornet", "HAFM_HMMWV1_Milan", "HAFM_HMMWV1_TOW", "HAFM_HMMWV1_MK19", "HAFM_VBL2_M50", "HAFM_VBL2_M240"]] call _fnc_saveToTemplate; //this line determines light and armed vehicles -- Example: ["vehiclesLightArmed",["B_MRAP_01_hmg_F", "B_MRAP_01_gmg_F"]] -- Array, can contain multiple assets +["vehiclesTrucks", ["Unimog1550_SemiCovered2", "Unimog1550_Covered2"]] call _fnc_saveToTemplate; //this line determines the trucks -- Example: ["vehiclesTrucks", ["B_Truck_01_transport_F", "B_Truck_01_covered_F"]] -- Array, can contain multiple assets +["vehiclesCargoTrucks", ["Unimog1550_Covered2"]] call _fnc_saveToTemplate; //this line determines cargo trucks -- Example: ["vehiclesCargoTrucks", ["B_Truck_01_transport_F", "B_Truck_01_covered_F"]] -- Array, can contain multiple assets +["vehiclesAmmoTrucks", ["B_T_Truck_01_ammo_F"]] call _fnc_saveToTemplate; //this line determines ammo trucks -- Example: ["vehiclesAmmoTrucks", ["B_Truck_01_ammo_F"]] -- Array, can contain multiple assets +["vehiclesRepairTrucks", ["CUP_B_nM1038_Repair_NATO_T"]] call _fnc_saveToTemplate; //this line determines repair trucks -- Example: ["vehiclesRepairTrucks", ["B_Truck_01_Repair_F"]] -- Array, can contain multiple assets +["vehiclesFuelTrucks", ["B_T_Truck_01_fuel_F"]] call _fnc_saveToTemplate; //this line determines fuel trucks -- Array, can contain multiple assets +["vehiclesMedical", []] call _fnc_saveToTemplate; //this line determines medical vehicles -- Array, can contain multiple assets +["vehiclesAPCs", ["Leonidas3_BLU"]] call _fnc_saveToTemplate; //this line determines APCs -- Example: ["vehiclesAPCs", ["B_APC_Tracked_01_rcws_F", "B_APC_Tracked_01_CRV_F"]] -- Array, can contain multiple assets +["vehiclesTanks", ["Leopard1A4_2", "Leopard2A4_2", "Leopard2A6HEL_2", "M60A3_2"]] call _fnc_saveToTemplate; //this line determines tanks -- Example: ["vehiclesTanks", ["B_MBT_01_cannon_F", "B_MBT_01_TUSK_F"]] -- Array, can contain multiple assets +["vehiclesAA", ["CUP_B_nM1097_AVENGER_NATO_T"]] call _fnc_saveToTemplate; //this line determines AA vehicles -- Example: ["vehiclesAA", ["B_APC_Tracked_01_AA_F"]] -- Array, can contain multiple assets +["vehiclesLightAPCs", ["CUP_B_M113A3_olive_USA", "Leonidas2_2", "blx_M1117_GR"]] call _fnc_saveToTemplate; //this line determines light APCs +["vehiclesIFVs", []] call _fnc_saveToTemplate; //this line determines IFVs + + +["vehiclesTransportBoats", ["HAFM_Naval_RHIB"]] call _fnc_saveToTemplate; //this line determines transport boats -- Example: ["vehiclesTransportBoats", ["B_Boat_Transport_01_F"]] -- Array, can contain multiple assets +["vehiclesGunBoats", ["HAFM_Naval_CB90_BLU"]] call _fnc_saveToTemplate; //this line determines gun boats -- Example: ["vehiclesGunBoats", ["B_Boat_Armed_01_minigun_F"]] -- Array, can contain multiple assets +["vehiclesAmphibious", []] call _fnc_saveToTemplate; //this line determines amphibious vehicles -- Example: ["vehiclesAmphibious", ["B_APC_Wheeled_01_cannon_F"]] -- Array, can contain multiple assets + +["vehiclesPlanesCAS", ["A7BLU", "F4E_BLU", "M2000C_BLU", "A7BLU_TIGER", "F4E_BLU_AG"]] call _fnc_saveToTemplate; //this line determines CAS planes -- Example: ["vehiclesPlanesCAS", ["B_Plane_CAS_01_dynamicLoadout_F"]] -- Array, can contain multiple assets +["vehiclesPlanesAA", ["F16C_BLU", "F16_B52_BLU", "M2000C_BLU"]] call _fnc_saveToTemplate; //this line determines air supperiority planes -- Example: ["vehiclesPlanesAA", ["B_Plane_Fighter_01_F"]] -- Array, can contain multiple assets +["vehiclesPlanesTransport", ["C130H_BLU"]] call _fnc_saveToTemplate; //this line determines transport planes -- Example: ["vehiclesPlanesTransport", ["B_T_VTOL_01_infantry_F"]] -- Array, can contain multiple assets + +["vehiclesHelisLight", ["HAFM_UH1H"]] call _fnc_saveToTemplate; //this line determines light helis -- Example: ["vehiclesHelisLight", ["B_Heli_Light_01_F"]] -- Array, can contain multiple assets +["vehiclesHelisTransport", ["NH90_GR2", "CH_47F_BLU", "NH90Armed_GR2"]] call _fnc_saveToTemplate; //this line determines transport helis -- Example: ["vehiclesHelisTransport", ["B_Heli_Transport_01_F"]] -- Array, can contain multiple assets +["vehiclesHelisLightAttack", ["HAFM_Kiowa", "HAFM_Kiowa_AT"]] call _fnc_saveToTemplate; // this line determines light attack helicopters +["vehiclesHelisAttack", ["HAFM_AH64D"]] call _fnc_saveToTemplate; //this line determines attack helis -- Example: ["vehiclesHelisAttack", ["B_Heli_Attack_01_F"]] -- Array, can contain multiple assets + +["vehiclesArtillery", ["GR_MBT_mlrs"]] call _fnc_saveToTemplate; //this line determines SPAs +["magazines", createHashMapFromArray [ +["GR_MBT_mlrs", ["12Rnd_230mm_rockets"]] +]] call _fnc_saveToTemplate; //this line determines ammo to be used with specified SPA, hashMap makes sure that SPA gets proper ammo + +["uavsAttack", []] call _fnc_saveToTemplate; //this line determines attack UAVs -- Example: ["uavsAttack", ["B_UAV_02_CAS_F"]] -- Array, can contain multiple assets +["uavsPortable", ["HAFM_Pegasus"]] call _fnc_saveToTemplate; //this line determines portable UAVs -- Example: ["uavsPortable", ["B_UAV_01_F"]] -- Array, can contain multiple assets + +//Config special vehicles - militia vehicles are mostly used in the early game, police cars are being used by troops around cities -- Example: +["vehiclesMilitiaLightArmed", ["HAFM_GD240_Patrol2", "HAFM_HMMWV1_M2"]] call _fnc_saveToTemplate; //this line determines lightly armed militia vehicles -- Example: ["vehiclesMilitiaLightArmed", ["B_G_Offroad_01_armed_F"]] -- Array, can contain multiple assets +["vehiclesMilitiaTrucks", ["Unimog1550_SemiCovered2", "Unimog1550_Covered2"]] call _fnc_saveToTemplate; //this line determines militia trucks (unarmed) -- Example: ["vehiclesMilitiaTrucks", ["B_G_Van_01_transport_F"]] -- Array, can contain multiple assets +["vehiclesMilitiaCars", ["HAFM_GD240_Unarmed2", "HAFM_HMMWV1"]] call _fnc_saveToTemplate; //this line determines militia cars (unarmed) -- Example: ["vehiclesMilitiaCars", ["B_G_Offroad_01_F"]] -- Array, can contain multiple assets + +["vehiclesMilitiaAPCs", ["HAFM_HMMWV1_M2"]] call _fnc_saveToTemplate; //this line determines militia APCs + +["vehiclesPolice", ["HAFM_VBL2", "HAFM_HMMWV1"]] call _fnc_saveToTemplate; //this line determines police cars -- Example: ["vehiclesPolice", ["B_GEN_Offroad_01_gen_F"]] -- Array, can contain multiple assets + +["staticMGs", ["B_G_HMG_02_high_F"]] call _fnc_saveToTemplate; //this line determines static MGs -- Example: ["staticMG", ["B_HMG_01_high_F"]] -- Array, can contain multiple assets +["staticAT", ["CUP_B_TOW2_TriPod_US"]] call _fnc_saveToTemplate; //this line determinesstatic ATs -- Example: ["staticAT", ["B_static_AT_F"]] -- Array, can contain multiple assets +["staticAA", ["CUP_B_CUP_Stinger_AA_pod_US"]] call _fnc_saveToTemplate; //this line determines static AAs -- Example: ["staticAA", ["B_static_AA_F"]] -- Array, can contain multiple assets +["staticMortars", ["B_Mortar_01_F"]] call _fnc_saveToTemplate; //this line determines static mortars -- Example: ["staticMortars", ["B_Mortar_01_F"]] -- Array, can contain multiple assets +["staticHowitzers", ["CUP_B_M119_US"]] call _fnc_saveToTemplate; //this line determines static howitzers. Basically it's just a stronger mortar, use same syntax as above. + +["vehicleRadar", "B_Radar_System_01_F"] call _fnc_saveToTemplate; // vehicle with radar +["vehicleSam", "B_SAM_System_03_F"] call _fnc_saveToTemplate; // vehicle with SAM + +["mortarMagazineHE", "8Rnd_82mm_Mo_shells"] call _fnc_saveToTemplate; //this line determines available HE-shells for the static mortars - !needs to be compatible with the mortar! -- Example: ["mortarMagazineHE", "8Rnd_82mm_Mo_shells"] - ENTER ONLY ONE OPTION +["mortarMagazineSmoke", "8Rnd_82mm_Mo_Smoke_white"] call _fnc_saveToTemplate; //this line determines smoke-shells for the static mortar - !needs to be compatible with the mortar! -- Example: ["mortarMagazineSmoke", "8Rnd_82mm_Mo_Smoke_white"] - ENTER ONLY ONE OPTION +["mortarMagazineFlare", "8Rnd_82mm_Mo_Flare_white"] call _fnc_saveToTemplate; //this line determines flare shells for the static mortar - !needs to be compatible with the mortar! -- Example: ["mortarMagazineSmoke", "8Rnd_82mm_Mo_Flare_white"] - ENTER ONLY ONE OPTION + +["howitzerMagazineHE", "CUP_30Rnd_105mmHE_M119_M"] call _fnc_saveToTemplate; //this line determines available HE-shells for the static howitzers - !needs to be compatible with the howitzer! -- same syntax as above - ENTER ONLY ONE OPTION + +//Minefield definition +["minefieldAT", ["CUP_Mine"]] call _fnc_saveToTemplate; +["minefieldAPERS", ["APERSMine"]] call _fnc_saveToTemplate; + +///////////////////// +/// Identities /// +///////////////////// + +["faces", [ + "GreekHead_A3_02", + "GreekHead_A3_03", + "GreekHead_A3_04", + "GreekHead_A3_05", + "GreekHead_A3_06", + "GreekHead_A3_07", + "GreekHead_A3_08", + "GreekHead_A3_09", + "GreekHead_A3_11", + "GreekHead_A3_12", + "GreekHead_A3_13", + "GreekHead_A3_14", + "Ioannou", + "Mavros" +]] call _fnc_saveToTemplate; +["voices", ["Male01GRE","Male02GRE","Male03GRE","Male04GRE","Male05GRE","Male06GRE"]] call _fnc_saveToTemplate; + +["insignia", ["gr_flag_colored", "army_patch", "haf_patch"]] call _fnc_saveToTemplate; +["polinsignia", ["police_patch"]] call _fnc_saveToTemplate; + +////////////////////////// +// Loadouts // +////////////////////////// +private _loadoutData = call _fnc_createLoadoutData; +_loadoutData set ["slRifles", []]; +_loadoutData set ["rifles", []]; +_loadoutData set ["carbines", []]; +_loadoutData set ["grenadeLaunchers", []]; +_loadoutData set ["designatedGrenadeLaunchers", []]; +_loadoutData set ["SMGs", []]; +_loadoutData set ["machineGuns", []]; +_loadoutData set ["marksmanRifles", []]; +_loadoutData set ["sniperRifles", []]; + +_loadoutData set ["lightATLaunchers", []]; +_loadoutData set ["ATLaunchers", []]; +_loadoutData set ["missileATLaunchers", []]; +_loadoutData set ["AALaunchers", []]; +_loadoutData set ["sidearms", []]; + +_loadoutData set ["ATMines", ["CUP_Mine_M"]]; //this line determines the AT mines which can be carried by units -- Example: ["ATMine_Range_Mag"] -- Array, can contain multiple assets +_loadoutData set ["APMines", ["APERSMine_Range_Mag"]]; //this line determines the APERS mines which can be carried by units -- Example: ["APERSMine_Range_Mag"] -- Array, can contain multiple assets +_loadoutData set ["lightExplosives", ["DemoCharge_Remote_Mag"]]; //this line determines light explosives -- Example: ["DemoCharge_Remote_Mag"] -- Array, can contain multiple assets +_loadoutData set ["heavyExplosives", ["SatchelCharge_Remote_Mag"]]; //this line determines heavy explosives -- Example: ["SatchelCharge_Remote_Mag"] -- Array, can contain multiple assets + +_loadoutData set ["antiInfantryGrenades", ["CUP_HandGrenade_M67", "MiniGrenade"]]; //this line determines anti infantry grenades (frag and such) -- Example: ["HandGrenade", "MiniGrenade"] -- Array, can contain multiple assets +_loadoutData set ["antiTankGrenades", []]; //this line determines anti tank grenades. Leave empty when not available. -- Array, can contain multiple assets +_loadoutData set ["smokeGrenades", ["SmokeShell"]]; +_loadoutData set ["signalsmokeGrenades", ["SmokeShellYellow", "SmokeShellRed", "SmokeShellPurple", "SmokeShellOrange", "SmokeShellGreen", "SmokeShellBlue"]]; + +//Basic equipment. Shouldn't need touching most of the time. +//Mods might override this, or certain mods might want items removed (No GPSs in WW2, for example) +_loadoutData set ["maps", ["ItemMap"]]; //this line determines map +_loadoutData set ["watches", ["ItemWatch"]]; //this line determines watch +_loadoutData set ["compasses", ["ItemCompass"]]; //this line determines compass +_loadoutData set ["radios", ["ItemRadio"]]; //this line determines radio +_loadoutData set ["gpses", ["ItemGPS"]]; //this line determines GPS +_loadoutData set ["NVGs", ["hafm_nvg"]]; //this line determines NVGs -- Array, can contain multiple assets +_loadoutData set ["binoculars", ["Binocular"]]; //this line determines the binoculars +_loadoutData set ["rangefinders", ["Rangefinder", "CUP_Vector21Nite", "CUP_LRTV"]]; + +_loadoutData set ["traitorUniforms", ["GR_Soldier_Uniform"]]; //this line determines traitor uniforms for traitor mission +_loadoutData set ["traitorVests", ["Greek_TacChestrig_camo", "Greek_Harness", "Greek_Chestrig_oli"]]; //this line determines traitor vesets for traitor mission +_loadoutData set ["traitorHats", ["Greek_Berret1"]]; //this line determines traitor headgear for traitor missions + +_loadoutData set ["officerUniforms", ["GR_AO_Uniform"]]; //this line determines officer uniforms for assassination mission +_loadoutData set ["officerVests", ["Greek_A_Rig_Oil"]]; //this line determines officer vesets for assassination mission +_loadoutData set ["officerHats", ["Greek_Berret"]]; //this line determines officer headgear for assassination missions + +_loadoutData set ["uniforms", []]; //don't fill this line - this is only to set the variable +_loadoutData set ["slUniforms", []]; +_loadoutData set ["vests", []]; //don't fill this line - this is only to set the variable +_loadoutData set ["Hvests", []]; +_loadoutData set ["sniVests", ["Greek_TacChestrig_camo", "Greek_Harness", "Greek_Chestrig_oli"]]; +_loadoutData set ["backpacks", []]; //don't fill this line - this is only to set the variable +_loadoutData set ["atBackpacks", ["hafm_heavy_crossbow_bag"]]; +_loadoutData set ["helmets", []]; //don't fill this line - this is only to set the variable +_loadoutData set ["slHat", ["Greek_Berret", "Greek_A_cap"]]; +_loadoutData set ["sniHats", ["H_Booniehat_GR"]]; + +_loadoutData set ["glasses", ["None", "HAFM_Mask", "HAFM_Balaclava", "HAFM_Goggles_Badana_black", "HAFM_Goggles_Badana_BlkClear", "HAFM_Goggles_Badana_Grn", "HAFM_Goggles_Badana_GrnClear", "HAFM_Goggles_Badana_Khk", "HAFM_Goggles_Badana_KhkClear", "HAFM_Goggles_Badana_Tan", "HAFM_Goggles_Badana_TanClear"]]; //cosmetics +_loadoutData set ["goggles", ["None", "HAFM_Goggles_black", "HAFM_Goggles_Clear", "HAFM_Goggles_Green", "HAFM_Goggles_Khaki", "HAFM_Goggles_Tan"]]; //cosmetics + +//Item *set* definitions. These are added in their entirety to unit loadouts. No randomisation is applied. +_loadoutData set ["items_medical_basic", ["BASIC"] call A3A_fnc_itemset_medicalSupplies]; //this line defines the basic medical loadout for vanilla +_loadoutData set ["items_medical_standard", ["STANDARD"] call A3A_fnc_itemset_medicalSupplies]; //this line defines the standard medical loadout for vanilla +_loadoutData set ["items_medical_medic", ["MEDIC"] call A3A_fnc_itemset_medicalSupplies]; //this line defines the medic medical loadout for vanilla +_loadoutData set ["items_miscEssentials", [] call A3A_fnc_itemset_miscEssentials]; + +//Unit type specific item sets. Add or remove these, depending on the unit types in use. +private _slItems = ["Laserbatteries", "Laserbatteries", "Laserbatteries"]; +private _eeItems = ["ToolKit", "MineDetector"]; +private _mmItems = []; + +if (A3A_hasACE) then { + _slItems append ["ACE_microDAGR", "ACE_DAGR"]; + _eeItems append ["ACE_Clacker", "ACE_DefusalKit"]; + _mmItems append ["ACE_RangeCard", "ACE_ATragMX", "ACE_Kestrel4500"]; +}; + +_loadoutData set ["items_squadLeader_extras", _slItems]; +_loadoutData set ["items_rifleman_extras", []]; +_loadoutData set ["items_medic_extras", []]; +_loadoutData set ["items_grenadier_extras", []]; +_loadoutData set ["items_explosivesExpert_extras", _eeItems]; +_loadoutData set ["items_engineer_extras", _eeItems]; +_loadoutData set ["items_lat_extras", []]; +_loadoutData set ["items_at_extras", []]; +_loadoutData set ["items_aa_extras", []]; +_loadoutData set ["items_machineGunner_extras", []]; +_loadoutData set ["items_marksman_extras", _mmItems]; +_loadoutData set ["items_sniper_extras", _mmItems]; +_loadoutData set ["items_police_extras", []]; +_loadoutData set ["items_crew_extras", []]; +_loadoutData set ["items_unarmed_extras", []]; + +//TODO - ACE overrides for misc essentials, medical and engineer gear + +/////////////////////////////////////// +// Special Forces Loadout Data // +/////////////////////////////////////// + +private _sfLoadoutData = _loadoutData call _fnc_copyLoadoutData; +_sfLoadoutData set ["uniforms", ["GR_A_Uniform"]]; +_sfLoadoutData set ["vests", ["GR_PlateCarrier_B", "GR_PlateCarrier", "GR_PlateCarrier_camo_B"]]; +_sfLoadoutData set ["Hvests", ["GR_PlateCarrier_B", "GR_PlateCarrier", "GR_PlateCarrier_camo_B"]]; +_sfLoadoutData set ["backpacks", ["Greek_AssaultPack", "hafm_heavy_assault_bag", "Greek_Tactical_pack"]]; +_sfLoadoutData set ["helmets", ["HAFM_tacticalHelmet", "HAFM_tacticalHelmet2", "HAFM_sealHelmet", "HAFM_sealHelmetCamo"]]; +_sfLoadoutData set ["binoculars", ["CUP_SOFLAM"]]; + +_sfLoadoutData set ["lightATLaunchers", [ +["hafm_gustav", "", "", "", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""] +]]; +_sfLoadoutData set ["ATLaunchers", ["HAFM_M136_Loaded", "HAFM_M136_hp_Loaded"]]; +_sfLoadoutData set ["missileATLaunchers", [ +["HAFM_fgm148", "", "", "", ["hafm_fgm148_magazine_AT"], [], ""] +]]; +_sfLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]]; + +_sfLoadoutData set ["slRifles", [ +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""], + +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""], + +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""] +]]; +_sfLoadoutData set ["rifles", [ +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_m4dd_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""] +]]; +_sfLoadoutData set ["carbines", [ +["CUP_arifle_HK416_CQB_Black", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK416_CQB_Black", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK416_CQB_Black", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""] +]]; +_sfLoadoutData set ["grenadeLaunchers", [ +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_M68", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""], + +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "HAFM_Eotech_553", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""], + +["HAFM_HK416GL", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "HAFM_M4_muzzle_snds_556", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""] +]]; + +_sfLoadoutData set ["SMGs", [ +["HAFM_MP5A4", "HAFM_MP5_muzzle_snds_9mm", "HAFM_acc_flashlight_mp5", "CUP_optic_MicroT1", ["HAFM_MP5A4_Mag"], [], ""], +["HAFM_MP5A4", "HAFM_MP5_muzzle_snds_9mm", "HAFM_acc_flashlight_mp5", "CUP_optic_AC11704_Black", ["HAFM_MP5A4_Mag"], [], ""], +["HAFM_MP5A4", "HAFM_MP5_muzzle_snds_9mm", "HAFM_acc_flashlight_mp5", "CUP_optic_VortexRazor_UH1_Black", ["HAFM_MP5A4_Mag"], [], ""] +]]; + +_sfLoadoutData set ["machineGuns", [ +["HAFM_HK21", "", "", "optic_Hamr", ["HAFM_HK21_762"], [], ""], +["HAFM_HK21", "", "", "HAFM_optic_ELCAN", ["HAFM_HK21_762"], [], ""], +["HAFM_HK21", "", "", "HAFM_acog_ard_rmr", ["HAFM_HK21_762"], [], ""] +]]; + +_sfLoadoutData set ["marksmanRifles", [ +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], + +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"] +]]; +_sfLoadoutData set ["sniperRifles", [ +["HAFM_M107_EMPTY", "", "", "HAFM_scope_optic_m107", ["HAFM_10rnd_M107"], [], ""], +["HAFM_M107_EMPTY", "", "", "CUP_optic_LeupoldMk4", ["HAFM_10rnd_M107"], [], ""], +["HAFM_M107_EMPTY", "", "", "CUP_optic_LeupoldMk4_20x40_LRT", ["HAFM_10rnd_M107"], [], ""] +]]; +_sfLoadoutData set ["sidearms", [ +["HAFM_G17C", "HAFM_MP5_muzzle_snds_9mm", "", "", ["HAFM_G17C_Mag"], [], ""] +]]; + +///////////////////////////////// +// Elite Loadout Data // +///////////////////////////////// + +private _eliteLoadoutData = _loadoutData call _fnc_copyLoadoutData; +_eliteLoadoutData set ["uniforms", ["GR_Soldier_Uniform", "GR_F_NRF", "GR_A55_Uniform", "GR_A4_Uniform", "GR_A3_Uniform"]]; +_eliteLoadoutData set ["slUniforms", ["GR_A3_Uniform"]]; +_eliteLoadoutData set ["vests", ["GR_PlateCarrier", "GR_PlateCarrier_camo_B"]]; +_eliteLoadoutData set ["Hvests", ["GR_PlateCarrier", "GR_PlateCarrier_camo_B"]]; +_eliteLoadoutData set ["backpacks", ["hafm_heavy_assault_bag", "Greek_CarryAll_pack", "Greek_Tactical_pack"]]; +_eliteLoadoutData set ["helmets", ["HAFM_PBR_Helmet_Bow_Green", "HAFM_PBR_Helmet_Bow", "HAFM_tacticalHelmet2", "HAFM_tacticalHelmet"]]; +_eliteLoadoutData set ["binoculars", ["CUP_LRTV"]]; + +_eliteLoadoutData set ["lightATLaunchers", [ +["hafm_gustav", "", "", "", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""] +]]; +_eliteLoadoutData set ["ATLaunchers", ["HAFM_M136_Loaded", "HAFM_M136_hp_Loaded"]]; +_eliteLoadoutData set ["missileATLaunchers", [ +["HAFM_fgm148", "", "", "", ["hafm_fgm148_magazine_AT"], [], ""] +]]; +_eliteLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]]; + +_eliteLoadoutData set ["slRifles", [ +["HAFM_G36C", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_G36C", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_G36C", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""], + +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""], + +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""] +]]; +_eliteLoadoutData set ["rifles", [ +["HAFM_G36C", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_G36C", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], + +["HAFM_G36C", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["HAFM_G36C_mag"], [], ""], +["CUP_arifle_G36A_RIS", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36A3_grip", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["HAFM_m4dd_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_m4ddv5_long", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["HAFM_HK416", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], [], ""], +["CUP_arifle_HK_M27", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""], +["CUP_arifle_HK_M27_VFG", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], [], ""] +]]; +_eliteLoadoutData set ["carbines", [ +["CUP_arifle_G36CA3", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_LLM_black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_afg", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_LLM_black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_grip", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_LLM_black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_LLM_black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_PULL", "CUP_30Rnd_556x45_PMAG_BLACK_PULL_Tracer_Red"], [], ""], + +["CUP_arifle_G36CA3", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_CompM2_low", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_afg", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_CompM2_low", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_grip", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_CompM2_low", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_CompM2_low", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_PULL", "CUP_30Rnd_556x45_PMAG_BLACK_PULL_Tracer_Red"], [], ""], + +["CUP_arifle_G36CA3", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_Eotech553_Black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_afg", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_Eotech553_Black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_G36CA3_grip", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_Eotech553_Black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], [], ""], +["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_mfsup_SCAR_L", "CUP_optic_Eotech553_Black", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_PULL", "CUP_30Rnd_556x45_PMAG_BLACK_PULL_Tracer_Red"], [], ""] +]]; +_eliteLoadoutData set ["grenadeLaunchers", [ +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""], + +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""], + +["HAFM_G36C_M320", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["HAFM_G36C_mag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_G36A3_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36A_AG36_RIS", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_G36K_RIS_AG36", "CUP_muzzle_mfsup_SCAR_L", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Red_Tracer_556x45_G36"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL320_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_m4ddGL_short", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["HAFM_HK416GL", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["hafm_mag_30Rnd_556x45_Mk318_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_M855_Stanag"], ["CUP_1Rnd_HEDP_M203"], ""], +["CUP_arifle_HK_M27_AG36", "CUP_muzzle_mfsup_SCAR_L", "HAFM_acc_PEQ15_side", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Red"], ["CUP_1Rnd_HEDP_M203"], ""] +]]; +_eliteLoadoutData set ["SMGs", [ +["CUP_smg_MP5A5_Rail", "", "HAFM_acc_PEQ15_side", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["CUP_smg_MP5A5_Rail_AFG", "", "HAFM_acc_PEQ15_side", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["CUP_smg_MP5A5_Rail_VFG", "", "HAFM_acc_PEQ15_side", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], + +["CUP_smg_MP5A5_Rail", "", "HAFM_acc_PEQ15_side", "CUP_optic_CompM4", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["CUP_smg_MP5A5_Rail_AFG", "", "HAFM_acc_PEQ15_side", "CUP_optic_CompM4", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["CUP_smg_MP5A5_Rail_VFG", "", "HAFM_acc_PEQ15_side", "CUP_optic_CompM4", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""] +]]; + +_eliteLoadoutData set ["machineGuns", [ +["HAFM_M249", "", "", "CUP_optic_CompM4", ["HAFM_M249_556"], [], ""], +["CUP_lmg_m249_pip2", "", "", "CUP_optic_CompM4", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""], +["CUP_lmg_m249_pip3", "", "", "CUP_optic_CompM4", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""], +["CUP_lmg_m249_pip4", "", "", "CUP_optic_CompM4", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""], + +["HAFM_M249", "", "", "CUP_optic_Elcan_reflex", ["HAFM_M249_556"], [], ""], +["CUP_lmg_m249_pip2", "", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""], +["CUP_lmg_m249_pip3", "", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""], +["CUP_lmg_m249_pip4", "", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Red_Tracer_556x45_M249"], [], ""] +]]; + +_eliteLoadoutData set ["marksmanRifles", [ +["CUP_arifle_HK417_20", "", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_arifle_HK417_20", "", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], + +["HAFM_M110_EMPTY", "", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["HAFM_20rnd_M110_762"], [], ""], +["HAFM_M110_EMPTY", "", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["HAFM_20rnd_M110_762"], [], ""], +["HAFM_M110_EMPTY", "", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["HAFM_20rnd_M110_762"], [], ""], + +["CUP_srifle_M110_black", "", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["CUP_20Rnd_762x51_B_M110", "CUP_20Rnd_TE1_Red_Tracer_762x51_M110"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_srifle_M110_black", "", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["CUP_20Rnd_762x51_B_M110", "CUP_20Rnd_TE1_Red_Tracer_762x51_M110"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_srifle_M110_black", "", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_B_M110", "CUP_20Rnd_TE1_Red_Tracer_762x51_M110"], [], "CUP_bipod_VLTOR_Modpod_black"] +]]; + +_eliteLoadoutData set ["sniperRifles", [ +["CUP_srifle_M2010_blk", "", "acc_pointer_IR", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_762x67_M2010_M", "CUP_5Rnd_TE1_Red_Tracer_762x67_M2010_M"], [], ""], +["CUP_srifle_M2010_blk", "", "acc_pointer_IR", "CUP_optic_LeupoldMk4_20x40_LRT", ["CUP_5Rnd_762x67_M2010_M", "CUP_5Rnd_TE1_Red_Tracer_762x67_M2010_M"], [], ""], +["CUP_srifle_M2010_blk", "", "acc_pointer_IR", "CUP_optic_LeupoldMk4_25x50_LRT", ["CUP_5Rnd_762x67_M2010_M", "CUP_5Rnd_TE1_Red_Tracer_762x67_M2010_M"], [], ""] +]]; +_eliteLoadoutData set ["sidearms", [ +["HAFM_G17C", "", "", "", ["HAFM_G17C_Mag"], [], ""] +]]; + +///////////////////////////////// +// Military Loadout Data // +///////////////////////////////// + +private _militaryLoadoutData = _loadoutData call _fnc_copyLoadoutData; +_militaryLoadoutData set ["uniforms", ["GR_Soldier_Uniform", "GR_F_NRF"]]; +_militaryLoadoutData set ["slUniforms", ["GR_Soldier_Uniform", "GR_F_NRF"]]; +_militaryLoadoutData set ["vests", ["CUP_V_B_PASGT_no_bags_OD", "CUP_V_B_PASGT_OD"]]; +_militaryLoadoutData set ["Hvests", ["CUP_V_B_PASGT_no_bags_OD", "CUP_V_B_PASGT_OD"]]; +_militaryLoadoutData set ["backpacks", ["Greek_Tactical_pack", "Greek_AssaultPack"]]; +_militaryLoadoutData set ["helmets", ["Greek_A_Helmet_Pasgt", "Greek_A_Helmet_Pasgt_bow", "Greek_A_Helmet_Pasgt_ess", "Greek_A_Helmet_Pasgt_ess_bow"]]; +_militaryLoadoutData set ["binoculars", ["Binocular", "Rangefinder"]]; + +_militaryLoadoutData set ["lightATLaunchers", [ +["hafm_gustav", "", "", "", ["CUP_MAAWS_HEAT_M"], [], ""] +]]; +_militaryLoadoutData set ["ATLaunchers", ["HAFM_M136_Loaded", "HAFM_M136_hp_Loaded"]]; +_militaryLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]]; + +_militaryLoadoutData set ["slRifles", [ +["HAFM_G3A3", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], + +["HAFM_G3A3", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], + +["HAFM_G3A3", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], + +["HAFM_G3A3_GL", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_G3A3_GL", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_Smoke_M203"], ""], +["HAFM_G3A3_GL", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_Smoke_M203"], ""] +]]; +_militaryLoadoutData set ["rifles", [ +["HAFM_G3A3", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_Eotech553_Black", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], + +["HAFM_G3A3", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_HensoldtZO_low_RDS", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], + +["HAFM_G3A3", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3RIS", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["HAFM_G3A3_SG", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], [], ""], +["CUP_arifle_G3A3_ris", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_ris_vfg", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""], +["CUP_arifle_G3A3_modern_ris", "", "", "CUP_optic_ACOG_TA31_KF", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_762x51_G3"], [], ""] +]]; +_militaryLoadoutData set ["carbines", [ +["CUP_arifle_HK416_CQB_Black", "", "", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_556x45_Emag", "CUP_30Rnd_556x45_Emag_Tracer_Red"], [], ""], +["CUP_arifle_HK416_CQB_Black", "", "", "CUP_optic_VortexRazor_UH1_Black", ["CUP_30Rnd_556x45_Emag", "CUP_30Rnd_556x45_Emag_Tracer_Red"], [], ""], +["CUP_arifle_HK416_CQB_Black", "", "", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Emag", "CUP_30Rnd_556x45_Emag_Tracer_Red"], [], ""] +]]; +_militaryLoadoutData set ["grenadeLaunchers", [ +["HAFM_G3A3_GL", "", "", "CUP_optic_Eotech553_Black", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_HE_M203"], ""], +["HAFM_G3A3_GL", "", "", "CUP_optic_HensoldtZO_low_RDS", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_HE_M203"], ""], +["HAFM_G3A3_GL", "", "", "CUP_optic_ACOG_TA31_KF", ["HAFM_20rnd_G3A3_762"], ["CUP_1Rnd_HE_M203"], ""] +]]; +_militaryLoadoutData set ["SMGs", [ +["CUP_smg_MP5A5", "", "", "CUP_optic_ZeissZPoint", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["HAFM_MP5A4", "", "", "CUP_optic_ZeissZPoint", ["HAFM_MP5A4_Mag"], [], ""], + +["CUP_smg_MP5A5", "", "", "CUP_optic_MRad", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["HAFM_MP5A4", "", "", "CUP_optic_MRad", ["HAFM_MP5A4_Mag"], [], ""], + +["CUP_smg_MP5A5", "", "", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["HAFM_MP5A4", "", "", "CUP_optic_AC11704_Black", ["HAFM_MP5A4_Mag"], [], ""] +]]; + +_militaryLoadoutData set ["machineGuns", [ +["HAFM_M60E4", "", "", "", ["HAFM_M60_762"], [], ""], +["CUP_lmg_M60E4_norail", "", "", "", ["CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M"], [], ""], +["CUP_lmg_M60E4", "", "", "CUP_optic_RCO", ["CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M"], [], ""], +["CUP_lmg_M60E4", "", "", "CUP_optic_VortexRazor_UH1_Black", ["CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M"], [], ""], +["CUP_lmg_M60E4", "", "", "HAFM_Elcan_Spectre_ARD_RMR", ["CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M"], [], ""] +]]; + +_militaryLoadoutData set ["marksmanRifles", [ +["CUP_arifle_HK417_20", "", "", "HAFM_M110v2_scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], +["HAFM_M110_EMPTY", "", "", "HAFM_M110v2_scope", ["HAFM_20rnd_M110_762"], [], ""], +["CUP_srifle_m110_kac_black", "", "", "HAFM_M110v2_scope", ["CUP_20Rnd_762x51_B_M110", "CUP_20Rnd_TE1_Red_Tracer_762x51_M110"], [], "CUP_bipod_VLTOR_Modpod_black"] +]]; + +_militaryLoadoutData set ["sniperRifles", [ +["CUP_srifle_M24_blk", "", "", "CUP_optic_SB_11_4x20_PM", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_srifle_M24_blk", "", "", "CUP_optic_LeupoldMk4_25x50_LRT", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"], +["CUP_srifle_M24_blk", "", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"] +]]; +_militaryLoadoutData set ["sidearms", [ +["HAFM_sig226", "", "acc_flashlight_pistol", "optic_Yorris", ["HAFM_sig226_Mag"], [], ""] +]]; + +/////////////////////////////// +// Police Loadout Data // +/////////////////////////////// + +private _policeLoadoutData = _loadoutData call _fnc_copyLoadoutData; +_policeLoadoutData set ["uniforms", ["GR_SWAT_Uniform"]]; +_policeLoadoutData set ["vests", ["GR_TacVest_Police"]]; +_policeLoadoutData set ["helmets", ["Greek_P_cap", "HAFM_MYK_Helmet"]]; + +_policeLoadoutData set ["SMGs", [ +["CUP_smg_MP5A5", "", "", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["HAFM_MP5A4", "", "", "", ["HAFM_MP5A4_Mag"], [], ""] +]]; +_policeLoadoutData set ["sidearms", [ +["HAFM_Colt1911", "", "", "", ["HAFM_1911_Mag"], [], ""] +]]; + +//////////////////////////////// +// Militia Loadout Data // +//////////////////////////////// + +private _militiaLoadoutData = _loadoutData call _fnc_copyLoadoutData; +_militiaLoadoutData set ["uniforms", ["GR_Soldier_Uniform", "GR_F_NRF"]]; +_militiaLoadoutData set ["vests", ["V_TacVest_oli", "Greek_Harness", "Greek_TacChestrig_camo"]]; +_militiaLoadoutData set ["Hvests", ["V_TacVest_oli"]]; +_militiaLoadoutData set ["backpacks", ["Greek_AssaultPack", "Greek_Tactical_pack"]]; +_militiaLoadoutData set ["helmets", ["Greek_A_Helmet"]]; + +_militiaLoadoutData set ["ATLaunchers", ["HAFM_M136_Loaded", "HAFM_M136_hp_Loaded"]]; + +_militiaLoadoutData set ["slRifles", [ +["HAFM_M4A1", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], [], ""], +["HAFM_M4A1_EMPTY", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], [], ""], +["CUP_arifle_M4A1", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Red"], [], ""], + +["HAFM_M4A1_M203", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], ["CUP_1Rnd_Smoke_M203"], ""], +["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Red"], ["CUP_1Rnd_Smoke_M203"], ""] +]]; +_militiaLoadoutData set ["rifles", [ +["HAFM_M4A1", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], [], ""], +["HAFM_M4A1_EMPTY", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], [], ""], +["CUP_arifle_M4A1", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Red"], [], ""] +]]; +_militiaLoadoutData set ["carbines", [ +["CUP_arifle_M4A1_standard_short_black", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Red"], [], ""] +]]; +_militiaLoadoutData set ["grenadeLaunchers", [ +["HAFM_M4A1_M203", "", "", "", ["hafm_mag_30Rnd_556x45_M855_Stanag", "hafm_mag_30Rnd_556x45_M855A1_Stanag", "hafm_mag_30Rnd_556x45_Mk318_Stanag"], ["CUP_1Rnd_HE_M203"], ""], +["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Red"], ["CUP_1Rnd_HE_M203"], ""] +]]; +_militiaLoadoutData set ["SMGs", [ +["CUP_smg_MP5A5", "", "", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Red_Tracer_9x19_MP5"], [], ""], +["HAFM_MP5A4", "", "", "", ["HAFM_MP5A4_Mag"], [], ""] +]]; +_militiaLoadoutData set ["machineGuns", [ +["HAFM_M60E4", "", "", "", ["HAFM_M60_762"], [], ""], +["CUP_lmg_M60E4_norail", "", "", "", ["CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M"], [], ""] +]]; + +_militiaLoadoutData set ["marksmanRifles", [ +["HAFM_M14_EMPTY", "", "", "optic_Hamr", ["HAFM_20rnd_M14_762"], [], ""], +["CUP_srifle_M14_DMR", "", "", "optic_Hamr", ["CUP_20Rnd_762x51_DMR", "CUP_20Rnd_TE1_Red_Tracer_762x51_DMR"], [], ""] +]]; +_militiaLoadoutData set ["sniperRifles", [ +["HAFM_M14_EMPTY", "", "", "optic_Hamr", ["HAFM_20rnd_M14_762"], [], ""], +["CUP_srifle_M14_DMR", "", "", "optic_Hamr", ["CUP_20Rnd_762x51_DMR", "CUP_20Rnd_TE1_Red_Tracer_762x51_DMR"], [], ""] +]]; +_militiaLoadoutData set ["sidearms", [ +["HAFM_sig226", "", "", "", ["HAFM_sig226_Mag"], [], ""] +]]; + +////////////////////////// +// Misc Loadouts // +////////////////////////// + + +private _crewLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData; +_crewLoadoutData set ["uniforms", ["GR_A5_Uniform"]]; +_crewLoadoutData set ["vests", ["GR_PlateCarrier"]]; +_crewLoadoutData set ["helmets", ["H_HelmetCrew_I"]]; + + +private _pilotLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData; +_pilotLoadoutData set ["uniforms", ["GR_HeliPilot_Uniform"]]; +_pilotLoadoutData set ["vests", ["Greek_Harness"]]; +_pilotLoadoutData set ["helmets", ["H_CrewHelmetHeli_O", "H_PilotHelmetHeli_O", "Greek_A_Pilot_Helmet"]]; + + + + + +///////////////////////////////// +// Unit Type Definitions // +///////////////////////////////// + + +private _squadLeaderTemplate = { + [selectRandomWeighted ["helmets", 2, "slHat", 1]] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + [["Hvests", "vests"] call _fnc_fallback] call _fnc_setVest; + [["slUniforms", "uniforms"] call _fnc_fallback] call _fnc_setUniform; + + [["slRifles", "rifles"] call _fnc_fallback] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + ["primary", 4] call _fnc_addAdditionalMuzzleMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_squadLeader_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 2] call _fnc_addItem; + ["signalsmokeGrenades", 2] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["gpses"] call _fnc_addGPS; + ["binoculars"] call _fnc_addBinoculars; + ["NVGs"] call _fnc_addNVGs; +}; + +private _riflemanTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_rifleman_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 2] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _radiomanTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + ["longRangeRadios"] call _fnc_setBackpack; + + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_rifleman_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 2] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _medicTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + [["Hvests", "vests"] call _fnc_fallback] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + ["backpacks"] call _fnc_setBackpack; + [selectRandom ["carbines", "rifles"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_medic"] call _fnc_addItemSet; + ["items_medic_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _grenadierTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 1.5, "glasses", 0.75, "goggles", 1.25]] call _fnc_setFacewear; + [["Hvests", "vests"] call _fnc_fallback] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + if (random 1 < 0.3) then { + [["designatedGrenadeLaunchers", "grenadeLaunchers"] call _fnc_fallback] call _fnc_setPrimary; + ["backpacks"] call _fnc_setBackpack; + } else { + ["grenadeLaunchers"] call _fnc_setPrimary; + }; + + ["primary", 6] call _fnc_addMagazines; + ["primary", 10] call _fnc_addAdditionalMuzzleMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_grenadier_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 4] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _explosivesExpertTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + [["Hvests", "vests"] call _fnc_fallback] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + ["backpacks"] call _fnc_setBackpack; + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_explosivesExpert_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + + ["lightExplosives", 2] call _fnc_addItem; + if (random 1 > 0.5) then {["heavyExplosives", 1] call _fnc_addItem;}; + if (random 1 > 0.5) then {["atMines", 1] call _fnc_addItem;}; + if (random 1 > 0.5) then {["apMines", 1] call _fnc_addItem;}; + + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 1] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _engineerTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + ["backpacks"] call _fnc_setBackpack; + + [selectRandom ["carbines", "rifles"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_engineer_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + + if (random 1 > 0.5) then {["lightExplosives", 1] call _fnc_addItem;}; + + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _latTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 1.5, "glasses", 0.75, "goggles", 1]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + [["atBackpacks", "backpacks"] call _fnc_fallback] call _fnc_setBackpack; + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + [["lightATLaunchers", "ATLaunchers"] call _fnc_fallback] call _fnc_setLauncher; + //TODO - Add a check if it's disposable. + ["launcher", 3] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_lat_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 1] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _atTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + [["atBackpacks", "backpacks"] call _fnc_fallback] call _fnc_setBackpack; + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 5] call _fnc_addMagazines; + + [selectRandom ["ATLaunchers", "missileATLaunchers"]] call _fnc_setLauncher; + //TODO - Add a check if it's disposable. + ["launcher", 3] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_at_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 1] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _aaTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + [["atBackpacks", "backpacks"] call _fnc_fallback] call _fnc_setBackpack; + + [selectRandom ["rifles", "carbines"]] call _fnc_setPrimary; + ["primary", 5] call _fnc_addMagazines; + + ["AALaunchers"] call _fnc_setLauncher; + //TODO - Add a check if it's disposable. + ["launcher", 3] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_aa_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 1] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _machineGunnerTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + ["backpacks"] call _fnc_setBackpack; + + ["machineGuns"] call _fnc_setPrimary; + ["primary", 4] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_machineGunner_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["NVGs"] call _fnc_addNVGs; +}; + +private _marksmanTemplate = { + [selectRandomWeighted ["helmets", 2, "sniHats", 1]] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + + ["marksmanRifles"] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_marksman_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["rangefinders"] call _fnc_addBinoculars; + ["NVGs"] call _fnc_addNVGs; +}; + +private _sniperTemplate = { + ["sniHats"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + [["sniVests","vests"] call _fnc_fallback] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + + [["sniperRifles", "marksmanRifles"] call _fnc_fallback] call _fnc_setPrimary; + ["primary", 6] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_sniper_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["antiInfantryGrenades", 1] call _fnc_addItem; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["rangefinders"] call _fnc_addBinoculars; + ["NVGs"] call _fnc_addNVGs; +}; + +private _policeTemplate = { + ["helmets"] call _fnc_setHelmet; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + + ["SMGs"] call _fnc_setPrimary; + ["primary", 3] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_standard"] call _fnc_addItemSet; + ["items_police_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["smokeGrenades", 1] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; +}; + +private _crewTemplate = { + ["helmets"] call _fnc_setHelmet; + [selectRandomWeighted [[], 2, "glasses", 0.75, "goggles", 0.5]] call _fnc_setFacewear; + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + [selectRandom ["carbines", "SMGs"]] call _fnc_setPrimary; + ["primary", 3] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_basic"] call _fnc_addItemSet; + ["items_crew_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + ["smokeGrenades", 2] call _fnc_addItem; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; + ["gpses"] call _fnc_addGPS; + ["NVGs"] call _fnc_addNVGs; +}; + +private _unarmedTemplate = { + ["vests"] call _fnc_setVest; + ["uniforms"] call _fnc_setUniform; + + ["items_medical_basic"] call _fnc_addItemSet; + ["items_unarmed_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; +}; + +private _traitorTemplate = { + ["traitorHats"] call _fnc_setHelmet; + [selectRandomWeighted [[], 1.25, "glasses", 0.75]] call _fnc_setFacewear; + ["traitorVests"] call _fnc_setVest; + ["traitorUniforms"] call _fnc_setUniform; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_basic"] call _fnc_addItemSet; + ["items_unarmed_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; +}; + +private _officerTemplate = { + ["officerHats"] call _fnc_setHelmet; + [selectRandomWeighted [[], 1.25, "glasses", 0.75]] call _fnc_setFacewear; + ["officerVests"] call _fnc_setVest; + ["officerUniforms"] call _fnc_setUniform; + + [["SMGs", "carbines"] call _fnc_fallback] call _fnc_setPrimary; + ["primary", 3] call _fnc_addMagazines; + + ["sidearms"] call _fnc_setHandgun; + ["handgun", 2] call _fnc_addMagazines; + + ["items_medical_basic"] call _fnc_addItemSet; + ["items_unarmed_extras"] call _fnc_addItemSet; + ["items_miscEssentials"] call _fnc_addItemSet; + + ["maps"] call _fnc_addMap; + ["watches"] call _fnc_addWatch; + ["compasses"] call _fnc_addCompass; + ["radios"] call _fnc_addRadio; +}; + + +//////////////////////////////////////////////////////////////////////////////////////// +// You shouldn't touch below this line unless you really really know what you're doing. +// Things below here can and will break the gamemode if improperly changed. +//////////////////////////////////////////////////////////////////////////////////////// + +///////////////////////////// +// Special Forces Units // +///////////////////////////// +private _prefix = "SF"; +private _unitTypes = [ + ["SquadLeader", _squadLeaderTemplate, [], [_prefix]], + ["Rifleman", _riflemanTemplate, [], [_prefix]], + ["Radioman", _radiomanTemplate, [], [_prefix]], + ["Medic", _medicTemplate, [["medic", true]], [_prefix]], + ["Engineer", _engineerTemplate, [["engineer", true]], [_prefix]], + ["ExplosivesExpert", _explosivesExpertTemplate, [["explosiveSpecialist", true]], [_prefix]], + ["Grenadier", _grenadierTemplate, [], [_prefix]], + ["LAT", _latTemplate, [], [_prefix]], + ["AT", _atTemplate, [], [_prefix]], + ["AA", _aaTemplate, [], [_prefix]], + ["MachineGunner", _machineGunnerTemplate, [], [_prefix]], + ["Marksman", _marksmanTemplate, [], [_prefix]], + ["Sniper", _sniperTemplate, [], [_prefix]] +]; + +[_prefix, _unitTypes, _sfLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; + +/*{ + params ["_name", "_loadoutTemplate"]; + private _loadouts = [_sfLoadoutData, _loadoutTemplate] call _fnc_buildLoadouts; + private _finalName = _prefix + _name; + [_finalName, _loadouts] call _fnc_saveToTemplate; +} forEach _unitTypes; +*/ + +/////////////////////// +// Military Units // +/////////////////////// +private _prefix = "military"; +private _unitTypes = [ + ["SquadLeader", _squadLeaderTemplate, [], [_prefix]], + ["Rifleman", _riflemanTemplate, [], [_prefix]], + ["Radioman", _radiomanTemplate, [], [_prefix]], + ["Medic", _medicTemplate, [["medic", true]], [_prefix]], + ["Engineer", _engineerTemplate, [["engineer", true]], [_prefix]], + ["ExplosivesExpert", _explosivesExpertTemplate, [["explosiveSpecialist", true]], [_prefix]], + ["Grenadier", _grenadierTemplate, [], [_prefix]], + ["LAT", _latTemplate, [], [_prefix]], + ["AT", _atTemplate, [], [_prefix]], + ["AA", _aaTemplate, [], [_prefix]], + ["MachineGunner", _machineGunnerTemplate, [], [_prefix]], + ["Marksman", _marksmanTemplate, [], [_prefix]], + ["Sniper", _sniperTemplate, [], [_prefix]] +]; + +[_prefix, _unitTypes, _militaryLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; + +//////////////////////// +// Police Units // +//////////////////////// +private _prefix = "police"; +private _unitTypes = [ + ["SquadLeader", _policeTemplate, [], [_prefix]], + ["Standard", _policeTemplate, [], [_prefix]] +]; + +[_prefix, _unitTypes, _policeLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; + +//////////////////////// +// Militia Units // +//////////////////////// +private _prefix = "militia"; +private _unitTypes = [ + ["SquadLeader", _squadLeaderTemplate, [], [_prefix]], + ["Rifleman", _riflemanTemplate, [], [_prefix]], + ["Radioman", _radiomanTemplate, [], [_prefix]], + ["Medic", _medicTemplate, [["medic", true]], [_prefix]], + ["Engineer", _engineerTemplate, [["engineer", true]], [_prefix]], + ["ExplosivesExpert", _explosivesExpertTemplate, [["explosiveSpecialist", true]], [_prefix]], + ["Grenadier", _grenadierTemplate, [], [_prefix]], + ["LAT", _latTemplate, [], [_prefix]], + ["AT", _atTemplate, [], [_prefix]], + ["AA", _aaTemplate, [], [_prefix]], + ["MachineGunner", _machineGunnerTemplate, [], [_prefix]], + ["Marksman", _marksmanTemplate, [], [_prefix]], + ["Sniper", _sniperTemplate, [], [_prefix]] +]; + +[_prefix, _unitTypes, _militiaLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; + +/////////////////////// +// Elite Units // +/////////////////////// +private _prefix = "elite"; +private _unitTypes = [ + ["SquadLeader", _squadLeaderTemplate, [], [_prefix]], + ["Rifleman", _riflemanTemplate, [], [_prefix]], + ["Radioman", _radiomanTemplate, [], [_prefix]], + ["Medic", _medicTemplate, [["medic", true]], [_prefix]], + ["Engineer", _engineerTemplate, [["engineer", true]], [_prefix]], + ["ExplosivesExpert", _explosivesExpertTemplate, [["explosiveSpecialist", true]], [_prefix]], + ["Grenadier", _grenadierTemplate, [], [_prefix]], + ["LAT", _latTemplate, [], [_prefix]], + ["AT", _atTemplate, [], [_prefix]], + ["AA", _aaTemplate, [], [_prefix]], + ["MachineGunner", _machineGunnerTemplate, [], [_prefix]], + ["Marksman", _marksmanTemplate, [], [_prefix]], + ["Sniper", _sniperTemplate, [], [_prefix]] +]; + +[_prefix, _unitTypes, _eliteLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; + +////////////////////// +// Misc Units // +////////////////////// + +//The following lines are determining the loadout of vehicle crew +["other", [["Crew", _crewTemplate, [], ["other"]]], _crewLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; +["other", [["Pilot", _crewTemplate, [], ["other"]]], _pilotLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; +//The following lines are determining the loadout for the unit used in the "kill the official" mission +["other", [["Official", _officerTemplate, [], ["other"]]], _militaryLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; +//The following lines are determining the loadout for the AI used in the "kill the traitor" mission +["other", [["Traitor", _traitorTemplate, [], ["other"]]], _militiaLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; +//The following lines are determining the loadout for the AI used in the "Invader Punishment" mission +["other", [["Unarmed", _UnarmedTemplate, [], ["other"]]], _militaryLoadoutData] call _fnc_generateAndSaveUnitsToTemplate; \ No newline at end of file diff --git a/A3A/addons/core/Templates/Templates/CUP/templates.hpp b/A3A/addons/core/Templates/Templates/CUP/templates.hpp index dac14a00f8..31e4886a71 100644 --- a/A3A/addons/core/Templates/Templates/CUP/templates.hpp +++ b/A3A/addons/core/Templates/Templates/CUP/templates.hpp @@ -258,4 +258,19 @@ flagTexture = "a3\data_f_enoch\flags\flag_enoch_co.paa"; name = "CUP LDF"; file = "CUP_AI_LDF"; + }; + + class HAFM_Base : CUP_Base + { + requiredAddons[] = {"CUP_Creatures_People_Civil_Russia", "CUP_BaseConfigs", "CUP_AirVehicles_Core", "HAFM_Acc"}; // units, weapons, vehicles + //requiredAddons[] = {"CUP_AirVehicles_Core"}; // vehicles requires units & weapons + priority = 61; + }; + + class CUP_HAFM : HAFM_Base + { + side = "Occ"; + flagTexture = "\A3\ui_f\data\map\markers\flags\Greece_ca.paa"; + name = "CUP HAFM"; + file = "CUP_AI_HAFM"; }; \ No newline at end of file diff --git a/A3A/addons/hals/Addons/store/config.hpp b/A3A/addons/hals/Addons/store/config.hpp index 2b091a99cd..00d9dde65d 100644 --- a/A3A/addons/hals/Addons/store/config.hpp +++ b/A3A/addons/hals/Addons/store/config.hpp @@ -830,5 +830,24 @@ class cfgHALsStore "opticsCWR" }; }; + class hafmstock + { + displayName = $STR_ARMS_DEALER_STORE; + categories[] = { + "handgunsHAFM", + "smgHAFM", + "mgHAFM", + "riflesHAFM", + "sniperriflesHAFM", + "launchersHAFM", + "launchermagazinesHAFM", + "muzzlesHAFM", + "magazinesHAFM", + "pointersHAFM", + "specialweaponsHAFM", + "opticsHAFM", + "underbarrelHAFM" + }; + }; }; }; diff --git a/A3A/addons/hals/Addons/store/config/hafm.hpp b/A3A/addons/hals/Addons/store/config/hafm.hpp new file mode 100644 index 0000000000..1f98da6b72 --- /dev/null +++ b/A3A/addons/hals/Addons/store/config/hafm.hpp @@ -0,0 +1,149 @@ + class handgunsHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_handguns"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\handgun_ca.paa"; + + ITEM(HAFM_Colt1911, 200, PISTOL_STOCK);// HAFM_1911_Mag + ITEM(HAFM_G17C, 150, PISTOL_STOCK);// HAFM_G17C_Mag + ITEM(HAFM_sig226, 170, PISTOL_STOCK);// HAFM_sig226 + }; + + class smgHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_smgs"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa"; + + ITEM(HAFM_MP5A4, 200, RIFLE_STOCK);// HAFM_MP5A4_Mag + ITEM(HAFM_MP5A4_EOD, 500, RIFLE_STOCK);// UGL | HAFM_MP5A4_Mag + }; + + class mgHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_mgs"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa"; + + ITEM(HAFM_M60E4, 1250, RIFLE_STOCK);// HAFM_M60_762 + ITEM(HAFM_M249, 1250, RIFLE_STOCK);// HAFM_M249_556 + ITEM(HAFM_HK21, 1400, RIFLE_STOCK);// HAFM_HK21_762 + }; + + class riflesHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_rifles"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa"; + ITEM(HAFM_m4dd_short, 800, RIFLE_STOCK);// hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_m4ddGL_short, 1200, RIFLE_STOCK);// UGL | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_m4ddGL320_short, 1250, RIFLE_STOCK);// Better UGL? | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_m4ddv5_long, 900, RIFLE_STOCK);// M4DD But Heavier and Longer Shaft | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_G36C, 800, RIFLE_STOCK);// HAFM_G36C_mag + ITEM(HAFM_G36C_M320, 1200, RIFLE_STOCK);// UGL | HAFM_G36C_mag + ITEM(HAFM_G3A3, 800, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A3_GL, 1200, RIFLE_STOCK);// UGL | HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A3RIS, 900, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A4, 800, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A3_SG, 800, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A3, 800, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_G3A3, 800, RIFLE_STOCK);// HAFM_20rnd_G3A3_762 + ITEM(HAFM_HK416, 800, RIFLE_STOCK);// M4DD But Cooler Looking | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_HK416GL, 1250, RIFLE_STOCK);// M4DD But Cooler Looking and UGL | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_M4A1, 800, RIFLE_STOCK);// M4DD But Older | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_M4A1_EMPTY, 800, RIFLE_STOCK);// M4DD But Older | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + ITEM(HAFM_M4A1_M203, 1200, RIFLE_STOCK);// M4DD But Older and UGL | hafm_mag_30Rnd_556x45_M855_Stanag/hafm_mag_30Rnd_556x45_M855A1_Stanag/hafm_mag_30Rnd_556x45_Mk318_Stanag + }; + + class sniperriflesHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_sniperRifles"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa"; + + ITEM(HAFM_M14_EMPTY, 2550, RIFLE_STOCK);// HAFM_20rnd_M14_762 + ITEM(HAFM_M110_EMPTY, 3250, RIFLE_STOCK);// HAFM_20rnd_M110_762 + ITEM(HAFM_M107_EMPTY, 4500, RIFLE_STOCK);// HAFM_10rnd_M107 + }; + + class launchersHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_launchers"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\secondaryWeapon_ca.paa"; + ITEM(hafm_gustav, 1250, 20); + ITEM(HAFM_fgm148, 3250, 3);// hafm_fgm148_magazine_AT + ITEM(HAFM_M136_Loaded, 750, LAUNCHER_STOCK);// Disposable + ITEM(HAFM_M136_hedp_Loaded, 750, LAUNCHER_STOCK);// Disposable + ITEM(HAFM_M136_hp_Loaded, 750, LAUNCHER_STOCK);// Disposable + ITEM(HAFM_M72_Loaded, 750, LAUNCHER_STOCK);// Disposable + }; + + class launchermagazinesHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_launcherAmmo"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\cargoMag_ca.paa"; + ITEM(hafm_fgm148_magazine_AT, 300, 10); + }; + + class muzzlesHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_muzzles"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemMuzzle_ca.paa"; + + ITEM(HAFM_M4_muzzle_snds_556, 50, MZ_STOCK); + ITEM(HAFM_M249_muzzle, 50, MZ_STOCK); + ITEM(HAFM_Mad_556_muzzle, 50, MZ_STOCK); + ITEM(HAFM_G3_762_muzzle, 60, MZ_STOCK); + ITEM(HAFM_Gem_762_muzzle, 60, MZ_STOCK); + ITEM(HAFM_MP5_muzzle_snds_9mm, 25, MZ_STOCK); + }; + + class magazinesHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_magazines"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\cargoMag_ca.paa"; + + ITEM(hafm_mag_30Rnd_556x45_M855_Stanag, 100, MZ_STOCK); + ITEM(hafm_mag_30Rnd_556x45_M855A1_Stanag, 100, MZ_STOCK); + ITEM(hafm_mag_30Rnd_556x45_Mk318_Stanag, 100, MZ_STOCK); + ITEM(hafm_mag_arrow, 80, MZ_STOCK); + ITEM(hafm_mag_arrow_exp, 400, MZ_STOCK); + ITEM(HAFM_G36C, 100, MZ_STOCK); + ITEM(HAFM_20rnd_G3A3_762, 150, MZ_STOCK); + ITEM(HAFM_HK21_762, 150, MZ_STOCK); + ITEM(HAFM_20rnd_M14_762, 150, MZ_STOCK); + ITEM(HAFM_20rnd_M110_762, 150, MZ_STOCK); + ITEM(HAFM_M249_556, 150, MZ_STOCK); + ITEM(HAFM_M60_762, 150, MZ_STOCK); + ITEM(HAFM_MP5A4_Mag, 80, MZ_STOCK); + ITEM(HAFM_10rnd_M107, 400, MZ_STOCK); + }; + + class pointersHAFM{ + displayName = __EVAL(formatText ["%1 %2 %3 %4 %5", localize "STR_A3AU_hafm", localize "STR_A3AU_barret", localize "STR_A3AU_handles", localize "STR_A3AU_and", localize "STR_A3AU_bipods"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemAcc_ca.paa"; + + ITEM(HAFM_acc_PEQ15_side, 100, PN_STOCK); + ITEM(HAFM_flashlight_trl, 70, PN_STOCK); + ITEM(HAFM_acc_flashlight_mp5, 40, PN_STOCK); + }; + + class specialweaponsHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_specialWeapons"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa"; + ITEM(hafm_crossbow, 300, RIFLE_STOCK);// Really Cool | hafm_mag_arrow/hafm_mag_arrow_exp + }; + + class opticsHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_sights"]); + picture = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa"; + ITEM(HAFM_acog_rmr, 200, 100); + ITEM(HAFM_acog_ard_rmr, 230, 100); + ITEM(HAFM_Mark_Scope, 300, 100); + ITEM(HAFM_Comp_m3, 150, 100); + ITEM(HAFM_Comp_m3_low, 150, 100); + ITEM(HAFM_Comp_m4, 150, 100); + ITEM(HAFM_optic_ELCAN, 200, 100); + ITEM(HAFM_Elcan_Spectre, 200, 100); + ITEM(HAFM_Elcan_Spectre_ARD, 200, 100); + ITEM(HAFM_Elcan_Spectre_ARD_RMR, 230, 100); + ITEM(HAFM_Eotech_553, 150, 100); + ITEM(HAFM_Eotech_553_tan, 150, 100); + ITEM(HAFM_scope_optic_m107, 300, 100); + ITEM(HAFM_M68, 150, 100); + ITEM(HAFM_M110v2_scope, 300, 100); + ITEM(HAFM_Mk4_LRT, 500, 100); + }; + + class underbarrelHAFM{ + displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_hafm", localize "STR_A3AU_bagsStatics"]); + picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemBipod_ca.paa"; + + ITEM(HAFM_Harris_Bipod, 100, 50); + }; diff --git a/A3A/addons/hals/Stringtable.xml b/A3A/addons/hals/Stringtable.xml index 324d1e242e..9f1b3ee6be 100644 --- a/A3A/addons/hals/Stringtable.xml +++ b/A3A/addons/hals/Stringtable.xml @@ -861,6 +861,13 @@ Cold War ReArmed Cold War ReArmed + + HAFM + HAFM + HAFM + HAFM + HAFM + diff --git a/A3A/addons/logistics/CfgLogistics.hpp b/A3A/addons/logistics/CfgLogistics.hpp index 385514454a..6129dd1f26 100644 --- a/A3A/addons/logistics/CfgLogistics.hpp +++ b/A3A/addons/logistics/CfgLogistics.hpp @@ -39,6 +39,7 @@ class DOUBLES(ADDON,Nodes) #include "Nodes\EAW.hpp" #include "Nodes\FOW.hpp" #include "Nodes\CWR.hpp" + #include "Nodes\HAFM.hpp" }; class DOUBLES(ADDON,Cargo) diff --git a/A3A/addons/logistics/Nodes/HAFM.hpp b/A3A/addons/logistics/Nodes/HAFM.hpp new file mode 100644 index 0000000000..fa39d5c910 --- /dev/null +++ b/A3A/addons/logistics/Nodes/HAFM.hpp @@ -0,0 +1,58 @@ +/* +passed output from the function: A3A_Logistics_fnc_generateHardPoints +*/ + +/* + Function: A3A_Logistics_fnc_generateHardPoints + Author: [Håkon] + [Description] + Generates a rough node array for you based on the visual start and end of the intended cargo plane, + in addition visual guides are rendered on screen to give you an idea of where it is relative to you. + visuals last for 60 seconds. + + These are: + Green dot : start position of cargo plane (only visible if you can see the position) + Red dot : end position of cargo plane (only visible if you can see the position) + white line : cargo plane bounds + white dots : Node return positions + + Arguments: + 0. Vehicle your generating the nodes for + 1. Model relativ position of cargo plane start position + 2. The lenght of the cargo plane + 3. Return preped for model based definition instead of class based + + Return Value: + generated node class to be pasted in to the config + + Scope: Clients + Environment: unscheduled + Public: [Yes] + Dependencies: + + Example: [cursorTarget, [0,-0.7,-0.7], 2.1] call A3A_Logistics_fnc_generateHardPoints; +*/ + +/* +example output +*/ +class HAFM_Vehicles_Unimog1550_Unimog1550_p3d : TRIPLES(ADDON,Nodes,Base) +{ + class Nodes + { + class Node1 + { + offset[] = {0,-0.9,-0.5}; + }; + class Node2 + { + offset[] = {0,-1.7,-0.5}; + }; + class Node3 + { + offset[] = {0,-2.5,-0.5}; + }; + }; +}; + + diff --git a/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp b/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp index 7447f19c99..d56e2db83d 100644 --- a/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp +++ b/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp @@ -275,6 +275,42 @@ class planeLoadouts loadout[] = {"sab_fl_bomb_axis_8rnd_flat_1000_mag","sab_fl_bomb_axis_fritzx_mag","sab_fl_bomb_axis_fritzx_mag"}; bombRacks[] = {"sab_fl_bomb_bay_weapon","sab_fl_fritzx_weapon"}; diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; + //HAFM + class A7BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class A7BLU_TIGER + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class F4E_BLU + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class F4E_BLU_AG + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"CUP_Vmlauncher_AIM120_veh", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; }; }; @@ -596,6 +632,37 @@ class planeLoadouts mainGun = "LS93_Cannon"; rocketLauncher[] = {"TS5_ProtonLauncher","TS5A_ProtonLauncher"}; }; + //HAFM + class A7BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + }; + class A7BLU_TIGER + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + }; + class F4E_BLU + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + }; + class F4E_BLU_AG + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + }; }; class AA @@ -819,5 +886,26 @@ class planeLoadouts { mainGun = "sab_fl_4x_hmg_weapon"; }; + //HAFM + class F16C_BLU + { + loadout[] = {"PylonPod_1x_Missile_AIM9_R","PylonMissile_AA_AIM120_1x","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonMissile_AA_AIM120_1x","PylonPod_1x_Missile_AIM9_L"}; + mainGun = "HAFM_M61A2"; + missileLauncher[] = {"HAFM_AIM9_Launcher","HAFM_AIM120_Launcher","missiles_ASRAAM"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; + class F16_B52_BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_GAA_missiles","PylonRack_1Rnd_GAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles"}; + missileLauncher[] = {"HAFM_AIM120_Launcher","missiles_ASRAAM"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M","","CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"CUP_Vmlauncher_AIM120_veh","CUP_Vmlauncher_AIM9L_veh_1Rnd"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; }; }; diff --git a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp index d961c07697..cbb995fbf2 100644 --- a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp +++ b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp @@ -261,4 +261,10 @@ { addons[] = {"sab_navallegends"}; vehicles = "vehicles_navleg"; + }; + class addons_hafm : addons_base + { + addons[] = {"HAFM_Acc"}; + weapons = "weapons_hafm"; + vehicles = "vehicles_hafm"; }; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp index 9cd739f450..d1d98f555c 100644 --- a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp +++ b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp @@ -141,4 +141,8 @@ class weapons_cwriii : weapons_base { prefix = "cwrstock"; + }; + class weapons_hafm : weapons_base + { + prefix = "hafmstock"; }; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp new file mode 100644 index 0000000000..239cfca37a --- /dev/null +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp @@ -0,0 +1,50 @@ +class vehicles_hafm : vehicles_base +{ + ITEM(HAFM_GD240_Unarmed2, 900, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(HAFM_HMMWV1, 900, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(HAFM_VBL2, 1080, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(Unimog1550_Covered2, 1750, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR);//ADDED NODES + ITEM(Unimog1550_SemiCovered2, 1750, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR);//DIDNT ADD NODES SINCE SEATS WERE IN WAY + //HAS AMMO AND FUEL TRUCK BUT THEY ARE TECHNICALLY NOT AN AMMO AND FUEL TRUCK SO NOT ADDING THEM TO A.D. ¯\_(ツ)_/¯ + + ITEM(HAFM_GD240_Patrol2, 2400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_M2, 4400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_MK19, 7400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_Kornet, 11900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_Milan, 12900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR);//This one has Rearming Capability For Whatever Reason. I think Mod Author meant to put -1 instead of 1 + ITEM(HAFM_HMMWV1_TOW, 8900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_VBL2_M50, 5400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_VBL2_M240, 3100, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + + ITEM(Leonidas2_2, 6700, "APC", VEHICLE_CONDITION_APC); + ITEM(Leonidas3_BLU, 31850, "APC", VEHICLE_CONDITION_APC); + ITEM(blx_M1117_GR, 20060, "APC", VEHICLE_CONDITION_APC); + + ITEM(Leopard1A4_2, 41000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(M60A3_2, 44000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(Leopard2A4_2, 41000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(Leopard2A6HEL_2, 46000, "TANK", VEHICLE_CONDITION_TANK); + + ITEM(HAFM_Naval_RHIB, 2100, "BOAT", VEHICLE_CONDITION_BOAT);//Never thought I'd see the day where I'm putting boats into the Arms Dealer + ITEM(HAFM_Naval_CB90_BLU, 53630, "BOAT", VEHICLE_CONDITION_BOAT); + + ITEM(A7BLU, 67900, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(A7BLU_TIGER, 67900, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F16C_BLU, 95200, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F16_B52_BLU, 95200, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F4E_BLU, 68500, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F4E_BLU_AG, 68500, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(M2000C_BLU, 90250, "PLANE", VEHICLE_CONDITION_PLANE); + + ITEM(HAFM_UH1H, 9960, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_Kiowa, 19060, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_Kiowa_AT, 19225, "HELI", VEHICLE_CONDITION_HELI); + ITEM(NH90_GR2, 11000, "HELI", VEHICLE_CONDITION_HELI); + ITEM(NH90Armed_GR2, 11990, "HELI", VEHICLE_CONDITION_HELI); + ITEM(CH_47F_BLU, 15390, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_AH64D, 29025, "HELI", VEHICLE_CONDITION_HELI); + + ITEM(GR_MBT_mlrs, 69000, "ARTILLERY", VEHICLE_CONDITION_ARTILLERY); + + ITEM(HAFM_Pegasus, 12500, "UAV", VEHICLE_CONDITION_UAV); +}; diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp index a9c2c03086..7a08fc7c92 100644 --- a/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp @@ -36,3 +36,4 @@ #include "vehicles_navleg.hpp" #include "vehicles_flyleg.hpp" #include "vehicles_scrtwpns.hpp" +#include "vehicles_hafm.hpp" From e8a8818fa284fac772f23c2511bc095354a2e98f Mon Sep 17 00:00:00 2001 From: Hophri <50061641+Azodion@users.noreply.github.com> Date: Sat, 28 Sep 2024 00:02:50 -0500 Subject: [PATCH 2/2] Fixing Mistake --- A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf index 8f969fc87e..6aca778962 100644 --- a/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf +++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_HAFM.sqf @@ -320,9 +320,9 @@ _sfLoadoutData set ["marksmanRifles", [ ["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], ["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Red_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"], -["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], -["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], -["CUP_arifle_HK417_20", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"] +["HAFM_M110_EMPTY", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_M110v2_scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], +["HAFM_M110_EMPTY", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "HAFM_Mark_Scope", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"], +["HAFM_M110_EMPTY", "HAFM_Gem_762_muzzle", "HAFM_acc_PEQ15_side", "CUP_optic_SB_11_4x20_PM", ["HAFM_20rnd_M110_762"], [], "CUP_bipod_VLTOR_Modpod_black"] ]]; _sfLoadoutData set ["sniperRifles", [ ["HAFM_M107_EMPTY", "", "", "HAFM_scope_optic_m107", ["HAFM_10rnd_M107"], [], ""],