diff --git a/addons/compat_spe/CfgAmmo.hpp b/addons/compat_spe/CfgAmmo.hpp index d11510648bd..46d83f256f8 100644 --- a/addons/compat_spe/CfgAmmo.hpp +++ b/addons/compat_spe/CfgAmmo.hpp @@ -4,4 +4,5 @@ class CfgAmmo { #include "CfgAmmo\grenades.hpp" #include "CfgAmmo\melee.hpp" #include "CfgAmmo\bullets.hpp" + #include "CfgAmmo\shells.hpp" }; diff --git a/addons/compat_spe/CfgAmmo/bullets.hpp b/addons/compat_spe/CfgAmmo/bullets.hpp index 1e0e22e62d7..85556b83944 100644 --- a/addons/compat_spe/CfgAmmo/bullets.hpp +++ b/addons/compat_spe/CfgAmmo/bullets.hpp @@ -10,3 +10,26 @@ class SPE_B_127x99_Ball: SPE_Bullet_Vehicle_base { class SPE_B_127x99_API: SPE_B_127x99_Ball { EGVAR(vehicle_damage,incendiary) = 1; }; + +// FLAK +class SPE_Bullet_AA_base; +class SPE_SprGr_FlaK_38: SPE_Bullet_AA_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 50; + EGVAR(frag,charge) = 6; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny", "ACE_frag_small_HD"}; +}; + +class SPE_Bullet_AP_base; +class SPE_PzGr_FlaK_38_AP_T: SPE_Bullet_AP_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 50; + EGVAR(frag,charge) = 6; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny", "ACE_frag_small_HD"}; +}; diff --git a/addons/compat_spe/CfgAmmo/shells.hpp b/addons/compat_spe/CfgAmmo/shells.hpp new file mode 100644 index 00000000000..734586184e4 --- /dev/null +++ b/addons/compat_spe/CfgAmmo/shells.hpp @@ -0,0 +1,306 @@ +class SPE_Shell_base; +// Panzer III J, L, M HE +class SPE_50mm_SprGr38_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1820; + EGVAR(frag,charge) = 217; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_small_HD"}; +}; + +// Panzer III J, L, M APHE +class SPE_50mm_PzGr39_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2050; + EGVAR(frag,charge) = 29; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_small_HD"}; +}; +// Panzer III N HE +class SPE_SprGr34_K51_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5740; + EGVAR(frag,charge) = 686; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer III N AP +class SPE_KGrRotPz_K51_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 6800; + EGVAR(frag,charge) = 103; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer III N HEAT +class SPE_HLGr38c_K51_HEAT: SPE_ShellHEAT_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 4800; + EGVAR(frag,charge) = 876; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer IV, StuG III G HE +class SPE_SprGr34_KWK40_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5740; + EGVAR(frag,charge) = 686; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer IV G AP +class SPE_PzGr39_KWK40_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 6800; + EGVAR(frag,charge) = 29; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer V HE +class SPE_SprGr42_KwK42_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5740; + EGVAR(frag,charge) = 725; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer V AP +class SPE_PzGr3942_KwK42_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 6800; + EGVAR(frag,charge) = 29; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// Panzer VI HE +class SPE_SprGr_KwK36_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 9000; + EGVAR(frag,charge) = 900; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// Panzer VI AP +class SPE_PzGr39_KwK36_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 10200; + EGVAR(frag,charge) = 109; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// StuH 42 HE +class SPE_105mm_StuH42_Gr38_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 14810; + EGVAR(frag,charge) = 2530; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; +// StuH 42 AP +class SPE_105mm_Stuh42_PzGrRot_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 14000; + EGVAR(frag,charge) = 305; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// StuH 42 HEAT +class SPE_105mm_StuH42_Gr39HlC_HEAT: SPE_ShellHEAT_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 12350; + EGVAR(frag,charge) = 2530; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// Nashorn HE +class SPE_SprGr39_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 9400; + EGVAR(frag,charge) = 1000; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// Nashorn AP +class SPE_PzGr43_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 10160; + EGVAR(frag,charge) = 109; + EGVAR(frag,gurney_c) = 2930; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_large", "ACE_frag_large_HD"}; +}; + +// M10 HE +class SPE_76mm_M7_M42_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5840; + EGVAR(frag,charge) = 390; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// M10 AP +class SPE_76mm_M7_M62_APHE: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 7000; + EGVAR(frag,charge) = 64; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// M18 HE +class SPE_76mm_M1_HC_M42_HE: SPE_76mm_M7_M42_HE { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5840; + EGVAR(frag,charge) = 390; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// M18 and Sherman 76 AP +class SPE_76mm_M1_M62_APHE: SPE_76mm_M7_M62_APHE { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 7000; + EGVAR(frag,charge) = 64; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// M4 Sherman 76 HE +class SPE_76mm_M1_M42_HE: SPE_76mm_M7_M42_HE { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 5840; + EGVAR(frag,charge) = 390; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_medium_HD"}; +}; + +//M4 Sherman 75 AP +class SPE_M61_M1_AP: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 6790; + EGVAR(frag,charge) = 64; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; +}; + +// M4 Sherman 105 HEAT +class SPE_M101_M67_HEAT: SPE_ShellHEAT_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 13140; + EGVAR(frag,charge) = 1610; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; + +// M1 57mm AT gun HE +class SPE_6pdr_mk10T_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2720; + EGVAR(frag,charge) = 590; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_small_HD"}; +}; + +// M1 57mm AT gun AP +class SPE_57mm_M86_APCBC: SPE_Shell_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 3290; + EGVAR(frag,charge) = 41; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_small_HD"}; +}; + +// M3 Howitzer HE +class SPE_M3_M1_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 18350; + EGVAR(frag,charge) = 2180; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; + +// M3 Howitzer HEAT +class SPE_M3_M67_HEAT: SPE_ShellHEAT_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 16620; + EGVAR(frag,charge) = 2180; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; + +// M8 Greyhound HE +class SPE_S_37L57_M63: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1420; + EGVAR(frag,charge) = 39; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium", "ACE_frag_small_HD"}; +}; diff --git a/addons/compat_spe/CfgWeapons/cannons.hpp b/addons/compat_spe/CfgWeapons/cannons.hpp new file mode 100644 index 00000000000..abd1b688617 --- /dev/null +++ b/addons/compat_spe/CfgWeapons/cannons.hpp @@ -0,0 +1,8 @@ +// CANNON +class SPE_CannonCore; +class SPE_TankCannon_base: SPE_CannonCore { + EGVAR(overpressure,angle) = 90; // Cone in which the damage is applied (in degrees from the muzzle of the cannon) + EGVAR(overpressure,range) = 50; // Range in meters in which the damage is applied + EGVAR(overpressure,damage) = 0.85; // Damage multiplier + EGVAR(overpressure,priority) = 1; +};