Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add magazine wells for CSLA CDLC #1540

Merged
merged 11 commits into from
Sep 13, 2023
133 changes: 133 additions & 0 deletions addons/jam/jam_csla/CfgMagazineWells.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
class CfgMagazineWells {

class CBA_12g_8rnds {
CSLA_rounds[] = {
"US85_8Rnd_12GaugeSlug"
};
};

class CBA_12g_1rnd {
CSLA_rounds[] = {
"US85_12GaugeSlug"
};
};

class CBA_32ACP_Vz61 {
CSLA_mags[] = {
"CSLA_Sa61_20rnd_7_65Pi27",
"CSLA_Sa61_20rnd_7_65PiCv27"
};
};

class CBA_40mm_M203 {
CSLA_grenades[] = {
"US85_1Rnd_HE"
};
};

class CBA_45ACP_1911 {
CSLA_mags[] = {
"US85_1911_7Rnd_045ACP"
};
};

class CBA_556x45_MINIMI {
CSLA_boxes[] = {
"US85_200Rnd_556x45"
};
};

class CBA_556x45_STANAG {
CSLA_mags[] = {
"US85_30Rnd_556x45"
};
};

class CBA_762x25_TT {
CSLA_mags[] = {
"CSLA_Pi52_8rnd_7_62Pi52",
"CSLA_Pi52_8rnd_7_62PiCv52"
};
};

class CBA_762x39_AK {
CSLA_mags[] = {
"CSLA_Sa58_30rnd_7_62Cv43",
"CSLA_Sa58_30rnd_7_62Sv43",
"CSLA_Sa58_30rnd_7_62vz43"
};
};

class CBA_762x51_AICS {
CSLA_mags[] = {
"US85_10Rnd_762x51"
};
};

class CBA_762x51_LINKS {
CSLA_belts[] = {
"US85_50Rnd_762x51",
"US85_100Rnd_762x51",
"US85_200Rnd_762x51"
};
};

class CBA_762x54R_SVD {
CSLA_mags[] = {
"CSLA_OP63_10rnd_7_62Odst59",
"CSLA_OP63_10rnd_7_62Cv59"
};
};

class CBA_762x54R_Vz59_LINKS {
CSLA_belts[] = {
"CSLA_UK59_50rnd_7_62Cv59",
"CSLA_UK59_50rnd_7_62PZ59",
"CSLA_UK59_50rnd_7_62Sv59",
"CSLA_UK59_50rnd_7_62Tz59",
"CSLA_UK59_50rnd_7_62TzSv59",
"CSLA_UK59_50rnd_7_62vz59"
};
};

class CBA_9x18_CZ82 {
CSLA_mags[] = {
"CSLA_Pi82_12rnd_9Pi82",
"CSLA_Pi82_12rnd_9PiCv82"
};
};

class CBA_9x19_M9 {
CSLA_mags[] = {
"US85_M9_15Rnd_9Luger"
};
};

class CBA_9x19_MP5 {
CSLA_mags[] = {
"US85_MPV_30Rnd_9Luger"
};
};

class CBA_SMAW {
CSLA_rounds[] = {
"US85_SMAW_HEAA",
"US85_SMAW_HEDP"
};
};

class CBA_Carl_Gustaf {
CSLA_rounds[] = {
"US85_MAAWS_HEAT",
"US85_MAAWS_HEDP"
};
};

class CBA_RPG7 {
CSLA_rockets[] = {
"CSLA_PG7M110",
"CSLA_PG7M110V"
};
};

};
91 changes: 91 additions & 0 deletions addons/jam/jam_csla/CfgWeapons.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
class CfgWeapons {

class CSLA_baseWeapon;

class CSLA_OP63_Base: CSLA_baseWeapon {
magazineWell[] += {"CBA_762x54R_SVD"};
};

class CSLA_rSa61: CSLA_baseWeapon {
magazineWell[] += {"CBA_32ACP_Vz61"};
};

class CSLA_Sa58_Base: CSLA_baseWeapon {
magazineWell[] += {"CBA_762x39_AK"};
};

class CSLA_MachinegunBase_5_56: CSLA_baseWeapon {};

class CSLA_MachinegunBase_7_62: CSLA_MachinegunBase_5_56 {};

class CSLA_UK59L: CSLA_MachinegunBase_7_62 {
magazineWell[] += {"CBA_762x54R_Vz59_LINKS"};
};

class CSLA_PistolBase;

class CSLA_Pi52: CSLA_PistolBase {
magazineWell[] += {"CBA_762x25_TT"};
};

class CSLA_Pi82: CSLA_Pi52 {
magazineWell[] += {"CBA_9x18_CZ82"};
};

class CSLA_Sa61: CSLA_Pi52 {
magazineWell[] += {"CBA_32ACP_Vz61"};
};

class CSLA_LauncherBase;

class CSLA_RPG7: CSLA_LauncherBase {
magazineWell[] += {"CBA_RPG7"};
};

class US85_weaponBase;

class US85_FAL_BASE: US85_weaponBase {
magazineWell[] += {"CBA_762x51_FAL", "CBA_762x51_FAL_L"};
};

class US85_M16_base: US85_weaponBase {
magazineWell[] += {"CBA_556x45_STANAG","CBA_556x45_STANAG_L","CBA_556x45_STANAG_XL","CBA_556x45_STANAG_2D","CBA_556x45_STANAG_2D_XL"};
};

class US85_M21_Base: US85_weaponBase {
magazineWell[] += {"CBA_762x51_M14", "CBA_762x51_M14_L"};
};

class US85_MPV_BASE: US85_weaponBase {
magazineWell[] += {"CBA_9x19_MP5"};
};

class US85_MachinegunBase_5_56: US85_weaponBase {};

class US85_M249: US85_MachinegunBase_5_56 {
magazineWell[] += {"CBA_556x45_MINIMI"};
};

class US85_MachinegunBase_7_62: US85_MachinegunBase_5_56 {};

class US85_M60: US85_MachinegunBase_7_62 {
magazineWell[] += {"CBA_762x51_LINKS"};
};

class US85_pistolBase;

class US85_1911: US85_pistolBase {
magazineWell[] += {"CBA_45ACP_1911"};
};

class US85_M9: US85_pistolBase {
magazineWell[] += {"CBA_9x19_M9"};
};

class US85_launcherBase;

class US85_MAAWS: US85_launcherBase {
magazineWell[] += {"CBA_Carl_Gustaf"};
};

};
23 changes: 23 additions & 0 deletions addons/jam/jam_csla/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "script_component.hpp"

class CfgPatches {
class SUBADDON {
name = CSTRING(component);
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"cba_jam",
"CSLA",
"US85"
};
author = "$STR_CBA_Author";
authors[] = {};
url = "$STR_CBA_URL";
skipWhenMissingDependencies = 1;
VERSION_CONFIG;
};
};

#include "CfgMagazineWells.hpp"
#include "CfgWeapons.hpp"
2 changes: 2 additions & 0 deletions addons/jam/jam_csla/script_component.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#define SUBCOMPONENT csla
#include "..\script_component.hpp"