ACE3/addons/compat_spe/CfgWeapons/weapons.hpp
BrettMayson d2f5c2de02
Spearhead 1944 Compatibility (#9292)
* compat(spe): initial

* --changed csw/turrets

* disable spe disassemble

* csw: all mortars done

* more cleanup

* add missing hearing protection

* final cleanup

* goofed and removed too much

* ok all done

* formatting

* remove adt

* -+ updated frameworks

- Ballistics Framework Finished (Infantry Weapons)
- Wirecutter & Trench Framework Finished (Vests/Backpacks)
- Explosives Framework Finished (Added backward support for IFA3 Detonator/Firecord)
- Crew Served Weapons Framework Finished (Fixed Assemble/Disassemble)

* formatting

* Require HEMTT v1.7.2

* cleanup tabs / formating

* Apply suggestions from code review

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: ZluskeN <pontux@gmail.com>

* split to subcomponents, fix ubcs

* swap has_include for skipWhenMissingDependencies

* fix explosives

* add pdumies for ww2

* Apply suggestions from code review

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* cleanup sten duplicate configs

* move hearing to macro

* fix macro repaclement

* Use `SUBADDON`

* Move `addonRootClass` to bottom of CfgPatches

* Relative includes

* move config macro includes to config.cpp

* comment off csw changes for now

* Update .hemtt/project.toml

---------

Co-authored-by: Coldfront15 <born2toot2@gmail.com>
Co-authored-by: Brett Mayson <brett@joinoffstreet.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: ZluskeN <pontux@gmail.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2023-09-25 15:37:59 -05:00

196 lines
5.8 KiB
C++

// MACHINE GUNS
class SPE_LMG;
class SPE_MG42: SPE_LMG {
ACE_barrelTwist = 304.8;
ACE_barrelLength = 533;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 0;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 1;
EGVAR(overheating,dispersion) = 0.25;
};
class SPE_MG34: SPE_LMG {
ACE_barrelTwist = 101.6;
ACE_barrelLength = 627;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 0;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 1;
EGVAR(overheating,dispersion) = 0.25;
};
class SPE_M1919A4: SPE_LMG {
ACE_barrelTwist = 254;
ACE_barrelLength = 610;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 1;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 1;
EGVAR(overheating,dispersion) = 0.25;
};
class SPE_M1919A6: SPE_M1919A4 {
ACE_barrelTwist = 254;
ACE_barrelLength = 610;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 1;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 1;
EGVAR(overheating,dispersion) = 0.25;
};
class SPE_M1918A2_BAR: SPE_LMG {
ACE_barrelTwist = 254; // unknown set to 1:10
ACE_barrelLength = 610;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 0;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 0;
EGVAR(overheating,dispersion) = 0.25;
};
class SPE_FM_24_M29: SPE_LMG {
ACE_barrelTwist = 254;
ACE_barrelLength = 635;
EGVAR(overheating,mrbs) = 3000;
EGVAR(overheating,closedBolt) = 0;
EGVAR(overheating,slowdownFactor) = 1;
EGVAR(overheating,allowSwapBarrel) = 1;
EGVAR(overheating,dispersion) = 0.25;
};
// SELF LOADING RIFLES
class SPE_RIFLE;
class SPE_G43: SPE_RIFLE {
EGVAR(overheating,JamChance) = 0.0003;
ACE_barrelTwist = 254; // unknown set to 1:10
ACE_barrelLength = 550;
};
class SPE_K98: SPE_RIFLE {
EGVAR(overheating,JamChance) = 0.0003;
ACE_barrelTwist = 254; // unknown set to 1:10
ACE_barrelLength = 550;
};
class SPE_M1_Carbine: SPE_RIFLE {
EGVAR(overheating,JamChance) = 0.0003;
ACE_barrelTwist = 254; // unknown set to 1:10
ACE_barrelLength = 460;
};
class SPE_M1_Garand: SPE_RIFLE {
EGVAR(overheating,JamChance) = 0.0003;
ACE_barrelTwist = 254;
ACE_barrelLength = 609.6;
};
class SPE_M1903A3_Springfield: SPE_RIFLE {
ACE_barrelTwist = 254;
ACE_barrelLength = 610;
};
// ASSAULT RIFLE
class SPE_STG44: SPE_RIFLE {
EGVAR(overheating,JamChance) = 0.0015;
ACE_barrelTwist = 254; // unknown set to 1:10
ACE_barrelLength = 420;
};
// BOLT ACTION RIFLES
class SPE_SRIFLE;
class SPE_K98ZF39: SPE_SRIFLE {
ACE_barrelTwist = 240;
ACE_barrelLength = 600;
ACE_scopeZeroRange = 100;
ACE_ScopeAdjust_Vertical[] = {-4, 30};
ACE_ScopeAdjust_Horizontal[] = {-6, 6};
ACE_ScopeAdjust_VerticalIncrement = 0.1;
ACE_ScopeAdjust_HorizontalIncrement = 0.1;
discreteDistance[] = {100};
discreteDistanceInitIndex = 0;
ACE_railHeightAboveBore = 1.8; // Distance between center of bore and rail in centimeters
ACE_scopeHeightAboveRail = 3.8; // Distance between center of scope and rail in centimeters
};
class SPE_M1903A4_Springfield: SPE_SRIFLE {
ACE_barrelTwist = 254;
ACE_barrelLength = 610;
ACE_scopeZeroRange = 100;
ACE_ScopeAdjust_Vertical[] = {-4, 30};
ACE_ScopeAdjust_Horizontal[] = {-6, 6};
ACE_ScopeAdjust_VerticalIncrement = 0.1;
ACE_ScopeAdjust_HorizontalIncrement = 0.1;
discreteDistance[] = {100};
discreteDistanceInitIndex = 0;
ACE_railHeightAboveBore = 1.8;
ACE_scopeHeightAboveRail = 3.8;
};
// SUB MACHINE GUNS
class SPE_SMG;
class SPE_MP40: SPE_SMG {
ACE_barrelTwist = 203.2;
ACE_barrelLength = 251;
EGVAR(overheating,closedBolt) = 0;
};
class SPE_Sten_Mk2: SPE_SMG {
ACE_barrelTwist = 254;
ACE_barrelLength = 196;
EGVAR(overheating,closedBolt) = 0;
};
class SPE_M1A1_Thompson: SPE_SMG {
ACE_barrelTwist = 392;
ACE_barrelLength = 270;
EGVAR(overheating,closedBolt) = 0;
};
class SPE_M3_GreaseGun: SPE_SMG {
ACE_barrelTwist = 392;
ACE_barrelLength = 270;
EGVAR(overheating,closedBolt) = 0;
};
// VESTS
class V_SPE_Vest_Camo_Base;
class V_SPE_GER_VestG43: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_DAK_VestG43: V_SPE_GER_VestG43 {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_GER_SaniVest2: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_GER_VestMG: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_GER_VestKar98: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_GER_VestMP40: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_GER_VestSTG: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_US_Assault_Vest: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_US_Vest_Garand_M43: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_US_Vest_Carbine_m43: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
};
class V_SPE_US_Vest_Carbine_pick: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
ACE_isWirecutter = 1;
};
class V_SPE_US_Vest_Carbine_eng: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
ACE_isWirecutter = 1;
};
class V_SPE_US_Vest_Garand_eng: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
ACE_isWirecutter = 1;
};
class V_SPE_GER_PioneerVest: V_SPE_Vest_Camo_Base {
EGVAR(trenches,entrenchingTool) = 1;
ACE_isWirecutter = 1;
};
class V_SPE_DAK_PioneerVest: V_SPE_GER_PioneerVest {
EGVAR(trenches,entrenchingTool) = 1;
ACE_isWirecutter = 1;
};