Skip to content

Commit

Permalink
SPE Compat - Add Tank cannon overpressure and shell fragmentation (#1…
Browse files Browse the repository at this point in the history
…0502)

* ~ Added: Shells.hpp and German HE tank shells

* ~ Added: American tank HE Shells

* ~ Added: American 57mm AT Gun HE shell

* ~ Added: Include line for shells in CfgAmmo.hpp

* ~ Added: Base ACE Overpressure to all SPE cannons

* ~ Added: Fragmentation for 2cm flak

* ~ Removed: Existing Sherman HE shell values

* ~ Changed: gurney_C of all German shells to 2930

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgWeapons/cannons.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgWeapons/cannons.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* Update addons/compat_spe/CfgAmmo/shells.hpp

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>

* ~ Added: Fragmentation to German AP and HEAT

* ~ Added: American AP Fragmentation

* ~ Added: American AT and Howitzer Fragmentation

* ~ Added: Greyhound HE fragmentation

* ~ Added: Inheritance SPE_Shell_base

* ~ Added: Overpressure priority. Not on wiki.

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/compat_spe/CfgAmmo/bullets.hpp

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update addons/compat_spe/CfgAmmo/bullets.hpp

---------

Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
  • Loading branch information
4 people authored Nov 23, 2024
1 parent f2160af commit 13ddde0
Show file tree
Hide file tree
Showing 4 changed files with 338 additions and 0 deletions.
1 change: 1 addition & 0 deletions addons/compat_spe/CfgAmmo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ class CfgAmmo {
#include "CfgAmmo\grenades.hpp"
#include "CfgAmmo\melee.hpp"
#include "CfgAmmo\bullets.hpp"
#include "CfgAmmo\shells.hpp"
};
23 changes: 23 additions & 0 deletions addons/compat_spe/CfgAmmo/bullets.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"};
};
306 changes: 306 additions & 0 deletions addons/compat_spe/CfgAmmo/shells.hpp
Original file line number Diff line number Diff line change
@@ -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"};
};
8 changes: 8 additions & 0 deletions addons/compat_spe/CfgWeapons/cannons.hpp
Original file line number Diff line number Diff line change
@@ -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;
};

0 comments on commit 13ddde0

Please sign in to comment.