ARMORED BRIGADE XML DATABASE 
============================ 

Some notes about the XML database. The files can be found in the data\xml folder 

Number skipping is not allowed in the section names 


1. aircraft.xml 
---------------

- See the units.xml notes 

maxSpeed: 
- Meters per second 
- Can be reduced -50% after taking damage 
- The recommended maximum speed for aircraft is 200m/s, so it won't miss targets when bombing 

armor: 
- Aircraft protection levels should match the penetration values of anti-aircraft weapons 

height: 
- The height value should usually be WITHOUT the landing gear 


2. ammunition.xml 
-----------------

name: 
- 

firingSound: 
- 0 (no sound) 
- WSOUND_ASSAULT_RIFLE
- WSOUND_MISSILE
- WSOUND_TANK_MAINGUN
- WSOUND_AC_SLOW
- WSOUND_MG_LIGHT
- WSOUND_MG_HEAVY
- WSOUND_VULCAN
- WSOUND_AC_FAST
- WSOUND_ROCKET_X3
- WSOUND_MG3
- WSOUND_CANNON20
- WSOUND_RECOILLESS
- WSOUND_23MM
- WSOUND_MORTAR
- WSOUND_AGL
- WSOUND_GL
- WSOUND_RIFLE
- WSOUND_76MM
- WSOUND_57MM_X8
- WSOUND_35MM_OERLIKON

missSound/hardHitSound/softHitSound: 
- 0 (no sound) 
- SOUND_IMPACT_LARGE
- SOUND_IMPACT_MEDIUM
- SOUND_IMPACT_SMALL_HE
- SOUND_IMPACT_SMALL_AP

metalImpact: 
- TRUE/FALSE 
- Plays the "metal" sound when hits a vehicle 

minRange: 
- Aircraft-based weapons usually have a great minimum range so they won't fly over the target while still firing 

maxRange: 
- 

accuracyBase: 
- Accuracy at point blank range 
- See AA-Accuracy.xls for more info 

accuracyRange: 
- The range where accuracy is half of accuracyBase. If set to zero, accuracy is constant at all ranges 
- See AA-Accuracy.xls for more info 

softDamageType 
- DAM_SOFT_TYPE_DISABLED
- DAM_SOFT_TYPE_LOW
- DAM_SOFT_TYPE_MED
- DAM_SOFT_TYPE_HIGH
- DAM_SOFT_TYPE_VHIGH

softDamageRange
- The recommended value is zero 

APDamage
- Armor penetration at point blank range 
- Should be -1.0 for bombs and indirect fire munitions 

APDamageRange
- The range where armor penetration reaches zero. The penetration value at other ranges is calculated using this value and APDamage (see below). If set to zero, armor penetration is constant at all ranges 
- The AP formula (The final result can never be less than zero): AP = ( (1.0 - (range/APDamageRange) )^2 ) * APDamage 

APEffect: 
- AT_EFFECT_KE (Kinetic energy) 
- AT_EFFECT_CE (Chemical energy) 
- AT_EFFECT_TANDEM (Tandem warhead) 
- Doesn't affect indirect fire munitions 

maxTargetSpeed: 
- Meters per second 
- Enemies which have greater maximum speed than this value cannot be fired at 
- Will be ignored if set to zero 

tracerType: 
(ammunition)
- TRACER_RIFLE
- TRACER_TANK_MAINGUN
- TRACER_AUTOCANNON
- TRACER_MISSILE_GROUNDTARGET
- TRACER_MISSILE_AIRTARGET
- TRACER_ROCKET_TWIN
- TRACER_GRENADE
- TRACER_MEDIUM
- TRACER_ROCKET_NOSMOKE
(aircraft bombs) 
- BOMB_IRON
- BOMB_NAPALM
- BOMB_CLUSTER
(mortar shells) 
- ROUND_ILLUMINATION
- ROUND_MORTAR_HEAVY_HE
- ROUND_MORTAR_MEDIUM_HE
- ROUND_MORTAR_LIGHT_HE
- ROUND_MORTAR_SMOKE

tracerAvgSpeed: 
- Meters per second 
- The speed of tracers (constant) 
- Should never be less than maxTargetSpeed 
- Note that the aircraft maximum speed can be reduced -50% after taking damage. If the aircraft maximum speed was initially greater than maxTargetSpeed, but less than maxTargetSpeed after taking damage, and the weapon is fired when the aircraft is still deaccelerating, this can cause problems with lead calculation 

muzzleSignature 
- How easily the weapon can be detected when firing 

