diff --git a/A3A/addons/hals/Addons/store/config.hpp b/A3A/addons/hals/Addons/store/config.hpp
index 2b091a99cd..86dfdaecac 100644
--- a/A3A/addons/hals/Addons/store/config.hpp
+++ b/A3A/addons/hals/Addons/store/config.hpp
@@ -74,6 +74,7 @@ class cfgHALsStore
#include "config\fow.hpp"
#include "config\eaw.hpp"
#include "config\cwr.hpp"
+ #include "config\JCAArsenal.hpp"
};
class stores
@@ -830,5 +831,20 @@ class cfgHALsStore
"opticsCWR"
};
};
+ class JCA_Arsenal_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..6cc8be210d
--- /dev/null
+++ b/A3A/addons/hals/Addons/store/config/JCAArsenal.hpp
@@ -0,0 +1,314 @@
+ 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_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/Stringtable.xml b/A3A/addons/hals/Stringtable.xml
index 324d1e242e..8293dda155 100644
--- a/A3A/addons/hals/Stringtable.xml
+++ b/A3A/addons/hals/Stringtable.xml
@@ -861,6 +861,14 @@
Cold War ReArmed
Cold War ReArmed
+
+ JCA
+ JCA
+ JCA
+ JCA
+ JCA
+ JCA
+
diff --git a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp
index d961c07697..f20f371aa0 100644
--- a/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp
+++ b/A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp
@@ -261,4 +261,9 @@
{
addons[] = {"sab_navallegends"};
vehicles = "vehicles_navleg";
+ };
+ class addons_JCAArsenal : 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 = "JCAArsenal_Compat";
};
\ No newline at end of file
diff --git a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp
index 9cd739f450..3261feedd8 100644
--- a/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp
+++ b/A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp
@@ -141,4 +141,8 @@
class weapons_cwriii : weapons_base
{
prefix = "cwrstock";
+ };
+ class JCAArsenal_Compat : weapons_base
+ {
+ prefix = "JCA_Arsenal_Stock"
};
\ No newline at end of file