In an attempt to code a BFA (Blank Firing Attachment) for a selection of weapons used by my group, I have run into a snag due to the way the game is coded (or my understanding of it at least).
It appears the hit value within the class AmmoeCoef does not appear to affect the damage output of the ammunition expended as documented that they should at https://community.bistudio.com/wiki/Arma_3_Weapon_Config_Guidelines#Muzzle_accessories. This value (doesn't matter whether its 0, or a minute value such as 0.001) still causes the ammo to do the configured hit damage for the ammo class itself.
Other AmmoCoef values work (such as audiblefire and visiblefire, as evidenced by suppressors functioning as you would expect), but it appears hit (and perhaps other values) do not seem to take any notice.
Description
Description
Details
Details
- Legacy ID
- 3530459079
- Severity
- Minor
- Resolution
- Open
- Reproducibility
- Always
- Operating System
- Windows 10 x64
- Category
- Config
Steps To Reproduce
Code a muzzle attachment and within that new class include the following:
class ItemInfo: InventoryMuzzleItem_Base_F { class AmmoCoef { hit = 0; // have also tried 0.001, 0.01 typicalSpeed = 1; airFriction = 1; visibleFire = 0.9; // its big and yellow but does mask a part of the muzzle-flash audibleFire = 1.0; visibleFireTime = 1.0; audibleFireTime = 1.0; cost = 1; }; };
I've also included my full define below, minus any code that would cause issue:
class SSQN_BFA: muzzle_snds_h { author = "S Squadron"; scope = 2; displayName = "Blank Firing Attachment"; descriptionShort = "Used on: L119A1 variants"; //model = "\SSQN_L119A1\attachments\BFA.p3d"; //picture = "\SSQN_L119A1\inv\ssqn_acc_supp556_ca.paa"; DLC = "SSQN"; class ItemInfo: InventoryMuzzleItem_Base_F { mass = 3.3; class MagazineCoef { initSpeed = 1.0; }; class AmmoCoef { hit = 0; typicalSpeed = 1; airFriction = 1; visibleFire = 0.9; audibleFire = 1.0; visibleFireTime = 1.0; audibleFireTime = 1.0; cost = 1; }; soundTypeIndex = 0; muzzleEnd = "zaslehPoint"; alternativeFire = "Zasleh2"; class MuzzleCoef { dispersionCoef = "1.0f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.1f"; recoilCoef = "1.0f"; recoilProneCoef = "1.0f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; midRangeProbabCoef = "1.0f"; maxRangeCoef = "1.0f"; maxRangeProbabCoef = "1.0f"; }; }; inertia = 0.05; };
Then code a weapon to use the above defined attachment (or one of your own making, either/or). Test in game and find that no matter the hit value, the game always seems to equate the "damage" as that of whatever ammunition the weapon uses, rather than the value the AmmoCoef's "hit" value should be, when it should in fact be zero (or very close to it depending on whatever value you used in AmmoCoef).