impactSmoke: 
- IMPACT_SMOKE_NONE 
- IMPACT_SMOKE_VLOW 
- IMPACT_SMOKE_LOW 
- IMPACT_SMOKE_MED 
- IMPACT_SMOKE_HIGH 
- IMPACT_SMOKE_VHIGH 

guided: 
- TRUE/FALSE 

fireAndForget: 
- TRUE/FALSE 

bomb: 
- TRUE/FALSE 
- All indirect fire munitions are "bombs" 

topAttack: 
- TRUE/FALSE 

flame (Not working yet): 
- TRUE/FALSE 

vsInfantry: 
- TRUE/FALSE 

vsVehicle: 
- TRUE/FALSE 

vsAir: 
- TRUE/FALSE 


3. armies.xml 
-------------


4. eras.xml 
-----------

from: 
- Available from year, month 

to: 
- Available to year, month 

artilleryTRPRadius: 
- Target reference point radius 

artilleryAdjustRadius: 
- The maximum adjust radius for artillery 

HQRadiusInfantry: 
- The command Radius for the infantry HQ units 

HQRadiusVehicle: 
- The command Radius for the vehicle HQ units 

infantryVulnerability: 
- Infantry vulnerability vs direct fire. Between 1-100. Can be overriden in units.xml 

thermalImagingMinRange: 
- Weapon Night Vision equal or greater than this value is a Thermal Imaging System 

unknownArmorKE: 
- KE armor value for unidentified targets 

unknownArmorCE: 
- CE armor value for unidentified targets 

planeDelay: 
- The base delay before the fixed wing aircraft enter the map 

planeDelayRandom: 
- Random (+/-) arrival delay for the fixed wing aircraft 

heloDelay: 
- The maximum delay before the helicopters enter the map (between 1 second and this value) 

planeCASRadius: 
- The target area radius for the fixed wing aircraft (Non-AA units) 

planeSEADRadius: 
- The target area radius for the fixed wing aircraft (AA units) 


5. flights.xml 
--------------


6. formations.xml 
-----------------

name: 
- 

sprite: 
- The name of the sprite in resources_custom.xml 

type: 
- GROUPTYPE_TANK 
- GROUPTYPE_INF_FOOT 
- GROUPTYPE_INF_MECH 
- GROUPTYPE_AA_STATIC 
- GROUPTYPE_AA_MOBILE 
- GROUPTYPE_AT_STATIC 
- GROUPTYPE_AT_MOBILE 
- GROUPTYPE_SUPPORT 
- GROUPTYPE_RECON_MECH 
- GROUPTYPE_RECON_INF 
- GROUPTYPE_HQ_INF 
- GROUPTYPE_HQ_MECH 
- GROUPTYPE_HQ_TANK 
- GROUPTYPE_MORTAR_STATIC (Dismounted heavy mortars) 
- GROUPTYPE_MORTAR_INF (Dismounted light mortars) 
- GROUPTYPE_MORTAR_MOBILE (Mounted mortars) 
- GROUPTYPE_ENGINEER_INF (Not working yet)
- GROUPTYPE_ENGINEER_MECH (Not working yet)

isCompany: 
- TRUE/FALSE 

isInfantry/VehicleHQ: 
- TRUE/FALSE 
- The first unit in the formation is HQ, and that HQ unit is more expensive in the Purchase Phase 

moraleMod: 
- 

trainingMod: 
- 

unit1Type: 
- Unit ID 

unit1Radio: 
- TRUE/FALSE 


7. resources.xml 
----------------

- Hard-coded sprites, fonts etc 


8. resources_custom.xml 
-----------------------

- Unit sprite names should be added here 


9. units.xml 
------------

name: 
- 

spriteTroop*: 
- Non-vehicles only. The names of the sprites in resources_custom.xml. Must match the number of men in the unit 

spriteVehicle*: 
- Vehicles only. The names of the sprites in resources_custom.xml. Vehicles with a plow must have plow sprites, including NATO icons 

spriteIconNato*: 
- NATO icons 

spritePhoto: 
- An optional photo 

defiladeSprite: 
- DEFILADE_SPRITE_REC (Rectangle) 
- DEFILADE_SPRITE_CIR (Circle) 
- The shape of the symbol around the unit when dug-in. Used for hiding and retreating units too 

weapon*Type: 
- Weapon ID. The maximum number of different weapons per unit is 6 

weapon*Num: 
- Number of weapons 

weapon*Casualties: 
- WEAPON_LOSE_NO (The weapon cannot be lost. Should be used for all vehicle-mounted weapons) 
- WEAPON_LOSE_YES (The weapon can be lost when taking casualties. The number of weapons using this value should not be greater than the number of men in the unit) 
- WEAPON_LOSE_REPLACE (The weapon can be lost when taking casualties, but can be replaced. Usually this should be the squad LMG) 
- WEAPON_LOSE_AMMO (Only ammunition can be lost when taking casualties) 

