Page MenuHomeFeedback Tracker

Implement MagazineCoef for all weapons
Reviewed, WishlistPublic


For muzzle devices, there's a config class called MagazineCoef that seems to allow changing the muzzle velocity of a bullet when that device is used, by applying a coefficient to initSpeed.

What I propose is to make this kind of setting available for all weapons, so we can configure realistic velocities for weapons which use the same magazines, but come with different barrel size configurations for example. This way there will be a clear distinction between, say a 20 inch barrel M16 and a 10 inch barrel M4 Commando, while keeping them realistically balanced (better effective range vs. maneuverability in tight spaces).

The config could then look like this:

class mk20_base_F: Rifle_Base_F {

		class ItemInfo {
			class MagazineCoef {
				initSpeed = 0.967; //900m/s


class arifle_Mk20C_F: mk20_base_F {

		class ItemInfo {
			class MagazineCoef {
				initSpeed = 0.956; //890m/s



Legacy ID
Feature Request

Event Timeline

Robalo edited Steps To Reproduce. (Show Details)Jul 30 2013, 12:06 AM
Robalo edited Additional Information. (Show Details)
Robalo set Category to Feature Request.
Robalo set Reproducibility to N/A.
Robalo set Severity to None.
Robalo set Resolution to Open.
Robalo set Legacy ID to 1783256005.May 7 2016, 3:44 PM

I would like this feature very much.

Likewise it would also be excellent if more cfgweapon properties such as the 'dispersion' parameter could also be modified/overwritted by muzzle device coefficient. I'm thinking of weapons that have field-exchangeable barrel+gas-system assemblies of variable lengths and the different barrel harmonics created by attaching devices to the muzzle causing changes in POI/grouping.

+1 (+ a few others I know, who don't frequent this place)

Not much I can add beyond what Robalo posted, except that I hope this is given some very serious consideration. This is something that will be utilized and put to use for the community as a whole. Much like the ASR_AI package. (hint, hint, ... hint)

Just seems like a logical and manageable solution to something that could greatly enhance the gameplay at a new depth. Not to mention make life easier for everyone wanting to address these types of things.

Alex72 added a subscriber: Alex72.May 7 2016, 3:44 PM


I hope BIS consider this, and i love you guys for improving it.

Why does the magazine configure anything anyway?

Since the weapon needs to configure which magazines it accepts anyway, it should also configure how each magazine functions in that weapon, rather than have the configuration in the magazine.

For inheritance, similar weapons should inherit from each other anyway so again no reason for ANY ballistic configuration to be done in the magazine.

Robalo added a subscriber: Robalo.May 7 2016, 3:44 PM

Last year when I submitted this ticket I was hoping since the engine already treats that muzzle coefficient, it won't require much work to implement.
I still think the magazine properties should be defined in their own classes, because they can be reused and sometimes inheritance might not be desired. But I agree, we need to have weapon specific properties of the magazines tied to the weapon. Having the muzzle velocity defined in the magazine instead of the weapon looks like poor design choice.

No 2 weapons should have the exact same ballistics, and therefore it makes sense to have no ballistic information (other than class type which the weapon can use to determine the ballistics). New weapon? New ballistics. If they "just happen to be the same" as another weapon, then it makes sense they will be duplicated anyway, since they aren't the same by design.


You do need some sort of velocity value attributed to the magazine or ammunition class in order to account for different propellant loads for e.g. the difference between subsonic and conventional ammunition.

If MV was wholly determined by the weapon, all magazines would fire at the same muzzle velocity regardless of the load, unless they made it so you manually defined muzzle velocity for each magazine in the compatible magazines array of the weapon. Defining specific MVs for every possible magazine that someone might want to use for your weapon would be tremendously labour intensive and would mean you couldn't simply rely on class inheritance from BIS weapons of the same calibre to automatically add suitable new magazines to a weapon from community ammunition mods (e.g JAM in the past, lkr_ammo for Arma 3 etc. etc.).

I guess muzzle velocity is determined where it is at the moment because if it was defined in cfgammo you would have to define a new cfgammo class AND a new cfgmagazines class to make something like a subsonic magazine (If you define the initial velocity in the magazine, you can use just one cfgammo class and make the variations in the cfgmagazine classes) and like I said, having it entirely in the weapon is too confining when it comes to magazine inheritances.

Having a weapon-based coefficient to the magazine values is by far the most streamlined solution to simulating the effect of barrel length on internal ballistics.

You only need the magazine type. The weapon should have ballistics defined for each of the allowed magazines. But it should all be configured in the weapon.

You could still be allowed to use 1 ballistic configuration for all magazines that the weapon supports, in case you have many different same-ammo magazines supported by the same weapon.

Some idea of how it could be:

class supportedMagazine1

type = "M16Mag";
veclocity = 900;

class supportedMagazine 2 : supportedMagazine1

type = "M16PlasticMag";


Or even make "type" an array of allowed magazines that use the same ballistics, for example:
class MagazineBallisticClass1

types = {"M16Mag", "M16PlasticMag};
veclocity = 900;


It really shouldn't have been that complicated to get this done in the first place.

Given the new negative initSpeed (coefficient) per weapon implementation, this issue can now be marked as resolved.
Thanks BIS!

Yes, unfortunately though this isn't enough to give proper weapon-specific magazine-specific ballistics. Granted, they are both weapon and magazine specific, but not in a realistic way. We need to be able to fine-tune it to a finer degree...