Database
Database
Database
============================
Some notes about the XML database. The files can be found in the data\xml folder
The section numbers can be skipped, but each number must be unique. The section
number limits are:
Aircraft 500
Ammunition 5000
Armies 50 (dates 50, formations 1000, flights 100)
Eras 50
Flights 500
Formations 7500
Units 5000
Weapons 5000
Maps 100
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-aircraf
t 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_SMG
- WSOUND_CANNON20
- WSOUND_RECOILLESS
- WSOUND_23MM
- WSOUND_MORTAR
- WSOUND_AGL
- WSOUND_GL
- WSOUND_RIFLE
- WSOUND_76MM
- WSOUND_57MM_X8
- WSOUND_35MM_OERLIKON
- WSOUND_SEMIAUTO
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 ov
er 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_MG_TWIN
- 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 and artillery shells)
- SHELL_HEAVY_HE
- SHELL_MEDIUM_HE
- SHELL_LIGHT_HE
- SHELL_VLIGHT_HE
- SHELL_HEAVY_SMOKE
- SHELL_MEDIUM_SMOKE
- SHELL_ILLUMINATION
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 les
s than maxTargetSpeed after taking damage, and the weapon is fired when the airc
raft 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 unit
s.xml
thermalImagingMinRange:
- Weapon Night Vision equal or greater than this value is a Thermal Imaging Syst
em
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 t
his 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
--------------
isHelicopterScout:
- TRUE/FALSE
6. formations.xml
-----------------
- If the formation is a mixed formation (infantry+vehicles), the vehicles must b
e added first
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_RECON_TANK
- 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_ARTILLERY
- 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 t
he 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 matc
h 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. The "stylized" left/right icons use the "spriteIconNatoFriend" and
"spriteIconNatoFriendPlow" sprite names but add "_l" or "_r" to the end of the
name
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 retre
ating 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-moun
ted 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 uni
t)
- 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 som
e 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.x
ml 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
- AT-guns and artillery units
mortar:
- TRUE/FALSE
- Mortar units
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 se
t 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 imagi
ng 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