Skip to content

Commit

Permalink
JCA Arms Dealer
Browse files Browse the repository at this point in the history
  • Loading branch information
Azodion committed Sep 25, 2024
1 parent 83baf9a commit 3e4a600
Show file tree
Hide file tree
Showing 5 changed files with 347 additions and 0 deletions.
16 changes: 16 additions & 0 deletions A3A/addons/hals/Addons/store/config.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ class cfgHALsStore
#include "config\fow.hpp"
#include "config\eaw.hpp"
#include "config\cwr.hpp"
#include "config\JCAArsenal.hpp"
};

class stores
Expand Down Expand Up @@ -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"
};
};
};
};
314 changes: 314 additions & 0 deletions A3A/addons/hals/Addons/store/config/JCAArsenal.hpp
Original file line number Diff line number Diff line change
@@ -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;
};
};
8 changes: 8 additions & 0 deletions A3A/addons/hals/Stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -861,6 +861,14 @@
<Korean>Cold War ReArmed</Korean>
<French>Cold War ReArmed</French>
</Key>
<Key ID="STR_A3AU_JCA_ARSENAL">
<Original>JCA</Original>
<German>JCA</German>
<Russian>JCA</Russian>
<Chinesesimp>JCA</Chinesesimp>
<Korean>JCA</Korean>
<French>JCA</French>
</Key>
</Container>
</Package>
</Project>
5 changes: 5 additions & 0 deletions A3A/addons/ultimate/config/trader/cfgTraderAddons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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";
};
4 changes: 4 additions & 0 deletions A3A/addons/ultimate/config/trader/cfgTraderWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,4 +141,8 @@
class weapons_cwriii : weapons_base
{
prefix = "cwrstock";
};
class JCAArsenal_Compat : weapons_base
{
prefix = "JCA_Arsenal_Stock"
};

0 comments on commit 3e4a600

Please sign in to comment.