CfgAmmo Config Reference
Introduction
CfgAmmo, cfgMagazines, cfgWeapons and cfgVehicles are root classes defined in the engine's config.bin.
These classes can be subsequently added to by addons inherit in the game or provided by oem.
CfgAmmo defines the missile characterstics for ammunition held in a cfgMagazine which, in turn, is used by a cfgWeapon, which, in turn, is selected for use in a (series of) cfgVehicles. The same ammunition can be, and generally is, used by multiple magazines. The same magazine, can be, and generally is, used by multiple weapons. And so on.
The default value is shown in the legend.
Note that engines accept integer values where a float would normally be expected.
TokenNames marked ArmA were introduced from Xbox Elite and beyond.
Arma Enhancement
Arma introduced a new root class, cfgMagazines.
In contrast, OFP uses a rather tedious construct in it's cfgWeapons class to distinguish between weapon and magazine paramaters.
Regardless, there is no change in effect or construct or meaning to the cfgAmmo class in any engine.
Modifications
access=1;
- Ammunition classes can be added.
- Existing classes can (sometimes) be altered.
The default class for cfgAmmo specifies access=3; Almost all subsequent classes inherit this value, which means they cannot be altered in any way.
To allow YOUR addon to subsequently modify YOUR ammunition (should you wish to with other addons), you must change the access= in YOUR ammunition.
A
airFriction=-0.0005
animated=false
audibleFire=0.0
audibleFire=5.0;
Description: How much can AI hear when given weapon is fired.
airLock=false
Boolean
Description: Declares if ammo can lock on air targets.
C
canLock
Integer
Description: Declares if ammo is able to lock (necessary for airLock, irLock & laserLock)
Values:
- 0 = false
- 1 = cadet mode only
- 2 = always.
canLock=0;
cartridge=""
String
Description: Declares the path to the cartridge P3D model, which may be ejected on each shot. Like all model specifications, .p3d is inferred.
cartridge="FxCartridge[.p3d]";
cost=0
Integer
Description: Cost-gain evaluation is performed to choose an appropriate weapon. Gain includes self-preservation,
cost includes time required to complete the attack.
As a result, weapons with high cost are unlikely to be used again common targets, esp. when low cost weapons are available. Still, there may be situation where AI may decide to use high cost weapon, esp. when it thinks it has little chance of survival and needs to attempt destroying enemy quickly.
cost=5000;
CraterEffects="ImpactEffectsBig";
ArmA String
Description: Declares which crater effect to spawn on hit on ground.
Values: BombCrater, ExploAmmoCrater, GrenadeCrater, ImpactEffectsBig, MissileCrater, ShellCrater
CraterEffects="ExploAmmoCrater";
D
deflecting=0
ArmA Integer
Description: Declares if ammo is deflecting and thus deflection angle.
deflecting=10;
E
effectsFire="CannonFire"
effectsMissile="ExplosionEffects"
effectsSmoke="SmokeShellWhite"
explosionEffects="ExplosionEffects"
ArmA String
Description: Declares which explosion effect to spawn on hit.
Values:
- BombExplosion
- ExploAmmoExplosion
- ExplosionEffects
- GrenadeExplosion
explosionTime=0
ArmA Integer
Description: Declares after how many seconds ammo will explode (e.g. used on timed hand grenades).
explosionTime=5;
explosive=1
Description: Declares if ammo is explosive, and if it is, how much (What part of the damage is done using explosion, the rest is assumed to be caused by kinetic impact, given as a ratio - 1 means fully explosive, 0 means fully kinetic)
F
fuseDistance=0
H
hit=0
Float
Description: Damage on hit. In OFP total damage is calculated as: Total damage = Hit damage - Indirect damage (while hit value bigger then Indirecthit)
hit=8;
HitEffects
class HitEffects { vehicle = "ImpactMetal"; object = "ImpactConcrete"; };
hit...[]=={"soundHit",1};
all array values are defaulted to
hitBuilding[] = {"soundHit",1};
hitArmor[]
hitBuilding[]
hitConcrete[]
hitDefault[]
hitFoliage[]
hitGlass[]
hitGlassArmored[]
hitGround[]
ofp only
hitGroundHard[]
hitGroundSoft[]
hitIron[]
hitMan[]
hitMetal[]
hitMetalplate[]
hitPlastic[]
hitRubber[]
hitWood[]
I
indirectHit=0;
Float
Description: Damage in indirectHitRange.
indirectHit=8;
indirectHitRange=1
Float
Description: Radius in metres where indirectHit damage is caused.
indirectHitRange=75;
initTime=0
Float
Description: How long (in seconds) the projectile waits before starting it's motor.
initTime=0.2;
irLock=false
Boolean
Description: Declares if ammo can lock on IR-targets.
L
laserLock=false
Boolean
Description: Declares if ammo can lock on laser designator.
lightColor[]
Array
Description: Declares color of light (e.g. on flares).
lightColor[]={1,1,1,0};
M
maneuvrability = 1.0
Float
Description: Declares maneuvrability of guided missiles.
manueuvrability=30;
manualControl=0
Boolean
Description: Declares if ammo can be controlled by the player during flight (?).
manualControl=0;
maxControlRange=350
Float
Description: Declares in which disctance to player ammo can be controlled during flight (?).
maxControlRange=5000;
maxSpeed=0
Float
Description: Declares the maximum speed (m/s).
maxSpeed=241;
model=""
String
Description: Declares path to model.
model="\ca\weapons\bullet[.p3d]"
min/MaxRange...
minRange =0.5
minRangeProbab=0.5
midRange=100
midRangeProbab=0.8
maxRange=450
maxRangeProbab=0.05
These tokens are present in ofp only. They were badly classed in ofp, causing all weapons using this specific 'bullet' to exhibit this behaviour rather than the behaviour of the 'rifle'. As such they were transferred to ArmA's cfgWeapons.
P
proxyShape=""
String
Description: Declares the model of this weapon used in proxies on vehicles. Note that proxies can be used only with air units.
proxyShape="\ca\air\sidewinder_proxy";
S
sideAirFriction=1
Float
Description: Adjusts the drag of a projectile. Lower values decrease drag, higher values increase drag. When used with guided projectiles, higher values make it easier for the projectile to turn while lower values make it more difficult to turn.
sideAirFriction=0.5;
simulation="";
String
Description: Declares simulation type.
Possible values: refer to Models & Classnames: Simulation Types for a list of all supported simulation types.
simulation="shotShell";
simulationStep=0.05
Float
Description: ?
shadow = 0;
sound...[]=[]{"",1,1};
soundFly[]
soundEngine[]
soundHit[]
supersonicCrackNear[]= {"",1,1};
ArmA Array
Description: Declares sound and volume of the supersonic crack (near the player). Supersonic crack will only occur if ammo is flying with supersonic speed.
supersonicCrackNear[]={"\ca\Weapons\Data\Sound\supersonic_crack_close.wss",1,1};
supersonicCrackFar[]= {"",1,1};
ArmA Array
Description: Declares sound and volume of the supersonic crack (far). Supersonic crack will only occur if ammo is flying with supersonic speed.
supersonicCrackFar[]={"\ca\Weapons\Data\Sound\supersonic_crack_50meters.wss",1,1};
T
thrust=210
Float
Description: Engine power for missiles and rockets.
thrustTime=1.5
Float
Description: Engine burn time for missiles and rockets.
thrustTime=0.200000;
timeToLive=10
ArmAInteger
Description: Time before the ammo vanishes, used as optimization to avoid having to simulate stray bullets. Note that this parameter has no effect in OFP where timeToLive is predefined by simulation.
timeToLive=4;
tracerColor[] = {0.7,0.7,0.5,0.04};
Description: Declares tracer colour with "easy" settings (tracers enabled), format is {Red, Green, Blue, Transparency}.
tracerColorR[] = {0.7,0.7,0.5,0.04};
Description: Declares tracer colour with "realistic" settings (tracers disabled), format is {Red, Green, Blue, Transparency}.
trackLead=1.0
ArmA Float
Description: The amount of lead a guided weapon will use when tracking a target.
trackOversteer=1.0
ArmA Float
Description: The factor at which a guided weapon will steer to meet TrackLead.
typicalSpeed=900
ArmA Integer
Description: hit value is valid when projectile moves at this speed. With lower speed the hit caused by the ammo is lower as well.
V
visibleFire=0
Float
Description: how much does AI see a unit firing this weapon
visibleFire=18;
visibleFireTime=0
Integer
Description: How long is one shot assumed to be noticeable by the AI. Values under 5 should be avoided, as AI can performs is cycles with 5s of no testing in between.
visibleFireTime=18;