ACE3/addons/compat_spe/CfgWeapons/weapons.hpp

196 lines
5.8 KiB
C++
Raw Normal View History

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 20:37:59 +00:00
// 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;
};