Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
224ac8c
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 10, 2026
ae608d7
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 10, 2026
74f288d
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 10, 2026
afe5606
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 10, 2026
3585c8c
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 10, 2026
19d900c
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 13, 2026
d977b46
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
f0c562c
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
3f7e077
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
bcaf3bc
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
8264cbd
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
3cf42cf
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
441f79d
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
0fa0055
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
4b01c6e
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
00544c3
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
3b5091a
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 18, 2026
d6c707f
B_12Gauge_Slug_NoCartridge
Laid3acK Apr 22, 2026
99c596e
B_12Gauge_Slug_NoCartridge
Laid3acK May 22, 2026
498138f
B_12Gauge_Slug_NoCartridge
Laid3acK May 22, 2026
bbba11a
B_12Gauge_Slug_NoCartridge
Laid3acK May 25, 2026
d313a5d
Merge branch 'acemod:master' into B_12Gauge_Slug_NoCartridge
Laid3acK Jun 5, 2026
87d5430
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
d1cfed4
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
8bf6b76
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
bcf0bf7
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
bca682b
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
fa12fb9
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
798bf79
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
9fbf2e7
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
911331f
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
ee87f67
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
3af3d18
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 8, 2026
249e73e
Merge branch 'master' into B_12Gauge_Slug_NoCartridge
Laid3acK Jun 9, 2026
a2c24c2
B_12Gauge_Slug_NoCartridge
Laid3acK Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions addons/ballistics/CfgAmmo.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,21 @@ class CfgAmmo {
caliber = 1.037; //~7mm RHA, ~22.4mm metal, probably still too high though as RHA is hardened.
};

class B_12Gauge_Slug_NoCartridge: B_12Gauge_Slug { // Federal Law Enforcement Tactical TruBall Rifled Slug https://le.vistaoutdoor.com/ammunition/federal/slug/details.aspx?id=705
// ACE_muzzleVelocityVariationSD = 2; // effective standart deviation in-game ~9m/s (as IRL, series of muzzle velocity measurements in-game with standart deviation formula)
// ACE3 default value 0.3 https://github.com/acemod/ACE3/blob/master/addons/advanced_ballistics/script_component.hpp#L32: effective standart deviation in-game ~1, ~2m/s, should be ~3, ~5m/s for manufactured ammunitions
ACE_bulletMass = 28.382; // 438gr
ACE_ballisticCoefficients[] = {0.07}; // Federal Law Enforcement https://le.vistaoutdoor.com/ammunition/federal/slug/details.aspx?id=705
// as reference https://www.youtube.com/watch?v=960nYuugzZo, Federal Slug (1600fps, 30"), unknown mesurement conditions, chronograph 5ft from muzzle
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; // default ACE_ammoTempMuzzleVelocityShifts values /10 (Ammo Temp MV Curve Tables by TiborasaurusRex). Muzzle velocity shift 0m/s 70°F (21°C), -1m/s 15°C
ACE_muzzleVelocities[] = {340, 440, 477, 489, 517}; // Muzzle Velocities 70°F (21°C, MV 15°C +1m/s), 419m/s (317mm), 426m/s (330.2mm), 436m/s (349.7mm), 485m/s (699.3mm), 488m/s (1600fps, 30") ASM conditions (15°C, 999.916hPa, 78%)
ACE_barrelLengths[] = {165.1, 355.6, 546.1, 762, 914.4}; // 6.5, 14, 21.5, 30, 36"
// model="\A3\weapons_f\empty";
// cartridge="";
simulation = "shotBullet"; // B_12Gauge_Slug "shotBullet", B_12Gauge_Slug_NoCartridge "shotSubmunitions" breaks Slug trajectory in-game and makes no sense for this sort of projectile
airFriction = -0.006; // based on terminal velocities, Federal Slug 1600fps 30" ASM: Mach 1 340m/s ~60m (Strelok Pro), B_12Gauge_Slug -0.008
};

