CfgAmmo Config Reference

From Bohemia Interactive Community
Jump to navigation Jump to search

Template:Stub

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

ArmA
Float
Description:

animated

ArmA

audibleFire

Float
Description: How much can AI hear when given weapon is fired.

audibleFire=5.0;

airLock

Boolean
Description: Declares if ammo can lock on air targets. Also makes AI to decide whether to engage air units with the particular ammo.

C

canLock

Integer
Description: Declares if ammo is able to lock (necessary for airLock, irLock & laserLock)
Possible 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

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

ArmA
String
Description: Declares which crater effect to spawn on hit on ground.
Possible values: BombCrater, ExploAmmoCrater, GrenadeCrater, ImpactEffectsBig, MissileCrater, ShellCrater

CraterEffects="ExploAmmoCrater";


D

deflecting

ArmA
Integer
Description: Declares if ammo is deflecting and thus deflection angle.

deflecting=10;


E

effectsFire

ArmA

effectsMissile

ArmA

effectsSmoke

ArmA

explosionEffects

ArmA
String
Description: Declares which explosion effect to spawn on hit.
Possible values:

  • BombExplosion
  • ExploAmmoExplosion
  • ExplosionEffects
  • GrenadeExplosion

explosionTime

ArmA
Integer
Description: Declares after how many seconds ammo will explode (e.g. used on timed hand grenades).

explosionTime=5;

explosive

Float
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

ArmA


H

hit

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

ArmA

class HitEffects
{
 vehicle = "ImpactMetal";
 object = "ImpactConcrete";
};

hit...[]


Description: All array values are defaulted to

hitBuilding[] = {"soundHit",1};

hitArmor[]

hitBuilding[]

hitConcrete[]

ArmA

hitDefault[]

ArmA

hitFoliage[]

ArmA

hitGlass[]

ArmA

hitGlassArmored[]

ArmA

hitGround[]

ofp only

hitGroundHard[]

ArmA

hitGroundSoft[]

ArmA

hitIron[]

ArmA

hitMan[]

hitMetal[]

ArmA

hitMetalplate[]

ArmA

hitPlastic[]

ArmA

hitRubber[]

ArmA

hitWood[]

ArmA


I

indirectHit

Float
Description: Damage in indirectHitRange.

indirectHit=8;

indirectHitRange

Float
Description: Radius in metres where indirectHit damage is caused.

indirectHitRange=75;

initTime

Float
Description: How long (in seconds) the projectile waits before starting it's motor.

initTime=0.2;

irLock

Boolean
Description: Declares if ammo can lock on IR-targets.


L

laserLock

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

Float
Description: Declares maneuvrability of guided missiles.

manueuvrability=30;

manualControl

Boolean
Description: Declares if ammo can be controlled by the player during flight (?).

manualControl=0;

maxControlRange

Float
Description: Declares in which distance to player ammo can be controlled during flight. Using this on handheld Launchers causes the Missile to 'time-out' after approximately 1.5km, loosing all control of the warhead, which causes the Missile to spin around/take off into random directions (until it self-destructs, 'timetolive'), making higher Values useless.

Using this on any VEHICLE mounted Launchers (like the TOW, Hellfire or Maverick) allows the warhead to track AND turn/follow it's target even if said target is behind the player vehicle (and possibly AI-controlled ones too), which requires a high maneuverability value on the missile. That way, one can simply lock on, then pass the locked Target and shoot a missile, which will follow the target even without direct line of sight. NOTE that the missile follows the target regardless of obstacles, init-time or initspeed, meaning the missile might crash into the ground, esp. at lower heights.

maxControlRange=5000;

maxSpeed

Float
Description: Declares the maximum speed (m/s).

maxSpeed=241;

model

String
Description: Declares path to model.

model="\ca\weapons\bullet[.p3d]"

min/MaxRange...


Description: 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.

minRange

minRangeProbab

midRange

midRangeProbab

maxRange

maxRangeProbab

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

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. Also affects the behavior the projectile causes to the shooter/object hit; changing "shotShell" to "shotBullet" makes a tank shell pass through more trees rather than being stopped by them, and also removes the recoil which usually affects the tank/vehicle the cannon is mounted to. Changing "shotBullet" to "shotSpread" (OA only) causes the changed ammo to behave like it is buckshot (again, OA only).
Possible values: refer to Models & Classnames: Simulation Types for a list of all supported simulation types.

simulation="shotShell";

simulationStep

Float
Description: ?

shadow

ArmA

sound...[]

soundFly[]

soundEngine[]

soundHit[]

supersonicCrackNear[]

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[]

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

Float
Description: Engine power for missiles and rockets.

thrustTime

Float
Description: Engine burn time for missiles and rockets.

thrustTime=0.200000;

timeToLive

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[]

Array
Description: Declares tracer colour with "easy" settings (tracers enabled), format is {Red, Green, Blue, Transparency}.

tracerColorR[]

Array
Description: Declares tracer colour with "realistic" settings (tracers disabled), format is {Red, Green, Blue, Transparency}.

trackLead

ArmA
Float
Description: The amount of lead a guided weapon will use when tracking a target.

trackOversteer

ArmA
Float
Description: The factor at which a guided weapon will steer to meet TrackLead.

typicalSpeed

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

Float
Description: how much does AI see a unit firing this weapon

visibleFire=18;

visibleFireTime

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;


W

whistleDist

ArmA

whistleOnFire

ArmA