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. Vehicle your generating the nodes for + 1. Model relativ position of cargo plane start position + 2. The lenght of the cargo plane + 3. Return preped for model based definition instead of class based + + Return Value: + generated node class to be pasted in to the config + + Scope: Clients + Environment: unscheduled + Public: [Yes] + Dependencies: + + Example: [cursorTarget, [0,-0.7,-0.7], 2.1] call A3A_Logistics_fnc_generateHardPoints; +*/ + +/* +example output +*/ +class HAFM_Vehicles_Unimog1550_Unimog1550_p3d : TRIPLES(ADDON,Nodes,Base) +{ + class Nodes + { + class Node1 + { + offset[] = {0,-0.9,-0.5}; + }; + class Node2 + { + offset[] = {0,-1.7,-0.5}; + }; + class Node3 + { + offset[] = {0,-2.5,-0.5}; + }; + }; +}; + + diff --git a/A3A/addons/maps/Antistasi_OPTRE_Madrigal.OPTRE_Madrigal/mission.sqm b/A3A/addons/maps/Antistasi_OPTRE_Madrigal.OPTRE_Madrigal/mission.sqm index 2cd2e40f6a..bda53b738f 100644 --- a/A3A/addons/maps/Antistasi_OPTRE_Madrigal.OPTRE_Madrigal/mission.sqm +++ b/A3A/addons/maps/Antistasi_OPTRE_Madrigal.OPTRE_Madrigal/mission.sqm @@ -7095,4 +7095,4 @@ class Mission }; }; }; -}; +}; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp b/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp index 97eb3702d4..7da4e87b7c 100644 --- a/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp +++ b/A3A/addons/ultimate/config/plane/cfgPlaneLoadouts.hpp @@ -275,6 +275,42 @@ class planeLoadouts loadout[] = {"sab_fl_bomb_axis_8rnd_flat_1000_mag","sab_fl_bomb_axis_fritzx_mag","sab_fl_bomb_axis_fritzx_mag"}; bombRacks[] = {"sab_fl_bomb_bay_weapon","sab_fl_fritzx_weapon"}; diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; + //HAFM + class A7BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class A7BLU_TIGER + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class F4E_BLU + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class F4E_BLU_AG + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"CUP_Vmlauncher_AIM120_veh", "Missile_AGM_02_Plane_CAS_01_F"}; + diveParams[] = {1200, 600, 180, 55, 15, {0,0}}; }; // FFP Finland class ffp_jas39e @@ -293,6 +329,21 @@ class planeLoadouts bombRacks[] = {"Mk82BombLauncher","sfp_bk90_launcher"}; diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; }; + + //CUP NorAF + class Flex_CUP_NOR_F35B + { + loadout[] = {"","","","PylonMissile_1Rnd_BombCluster_03_F","CUP_PylonPod_1Rnd_Mk82_M","","CUP_PylonPod_1Rnd_Mk82_M","PylonMissile_1Rnd_BombCluster_03_F","","",""}; + bombRacks[] = {"CUP_Vblauncher_Mk82_veh", "BombCluster_03_F"}; + diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; + class F16C_NATO50 + { + loadout[] = {"","","FIR_CBU87_P_1rnd_M","FIR_GBU56_P_1rnd_M","","FIR_SniperXR_HTS_P_1rnd_M","FIR_GBU56_P_1rnd_M","FIR_CBU87_P_1rnd_M","",""}; + mainGun = "FIR_M61A2"; + bombRacks[] = {"FIR_CBU87", "FIR_GBU56"}; + diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; }; class CAS @@ -626,6 +677,52 @@ class planeLoadouts mainGun = "sfp_mauser_bk27_120rnd"; missileLauncher[] = {"sfp_rbs98_launcher", "sfp_rbs75_launcher"}; }; + //HAFM + class A7BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + }; + class A7BLU_TIGER + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","PylonRack_1Rnd_AAA_missiles"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"missiles_ASRAAM", "Missile_AGM_02_Plane_CAS_01_F"}; + }; + class F4E_BLU + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + }; + class F4E_BLU_AG + { + loadout[] = {"PylonRack_1Rnd_Missile_AA_AIM9","","","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","PylonPod_1x_CMissile_F4","","","PylonRack_1Rnd_Missile_AA_AIM9"}; + mainGun = "HAFM_M61A1"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","PylonRack_1Rnd_Missile_AGM_02_F","","PylonRack_1Rnd_Missile_AGM_02_F","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"HAFM_GBU12_Launcher"}; + + //CUP NorAF + class Flex_CUP_NOR_F35B + { + loadout[] = {"","","","CUP_PylonPod_1Rnd_GBU12_M","CUP_PylonPod_1Rnd_GBU12_M","","CUP_PylonPod_1Rnd_GBU12_M","CUP_PylonPod_1Rnd_GBU12_M","","",""}; + bombRacks[] = {"CUP_Vblauncher_GBU12_veh"}; + diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; + class F16C_NATO50 + { + loadout[] = {"","","FIR_AGM65L_P_1rnd_M","FIR_GBU56_P_1rnd_M","","FIR_SniperXR_HTS_P_1rnd_M","FIR_GBU56_P_1rnd_M","FIR_AGM65L_P_1rnd_M","",""}; + mainGun = "FIR_M61A2"; + bombRacks[] = {"FIR_GBU56"}; + missileLauncher[] = {"FIR_AGM65"}; + diveParams[] = {1000, 300, 100, 55, 15, {0,0}}; + }; }; class AA @@ -864,5 +961,40 @@ class planeLoadouts missileLauncher[] = {"sfp_rbs98_launcher", "sfp_rbs99_launcher"}; diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; }; + //HAFM + class F16C_BLU + { + loadout[] = {"PylonPod_1x_Missile_AIM9_R","PylonMissile_AA_AIM120_1x","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonMissile_AA_AIM120_1x","PylonPod_1x_Missile_AIM9_L"}; + mainGun = "HAFM_M61A2"; + missileLauncher[] = {"HAFM_AIM9_Launcher","HAFM_AIM120_Launcher","missiles_ASRAAM"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; + class F16_B52_BLU + { + loadout[] = {"PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_GAA_missiles","PylonRack_1Rnd_GAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles","PylonRack_1Rnd_AAA_missiles"}; + missileLauncher[] = {"HAFM_AIM120_Launcher","missiles_ASRAAM"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; + class M2000C_BLU + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M","","CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M"}; + mainGun = "HAFM_DEFA_554_MG"; + missileLauncher[] = {"CUP_Vmlauncher_AIM120_veh","CUP_Vmlauncher_AIM9L_veh_1Rnd"}; + diveParams[] = {1000, 600, 180, 55, 15, {0,0}}; + }; + + //CUP NorAF + class Flex_CUP_NOR_F35B //I Pray For Whoever Goes Up Against This + { + loadout[] = {"CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M",,"CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_INT_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_INT_M","CUP_PylonWeapon_220Rnd_TE1_Red_Tracer_GAU22_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_INT_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_INT_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_120_AMRAAM_M","CUP_PylonPod_1Rnd_AIM_9L_LAU_Sidewinder_M"}; + mainGun = "CUP_Vacannon_GAU22_veh"; + missileLauncher[] = {"CUP_Vmlauncher_AIM9L_veh_1Rnd","CUP_Vmlauncher_AIM120_veh"}; + }; + class F16C_NATO50 + { + loadout[] = {"FIR_AIM120_P_1rnd_M","FIR_AIM9X_P_1rnd_M","FIR_AIM120_P_1rnd_M","","","FIR_Empty_P_1rnd_M","","FIR_AIM120_P_1rnd_M","FIR_AIM9X_P_1rnd_M","FIR_AIM120_P_1rnd_M"}; + mainGun = "FIR_M61A2"; + missileLauncher[] = {"FIR_AIM120","FIR_AIM9X"}; + } }; }; diff --git a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp index 165c986318..899ed2fe5f 100644 --- a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp +++ b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp @@ -272,4 +272,26 @@ { addons[] = {"XA_185"}; vehicles = "vehicles_ffpxa185"; + class addons_hafm : addons_base + { + addons[] = {"HAFM_Acc"}; + weapons = "weapons_hafm"; + vehicles = "vehicles_hafm"; + class addons_projinf : addons_base + { + addons[] = {"bnae_core"}; + weapons = "weapons_projinf"; + class addons_jca : addons_base + { + addons[] = {"Weapons_F_JCA_IA","Weapons_F_JCA_IA_Accessories","Weapons_F_JCA_IA_LongRangeRifles_AWM","Weapons_F_JCA_IA_Pistols_P226","Weapons_F_JCA_IA_Pistols_P320","Weapons_F_JCA_IA_Rifles_M4A1","Weapons_F_JCA_IA_Rifles_M4A4","Weapons_F_JCA_IA_Rifles_SR10","Weapons_F_JCA_IA_Rifles_SR25","Weapons_F_JCA_IA_SMGs_MP5"}; + weapons = "weapons_jca"; + class addons_FlexNorAF : addons_base + { + addons[] = {"Flex_CUP_NOR_Faction"}; + vehicles = "CUP_NorAF_Vehicles"; + }; + class addons_FlexNorAFF16 : addons_base + { + addons[] = {"F16_Norwegian_Reskin"}; + vehicles = "CUP_NorAF_F16"; }; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp index bcc5c5200c..c4dda67584 100644 --- a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp +++ b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp @@ -145,4 +145,13 @@ class weapons_ffp : weapons_base { prefix = "ffpstock"; + class weapons_hafm : weapons_base + { + prefix = "hafmstock"; + class weapons_projinf : weapons_base + { + prefix = "projinf_stock" + class weapons_jca : weapons_base + { + prefix = "jca_stock" }; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAF.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAF.hpp new file mode 100644 index 0000000000..f0cf42625d --- /dev/null +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAF.hpp @@ -0,0 +1,22 @@ +class CUP_NorAF_Vehicles : vehicles_base +{ + ITEM(Flex_CUP_NOR_Dingo_MG, 9100, ARMEDCAR, VEHICLE_CONDITION_ARMEDCAR); + ITEM(Flex_CUP_NOR_Dingo_GL, 16600, ARMEDCAR, VEHICLE_CONDITION_ARMEDCAR); + + ITEM(Flex_CUP_NOR_M113A3, 6600, APC, VEHICLE_CONDITION_APC); + + ITEM(Flex_CUP_NOR_Leopard2A6, 49000, TANK, VEHICLE_CONDITION_TANK); + + ITEM(Flex_CUP_NOR_F35B, 105725, PLANE, VEHICLE_CONDITION_PLANE); + + ITEM(Flex_CUP_NOR_Bell412_Transport, 9000, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Bell412_Utility, 8100, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Bell412_Radar, 10600, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Merlin_HC3, 12200, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_MH60S_Unarmed, 11900, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Bell412_Armed, 8900, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Bell412_Armed_AT, 14930, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Bell412_dynamicLoadout, 15315, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_MH60S_Armed, 13280, HELI, VEHICLE_CONDITION_HELI); + ITEM(Flex_CUP_NOR_Merlin_HC3_Armed, 12805, HELI, VEHICLE_CONDITION_HELI); +}; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAFF16.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAFF16.hpp new file mode 100644 index 0000000000..b6c44457bc --- /dev/null +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_NorAFF16.hpp @@ -0,0 +1,4 @@ +class CUP_NorAF_F16 : vehicles_base +{ + ITEM(F16C_NATO50, 91000, PLANE, VEHICLE_CONDITION_PLANE); +}; \ No newline at end of file diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp new file mode 100644 index 0000000000..239cfca37a --- /dev/null +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_hafm.hpp @@ -0,0 +1,50 @@ +class vehicles_hafm : vehicles_base +{ + ITEM(HAFM_GD240_Unarmed2, 900, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(HAFM_HMMWV1, 900, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(HAFM_VBL2, 1080, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR); + ITEM(Unimog1550_Covered2, 1750, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR);//ADDED NODES + ITEM(Unimog1550_SemiCovered2, 1750, "UNARMEDCAR", VEHICLE_CONDITION_UNARMEDCAR);//DIDNT ADD NODES SINCE SEATS WERE IN WAY + //HAS AMMO AND FUEL TRUCK BUT THEY ARE TECHNICALLY NOT AN AMMO AND FUEL TRUCK SO NOT ADDING THEM TO A.D. ¯\_(ツ)_/¯ + + ITEM(HAFM_GD240_Patrol2, 2400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_M2, 4400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_MK19, 7400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_Kornet, 11900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_HMMWV1_Milan, 12900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR);//This one has Rearming Capability For Whatever Reason. I think Mod Author meant to put -1 instead of 1 + ITEM(HAFM_HMMWV1_TOW, 8900, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_VBL2_M50, 5400, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + ITEM(HAFM_VBL2_M240, 3100, "ARMEDCAR", VEHICLE_CONDITION_ARMEDCAR); + + ITEM(Leonidas2_2, 6700, "APC", VEHICLE_CONDITION_APC); + ITEM(Leonidas3_BLU, 31850, "APC", VEHICLE_CONDITION_APC); + ITEM(blx_M1117_GR, 20060, "APC", VEHICLE_CONDITION_APC); + + ITEM(Leopard1A4_2, 41000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(M60A3_2, 44000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(Leopard2A4_2, 41000, "TANK", VEHICLE_CONDITION_TANK); + ITEM(Leopard2A6HEL_2, 46000, "TANK", VEHICLE_CONDITION_TANK); + + ITEM(HAFM_Naval_RHIB, 2100, "BOAT", VEHICLE_CONDITION_BOAT);//Never thought I'd see the day where I'm putting boats into the Arms Dealer + ITEM(HAFM_Naval_CB90_BLU, 53630, "BOAT", VEHICLE_CONDITION_BOAT); + + ITEM(A7BLU, 67900, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(A7BLU_TIGER, 67900, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F16C_BLU, 95200, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F16_B52_BLU, 95200, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F4E_BLU, 68500, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(F4E_BLU_AG, 68500, "PLANE", VEHICLE_CONDITION_PLANE); + ITEM(M2000C_BLU, 90250, "PLANE", VEHICLE_CONDITION_PLANE); + + ITEM(HAFM_UH1H, 9960, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_Kiowa, 19060, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_Kiowa_AT, 19225, "HELI", VEHICLE_CONDITION_HELI); + ITEM(NH90_GR2, 11000, "HELI", VEHICLE_CONDITION_HELI); + ITEM(NH90Armed_GR2, 11990, "HELI", VEHICLE_CONDITION_HELI); + ITEM(CH_47F_BLU, 15390, "HELI", VEHICLE_CONDITION_HELI); + ITEM(HAFM_AH64D, 29025, "HELI", VEHICLE_CONDITION_HELI); + + ITEM(GR_MBT_mlrs, 69000, "ARTILLERY", VEHICLE_CONDITION_ARTILLERY); + + ITEM(HAFM_Pegasus, 12500, "UAV", VEHICLE_CONDITION_UAV); +}; diff --git a/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp b/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp index 0b4a2640a4..6e45d1349d 100644 --- a/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp +++ b/A3A/addons/ultimate/config/trader/vehicles/vehicles_includes.hpp @@ -38,3 +38,6 @@ #include "vehicles_scrtwpns.hpp" #include "vehicles_ffp.hpp" #include "vehicles_ffpxa185.hpp" +#include "vehicles_hafm.hpp" +#include "vehicles_NorAF.hpp" +#include "vehicles_NorAFF16.hpp"