Ballistics - Add shotgun shell projectile magazine variety (#7119)

* Add multiple projectile types for shotguns

* remove extra blank line

* fix classname whitepace issue

* reduce trigger time

* Verbose names and No4 Bird

- Change classnames and string keys to be more verbose
- Change No7 Birdshot to No4 Birdshot
While No7 is one of the most common loads for target shooting and hunting small birds the extreme number of pellets is just too hard on FPS.
No4 is not typically used in target shooting, but it is a common load for hunting various birds so I think it's realistic to have it for civlian purposes and the number of pellets is substatially less so the FPS hit isn't so bad.
If someone else could test the No4 to see how it feels to them I'd appreciate it.

* add/change penetration

* fix indentation
This commit is contained in:
Drofseh 2019-12-17 08:10:31 -08:00 committed by PabstMirror
parent 60a901bf10
commit 240c7333e3
4 changed files with 326 additions and 5 deletions

View File

@ -6,6 +6,114 @@ class CfgAmmo {
timeToLive=6; timeToLive=6;
}; };
class ShotgunBase;
class B_12Gauge_Pellets_Submunition: BulletBase { //#00 Buckshot
//vanilla values have been left as comments for reference purposes
caliber = 0.525; //penetration of ~3mm RHA, ~9.6mm metal
//caliber = 1; //too high, ~5.7mm of RHA (380*1*15/1000=5.7), ~18.25 metal
//cost = 1;
//hit = 20;
//simulationStep = 0.0001;
//cartridge = "";
//submunitionAmmo = "B_12Gauge_Pellets_Submunition_Deploy";
submunitionConeType[] = {"poissondisc", 9}; //#00 Buckshot generally has 9 pellets per shell
//submunitionConeType[] = {"poissondisc", 18};
//submunitionConeAngle = 0.8;
//triggerSpeedCoef[] = {0.85, 1};
triggerTime = 0.008; // Shot takes ~5-15 feet to start spreading out and the vanilla triggerTime is too short to allow that
//triggerTime = 0.001;
};
class B_12Gauge_Pellets_Submunition_Deploy: BulletBase {
airFriction = -0.0030;
//airFriction = -0.0067;
caliber = 0.525;
hit = 2.55; //vanilla hit is way too high
//hit = 6;
//indirectHit = 0;
//indirectHitRange = 0;
//typicalSpeed = 360;
//deflecting = 35;
};
class B_12Gauge_Pellets: ShotgunBase { //This doesn't seem to be used for anything, but I want to standardize the caliber with the other pellet classes.
caliber = 0.525; //3mm RHA, probably still too high though as RHA is hardened.
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.5;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 9};
submunitionConeAngle = 0.81;
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0033;
caliber = 0.5;
hit = 2.27;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.475;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 11};
submunitionConeAngle = 0.83;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0038;
caliber = 0.475;
hit = 1.86;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.45;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 14};
submunitionConeAngle = 0.85;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0048;
caliber = 0.45;
hit = 1.46;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.425;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 18};
submunitionConeAngle = 0.87;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0067;
caliber = 0.425;
hit = 1.13;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.4;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 21};
submunitionConeAngle = 0.89;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0085;
caliber = 0.4;
hit = 0.97;
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird: B_12Gauge_Pellets_Submunition {
caliber = 0.2;
hit = 3;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy";
submunitionConeType[] = {"poissondisc", 135};
submunitionConeAngle = 1.1;
triggerSpeedCoef[] = {0.8, 1};
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
caliber = 0.2;
airFriction = -0.0800;
hit = 0.15;
};
class B_12Gauge_Slug: BulletBase {
//caliber = 3; //too high, ~20mm of RHA (450*3*15/1000=20), ~64mm metal
caliber = 1.037; //~7mm RHA, ~22.4mm metal, probably still too high though as RHA is hardened.
};
class B_556x45_Ball : BulletBase { class B_556x45_Ball : BulletBase {
airFriction=-0.00130094; airFriction=-0.00130094;
tracerScale = 1; tracerScale = 1;

View File

@ -1,5 +1,38 @@
class CfgMagazineWells { class CfgMagazineWells {
class CBA_12g_2rnds {
ADDON[] = {
"ACE_2Rnd_12Gauge_Pellets_No0_Buck",
"ACE_2Rnd_12Gauge_Pellets_No1_Buck",
"ACE_2Rnd_12Gauge_Pellets_No2_Buck",
"ACE_2Rnd_12Gauge_Pellets_No3_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Bird"
};
};
class HunterShotgun_01_12GA { //Vanilla magwell
ADDON[] = {
"ACE_2Rnd_12Gauge_Pellets_No0_Buck",
"ACE_2Rnd_12Gauge_Pellets_No1_Buck",
"ACE_2Rnd_12Gauge_Pellets_No2_Buck",
"ACE_2Rnd_12Gauge_Pellets_No3_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Bird"
};
};
class UBS_12GA { //Vanilla magwell
ADDON[] = {
"ACE_6Rnd_12Gauge_Pellets_No0_Buck",
"ACE_6Rnd_12Gauge_Pellets_No1_Buck",
"ACE_6Rnd_12Gauge_Pellets_No2_Buck",
"ACE_6Rnd_12Gauge_Pellets_No3_Buck",
"ACE_6Rnd_12Gauge_Pellets_No4_Buck",
"ACE_6Rnd_12Gauge_Pellets_No4_Bird"
};
};
class CBA_65x39_MX { class CBA_65x39_MX {
ADDON[] = { ADDON[] = {
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim",
@ -27,10 +60,10 @@ class CfgMagazineWells {
}; };
class STANAG_556x45 { //Vanilla magwell class STANAG_556x45 { //Vanilla magwell
ADDON[] = { ADDON[] = {
"ACE_30Rnd_556x45_Stanag_M995_AP_mag", "ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag", "ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag", "ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim" "ACE_30Rnd_556x45_Stanag_Tracer_Dim"
}; };
}; };

View File

@ -4,6 +4,98 @@ class CfgMagazines {
class CA_Magazine; class CA_Magazine;
class VehicleMagazine; class VehicleMagazine;
class 2Rnd_12Gauge_Pellets: CA_Magazine {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class ACE_2Rnd_12Gauge_Pellets_No0_Buck: 2Rnd_12Gauge_Pellets {
author = ECSTRING(common,ACETeam);
displayName = CSTRING(2Rnd_12Gauge_Pellets_No0_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No0_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No0_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No0_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No1_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No1_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No1_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No1_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No1_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No2_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No2_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No2_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No2_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No2_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No3_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No3_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No3_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No3_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No3_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No4_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No4_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No4_Bird: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No4_Bird_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Bird_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Bird_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Bird";
};
class 6Rnd_12Gauge_Pellets: 2Rnd_12Gauge_Pellets {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class ACE_6Rnd_12Gauge_Pellets_No0_Buck: 6Rnd_12Gauge_Pellets {
author = ECSTRING(common,ACETeam);
displayName = CSTRING(6Rnd_12Gauge_Pellets_No0_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No0_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No0_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No0_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No1_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No1_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No1_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No1_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No1_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No2_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No2_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No2_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No2_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No2_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No3_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No3_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No3_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No3_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No3_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No4_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No4_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No4_Bird: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No4_Bird_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Bird_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Bird_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Bird";
};
class 15Rnd_12Gauge_Pellets: 6Rnd_12Gauge_Pellets {
displayName = CSTRING(15Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class 30Rnd_580x42_Mag_F: CA_Magazine { class 30Rnd_580x42_Mag_F: CA_Magazine {
initSpeed = 950; initSpeed = 950;
}; };

View File

@ -1,6 +1,94 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Ballistics"> <Package name="Ballistics">
<!-- Shotguns -->
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No00_Buck_NameShort">
<English>#00 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No00_Buck_Description">
<English>#00 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No0_Buck_NameShort">
<English>#0 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No0_Buck_Description">
<English>#0 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No1_Buck_NameShort">
<English>#1 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No1_Buck_Description">
<English>#1 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No2_Buck_NameShort">
<English>#2 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No2_Buck_Description">
<English>#2 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No3_Buck_NameShort">
<English>#3 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No3_Buck_Description">
<English>#3 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No4_Buck_NameShort">
<English>#4 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No4_Buck_Description">
<English>#4 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No4_Bird_NameShort">
<English>#7 Birdshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_12Gauge_Pellets_No4_Bird_Description">
<English>#7 Birdshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No00_Buck_Name">
<English>12 Gauge 2Rnd #00 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No0_Buck_Name">
<English>12 Gauge 2Rnd #0 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No1_Buck_Name">
<English>12 Gauge 2Rnd #1 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No2_Buck_Name">
<English>12 Gauge 2Rnd #2 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No3_Buck_Name">
<English>12 Gauge 2Rnd #3 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No4_Buck_Name">
<English>12 Gauge 2Rnd #4 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_2Rnd_12Gauge_Pellets_No4_Bird_Name">
<English>12 Gauge 2Rnd #7 Birdshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No00_Buck_Name">
<English>12 Gauge 6Rnd #00 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No0_Buck_Name">
<English>12 Gauge 6Rnd #0 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No1_Buck_Name">
<English>12 Gauge 6Rnd #1 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No2_Buck_Name">
<English>12 Gauge 6Rnd #2 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No3_Buck_Name">
<English>12 Gauge 6Rnd #3 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No4_Buck_Name">
<English>12 Gauge 6Rnd #4 Buckshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_6Rnd_12Gauge_Pellets_No4_Bird_Name">
<English>12 Gauge 6Rnd #7 Birdshot</English>
</Key>
<Key ID="STR_ACE_Ballistics_15Rnd_12Gauge_Pellets_No00_Buck_Name">
<English>12 Gauge 15Rnd #00 Buckshot</English>
</Key>
<!-- QBU --> <!-- QBU -->
<Key ID="STR_ACE_Ballistics_20Rnd_65x47_Scenar_mag_Name"> <Key ID="STR_ACE_Ballistics_20Rnd_65x47_Scenar_mag_Name">
<English>6.5x47mm 20Rnd Mag (HPBT Scenar)</English> <English>6.5x47mm 20Rnd Mag (HPBT Scenar)</English>