diff --git a/A3A/addons/core/CfgMarkers.hpp b/A3A/addons/core/CfgMarkers.hpp
index a706a79733..84e7cd340b 100644
--- a/A3A/addons/core/CfgMarkers.hpp
+++ b/A3A/addons/core/CfgMarkers.hpp
@@ -108,12 +108,18 @@ class CfgMarkers
texture = QPATHTOFOLDER(Pictures\Markers\CSAT_SFIA_Marker.paa);
};
+ class a3a_flag_FIN: flag_NATO
+ {
+ name = "Finland";
+ icon = QPATHTOFOLDER(Pictures\Markers\marker_fin_co.paa);
+ texture = QPATHTOFOLDER(Pictures\Markers\marker_fin_co.paa);
+ };
+
class a3a_flag_LRI: flag_NATO
{
name = "LRI";
icon = QPATHTOFOLDER(Pictures\Markers\marker_lri_co.paa);
texture = QPATHTOFOLDER(Pictures\Markers\marker_lri_co.paa);
-
};
class a3a_flag_cdf: flag_NATO
diff --git a/A3A/addons/core/Pictures/Markers/marker_fin_co.paa b/A3A/addons/core/Pictures/Markers/marker_fin_co.paa
new file mode 100644
index 0000000000..30c284387a
Binary files /dev/null and b/A3A/addons/core/Pictures/Markers/marker_fin_co.paa differ
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..6aca778962
--- /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"],
+
+["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"], [], ""],
+["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/CUP_AI_NorAF_Arctic.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_NorAF_Arctic.sqf
new file mode 100644
index 0000000000..152a408da6
--- /dev/null
+++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_NorAF_Arctic.sqf
@@ -0,0 +1,1239 @@
+//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;
+
+#include "..\..\script_component.hpp" // TAKE NOTE OF THIS. WITHOUT THIS, YOU CAN'T USE MACROS LIKE QPATHTOFOLDER.
+
+//////////////////////////
+// Side Information //
+//////////////////////////
+
+["name", "NorAF"] call _fnc_saveToTemplate; //this line determines the faction name -- Example: ["name", "NATO"] - ENTER ONLY ONE OPTION
+["spawnMarkerName", format [localize "STR_supportcorridor", "NorAF"]] 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_NATO_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\Norway_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_Norway"] 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_IND_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
+
+private _vehiclesLightUnarmed = ["CUP_B_nM1025_Unarmed_NATO_T", "CUP_B_nM1025_Unarmed_DF_NATO_T", "CUP_B_nM1151_Unarmed_NATO_T", "CUP_B_nM1151_Unarmed_DF_NATO_T"];
+private _vehiclesLightArmed = ["Flex_CUP_NOR_Dingo_MG", "Flex_CUP_NOR_Dingo_GL"];
+
+if (isClass (configFile >> "CfgPatches" >> "Swedish_Forces_Pack")) then {
+ _vehiclesLightUnarmed append ["sfp_bv206", "sfp_tgb16"];
+ _vehiclesLightArmed append ["sfp_tgb16_ksp58", "sfp_tgb16_rws"];
+};
+
+["vehiclesBasic", ["B_T_Quadbike_01_F"]] call _fnc_saveToTemplate; //this line determines basic vehicles, the lightest kind available. -- Example: ["vehiclesBasic", ["B_Quadbike_01_F"]] -- Array, can contain multiple assets
+["vehiclesLightUnarmed", _vehiclesLightUnarmed] call _fnc_saveToTemplate; //this line determines light and unarmed vehicles. -- Example: ["vehiclesLightUnarmed", ["B_MRAP_01_F"]] -- Array, can contain multiple assets
+["vehiclesLightArmed", _vehiclesLightArmed] 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", ["Flex_CUP_NOR_Truck_01_transport", "Flex_CUP_NOR_Truck_01_covered"]] 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", ["Flex_CUP_NOR_Truck_01_flatbed", "Flex_CUP_NOR_Truck_01_cargo"]] 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", ["Flex_CUP_NOR_Truck_01_ammo", "Flex_CUP_NOR_M113A3_Reammo"]] call _fnc_saveToTemplate; //this line determines ammo trucks -- Example: ["vehiclesAmmoTrucks", ["B_Truck_01_ammo_F"]] -- Array, can contain multiple assets
+["vehiclesRepairTrucks", ["Flex_CUP_NOR_Truck_01_Repair", "Flex_CUP_NOR_M113A3_Repair"]] call _fnc_saveToTemplate; //this line determines repair trucks -- Example: ["vehiclesRepairTrucks", ["B_Truck_01_Repair_F"]] -- Array, can contain multiple assets
+["vehiclesFuelTrucks", ["Flex_CUP_NOR_Truck_01_fuel"]] call _fnc_saveToTemplate; //this line determines fuel trucks -- Array, can contain multiple assets
+["vehiclesMedical", ["Flex_CUP_NOR_Truck_01_medical", "Flex_CUP_NOR_M113A3_Med"]] call _fnc_saveToTemplate; //this line determines medical vehicles -- Array, can contain multiple assets
+["vehiclesAPCs", ["Flex_CUP_NOR_M113A3"]] 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", ["Flex_CUP_NOR_Leopard2A6"]] 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", []] call _fnc_saveToTemplate; //this line determines light APCs
+["vehiclesIFVs", []] call _fnc_saveToTemplate; //this line determines IFVs
+
+
+["vehiclesTransportBoats", ["Flex_CUP_NOR_Boat_Transport"]] call _fnc_saveToTemplate; //this line determines transport boats -- Example: ["vehiclesTransportBoats", ["B_Boat_Transport_01_F"]] -- Array, can contain multiple assets
+["vehiclesGunBoats", ["Flex_CUP_NOR_RHIB", "Flex_CUP_NOR_RHIB2Turret"]] 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
+
+private _vehiclesFighters = ["Flex_CUP_NOR_F35B"];
+
+if (isClass (configFile >> "CfgPatches" >> "F16_Norwegian_Reskin")) then {
+ _vehiclesFighters append ["F16C_NATO50"];
+};
+
+
+["vehiclesPlanesCAS", _vehiclesFighters] call _fnc_saveToTemplate; //this line determines CAS planes -- Example: ["vehiclesPlanesCAS", ["B_Plane_CAS_01_dynamicLoadout_F"]] -- Array, can contain multiple assets
+["vehiclesPlanesAA", _vehiclesFighters] call _fnc_saveToTemplate; //this line determines air supperiority planes -- Example: ["vehiclesPlanesAA", ["B_Plane_Fighter_01_F"]] -- Array, can contain multiple assets
+["vehiclesPlanesTransport", ["Flex_CUP_NOR_C130J"]] call _fnc_saveToTemplate; //this line determines transport planes -- Example: ["vehiclesPlanesTransport", ["B_T_VTOL_01_infantry_F"]] -- Array, can contain multiple assets
+
+["vehiclesHelisLight", ["Flex_CUP_NOR_Bell412_Transport", "Flex_CUP_NOR_Bell412_Utility", "Flex_CUP_NOR_Bell412_Radar"]] call _fnc_saveToTemplate; //this line determines light helis -- Example: ["vehiclesHelisLight", ["B_Heli_Light_01_F"]] -- Array, can contain multiple assets
+["vehiclesHelisTransport", ["Flex_CUP_NOR_Merlin_HC3", "Flex_CUP_NOR_MH60S_Unarmed"]] call _fnc_saveToTemplate; //this line determines transport helis -- Example: ["vehiclesHelisTransport", ["B_Heli_Transport_01_F"]] -- Array, can contain multiple assets
+["vehiclesHelisLightAttack", ["Flex_CUP_NOR_Bell412_Armed", "Flex_CUP_NOR_Bell412_Armed_AT", "Flex_CUP_NOR_Bell412_dynamicLoadout", "Flex_CUP_NOR_MH60S_Armed", "Flex_CUP_NOR_Merlin_HC3_Armed"]] call _fnc_saveToTemplate; // this line determines light attack helicopters
+["vehiclesHelisAttack", []] call _fnc_saveToTemplate; //this line determines attack helis -- Example: ["vehiclesHelisAttack", ["B_Heli_Attack_01_F"]] -- Array, can contain multiple assets
+
+["vehiclesArtillery", []] call _fnc_saveToTemplate; // wheeled or tracked vehicle with artillery cannon or rockets
+["magazines", createHashMapFromArray []] call _fnc_saveToTemplate; //element format: [Vehicle class, [Magazines]]
+
+["uavsAttack", []] call _fnc_saveToTemplate; //this line determines attack UAVs -- Example: ["uavsAttack", ["B_UAV_02_CAS_F"]] -- Array, can contain multiple assets
+["uavsPortable", ["B_UAV_01_F"]] 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", ["CUP_B_nM1025_M2_NATO_T", "CUP_B_nM1025_M240_NATO_T", "CUP_B_nM1036_TOW_NATO_T"]] call _fnc_saveToTemplate; //this line determines lightly armed militia vehicles -- Example: ["vehiclesMilitiaLightArmed", ["B_G_Offroad_01_armed_F"]] -- Array, can contain multiple assets
+["vehiclesMilitiaTrucks", ["Flex_CUP_NOR_Truck_01_transport", "Flex_CUP_NOR_Truck_01_covered"]] call _fnc_saveToTemplate; //this line determines militia trucks (unarmed) -- Example: ["vehiclesMilitiaTrucks", ["B_G_Van_01_transport_F"]] -- Array, can contain multiple assets
+["vehiclesMilitiaCars", ["CUP_B_nM1025_Unarmed_NATO_T", "CUP_B_nM1025_Unarmed_DF_NATO_T", "CUP_B_nM1151_Unarmed_NATO_T", "CUP_B_nM1151_Unarmed_DF_NATO_T"]] call _fnc_saveToTemplate; //this line determines militia cars (unarmed) -- Example: ["vehiclesMilitiaCars", ["B_G_Offroad_01_F"]] -- Array, can contain multiple assets
+
+["vehiclesMilitiaAPCs", ["CUP_B_nM1025_M2_NATO_T", "CUP_B_nM1025_M240_NATO_T"]] call _fnc_saveToTemplate; //this line determines militia APCs
+
+["vehiclesPolice", ["B_T_LSV_01_unarmed_F", "CUP_B_nM1025_Unarmed_NATO_T"]] call _fnc_saveToTemplate; //this line determines police cars -- Example: ["vehiclesPolice", ["B_GEN_Offroad_01_gen_F"]] -- Array, can contain multiple assets
+
+["staticMGs", ["Flex_CUP_NOR_HMG_high"]] call _fnc_saveToTemplate; //this line determines static MGs -- Example: ["staticMG", ["B_HMG_01_high_F"]] -- Array, can contain multiple assets
+["staticAT", ["Flex_CUP_NOR_Stinger_AA_pod"]] call _fnc_saveToTemplate; //this line determinesstatic ATs -- Example: ["staticAT", ["B_static_AT_F"]] -- Array, can contain multiple assets
+["staticAA", ["Flex_CUP_NOR_TOW2_TriPod"]] call _fnc_saveToTemplate; //this line determines static AAs -- Example: ["staticAA", ["B_static_AA_F"]] -- Array, can contain multiple assets
+["staticMortars", ["Flex_CUP_NOR_Mortar"]] call _fnc_saveToTemplate; //this line determines static mortars -- Example: ["staticMortars", ["B_Mortar_01_F"]] -- Array, can contain multiple assets
+["staticHowitzers", ["Flex_CUP_NOR_M119"]] call _fnc_saveToTemplate; //this line determines static howitzers. Basically it's just a stronger mortar, use same syntax as above.
+
+["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
+
+["vehicleRadar", "Flex_CUP_NOR_Radar_System"] call _fnc_saveToTemplate;
+["vehicleSam", "Flex_CUP_NOR_SAM_System"] call _fnc_saveToTemplate;
+
+//Minefield definition
+["minefieldAT", ["CUP_Mine"]] call _fnc_saveToTemplate;
+["minefieldAPERS", ["APERSMine"]] call _fnc_saveToTemplate;
+
+/////////////////////
+/// Identities ///
+/////////////////////
+
+["faces", [
+ "WhiteHead_01",
+ "WhiteHead_02",
+ "WhiteHead_03",
+ "WhiteHead_04",
+ "WhiteHead_05",
+ "WhiteHead_06",
+ "WhiteHead_07",
+ "WhiteHead_08",
+ "WhiteHead_09",
+ "WhiteHead_10",
+ "WhiteHead_11",
+ "WhiteHead_12",
+ "WhiteHead_13",
+ "WhiteHead_14",
+ "WhiteHead_15",
+ "WhiteHead_16",
+ "WhiteHead_17",
+ "WhiteHead_18",
+ "WhiteHead_19",
+ "WhiteHead_20",
+ "WhiteHead_21"
+]] call _fnc_saveToTemplate;
+["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG", "CUP_D_Male01_EN", "CUP_D_Male02_EN", "CUP_D_Male03_EN", "CUP_D_Male04_EN", "CUP_D_Male05_EN"]] call _fnc_saveToTemplate;
+
+["insignia", ["NOR_NB_Patch", "NOR_Nato_Patch"]] call _fnc_saveToTemplate;
+["sfInsignia", ["NOR_GSV_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", ["CUP_NVG_1PN138", "CUP_NVG_PVS15_black", "CUP_NVG_PVS15_green", "CUP_NVG_PVS7", "CUP_NVG_PVS14", "CUP_NVG_GPNVG_black", "CUP_NVG_GPNVG_green", "CUP_NVG_HMNVS"]]; //this line determines NVGs -- Array, can contain multiple assets
+_loadoutData set ["binoculars", ["Binocular"]]; //this line determines the binoculars
+_loadoutData set ["rangefinders", ["CUP_LRTV", "CUP_Vector21Nite"]];
+
+_loadoutData set ["traitorUniforms", ["NOR_Gorka_Mixed_Alt_Uniform", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Winter_Uniform"]]; //this line determines traitor uniforms for traitor mission
+_loadoutData set ["traitorVests", ["V_TacVest_blk", "V_TacVest_oli", "V_Chestrig_blk", "V_Chestrig_rgr"]]; //this line determines traitor vesets for traitor mission
+_loadoutData set ["traitorHats", ["H_Cap_blk"]]; //this line determines traitor headgear for traitor missions
+
+_loadoutData set ["officerUniforms", ["NOR_Gorka_Grey_Uniform_Pads", "NOR_Gorka_Grey_Uniform"]]; //this line determines officer uniforms for assassination mission
+_loadoutData set ["officerVests", ["V_Rangemaster_belt", "V_TacVest_blk", "V_TacVest_oli"]]; //this line determines officer vesets for assassination mission
+_loadoutData set ["officerHats", ["CUP_H_SLA_BeretRed"]]; //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", ["CUP_V_B_RRV_Scout", "CUP_V_B_RRV_Scout2", "CUP_V_B_RRV_Scout3_GRN"]];
+_loadoutData set ["backpacks", []]; //don't fill this line - this is only to set the variable
+_loadoutData set ["longRangeRadios", ["NOR_Predator_Radio_Backpack"]];
+_loadoutData set ["atBackpacks", ["B_Carryall_oli"]];
+_loadoutData set ["helmets", []]; //don't fill this line - this is only to set the variable
+_loadoutData set ["slHat", ["CUP_H_SLA_BeretRed"]];
+_loadoutData set ["sniHats", ["CUP_H_PMC_Beanie_Headphones_Winter", "CUP_H_PMC_Beanie_Headphones_Black", "H_Watchcap_camo", "H_Watchcap_khk"]];
+
+_loadoutData set ["glasses", ["None", "CUP_G_RUS_Ratnik_Balaclava_Winter_Green_1", "CUP_G_RUS_Ratnik_Balaclava_Winter_Green_2", "CUP_G_RUS_Ratnik_Balaclava_Winter_1", "CUP_G_RUS_Ratnik_Balaclava_Winter_2", "CUP_G_RUS_Ratnik_Balaclava_Winter_3", "CUP_G_RUS_Ratnik_Balaclava_Winter_4"]]; //cosmetics
+_loadoutData set ["goggles", ["None", "CUP_G_ESS_KHK_Facewrap_White", "CUP_G_ESS_BLK_Scarf_Face_White", "CUP_G_ESS_BLK_Scarf_Face_White_GPS"]]; //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", ["NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform_Pads"]];
+_sfLoadoutData set ["vests", ["CUP_V_B_Armatus_Black", "CUP_V_B_Armatus_BB_Black", "CUP_V_B_Armatus_OD", "CUP_V_B_Armatus_BB_OD"]];
+_sfLoadoutData set ["Hvests", ["CUP_V_B_Armatus_Black", "CUP_V_B_Armatus_BB_Black", "CUP_V_B_Armatus_OD", "CUP_V_B_Armatus_BB_OD"]];
+_sfLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_rgr", "B_Carryall_oli"]];
+_sfLoadoutData set ["helmets", ["NOR_Opscore_Winter_No_Headset", "NOR_Opscore_Winter", "NOR_Opscore_Winter_SF"]];
+_sfLoadoutData set ["binoculars", ["CUP_SOFLAM"]];
+
+_sfLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "CUP_optic_MAAWS_Scope", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_sfLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_sfLoadoutData set ["missileATLaunchers", [
+["CUP_launch_Javelin", "", "", "", ["CUP_Javelin_M"], [], ""]
+]];
+_sfLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_sfLoadoutData set ["slRifles", [
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_sfLoadoutData set ["rifles", [
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_sfLoadoutData set ["carbines", [
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_sfLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""]
+]];
+
+_sfLoadoutData set ["SMGs", [
+["CUP_smg_MP5SD6", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+
+["CUP_smg_MP5SD6", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+
+_sfLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_Elcan_reflex", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""],
+
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""]
+]];
+
+_sfLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_sfLoadoutData set ["sniperRifles", [
+["CUP_srifle_AWM_blk", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M107_Base", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Pristine", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Snow", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+
+["CUP_srifle_AWM_blk", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M107_Base", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Pristine", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Snow", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""]
+]];
+_sfLoadoutData set ["sidearms", [
+["CUP_hgun_Mk23", "CUP_muzzle_snds_mk23", "CUP_acc_mk23_lam_f", "", ["CUP_12Rnd_45ACP_mk23"], [], ""],
+["CUP_hgun_Glock17_blk", "muzzle_snds_L", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+/////////////////////////////////
+// Elite Loadout Data //
+/////////////////////////////////
+
+private _eliteLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_eliteLoadoutData set ["uniforms", ["NOR_Gorka_Mixed_Alt_Uniform", "NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform", "NOR_Gorka_Winter_Uniform_Pads"]];
+_eliteLoadoutData set ["slUniforms", ["NOR_Gorka_Mixed_Alt_Uniform", "NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform", "NOR_Gorka_Winter_Uniform_Pads"]];
+_eliteLoadoutData set ["vests", ["CUP_V_B_Ciras_Olive", "CUP_V_B_Ciras_Olive2", "CUP_V_B_Ciras_Olive3", "CUP_V_B_Ciras_Olive4"]];
+_eliteLoadoutData set ["Hvests", ["CUP_V_B_Ciras_Olive", "CUP_V_B_Ciras_Olive2", "CUP_V_B_Ciras_Olive3", "CUP_V_B_Ciras_Olive4"]];
+_eliteLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_rgr", "B_Carryall_oli"]];
+_eliteLoadoutData set ["helmets", ["NOR_Opscore_Winter_No_Headset", "NOR_Opscore_Winter"]];
+_eliteLoadoutData set ["binoculars", ["CUP_LRTV", "CUP_Vector21Nite"]];
+
+_eliteLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "CUP_optic_MAAWS_Scope", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_eliteLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_eliteLoadoutData set ["missileATLaunchers", [
+["CUP_launch_Javelin", "", "", "", ["CUP_Javelin_M"], [], ""]
+]];
+_eliteLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_eliteLoadoutData set ["slRifles", [
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_eliteLoadoutData set ["rifles", [
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_eliteLoadoutData set ["carbines", [
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_eliteLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""]
+]];
+_eliteLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+
+_eliteLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_Elcan_reflex", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""],
+
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""]
+]];
+
+_eliteLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+
+_eliteLoadoutData set ["sniperRifles", [
+["CUP_srifle_AWM_blk", "", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_srifle_AWM_blk", "", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_eliteLoadoutData set ["sidearms", [
+["CUP_hgun_Mk23", "", "CUP_acc_mk23_lam_f", "", ["CUP_12Rnd_45ACP_mk23"], [], ""],
+["CUP_hgun_Glock17_blk", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+/////////////////////////////////
+// Military Loadout Data //
+/////////////////////////////////
+
+private _militaryLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_militaryLoadoutData set ["uniforms", ["NOR_Gorka_Mixed_Alt_Uniform", "NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform", "NOR_Gorka_Winter_Uniform_Pads"]];
+_militaryLoadoutData set ["slUniforms", ["NOR_Gorka_Mixed_Alt_Uniform", "NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform", "NOR_Gorka_Winter_Uniform_Pads"]];
+_militaryLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_OD_Empty", "CUP_V_PMC_CIRAS_OD_TL"]];
+_militaryLoadoutData set ["Hvests", ["CUP_V_PMC_CIRAS_OD_Grenadier"]];
+_militaryLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_rgr", "B_FieldPack_oli", "B_AssaultPack_rgr"]];
+_militaryLoadoutData set ["helmets", ["CUP_H_PASGTv2_winter", "CUP_H_PASGTv2_NVG_winter"]];
+_militaryLoadoutData set ["binoculars", ["Binocular", "Rangefinder"]];
+
+_militaryLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_militaryLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_militaryLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_militaryLoadoutData set ["slRifles", [
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_militaryLoadoutData set ["rifles", [
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militaryLoadoutData set ["carbines", [
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militaryLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""]
+]];
+_militaryLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""]
+]];
+
+_militaryLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi", "", "", "", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249_Pouch"], [], ""],
+["CUP_lmg_minimipara", "", "", "", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249_Pouch"], [], ""]
+]];
+
+_militaryLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_12", "", "CUP_acc_Flashlight", "optic_MRCO", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_12", "", "CUP_acc_Flashlight", "optic_Hamr", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+
+_militaryLoadoutData set ["sniperRifles", [
+["CUP_srifle_M24_blk", "", "", "optic_LRPS", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_srifle_M24_blk", "", "", "CUP_optic_SB_11_4x20_PM", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_militaryLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+///////////////////////////////
+// Police Loadout Data //
+///////////////////////////////
+
+private _policeLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_policeLoadoutData set ["uniforms", ["NOR_Gorka_Grey_Uniform", "NOR_Gorka_Grey_Uniform_Pads"]];
+_policeLoadoutData set ["vests", ["V_TacVest_blk", "V_TacVest_oli"]];
+_policeLoadoutData set ["helmets", ["H_Beret_blk", "CUP_H_SLA_BeretRed"]];
+
+_policeLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+_policeLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+////////////////////////////////
+// Militia Loadout Data //
+////////////////////////////////
+
+private _militiaLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_militiaLoadoutData set ["uniforms", ["NOR_Gorka_Winter_Uniform", "NOR_Gorka_Mixed_Uniform", "NOR_Gorka_Mixed_Alt_Uniform"]];
+_militiaLoadoutData set ["vests", ["V_TacVest_oli", "V_Chestrig_rgr", "V_TacVestIR_blk"]];
+_militiaLoadoutData set ["Hvests", ["V_TacVest_oli"]];
+_militiaLoadoutData set ["backpacks", ["B_AssaultPack_rgr", "B_FieldPack_oli", "B_TacticalPack_oli"]];
+_militiaLoadoutData set ["helmets", ["CUP_H_PASGTv2_NVG_winter", "CUP_H_PASGTv2_winter"]];
+
+_militiaLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+
+_militiaLoadoutData set ["slRifles", [
+["CUP_arifle_G36A", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_AG36", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_militiaLoadoutData set ["rifles", [
+["CUP_arifle_G36A", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militiaLoadoutData set ["carbines", [
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_G36C_VFG_Carry", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""]
+]];
+_militiaLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_AG36", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""]
+]];
+_militiaLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+_militiaLoadoutData set ["machineGuns", [
+["CUP_lmg_minimipara", "", "", "", ["CUP_100Rnd_TE4_Green_Tracer_556x45_M249"], [], ""]
+]];
+
+_militiaLoadoutData set ["marksmanRifles", [
+["CUP_arifle_G3A3_ris", "", "", "CUP_optic_ACOG2", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_TE1_Green_Tracer_762x51_G3"], [], "CUP_bipod_G3"],
+["CUP_arifle_G3A3_ris_black", "", "", "CUP_optic_ACOG2", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_TE1_Green_Tracer_762x51_G3"], [], "CUP_bipod_G3"]
+]];
+_militiaLoadoutData set ["sniperRifles", [
+["CUP_srifle_LeeEnfield", "", "", "CUP_optic_no23mk2", ["CUP_10x_303_M"], [], ""]
+]];
+_militiaLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+//////////////////////////
+// Misc Loadouts //
+//////////////////////////
+
+
+private _crewLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData;
+_crewLoadoutData set ["uniforms", ["NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform_Pads"]];
+_crewLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_OD_Veh"]];
+_crewLoadoutData set ["helmets", ["CUP_H_CVC"]];
+
+
+private _pilotLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData;
+_pilotLoadoutData set ["uniforms", ["NOR_Gorka_Mixed_Alt_Uniform_Pads", "NOR_Gorka_Mixed_Uniform_Pads", "NOR_Gorka_Winter_Uniform_Pads"]];
+_pilotLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_OD_Veh"]];
+_pilotLoadoutData set ["helmets", ["H_PilotHelmetHeli_O", "H_PilotHelmetHeli_B", "H_CrewHelmetHeli_B", "H_CrewHelmetHeli_O"]];
+
+
+
+
+
+/////////////////////////////////
+// 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/CUP_AI_NorAF_Temperate.sqf b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_NorAF_Temperate.sqf
new file mode 100644
index 0000000000..ac5fb3978f
--- /dev/null
+++ b/A3A/addons/core/Templates/Templates/CUP/CUP_AI_NorAF_Temperate.sqf
@@ -0,0 +1,1349 @@
+//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;
+
+#include "..\..\script_component.hpp" // TAKE NOTE OF THIS. WITHOUT THIS, YOU CAN'T USE MACROS LIKE QPATHTOFOLDER.
+
+//////////////////////////
+// Side Information //
+//////////////////////////
+
+["name", "NorAF"] call _fnc_saveToTemplate; //this line determines the faction name -- Example: ["name", "NATO"] - ENTER ONLY ONE OPTION
+["spawnMarkerName", format [localize "STR_supportcorridor", "NorAF"]] 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_NATO_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\Norway_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_Norway"] 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_IND_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
+
+private _vehiclesLightUnarmed = ["CUP_B_nM1025_Unarmed_NATO_T", "CUP_B_nM1025_Unarmed_DF_NATO_T", "CUP_B_nM1151_Unarmed_NATO_T", "CUP_B_nM1151_Unarmed_DF_NATO_T"];
+private _vehiclesLightArmed = ["Flex_CUP_NOR_Dingo_MG", "Flex_CUP_NOR_Dingo_GL"];
+
+if (isClass (configFile >> "CfgPatches" >> "Swedish_Forces_Pack")) then {
+ _vehiclesLightUnarmed append ["sfp_bv206", "sfp_tgb16"];
+ _vehiclesLightArmed append ["sfp_tgb16_ksp58", "sfp_tgb16_rws"];
+};
+
+["vehiclesBasic", ["B_T_Quadbike_01_F"]] call _fnc_saveToTemplate; //this line determines basic vehicles, the lightest kind available. -- Example: ["vehiclesBasic", ["B_Quadbike_01_F"]] -- Array, can contain multiple assets
+["vehiclesLightUnarmed", _vehiclesLightUnarmed] call _fnc_saveToTemplate; //this line determines light and unarmed vehicles. -- Example: ["vehiclesLightUnarmed", ["B_MRAP_01_F"]] -- Array, can contain multiple assets
+["vehiclesLightArmed", _vehiclesLightArmed] 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", ["Flex_CUP_NOR_Truck_01_transport", "Flex_CUP_NOR_Truck_01_covered"]] 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", ["Flex_CUP_NOR_Truck_01_flatbed", "Flex_CUP_NOR_Truck_01_cargo"]] 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", ["Flex_CUP_NOR_Truck_01_ammo", "Flex_CUP_NOR_M113A3_Reammo"]] call _fnc_saveToTemplate; //this line determines ammo trucks -- Example: ["vehiclesAmmoTrucks", ["B_Truck_01_ammo_F"]] -- Array, can contain multiple assets
+["vehiclesRepairTrucks", ["Flex_CUP_NOR_Truck_01_Repair", "Flex_CUP_NOR_M113A3_Repair"]] call _fnc_saveToTemplate; //this line determines repair trucks -- Example: ["vehiclesRepairTrucks", ["B_Truck_01_Repair_F"]] -- Array, can contain multiple assets
+["vehiclesFuelTrucks", ["Flex_CUP_NOR_Truck_01_fuel"]] call _fnc_saveToTemplate; //this line determines fuel trucks -- Array, can contain multiple assets
+["vehiclesMedical", ["Flex_CUP_NOR_Truck_01_medical", "Flex_CUP_NOR_M113A3_Med"]] call _fnc_saveToTemplate; //this line determines medical vehicles -- Array, can contain multiple assets
+["vehiclesAPCs", ["Flex_CUP_NOR_M113A3"]] 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", ["Flex_CUP_NOR_Leopard2A6"]] 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", []] call _fnc_saveToTemplate; //this line determines light APCs
+["vehiclesIFVs", []] call _fnc_saveToTemplate; //this line determines IFVs
+
+
+["vehiclesTransportBoats", ["Flex_CUP_NOR_Boat_Transport"]] call _fnc_saveToTemplate; //this line determines transport boats -- Example: ["vehiclesTransportBoats", ["B_Boat_Transport_01_F"]] -- Array, can contain multiple assets
+["vehiclesGunBoats", ["Flex_CUP_NOR_RHIB", "Flex_CUP_NOR_RHIB2Turret"]] 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
+
+private _vehiclesFighters = ["Flex_CUP_NOR_F35B"];
+
+if (isClass (configFile >> "CfgPatches" >> "F16_Norwegian_Reskin")) then {
+ _vehiclesFighters append ["F16C_NATO50"];
+};
+
+["vehiclesPlanesCAS", _vehiclesFighters] call _fnc_saveToTemplate; //this line determines CAS planes -- Example: ["vehiclesPlanesCAS", ["B_Plane_CAS_01_dynamicLoadout_F"]] -- Array, can contain multiple assets
+["vehiclesPlanesAA", _vehiclesFighters] call _fnc_saveToTemplate; //this line determines air supperiority planes -- Example: ["vehiclesPlanesAA", ["B_Plane_Fighter_01_F"]] -- Array, can contain multiple assets
+["vehiclesPlanesTransport", ["Flex_CUP_NOR_C130J"]] call _fnc_saveToTemplate; //this line determines transport planes -- Example: ["vehiclesPlanesTransport", ["B_T_VTOL_01_infantry_F"]] -- Array, can contain multiple assets
+
+["vehiclesHelisLight", ["Flex_CUP_NOR_Bell412_Transport", "Flex_CUP_NOR_Bell412_Utility", "Flex_CUP_NOR_Bell412_Radar"]] call _fnc_saveToTemplate; //this line determines light helis -- Example: ["vehiclesHelisLight", ["B_Heli_Light_01_F"]] -- Array, can contain multiple assets
+["vehiclesHelisTransport", ["Flex_CUP_NOR_Merlin_HC3", "Flex_CUP_NOR_MH60S_Unarmed"]] call _fnc_saveToTemplate; //this line determines transport helis -- Example: ["vehiclesHelisTransport", ["B_Heli_Transport_01_F"]] -- Array, can contain multiple assets
+["vehiclesHelisLightAttack", ["Flex_CUP_NOR_Bell412_Armed", "Flex_CUP_NOR_Bell412_Armed_AT", "Flex_CUP_NOR_Bell412_dynamicLoadout", "Flex_CUP_NOR_MH60S_Armed", "Flex_CUP_NOR_Merlin_HC3_Armed"]] call _fnc_saveToTemplate; // this line determines light attack helicopters
+["vehiclesHelisAttack", []] call _fnc_saveToTemplate; //this line determines attack helis -- Example: ["vehiclesHelisAttack", ["B_Heli_Attack_01_F"]] -- Array, can contain multiple assets
+
+["vehiclesArtillery", []] call _fnc_saveToTemplate; // wheeled or tracked vehicle with artillery cannon or rockets
+["magazines", createHashMapFromArray []] call _fnc_saveToTemplate; //element format: [Vehicle class, [Magazines]]
+
+["uavsAttack", []] call _fnc_saveToTemplate; //this line determines attack UAVs -- Example: ["uavsAttack", ["B_UAV_02_CAS_F"]] -- Array, can contain multiple assets
+["uavsPortable", ["B_UAV_01_F"]] 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", ["CUP_B_nM1025_M2_NATO_T", "CUP_B_nM1025_M240_NATO_T", "CUP_B_nM1036_TOW_NATO_T"]] call _fnc_saveToTemplate; //this line determines lightly armed militia vehicles -- Example: ["vehiclesMilitiaLightArmed", ["B_G_Offroad_01_armed_F"]] -- Array, can contain multiple assets
+["vehiclesMilitiaTrucks", ["Flex_CUP_NOR_Truck_01_transport", "Flex_CUP_NOR_Truck_01_covered"]] call _fnc_saveToTemplate; //this line determines militia trucks (unarmed) -- Example: ["vehiclesMilitiaTrucks", ["B_G_Van_01_transport_F"]] -- Array, can contain multiple assets
+["vehiclesMilitiaCars", ["CUP_B_nM1025_Unarmed_NATO_T", "CUP_B_nM1025_Unarmed_DF_NATO_T", "CUP_B_nM1151_Unarmed_NATO_T", "CUP_B_nM1151_Unarmed_DF_NATO_T"]] call _fnc_saveToTemplate; //this line determines militia cars (unarmed) -- Example: ["vehiclesMilitiaCars", ["B_G_Offroad_01_F"]] -- Array, can contain multiple assets
+
+["vehiclesMilitiaAPCs", ["CUP_B_nM1025_M2_NATO_T", "CUP_B_nM1025_M240_NATO_T"]] call _fnc_saveToTemplate; //this line determines militia APCs
+
+["vehiclesPolice", ["B_T_LSV_01_unarmed_F", "CUP_B_nM1025_Unarmed_NATO_T"]] call _fnc_saveToTemplate; //this line determines police cars -- Example: ["vehiclesPolice", ["B_GEN_Offroad_01_gen_F"]] -- Array, can contain multiple assets
+
+["staticMGs", ["Flex_CUP_NOR_HMG_high"]] call _fnc_saveToTemplate; //this line determines static MGs -- Example: ["staticMG", ["B_HMG_01_high_F"]] -- Array, can contain multiple assets
+["staticAT", ["Flex_CUP_NOR_TOW2_TriPod"]] call _fnc_saveToTemplate; //this line determinesstatic ATs -- Example: ["staticAT", ["B_static_AT_F"]] -- Array, can contain multiple assets
+["staticAA", ["Flex_CUP_NOR_Stinger_AA_pod"]] call _fnc_saveToTemplate; //this line determines static AAs -- Example: ["staticAA", ["B_static_AA_F"]] -- Array, can contain multiple assets
+["staticMortars", ["Flex_CUP_NOR_Mortar"]] call _fnc_saveToTemplate; //this line determines static mortars -- Example: ["staticMortars", ["B_Mortar_01_F"]] -- Array, can contain multiple assets
+["staticHowitzers", ["Flex_CUP_NOR_M119"]] call _fnc_saveToTemplate; //this line determines static howitzers. Basically it's just a stronger mortar, use same syntax as above.
+
+["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
+
+["vehicleRadar", "Flex_CUP_NOR_Radar_System"] call _fnc_saveToTemplate;
+["vehicleSam", "Flex_CUP_NOR_SAM_System"] call _fnc_saveToTemplate;
+
+//Minefield definition
+["minefieldAT", ["CUP_Mine"]] call _fnc_saveToTemplate;
+["minefieldAPERS", ["APERSMine"]] call _fnc_saveToTemplate;
+
+/////////////////////
+/// Identities ///
+/////////////////////
+
+["faces", [
+ "WhiteHead_01",
+ "WhiteHead_02",
+ "WhiteHead_03",
+ "WhiteHead_04",
+ "WhiteHead_05",
+ "WhiteHead_06",
+ "WhiteHead_07",
+ "WhiteHead_08",
+ "WhiteHead_09",
+ "WhiteHead_10",
+ "WhiteHead_11",
+ "WhiteHead_12",
+ "WhiteHead_13",
+ "WhiteHead_14",
+ "WhiteHead_15",
+ "WhiteHead_16",
+ "WhiteHead_17",
+ "WhiteHead_18",
+ "WhiteHead_19",
+ "WhiteHead_20",
+ "WhiteHead_21"
+]] call _fnc_saveToTemplate;
+["voices", ["Male01ENG", "Male02ENG", "Male03ENG", "Male04ENG", "Male05ENG", "Male06ENG", "Male07ENG", "Male08ENG", "Male09ENG", "Male10ENG", "Male11ENG", "Male12ENG", "CUP_D_Male01_EN", "CUP_D_Male02_EN", "CUP_D_Male03_EN", "CUP_D_Male04_EN", "CUP_D_Male05_EN"]] call _fnc_saveToTemplate;
+
+["insignia", ["NOR_NB_Patch", "NOR_Nato_Patch"]] call _fnc_saveToTemplate;
+["sfInsignia", ["NOR_GSV_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", ["CUP_NVG_1PN138", "CUP_NVG_PVS15_black", "CUP_NVG_PVS15_green", "CUP_NVG_PVS7", "CUP_NVG_PVS14", "CUP_NVG_GPNVG_black", "CUP_NVG_GPNVG_green", "CUP_NVG_HMNVS"]]; //this line determines NVGs -- Array, can contain multiple assets
+_loadoutData set ["binoculars", ["Binocular"]]; //this line determines the binoculars
+_loadoutData set ["rangefinders", ["CUP_LRTV", "CUP_Vector21Nite"]];
+
+_loadoutData set ["traitorUniforms", ["NOR_Gorka_Uniform", "NOR_Gorka_Uniform_Pads", "NOR_Combat_Uniform", "NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Rolled"]]; //this line determines traitor uniforms for traitor mission
+_loadoutData set ["traitorVests", ["V_TacVest_oli", "V_TacVest_brn", "V_TacVest_khk", "V_Chestrig_rgr", "V_Chestrig_khk", "V_Chestrig_oli"]]; //this line determines traitor vesets for traitor mission
+_loadoutData set ["traitorHats", ["CUP_H_US_patrol_cap_OD", "H_Cap_oli", "H_Cap_headphones"]]; //this line determines traitor headgear for traitor missions
+
+_loadoutData set ["officerUniforms", ["NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled"]]; //this line determines officer uniforms for assassination mission
+_loadoutData set ["officerVests", ["V_Rangemaster_belt", "V_TacVest_khk", "V_TacVest_oli"]]; //this line determines officer vesets for assassination mission
+_loadoutData set ["officerHats", ["CUP_H_SLA_BeretRed"]]; //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", ["CUP_V_B_RRV_Scout", "CUP_V_B_RRV_Scout2", "CUP_V_B_RRV_Scout3_GRN", "CUP_V_B_RRV_Scout_CB", "CUP_V_B_RRV_Scout2_CB", "CUP_V_B_RRV_Scout3"]];
+_loadoutData set ["backpacks", []]; //don't fill this line - this is only to set the variable
+_loadoutData set ["longRangeRadios", ["NOR_Predator_Radio_Backpack"]];
+_loadoutData set ["atBackpacks", ["B_Carryall_cbr", "B_Carryall_oli", "B_Carryall_khk"]];
+_loadoutData set ["helmets", []]; //don't fill this line - this is only to set the variable
+_loadoutData set ["slHat", ["CUP_H_SLA_BeretRed"]];
+_loadoutData set ["sniHats", ["H_Booniehat_khk", "H_Booniehat_oli", "H_Booniehat_tan"]];
+
+_loadoutData set ["glasses", ["None", "CUP_G_Oakleys_Clr", "CUP_G_Oakleys_Drk", "CUP_G_Oakleys_Embr"]]; //cosmetics
+_loadoutData set ["goggles", ["None", "CUP_G_ESS_BLK_Dark", "CUP_G_ESS_BLK_Ember", "CUP_G_ESS_BLK", "CUP_G_ESS_CBR_Dark", "CUP_G_ESS_CBR_Ember", "CUP_G_ESS_CBR", "CUP_G_ESS_RGR_Dark", "CUP_G_ESS_RGR_Ember", "CUP_G_ESS_RGR", "CUP_G_ESS_KHK_Dark", "CUP_G_ESS_KHK_Ember", "CUP_G_ESS_KHK"]]; //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", ["NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Gloves"]];
+_sfLoadoutData set ["vests", ["CUP_V_B_Armatus_Coyote", "CUP_V_B_Armatus_BB_Coyote", "CUP_V_B_Armatus_OD", "CUP_V_B_Armatus_BB_OD"]];
+_sfLoadoutData set ["Hvests", ["CUP_V_B_Armatus_Coyote", "CUP_V_B_Armatus_BB_Coyote", "CUP_V_B_Armatus_OD", "CUP_V_B_Armatus_BB_OD"]];
+_sfLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_cbr", "B_Kitbag_rgr", "B_Carryall_cbr", "B_Carryall_oli", "B_Carryall_khk"]];
+_sfLoadoutData set ["helmets", ["NOR_Opscore_No_Headset", "NOR_Opscore", "NOR_Opscore_SF", "NOR_Opscore_Tan_No_Headset", "NOR_Opscore_Tan", "NOR_Opscore_Tan_SF"]];
+_sfLoadoutData set ["binoculars", ["CUP_SOFLAM"]];
+
+_sfLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "CUP_optic_MAAWS_Scope", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_sfLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_sfLoadoutData set ["missileATLaunchers", [
+["CUP_launch_Javelin", "", "", "", ["CUP_Javelin_M"], [], ""]
+]];
+_sfLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_sfLoadoutData set ["slRifles", [
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_sfLoadoutData set ["rifles", [
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_sfLoadoutData set ["carbines", [
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_sfLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "CUP_muzzle_snds_M16", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""]
+]];
+
+_sfLoadoutData set ["SMGs", [
+["CUP_smg_MP5SD6", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+
+["CUP_smg_MP5SD6", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "CUP_muzzle_snds_MP5", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "CUP_muzzle_snds_MP7", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+
+_sfLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_Elcan_reflex", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""],
+
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""]
+]];
+
+_sfLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "CUP_muzzle_snds_socom762rc", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_sfLoadoutData set ["sniperRifles", [
+["CUP_srifle_AWM_blk", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_AWM_wdl", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M107_Base", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Pristine", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Woodland", "", "", "CUP_optic_LeupoldMk4", ["CUP_10Rnd_127x99_M107"], [], ""],
+
+["CUP_srifle_AWM_blk", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_AWM_wdl", "CUP_muzzle_snds_AWM", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M107_Base", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Pristine", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""],
+["CUP_srifle_M107_Woodland", "", "", "CUP_optic_LeupoldM3LR", ["CUP_10Rnd_127x99_M107"], [], ""]
+]];
+_sfLoadoutData set ["sidearms", [
+["CUP_hgun_Mk23", "CUP_muzzle_snds_mk23", "CUP_acc_mk23_lam_f", "", ["CUP_12Rnd_45ACP_mk23"], [], ""],
+["CUP_hgun_Glock17_blk", "muzzle_snds_L", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "muzzle_snds_L", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+/////////////////////////////////
+// Elite Loadout Data //
+/////////////////////////////////
+
+private _eliteLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_eliteLoadoutData set ["uniforms", ["NOR_Combat_Uniform", "NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Rolled"]];
+_eliteLoadoutData set ["slUniforms", ["NOR_Combat_Uniform", "NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Rolled"]];
+_eliteLoadoutData set ["vests", ["CUP_V_B_Ciras_Coyote", "CUP_V_B_Ciras_Coyote2", "CUP_V_B_Ciras_Coyote3", "CUP_V_B_Ciras_Coyote4", "CUP_V_B_Ciras_Khaki", "CUP_V_B_Ciras_Khaki2", "CUP_V_B_Ciras_Khaki3", "CUP_V_B_Ciras_Khaki4", "CUP_V_B_Ciras_Olive", "CUP_V_B_Ciras_Olive2", "CUP_V_B_Ciras_Olive3", "CUP_V_B_Ciras_Olive4"]];
+_eliteLoadoutData set ["Hvests", ["CUP_V_B_Ciras_Coyote", "CUP_V_B_Ciras_Coyote2", "CUP_V_B_Ciras_Coyote3", "CUP_V_B_Ciras_Coyote4", "CUP_V_B_Ciras_Khaki", "CUP_V_B_Ciras_Khaki2", "CUP_V_B_Ciras_Khaki3", "CUP_V_B_Ciras_Khaki4", "CUP_V_B_Ciras_Olive", "CUP_V_B_Ciras_Olive2", "CUP_V_B_Ciras_Olive3", "CUP_V_B_Ciras_Olive4"]];
+_eliteLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_rgr", "B_Kitbag_cbr", "B_Carryall_khk", "B_Carryall_oli"]];
+_eliteLoadoutData set ["helmets", ["NOR_Opscore_No_Headset", "NOR_Opscore", "NOR_Opscore_Tan_No_Headset", "NOR_Opscore_Tan"]];
+_eliteLoadoutData set ["binoculars", ["CUP_LRTV", "CUP_Vector21Nite"]];
+
+_eliteLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "CUP_optic_MAAWS_Scope", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_eliteLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_eliteLoadoutData set ["missileATLaunchers", [
+["CUP_launch_Javelin", "", "", "", ["CUP_Javelin_M"], [], ""]
+]];
+_eliteLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_eliteLoadoutData set ["slRifles", [
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_eliteLoadoutData set ["rifles", [
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_eliteLoadoutData set ["carbines", [
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+
+["CUP_arifle_HK416_CQB_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""],
+["CUP_arifle_HK416_CQB_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], [], ""]
+]];
+_eliteLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_HensoldtZO_low_RDS", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+
+["CUP_arifle_HK416_M203_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_M203_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Black", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""],
+["CUP_arifle_HK416_AGL_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_ACOG", ["CUP_30Rnd_556x45_PMAG_BLACK_RPL", "CUP_30Rnd_556x45_PMAG_BLACK_RPL_Tracer_Green"], ["CUP_1Rnd_HEDP_M203"], ""]
+]];
+_eliteLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_Eotech553_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_Eotech553_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_ANPEQ_15_Black", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+
+_eliteLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_Elcan_reflex", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_Elcan_reflex", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""],
+
+["CUP_lmg_minimi_railed", "CUP_muzzle_mfsup_Flashhider_556x45_Black", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249"], [], ""],
+["CUP_lmg_MG3_rail", "", "", "CUP_optic_ACOG_TA01B_Black", ["CUP_120Rnd_TE4_LRT4_Green_Tracer_762x51_Belt_M"], [], ""]
+]];
+
+_eliteLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_11_4x20_PM", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_SB_3_12x50_PMII", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_20", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_20_Wood", "", "CUP_acc_ANPEQ_15_Flashlight_Black_L", "CUP_optic_LeupoldMk4", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+
+_eliteLoadoutData set ["sniperRifles", [
+["CUP_srifle_AWM_blk", "", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_AWM_wdl", "", "", "CUP_optic_LeupoldMk4", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_srifle_AWM_blk", "", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_AWM_wdl", "", "", "CUP_optic_LeupoldM3LR", ["CUP_5Rnd_86x70_L115A1"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_eliteLoadoutData set ["sidearms", [
+["CUP_hgun_Mk23", "", "CUP_acc_mk23_lam_f", "", ["CUP_12Rnd_45ACP_mk23"], [], ""],
+["CUP_hgun_Glock17_blk", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+/////////////////////////////////
+// Military Loadout Data //
+/////////////////////////////////
+
+private _militaryLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_militaryLoadoutData set ["uniforms", ["NOR_Combat_Uniform", "NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Rolled", "NOR_Gorka_Uniform", "NOR_Gorka_Uniform_Pads"]];
+_militaryLoadoutData set ["slUniforms", ["NOR_Combat_Uniform", "NOR_Combat_Uniform_Gloves", "NOR_Combat_Uniform_Gloves_Rolled", "NOR_Combat_Uniform_Rolled"]];
+_militaryLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_Coyote_Empty", "CUP_V_PMC_CIRAS_Khaki_Empty", "CUP_V_PMC_CIRAS_OD_Empty", "CUP_V_PMC_CIRAS_Coyote_Patrol", "CUP_V_PMC_CIRAS_Coyote_TL", "CUP_V_PMC_CIRAS_Khaki_TL", "CUP_V_PMC_CIRAS_OD_TL"]];
+_militaryLoadoutData set ["Hvests", ["CUP_V_PMC_CIRAS_Coyote_Grenadier", "CUP_V_PMC_CIRAS_Khaki_Grenadier", "CUP_V_PMC_CIRAS_OD_Grenadier"]];
+_militaryLoadoutData set ["backpacks", ["NOR_Predator_Backpack", "B_Kitbag_cbr", "B_Kitbag_rgr", "B_FieldPack_oli", "B_FieldPack_khk", "B_AssaultPack_cbr", "B_AssaultPack_rgr", "B_AssaultPack_khk"]];
+_militaryLoadoutData set ["helmets", ["NOR_Helmet_Comms", "NOR_Helmet_Comms_cov"]];
+_militaryLoadoutData set ["binoculars", ["Binocular", "Rangefinder"]];
+
+_militaryLoadoutData set ["lightATLaunchers", [
+["CUP_launch_MAAWS", "", "", "", ["CUP_MAAWS_HEAT_M", "CUP_MAAWS_HEDP_M"], [], ""]
+]];
+_militaryLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+_militaryLoadoutData set ["AALaunchers", ["CUP_launch_FIM92Stinger"]];
+
+_militaryLoadoutData set ["slRifles", [
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_camo", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_camo", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_militaryLoadoutData set ["rifles", [
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_camo", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_black", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A3_camo", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militaryLoadoutData set ["carbines", [
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_wdl", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_MOE_short_black", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_wdl", "", "CUP_acc_Flashlight", "CUP_optic_CompM2_low", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militaryLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "CUP_optic_HensoldtZO_RDS", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "CUP_optic_HoloBlack", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""]
+]];
+_militaryLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_Flashlight", "CUP_optic_AC11704_Black", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_AC11704_Black", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_Flashlight", "CUP_optic_HoloBlack", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP5A5_Rail_AFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail_VFG", "", "CUP_acc_Flashlight_MP5", "CUP_optic_HoloBlack", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""]
+]];
+
+_militaryLoadoutData set ["machineGuns", [
+["CUP_lmg_minimi", "", "", "", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249_Pouch"], [], ""],
+["CUP_lmg_minimipara", "", "", "", ["CUP_200Rnd_TE4_Green_Tracer_556x45_M249_Pouch"], [], ""]
+]];
+
+_militaryLoadoutData set ["marksmanRifles", [
+["CUP_arifle_HK417_12", "", "CUP_acc_Flashlight", "optic_MRCO", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_12_Wood", "", "CUP_acc_Flashlight", "optic_MRCO", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_arifle_HK417_12", "", "CUP_acc_Flashlight", "optic_Hamr", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_arifle_HK417_12_Wood", "", "CUP_acc_Flashlight", "optic_Hamr", ["CUP_20Rnd_762x51_HK417", "CUP_20Rnd_TE1_Green_Tracer_762x51_HK417"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+
+_militaryLoadoutData set ["sniperRifles", [
+["CUP_srifle_M24_blk", "", "", "optic_LRPS", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M24_wdl", "", "", "optic_LRPS", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"],
+
+["CUP_srifle_M24_blk", "", "", "CUP_optic_SB_11_4x20_PM", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"],
+["CUP_srifle_M24_wdl", "", "", "CUP_optic_SB_11_4x20_PM", ["CUP_5Rnd_762x51_M24"], [], "CUP_bipod_VLTOR_Modpod_black"]
+]];
+_militaryLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "CUP_acc_Glock17_Flashlight", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+///////////////////////////////
+// Police Loadout Data //
+///////////////////////////////
+
+private _policeLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_policeLoadoutData set ["uniforms", ["NOR_Gorka_Grey_Uniform", "NOR_Gorka_Grey_Uniform_Pads"]];
+_policeLoadoutData set ["vests", ["V_TacVest_blk", "V_TacVest_oli"]];
+_policeLoadoutData set ["helmets", ["H_Beret_blk", "CUP_H_SLA_BeretRed"]];
+
+_policeLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+_policeLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+////////////////////////////////
+// Militia Loadout Data //
+////////////////////////////////
+
+private _militiaLoadoutData = _loadoutData call _fnc_copyLoadoutData;
+_militiaLoadoutData set ["uniforms", ["NOR_Combat_Uniform", "NOR_Combat_Uniform_Rolled"]];
+_militiaLoadoutData set ["vests", ["V_TacVest_brn", "V_TacVest_khk", "V_TacVest_oli"]];
+_militiaLoadoutData set ["Hvests", ["V_TacVest_brn", "V_TacVest_khk", "V_TacVest_oli"]];
+_militiaLoadoutData set ["backpacks", ["B_AssaultPack_cbr", "B_AssaultPack_rgr", "B_AssaultPack_khk", "B_FieldPack_cbr", "B_FieldPack_oli", "B_FieldPack_khk", "B_TacticalPack_oli"]];
+_militiaLoadoutData set ["helmets", ["NOR_Helmet_Comms", "NOR_Helmet_Comms_cov"]];
+
+_militiaLoadoutData set ["ATLaunchers", ["CUP_launch_M72A6"]];
+
+_militiaLoadoutData set ["slRifles", [
+["CUP_arifle_G36A", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_G36A_wdl", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+
+["CUP_arifle_AG36", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_AG36_wdl", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_Smoke_M203"], ""]
+]];
+_militiaLoadoutData set ["rifles", [
+["CUP_arifle_G36A", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_G36A_wdl", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""],
+["CUP_arifle_M4A1_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_camo_carryhandle", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""]
+]];
+_militiaLoadoutData set ["carbines", [
+["CUP_arifle_M4A1_standard_short_black", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_M4A1_standard_short_wdl", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], [], ""],
+["CUP_arifle_G36C_VFG_Carry", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], [], ""]
+]];
+_militiaLoadoutData set ["grenadeLaunchers", [
+["CUP_arifle_AG36", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_AG36_wdl", "", "CUP_acc_Flashlight", "CUP_optic_G36DualOptics_3D", ["CUP_30Rnd_556x45_G36", "CUP_30Rnd_TE1_Green_Tracer_556x45_G36"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_BUIS_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_BUIS_camo_GL", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""],
+["CUP_arifle_M4A1_GL_carryhandle_camo", "", "", "", ["CUP_30Rnd_556x45_Stanag", "CUP_30Rnd_556x45_Stanag_Tracer_Green"], ["CUP_1Rnd_HE_M203"], ""]
+]];
+_militiaLoadoutData set ["SMGs", [
+["CUP_smg_MP5A5", "", "CUP_acc_Flashlight_MP5", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP5A5_Rail", "", "CUP_acc_Flashlight", "", ["CUP_30Rnd_9x19_MP5", "CUP_30Rnd_Green_Tracer_9x19_MP5"], [], ""],
+["CUP_smg_MP7", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""],
+["CUP_smg_MP7_woodland", "", "CUP_acc_Flashlight", "", ["CUP_40Rnd_46x30_MP7", "CUP_40Rnd_46x30_MP7_Green_Tracer"], [], ""]
+]];
+_militiaLoadoutData set ["machineGuns", [
+["CUP_lmg_minimipara", "", "", "", ["CUP_100Rnd_TE4_Green_Tracer_556x45_M249"], [], ""]
+]];
+
+_militiaLoadoutData set ["marksmanRifles", [
+["CUP_arifle_G3A3_ris", "", "", "CUP_optic_ACOG2", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_TE1_Green_Tracer_762x51_G3"], [], "CUP_bipod_G3"],
+["CUP_arifle_G3A3_ris_black", "", "", "CUP_optic_ACOG2", ["CUP_20Rnd_762x51_G3", "CUP_20Rnd_TE1_Green_Tracer_762x51_G3"], [], "CUP_bipod_G3"]
+]];
+_militiaLoadoutData set ["sniperRifles", [
+["CUP_srifle_LeeEnfield", "", "", "CUP_optic_no23mk2", ["CUP_10x_303_M"], [], ""]
+]];
+_militiaLoadoutData set ["sidearms", [
+["CUP_hgun_Glock17_blk", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""],
+["CUP_hgun_Glock17", "", "", "", ["CUP_17Rnd_9x19_glock17"], [], ""]
+]];
+
+//////////////////////////
+// Misc Loadouts //
+//////////////////////////
+
+
+private _crewLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData;
+_crewLoadoutData set ["uniforms", ["NOR_Gorka_Uniform", "NOR_Gorka_Uniform_Pads"]];
+_crewLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_Coyote_Veh", "CUP_V_PMC_CIRAS_Khaki_Veh", "CUP_V_PMC_CIRAS_OD_Veh"]];
+_crewLoadoutData set ["helmets", ["CUP_H_CVC"]];
+
+
+private _pilotLoadoutData = _militaryLoadoutData call _fnc_copyLoadoutData;
+_pilotLoadoutData set ["uniforms", ["NOR_Gorka_Uniform", "NOR_Gorka_Uniform_Pads"]];
+_pilotLoadoutData set ["vests", ["CUP_V_PMC_CIRAS_Coyote_Veh", "CUP_V_PMC_CIRAS_Khaki_Veh", "CUP_V_PMC_CIRAS_OD_Veh"]];
+_pilotLoadoutData set ["helmets", ["H_PilotHelmetHeli_O", "H_PilotHelmetHeli_B", "H_CrewHelmetHeli_B", "H_CrewHelmetHeli_O"]];
+
+
+
+
+
+/////////////////////////////////
+// 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..bf39e97807 100644
--- a/A3A/addons/core/Templates/Templates/CUP/templates.hpp
+++ b/A3A/addons/core/Templates/Templates/CUP/templates.hpp
@@ -258,4 +258,37 @@
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
+ //CUP NorAF
+ class NorAF_Base : CUP_Base
+ {
+ requiredAddons[] = {"CUP_Creatures_People_Civil_Russia", "CUP_BaseConfigs", "CUP_AirVehicles_Core", "Flex_CUP_NOR_Faction"}; // 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";
+ class CUP_NorAF_Temperate : NorAF_Base
+ {
+ side = "Occ";
+ flagTexture = "\A3\ui_f\data\map\markers\flags\Norway_ca.paa";
+ name = "CUP NorAF Temperate";
+ file = "CUP_AI_NorAF_Temperate";
+ climate[] = {"temperate","tropical"};
+ };
+
+ class CUP_NorAF_Arctic : CUP_NorAF_Temperate
+ {
+ name = "CUP NorAF Arctic";
+ file = "CUP_AI_NorAF_Arctic";
+ climate[] = {"arctic"};
};
\ No newline at end of file
diff --git a/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Arctic.sqf b/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Arctic.sqf
index 8815796a30..58e010acb6 100644
--- a/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Arctic.sqf
+++ b/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Arctic.sqf
@@ -8,7 +8,7 @@
["flag", "Flag_FIA_F"] call _fnc_saveToTemplate;
["flagTexture", QPATHTOFOLDER(Templates\Templates\NFtS\flag_finland.paa)] call _fnc_saveToTemplate;
-["flagMarkerType", "NORTH_Flag_FIN"] call _fnc_saveToTemplate;
+["flagMarkerType", "a3a_flag_FIN"] call _fnc_saveToTemplate;
["vehiclesBasic", ["NORTH_FIN_41_R75"]] call _fnc_saveToTemplate;
["vehiclesLightUnarmed", ["LIB_Kfz1_w"]] call _fnc_saveToTemplate;
diff --git a/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Temperate.sqf b/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Temperate.sqf
index 6119e0e32e..ef70e17313 100644
--- a/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Temperate.sqf
+++ b/A3A/addons/core/Templates/Templates/NFtS/NFtS_Reb_FIN_Temperate.sqf
@@ -8,7 +8,7 @@
["flag", "Flag_FIA_F"] call _fnc_saveToTemplate;
["flagTexture", QPATHTOFOLDER(Templates\Templates\NFtS\flag_finland.paa)] call _fnc_saveToTemplate;
-["flagMarkerType", "NORTH_Flag_FIN"] call _fnc_saveToTemplate;
+["flagMarkerType", "a3a_flag_FIN"] call _fnc_saveToTemplate;
["vehiclesBasic", ["NORTH_FIN_41_R75"]] call _fnc_saveToTemplate;
["vehiclesLightUnarmed", ["LIB_Kfz1_sernyt"]] call _fnc_saveToTemplate;
diff --git a/A3A/addons/core/Templates/script_component.hpp b/A3A/addons/core/Templates/script_component.hpp
new file mode 100644
index 0000000000..d590f523d9
--- /dev/null
+++ b/A3A/addons/core/Templates/script_component.hpp
@@ -0,0 +1,2 @@
+#define COMPONENT templates
+#include "\x\A3A\addons\core\Includes\script_mod.hpp"
diff --git a/A3A/addons/core/functions/Ammunition/fn_equipmentClassToCategories.sqf b/A3A/addons/core/functions/Ammunition/fn_equipmentClassToCategories.sqf
index f82dcbcaba..b173a63d31 100644
--- a/A3A/addons/core/functions/Ammunition/fn_equipmentClassToCategories.sqf
+++ b/A3A/addons/core/functions/Ammunition/fn_equipmentClassToCategories.sqf
@@ -127,7 +127,7 @@ call {
};
if (_basecategory isEqualTo "Headgear") exitWith {
- if (getNumber (configfile >> "CfgWeapons" >> _className >> "ItemInfo" >> "HitpointsProtectionInfo" >> "Head" >> "armor") > 5) then {
+ if (getNumber (configfile >> "CfgWeapons" >> _className >> "ItemInfo" >> "HitpointsProtectionInfo" >> "Head" >> "armor") > 0) then {
_categories pushBack "ArmoredHeadgear";
};
};
diff --git a/A3A/addons/core/functions/init/fn_initClient.sqf b/A3A/addons/core/functions/init/fn_initClient.sqf
index 426e213da0..80d8bd88ac 100644
--- a/A3A/addons/core/functions/init/fn_initClient.sqf
+++ b/A3A/addons/core/functions/init/fn_initClient.sqf
@@ -666,4 +666,4 @@ if (staminaEnabled isEqualTo false) then {
};
private _newWeaponSway = swayEnabled / 100;
-player setCustomAimCoef _newWeaponSway;
\ No newline at end of file
+player setCustomAimCoef _newWeaponSway;
diff --git a/A3A/addons/core/functions/init/fn_initVarServer.sqf b/A3A/addons/core/functions/init/fn_initVarServer.sqf
index d682469804..5bbfed4eed 100644
--- a/A3A/addons/core/functions/init/fn_initVarServer.sqf
+++ b/A3A/addons/core/functions/init/fn_initVarServer.sqf
@@ -541,8 +541,8 @@ private _vehicleResourceCosts = createHashMap;
{ _vehicleResourceCosts set [_x, 150] } forEach FactionGet(all, "vehiclesDropPod") + FactionGet(all, "uavsAttack");
{ _vehicleResourceCosts set [_x, 250] } forEach FactionGet(all, "vehiclesPlanesCAS") + FactionGet(all, "vehiclesPlanesAA");
{ _vehicleResourceCosts set [_x, 250] } forEach FactionGet(all, "vehiclesHelisAttack");
-{ _vehicleResourceCosts set [_x, 250] } forEach FactionGet(all, "vehiclesPlanesCAS") + FactionGet(all, "vehiclesPlanesAA");
{ _vehicleResourceCosts set [_x, 275] } forEach FactionGet(all, "vehiclesPlanesGunship");
+{ _vehicleResourceCosts set [_x, 250] } forEach FactionGet(all, "vehiclesPlanesLargeCAS") + FactionGet(all, "vehiclesPlanesLargeAA");
// Threat table
private _groundVehicleThreat = createHashMap;
diff --git a/A3A/addons/core/functions/proxy/fn_onPlayerRespawn.sqf b/A3A/addons/core/functions/proxy/fn_onPlayerRespawn.sqf
index 6d087ee4a8..744e3706c5 100644
--- a/A3A/addons/core/functions/proxy/fn_onPlayerRespawn.sqf
+++ b/A3A/addons/core/functions/proxy/fn_onPlayerRespawn.sqf
@@ -279,4 +279,4 @@ if (staminaEnabled isEqualTo false) then {
};
private _newWeaponSway = swayEnabled / 100;
-player setCustomAimCoef _newWeaponSway;
\ No newline at end of file
+player setCustomAimCoef _newWeaponSway;
diff --git a/A3A/addons/hals/Addons/store/config.hpp b/A3A/addons/hals/Addons/store/config.hpp
index 29619ff46a..f8ff160d27 100644
--- a/A3A/addons/hals/Addons/store/config.hpp
+++ b/A3A/addons/hals/Addons/store/config.hpp
@@ -75,6 +75,8 @@ class cfgHALsStore
#include "config\eaw.hpp"
#include "config\cwr.hpp"
#include "config\ffp.hpp"
+ #include "config\ProjInfAD.hpp"
+ #include "config\JCAArsenal.hpp"
};
class stores
@@ -843,6 +845,47 @@ class cfgHALsStore
"launchermagazinesffp",
"magazinesffp",
"opticsffp"
+ class hafmstock
+ {
+ displayName = $STR_ARMS_DEALER_STORE;
+ categories[] = {
+ "handgunsHAFM",
+ "smgHAFM",
+ "mgHAFM",
+ "riflesHAFM",
+ "sniperriflesHAFM",
+ "launchersHAFM",
+ "launchermagazinesHAFM",
+ "muzzlesHAFM",
+ "magazinesHAFM",
+ "pointersHAFM",
+ "specialweaponsHAFM",
+ "opticsHAFM",
+ "underbarrelHAFM"
+ class projinf_stock
+ {
+ displayName = $STR_ARMS_DEALER_STORE;
+ categories[] = {
+ "handgunsProjInfAD",
+ "riflesProjInfAD",
+ "sniperRiflesProjInfAD",
+ "muzzlesProjInfAD",
+ "opticsProjInfAD",
+ "magazinesProjInfAD",
+ "underbarrelProjInfAD"
+ class jca_stock
+ {
+ displayName = $STR_ARMS_DEALER_STORE;
+ categories[] = {
+ "handgunsJCA",
+ "riflesJCA",
+ "sniperRiflesJCA",
+ "smgJCA",
+ "underbarrelJCA",
+ "pointersJCA",
+ "muzzlesJCA",
+ "opticsJCA",
+ "magazinesJCA"
};
};
};
diff --git a/A3A/addons/hals/Addons/store/config/JCAArsenal.hpp b/A3A/addons/hals/Addons/store/config/JCAArsenal.hpp
new file mode 100644
index 0000000000..f915a33ee3
--- /dev/null
+++ b/A3A/addons/hals/Addons/store/config/JCAArsenal.hpp
@@ -0,0 +1,326 @@
+ class handgunsJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_handguns"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\handgun_ca.paa";
+
+ ITEM(JCA_hgun_P226_black_F, 150, PISTOL_STOCK);
+ ITEM(JCA_hgun_P226_olive_F, 150, PISTOL_STOCK);
+ ITEM(JCA_hgun_P226_sand_F, 150, PISTOL_STOCK);
+
+ ITEM(JCA_hgun_P320_black_F, 140, PISTOL_STOCK); //Slightly Lower Accuracy But Lighter
+ ITEM(JCA_hgun_P320_olive_F, 140, PISTOL_STOCK);
+ ITEM(JCA_hgun_P320_sand_F, 140, PISTOL_STOCK);
+ };
+
+ class riflesJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_rifles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa";
+
+ ITEM(JCA_arifle_M16A4_black_F, 1100, RIFLE_STOCK); //Has less accuracy than the M4A1.
+ ITEM(JCA_arifle_M16A4_olive_F, 1100, RIFLE_STOCK);
+ ITEM(JCA_arifle_M16A4_sand_F, 1100, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M16A4_FG_black_F, 1100, RIFLE_STOCK);
+ ITEM(JCA_arifle_M16A4_FG_olive_F, 1100, RIFLE_STOCK);
+ ITEM(JCA_arifle_M16A4_FG_sand_F, 1100, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M16A4_GL_black_F, 1750, RIFLE_STOCK); //Only reducing price on this by 50 since it's a GL.
+ ITEM(JCA_arifle_M16A4_GL_olive_F, 1750, RIFLE_STOCK);
+ ITEM(JCA_arifle_M16A4_GL_sand_F, 1750, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A1_short_black_F, 1200, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_short_olive_F, 1200, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_short_sand_F, 1200, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A1_black_F, 1400, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_olive_F, 1400, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_sand_F, 1400, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A1_GL_black_F, 1800, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_GL_olive_F, 1800, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A1_GL_sand_F, 1800, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A4_AFG_black_F, 1450, RIFLE_STOCK); //M4A4s are ever so slightly stronger than the M4A1
+ ITEM(JCA_arifle_M4A4_AFG_olive_F, 1450, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A4_AFG_sand_F, 1450, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A4_VFG_black_F, 1450, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A4_VFG_olive_F, 1450, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A4_VFG_sand_F, 1450, RIFLE_STOCK);
+
+ ITEM(JCA_arifle_M4A4_GL_black_F, 1850, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A4_GL_olive_F, 1850, RIFLE_STOCK);
+ ITEM(JCA_arifle_M4A4_GL_sand_F, 1850, RIFLE_STOCK);
+ };
+
+ class sniperRiflesJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_sniperRifles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa";
+
+ ITEM(JCA_arifle_SR25_black_F, 1700, 25);
+ ITEM(JCA_arifle_SR25_olive_F, 1700, 25);
+ ITEM(JCA_arifle_SR25_sand_F, 1700, 25);
+
+ ITEM(JCA_arifle_SR10_AFG_black_F, 1750, 25); //Same thing as the M4A4s
+ ITEM(JCA_arifle_SR10_AFG_olive_F, 1750, 25);
+ ITEM(JCA_arifle_SR10_AFG_sand_F, 1750, 25);
+
+ ITEM(JCA_arifle_SR10_VFG_black_F, 1750, 25);
+ ITEM(JCA_arifle_SR10_VFG_olive_F, 1750, 25);
+ ITEM(JCA_arifle_SR10_VFG_sand_F, 1750, 25);
+
+ ITEM(JCA_srifle_AWM_black_F, 1800, 15);
+ ITEM(JCA_srifle_AWM_olive_F, 1800, 15);
+ ITEM(JCA_srifle_AWM_sand_F, 1800, 15);
+ };
+
+ class smgJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_smgs"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa";
+
+ ITEM(JCA_smg_MP5_FL_black_F, 400, 30);
+ ITEM(JCA_smg_MP5_FL_olive_F, 400, 30);
+ ITEM(JCA_smg_MP5_FL_sand_F, 400, 30);
+
+ ITEM(JCA_smg_MP5_AFG_black_F, 400, 30);
+ ITEM(JCA_smg_MP5_AFG_olive_F, 400, 30);
+ ITEM(JCA_smg_MP5_AFG_sand_F, 400, 30);
+
+ ITEM(JCA_smg_MP5_VFG_black_F, 400, 30);
+ ITEM(JCA_smg_MP5_VFG_olive_F, 400, 30);
+ ITEM(JCA_smg_MP5_VFG_sand_F, 400, 30);
+ };
+
+ class underbarrelJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2 %3 %4", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_bipods", localize "STR_A3AU_and", localize "STR_A3AU_grips"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemBipod_ca.paa";
+
+ ITEM(JCA_bipod_04_black, 100, 50);
+ ITEM(JCA_bipod_04_olive, 100, 50);
+ ITEM(JCA_bipod_04_sand, 100, 50);
+
+ ITEM(JCA_bipod_AWM_black, 100, 50);
+ };
+
+ class pointersJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2 %3 %4", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_pointers", localize "STR_A3AU_and", localize "STR_A3AU_flashlights"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemAcc_ca.paa";
+
+ ITEM(JCA_acc_flashlight_MP5_black, 50, PN_STOCK);
+
+ ITEM(JCA_acc_DualMount_black_Pointer, 80, PN_STOCK);
+ ITEM(JCA_acc_DualMount_olive_Pointer, 80, PN_STOCK);
+ ITEM(JCA_acc_DualMount_sand_Pointer, 80, PN_STOCK);
+
+ ITEM(JCA_acc_LaserModule_black_Pointer, 70, PN_STOCK);
+ ITEM(JCA_acc_LaserModule_olive_Pointer, 70, PN_STOCK);
+ ITEM(JCA_acc_LaserModule_sand_Pointer, 70, PN_STOCK);
+
+ ITEM(JCA_acc_flashlight_tactical_black, 70, PN_STOCK);
+ ITEM(JCA_acc_flashlight_tactical_olive, 70, PN_STOCK);
+ ITEM(JCA_acc_flashlight_tactical_sand, 70, PN_STOCK);
+
+ ITEM(JCA_acc_LightModule_Pistol_black, 50, PN_STOCK);
+ ITEM(JCA_acc_LightModule_Pistol_olive, 50, PN_STOCK);
+ ITEM(JCA_acc_LightModule_Pistol_sand, 50, PN_STOCK);
+
+ ITEM(JCA_acc_LightMount_Pistol_black, 50, PN_STOCK);
+ ITEM(JCA_acc_LightMount_Pistol_olive, 50, PN_STOCK);
+ ITEM(JCA_acc_LightMount_Pistol_sand, 50, PN_STOCK);
+ };
+
+ class muzzlesJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_muzzles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemMuzzle_ca.paa";
+
+ ITEM(JCA_muzzle_snds_MP5_black, 300, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_MP5_olive, 300, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_MP5_sand, 300, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_556_advanced_black, 500, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_556_advanced_olive, 500, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_556_advanced_sand, 500, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_AWM_black, 700, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_AWM_olive, 700, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_AWM_sand, 700, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_SR25_black, 600, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_SR25_olive, 600, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_SR25_sand, 600, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_762_tactical_black, 600, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_762_tactical_olive, 600, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_762_tactical_sand, 600, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_9MM_enhanced_black, 250, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_9MM_enhanced_olive, 250, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_9MM_enhanced_sand, 250, MZ_STOCK);
+
+ ITEM(JCA_muzzle_snds_9MM_tactical_black, 250, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_9MM_tactical_olive, 250, MZ_STOCK);
+ ITEM(JCA_muzzle_snds_9MM_tactical_sand, 250, MZ_STOCK);
+ };
+
+ class opticsJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_sights"]);
+ picture = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa";
+
+ class JCA_optic_ACOG_black { price = 800; stock = 100; };
+ class JCA_optic_ACOG_olive { price = 800; stock = 100; };
+ class JCA_optic_ACOG_sand { price = 800; stock = 100; };
+
+ class JCA_optic_AHO_black { price = 600; stock = 100; };
+ class JCA_optic_AHO_olive { price = 600; stock = 100; };
+ class JCA_optic_AHO_sand { price = 600; stock = 100; };
+
+ class JCA_optic_AICO_black { price = 700; stock = 100; };
+ class JCA_optic_AICO_olive { price = 700; stock = 100; };
+ class JCA_optic_AICO_sand { price = 700; stock = 100; };
+
+ class JCA_optic_ARO_black { price = 600; stock = 100; };
+ class JCA_optic_ARO_olive { price = 600; stock = 100; };
+ class JCA_optic_ARO_sand { price = 600; stock = 100; };
+
+ class JCA_optic_HPPO_black { price = 1000; stock = 100; };
+ class JCA_optic_HPPO_RAD_black { price = 1300; stock = 100; };
+ class JCA_optic_HPPO_olive { price = 1000; stock = 100; };
+ class JCA_optic_HPPO_RAD_olive { price = 1300; stock = 100; };
+ class JCA_optic_HPPO_sand { price = 1000; stock = 100; };
+ class JCA_optic_HPPO_RAD_sand { price = 1300; stock = 100; };
+
+ class JCA_optic_ICO_black { price = 600; stock = 100; };
+ class JCA_optic_ICO_olive { price = 600; stock = 100; };
+ class JCA_optic_ICO_sand { price = 600; stock = 100; };
+
+ class JCA_optic_MRO_black { price = 400; stock = 100; };
+
+ class JCA_optic_MPO_black { price = 200; stock = 100; };
+
+ class JCA_optic_MRPS_black { price = 1000; stock = 100; };
+ class JCA_optic_MRPS_olive { price = 1000; stock = 100; };
+ class JCA_optic_MRPS_sand { price = 1000; stock = 100; };
+ };
+
+ class magazinesJCA
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_JCA_ARSENAL", localize "STR_A3AU_magazines"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\cargoMag_ca.paa";
+
+ ///////////////////////////////////////////////////////
+ // Pistols, SMGs
+ ///////////////////////////////////////////////////////
+ class JCA_30Rnd_9x21_MP5_Mag {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_9x21_MP5_Tracer_Green_Mag {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_9x21_MP5_Tracer_Red_Mag {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_9x21_MP5_Tracer_Yellow_Mag {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_9x21_MP5_Tracer_IR_Mag {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_15Rnd_9x21_P226_Mag {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_15Rnd_9x21_P226_Green_Mag {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_15Rnd_9x21_P226_Red_Mag {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_15Rnd_9x21_P226_Yellow_Mag {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_15Rnd_9x21_P226_IR_Mag {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ ///////////////////////////////////////////////////////
+ // RIFLES
+ ///////////////////////////////////////////////////////
+ class JCA_30Rnd_556x45_PMAG {
+ price = 100;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_556x45_Tracer_Red_PMAG {
+ price = 100;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_556x45_Tracer_Yellow_PMAG {
+ price = 100;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_556x45_Tracer_Green_PMAG {
+ price = 100;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_30Rnd_556x45_Tracer_IR_PMAG {
+ price = 100;
+ stock = MAGAZINE_STOCK;
+ };
+ ///////////////////////////////////////////////////////
+ // DMRs, Sniper Rifles
+ ///////////////////////////////////////////////////////
+ class JCA_20Rnd_762x51_PMAG {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_20Rnd_762x51_Tracer_Green_PMAG {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_20Rnd_762x51_Tracer_Red_PMAG {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_20Rnd_762x51_Tracer_Yellow_PMAG {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_20Rnd_762x51_Tracer_IR_PMAG {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_5Rnd_338LM_AWM_Mag {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_5Rnd_338LM_AWM_Tracer_Green_Mag {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_5Rnd_338LM_AWM_Tracer_Red_Mag {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_5Rnd_338LM_AWM_Tracer_Yellow_Mag {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ class JCA_5Rnd_338LM_AWM_Tracer_IR_Mag {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ };
diff --git a/A3A/addons/hals/Addons/store/config/ProjInfAD.hpp b/A3A/addons/hals/Addons/store/config/ProjInfAD.hpp
new file mode 100644
index 0000000000..3c4d67f290
--- /dev/null
+++ b/A3A/addons/hals/Addons/store/config/ProjInfAD.hpp
@@ -0,0 +1,206 @@
+ class handgunsProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_handguns"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\handgun_ca.paa";
+
+ ITEM(bnae_l35_virtual, 150, PISTOL_STOCK);
+ ITEM(bnae_l35_c_virtual, 150, PISTOL_STOCK);
+ ITEM(bnae_r1_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_r1_c_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_r1_e_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_r1_m_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_r1_t_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_saa_c_virtual, 200, PISTOL_STOCK);
+ ITEM(bnae_saa_virtual, 200, PISTOL_STOCK);
+ };
+
+ class riflesProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_rifles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa";
+
+ ITEM(bnae_rk95_virtual, 800, RIFLE_STOCK);
+ ITEM(bnae_rk95_camo1_virtual, 800, RIFLE_STOCK);
+ ITEM(bnae_rk95r_virtual, 1000, RIFLE_STOCK);
+ ITEM(bnae_rk95r_camo1_virtual, 1000, RIFLE_STOCK);
+
+ ITEM(bnae_spr220_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_spr220_camo1_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_spr220_so_virtual, 500, RIFLE_STOCK);
+ ITEM(bnae_spr220_so_camo1_virtual, 500, RIFLE_STOCK);
+
+ ITEM(bnae_mk1_short_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_m97_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_m97_camo1_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_m97_s_virtual, 500, RIFLE_STOCK);
+ };
+
+ class sniperRiflesProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_sniperRifles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\primaryWeapon_ca.paa";
+
+ ITEM(bnae_mk1_virtual, 600, RIFLE_STOCK);
+ ITEM(bnae_mk1_t_virtual, 650, RIFLE_STOCK);
+ ITEM(bnae_mk1_t_camo1_virtual, 650, RIFLE_STOCK);
+
+ ITEM(bnae_falkor_blk_virtual, 1600, RIFLE_STOCK);
+ ITEM(bnae_falkor_camo1_virtual, 1600, RIFLE_STOCK);
+ ITEM(bnae_falkor_snd_virtual, 1600, RIFLE_STOCK);
+ ITEM(bnae_falkor_camo2_virtual, 1600, RIFLE_STOCK);
+
+ ITEM(bnae_trg42_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_camo2_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_camo1_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_mmrs_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_mmrs_camo1_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_f_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_f_camo1_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_f_mmrs_virtual, 1750, RIFLE_STOCK);
+ ITEM(bnae_trg42_f_mmrs_camo1_virtual, 1750, RIFLE_STOCK);
+ };
+ class muzzlesProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_muzzles"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemMuzzle_ca.paa";
+
+ ITEM(bnae_suppressor_v2_virtual, 100, MZ_STOCK);
+ ITEM(bnae_suppressor_covblk_virtual, 100, MZ_STOCK);
+ ITEM(bnae_suppressor_covdrt_virtual, 100, MZ_STOCK);
+
+ ITEM(bnae_muzzle_blk_virtual, 60, MZ_STOCK);
+ ITEM(bnae_muzzle_snd_virtual, 60, MZ_STOCK);
+ ITEM(bnae_silencer_virtual, 120, MZ_STOCK);
+
+ ITEM(bnae_suppressor_v4_virtual, 60, MZ_STOCK);
+ ITEM(bnae_suppressor_v3_virtual, 60, MZ_STOCK);
+ };
+
+ class opticsProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_sights"]);
+ picture = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa";
+
+ class bnae_scope_blk_virtual {
+ price = 150;
+ stock = 50;
+ };
+ class bnae_scope_mtp_virtual {
+ price = 150;
+ stock = 50;
+ };
+ class bnae_scope_snd_virtual {
+ price = 150;
+ stock = 50;
+ };
+ class bnae_scope_v2_virtual {
+ price = 150;
+ stock = 50;
+ };
+ class bnae_truglo_blk_virtual {
+ price = 120;
+ stock = 50;
+ };
+ class bnae_truglo_snd_virtual {
+ price = 120;
+ stock = 50;
+ };
+ class bnae_scope_v3_virtual {
+ price = 100;
+ stock = 50;
+ };
+ };
+
+ class magazinesProjInfAD
+ {
+ displayName = __EVAL(formatText["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_magazines"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\cargoMag_ca.paa";
+ ///////////////////////////////////////////////////////
+ // Pistols, SMGs
+ ///////////////////////////////////////////////////////
+
+ class 8Rnd_9x19_Magazine {
+ price = 30;
+ stock = MAGAZINE_STOCK;
+ };
+ class 8Rnd_45ACP_Magazine {
+ price = 40;
+ stock = MAGAZINE_STOCK;
+ };
+ class 8Rnd_45GAP_Magazine {
+ price = 40;
+ stock = MAGAZINE_STOCK;
+ };
+ class 8Rnd_45Super_Magazine {
+ price = 40;
+ stock = MAGAZINE_STOCK;
+ };
+ class 6Rnd_357M_Magazine {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+
+
+ ///////////////////////////////////////////////////////
+ // RIFLES
+ ///////////////////////////////////////////////////////
+
+ class 2Rnd_00_Buckshot_Magazine {
+ price = 20;
+ stock = MAGAZINE_STOCK;
+ };
+ class 2Rnd_Slug_Magazine {
+ price = 20;
+ stock = MAGAZINE_STOCK;
+ };
+ class 5Rnd_00_Buckshot_Magazine {
+ price = 35;
+ stock = MAGAZINE_STOCK;
+ };
+ class 5Rnd_Slug_Magazine {
+ price = 35;
+ stock = MAGAZINE_STOCK;
+ };
+ class 6Rnd_00_Buckshot_Magazine {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class 6Rnd_Slug_Magazine {
+ price = 50;
+ stock = MAGAZINE_STOCK;
+ };
+ class 30Rnd_762x39_Magazine {
+ price = 70;
+ stock = MAGAZINE_STOCK;
+ };
+
+ ///////////////////////////////////////////////////////
+ // DMRs, Sniper Rifles
+ ///////////////////////////////////////////////////////
+ class 10Rnd_303_Magazine {
+ price = 60;
+ stock = MAGAZINE_STOCK;
+ };
+ class 5Rnd_338LM_Magazine {
+ price = 150;
+ stock = MAGAZINE_STOCK;
+ };
+ class 5Rnd_APDS_338LM_Magazine {
+ price = 200;
+ stock = MAGAZINE_STOCK;
+ };
+ class 10Rnd_300WM_Magazine {
+ price = 120;
+ stock = MAGAZINE_STOCK;
+ };
+ };
+
+ class underbarrelProjInfAD
+ {
+ displayName = __EVAL(formatText ["%1 %2", localize "STR_A3AU_PROJINF", localize "STR_A3AU_bipods"]);
+ picture = "a3\ui_f\data\gui\Rsc\RscDisplayArsenal\itemBipod_ca.paa";
+
+ ITEM(bnae_holder_virtual, 30, 150);
+ ITEM(bnae_bipod_blk_virtual, 50, 150);
+ ITEM(bnae_bipod_snd_virtual, 50, 150);
+ };
\ No newline at end of file
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 4db0175eaf..cf3ac43f4b 100644
--- a/A3A/addons/hals/Stringtable.xml
+++ b/A3A/addons/hals/Stringtable.xml
@@ -868,6 +868,28 @@
FFP
FFP
+
+ HAFM
+ HAFM
+ HAFM
+ HAFM
+ HAFM
+
+
+ P.I.
+ P.I.
+ P.I.
+ P.I.
+ P.I.
+ P.I.
+
+ JCA
+ JCA
+ JCA
+ JCA
+ JCA
+ JCA
+
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.