class B_556x45_Ball: BulletBase {
airFriction=-0.00130094;
tracerScale = 1;
Expand Down
16 changes: 16 additions & 0 deletions addons/ballistics/CfgMagazines.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,22 @@ class CfgMagazines {
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};

class 2Rnd_12Gauge_Slug: 2Rnd_12Gauge_Pellets {
// ammo = "B_12Gauge_Slug_NoCartridge";
initSpeed = 488; // according to ACE_muzzleVelocities 12 Gauge SAAMI test barrel 30" ASM conditions (15°C, 999.916hPa, 78%), 450
};

class 6Rnd_12Gauge_Slug: 2Rnd_12Gauge_Pellets { // arifle_MSBS65_UBS_base_F, arifle_XMS_Shot_lxWS
// ammo="B_12Gauge_Slug_NoCartridge";
initSpeed = 431; // 431x0.971576= 419m/s according to Crye Six12 ACE_muzzleVelocities ASM conditions (15°C, 999.916hPa, 78%), 450
};

class 15Rnd_12Gauge_Slug: 15Rnd_12Gauge_Pellets {
// scope = 1;
// ammo="B_12Gauge_Slug_NoCartridge";
initSpeed = 488; // 450
};

class 30Rnd_580x42_Mag_F: CA_Magazine {
initSpeed = 950;
};
Expand Down
4 changes: 4 additions & 0 deletions addons/ballistics/CfgWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,11 +141,13 @@ class CfgWeapons {
class sgun_HunterShotgun_01_base_F: Rifle_Long_Base_F {
ACE_barrelLength = 699.3; // https://www.imfdb.org/wiki/CZ-581
ACE_twistDirection = 0;
initSpeed = -0.99385; // 485m/s according to ACE_muzzleVelocities ASM conditions (15°C, 59°F)
};

// CZ-581 (sawed off)
class sgun_HunterShotgun_01_sawedoff_base_F: sgun_HunterShotgun_01_base_F {
ACE_barrelLength = 349.7; // About half of original length
initSpeed = -0.893443; // 436m/s according to ACE_muzzleVelocities ASM conditions (15°C, 59°F)
};

// Rifle_Base_F
Expand Down Expand Up @@ -377,9 +379,11 @@ class CfgWeapons {

// MSBS GROT UBS
class arifle_MSBS65_UBS_base_F: arifle_MSBS65_base_F {
// initSpeed = -0.971576;
class UBS_F: Rifle_Base_F {
ACE_barrelLength = 317; // https://modernfirearms.net/en/shotguns/u-s-a-shotguns/crye-six12-eng/
ACE_twistDirection = 0;
// initSpeed = 0; // tested with -2 and 1000 w/o effect on secondary UBS_F muzzle velocity
};
};

Expand Down
49 changes: 48 additions & 1 deletion addons/compat_ws/CfgWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@ class CfgWeapons {
// AA40
class Rifle_Base_F;
class sgun_aa40_base_lxWS: Rifle_Base_F {
ACE_barrelLength = 457;
ACE_barrelLength = 330.2; // WS AA-12 CQB version 13" https://en.wikipedia.org/wiki/Atchisson_AA-12 https://modernfirearms.net/userfiles/_thumbs/Images/shotgun/sh29/aa-12.jpg
ACE_barrelTwist = 0.0;
ACE_twistDirection = 0;
ACE_RailHeightAboveBore = 4.99572; // checkScopes.sqf
initSpeed = -0.873; // 426m/s according to ACE_muzzleVelocities ASM conditions (15°C, 59°F)
};

// Galat Arm
class arifle_Galat_base_lxWS: Rifle_Base_F {
ACE_barrelLength = 535;
ACE_barrelTwist = 304.8;
ACE_twistDirection = 1;
ACE_RailHeightAboveBore = 4.28793; // checkScopes.sqf
};

// SA-77
Expand All @@ -20,6 +23,7 @@ class CfgWeapons {
ACE_barrelLength = 550;
ACE_barrelTwist = 304.8;
ACE_twistDirection = 1;
ACE_RailHeightAboveBore = 4.82762; // checkScopes.sqf
EGVAR(overheating,allowSwapBarrel) = 1;
};
class LMG_S77_Compact_base_lxWS: LMG_S77_base_lxWS {
Expand All @@ -29,6 +33,10 @@ class CfgWeapons {
EGVAR(overheating,allowSwapBarrel) = 1;
};

class glaunch_GLX_base_lxWS: Rifle_Base_F {
ACE_RailHeightAboveBore = 4.88889; // checkScopes.sqf
};

// SLR
class DMR_06_base_F;
class arifle_SLR_lxWS: DMR_06_base_F {
Expand All @@ -47,6 +55,7 @@ class CfgWeapons {
ACE_barrelLength = 460;
ACE_barrelTwist = 304.8;
ACE_twistDirection = 1;
ACE_RailHeightAboveBore = 4.28793; // checkScopes.sqf
};
class arifle_VelkoR5_lxWS: arifle_Velko_base_lxWS {
ACE_barrelLength = 332;
Expand All @@ -60,17 +69,26 @@ class CfgWeapons {
ACE_barrelLength = 406.4;
ACE_barrelTwist = 178.0;
ACE_twistDirection = 1;
initSpeed = -0.971576; // Western Sahara 900
ACE_IronSightBaseAngle = 0.096; // primary (5.56x45, default discreteDistance 200m) POI=POA -1.68mRad: 0.096°, arifle_SPAR_01_base_F 0.002856
ACE_RailHeightAboveBore = 6.7; // no value checkScopes.sqf, estimation based on arifle_MSBS65_UBS_F 5.1754 and test in-game (riflescope POI=POA 100m), arifle_SPAR_01_base_F 3.20768
};

// 20 inch barrel for the marksman/autorifle
class arifle_XMS_lxWS;
class arifle_XMS_M_lxWS: arifle_XMS_lxWS {
ACE_barrelLength = 508.0;
initSpeed = -1; // Western Sahara 925
};

class arifle_XMS_Shot_lxWS: arifle_XMS_Base_lxWS {
ACE_IronSightBaseAngle = -0.0465; // primary (5.56x45, default discreteDistance 200m) POI=POA -1.68mRad: 0.096°, secondary (Slug, default discreteDistance 50m) POI=POA +3.3mRad: -0.189°, middle value +0.81mRad -0.0465°, arifle_SPAR_01_base_F 0.002856
// initSpeed = -0.971576;
class UBS_lxWS: Rifle_Base_F {
ACE_barrelLength = 317; // https://modernfirearms.net/en/shotguns/u-s-a-shotguns/crye-six12-eng/
ACE_twistDirection = 0;
// initSpeed = 0; // tested with -2 and 1000 w/o effect on secondary UBS_lxWS muzzle velocity
};
};

// Headgear
Expand All @@ -96,4 +114,33 @@ class CfgWeapons {
ace_hearing_lowerVolume = 0;
ace_hearing_hasEHP = 0;
};

class ItemCore;
class optic_r1_high_lxWS: ItemCore {
ACE_ScopeHeightAboveRail = 4.07748; // checkScopes.sqf
};

class optic_r1_low_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};

class optic_r1_low_khaki_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};

class optic_r1_low_sand_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};

class optic_r1_low_snake_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};

class optic_r1_low_arid_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};

class optic_r1_low_lush_lxWS: optic_r1_high_lxWS {
ACE_ScopeHeightAboveRail = 2.4921; // checkScopes.sqf
};
};
4 changes: 4 additions & 0 deletions addons/compat_ws/compat_ws_realisticnames/CfgWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ class CfgWeapons {
};

// XMS has no realistic name as it's a make believe hybrid of the XM8/VHS-K2: XM8+VHS = XMS, this just removes the 5.56 mm from the name.
class Rifle_Base_F;
class arifle_SPAR_01_base_F;
class arifle_XMS_Base_lxWS: arifle_SPAR_01_base_F {
displayName = SUBCSTRING(XMS_Name);
Expand Down Expand Up @@ -162,6 +163,9 @@ class CfgWeapons {
};
class arifle_XMS_Shot_lxWS: arifle_XMS_Base_lxWS {
displayName = SUBCSTRING(XMS_SG_Name);
class UBS_lxWS: Rifle_Base_F {
displayName = SUBCSTRING(UBS_lxWS_Name);
};
};
class arifle_XMS_Shot_Camo_lxWS: arifle_XMS_Shot_lxWS {
displayName = SUBCSTRING(XMS_SG_Camo_Name);
Expand Down
13 changes: 13 additions & 0 deletions addons/compat_ws/compat_ws_realisticnames/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,19 @@
<Chinesesimp>XMS SG(沙色)</Chinesesimp>
<Ukrainian>XMS SG (пісочний)</Ukrainian>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_UBS_lxWS_Name">
<English>SIX-12</English>
<French>SIX-12</French>
<Spanish>SIX-12</Spanish>
<Italian>SIX-12</Italian>
<Portuguese>SIX-12</Portuguese>
<Russian>SIX-12</Russian>
<German>SIX-12</German>
<Korean>SIX-12</Korean>
<Japanese>SIX-12</Japanese>
<Chinesesimp>SIX-12</Chinesesimp>
<Ukrainian>SIX-12</Ukrainian>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_XMS_SW_Camo_Name">
<English>XMS SW (Stripes)</English>
<French>XMS SW (Rayé)</French>
Expand Down
2 changes: 1 addition & 1 deletion addons/scopes/functions/fnc_firedEH.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ TRACE_10("firedEH:",_unit,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile,_veh
if !(_ammo isKindOf "BulletBase") exitWith {};

// Ignore secondary muzzles
if (_weapon != _muzzle) exitWith {};
// if (_weapon != _muzzle) exitWith {};

private _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex);
if (_weaponIndex < 0) exitWith {};
Expand Down
Loading