weapon*FireWhileButtoned: 
- TRUE/FALSE 

weapon*LimitedElevation: 
- TRUE/FALSE 
- The limited elevation is 22.5 degrees from horizontal 

weapon*InTurret: 
- TRUE/FALSE 

weapon*Ammo*Type: 
- Ammunition ID. The maximum number of different ammunition per weapon is 5 

weapon*Ammo*NumPerWeapon: 
- The number of ammunition PER WEAPON, will be multiplied by weapon*Num 

menMax: 
- The number of men in the unit, max 25. Non-vehicles only. Each value must have a spriteTroop* sprite defined 

menToMove: 
- The minimum number of men when the unit is still mobile 

infantryVulnerability: 
- Overrides the value in eras.xml 

hull/turret armor: 
- KE protection, CE protection, tandem warhead protection, armor shape 
armor shape: 
- ARMOR_FACETYPE_NONE (non-vehicle units) 
- ARMOR_FACETYPE_SIMPLE (standard for armored and unarmored vehicles) 
- ARMOR_FACETYPE_COMPLEX (armored vehicles with "complex" armor facing. Adds some randomization to the hit angle) 

survivability: 
- SURV_INF (infantry) 
- SURV_POOR 
- SURV_FAIR 
- SURV_AVERAGE 
- SURV_GOOD 
- SURV_EXCELLENT 

visibility: 
- VISIB_INF (infantry) 
- VISIB_POOR 
- VISIB_FAIR 
- VISIB_AVERAGE 
- VISIB_GOOD 
- VISIB_EXCELLENT 

maxSpeed: 
- Meters per second 

maxSpeedReverse: 
- Meters per second 

acceleration: 
- 

turnRate: 
- Degrees per second 

turretTraverseRate: 
- Degrees per second 

twoPlaneStabilization: 
- TRUE/FALSE 
- If the vehicle has no stabilization then it's recommended to set the weapons.xml emplaceDelay to be 1.0 or greater, so the unit cannot fire while moving 

enableTurretScanning 
- TRUE/FALSE 
- Allows the vehicle to scan with its turret, when it has no targets 

offroadMobility: 
- 

engineer: 
- TRUE/FALSE 
- Non-vehicle units that can breach obstacles 

hasPlow: 
- TRUE/FALSE 
- Vehicles that can be equipped with a plow 

smokeGenerator: 
- TRUE/FALSE 

smokeScreens: 
- 

hull/turretLength/Width/Height: 
- 

isPassenger: 
- TRUE/FALSE 
- Vehicles only 

isTransport: 
- TRUE/FALSE 
- Infantry only 

vehicle: 
- TRUE/FALSE 

tracked: 
- TRUE/FALSE 

wheeled: 
- TRUE/FALSE 

turret: 
- TRUE/FALSE 

fortification: 
- TRUE/FALSE 

gun: 
- TRUE/FALSE 

mortar: 
- TRUE/FALSE 

canCookOff: 
- TRUE/FALSE 

NBCProtection: 
- TRUE/FALSE 

turretSpriteX/Y: 
- The turret location in hull 

moveSoundID: 
- 1 (Modern tank) 
- 2 (Jet aircraft) 
- 3 (Helicopter) 
- 4 (Vehicle) 
- 5 (Older tank) 
- 6 (Propeller aircraft... should be replaced) 

value: 
- Overrides the automatic cost value 


10. weapons.xml 
--------------

name: 
- 

tracers: 
- The number of tracers 

ammoPerBurst: 
- Ammo consumption per attack 

aimDelay: 
- How long the target must be tracked before the first attack 

fireDelay: 
- The minimum delay between attacks 

tracerDelay: 
- The time between tracers 

emplaceDelay: 
- The time the unit must remain stationary before firing. It's recommended to set this value 1.0 or greater if the vehicle has no stabilization 

maxHullAngle: 
- Weapon traverse limitation is +/- this value. 0.0 means free traverse 

maxTurretAngle: 
- Weapon traverse limitation is +/- this value. 0.0 means free traverse 

nightVision: 
- Night vision in meters. Anything equal or greater than 2000 is a thermal imaging system 

indirectFireOnly: 
- TRUE/FALSE 
- Indirect fire weapons. Cannot be used in direct fire mode 

muzzleFlashSprite: 
- The name of the muzzle flash sprite in resources.xml 

muzzleFlashX/Y: 
- The flash location in hull/turret 
