The Civ4UnitClassInfos file contains data about the different classes of units. A class is the underlying connection between a unique unit and the parent unit (for example, a Praetorian and Swordsman), as each civilization can only have one unit type in each class.
All tags must be opened and closed; the first is the "open", the second the "close" tag. If nothing goes inside a "list tag", then it should just be the opening tag with a "/" before the closing bracket. The following tables contain all available tags, as well as their purpose and accepted values.
These tags typically bracket other tags, sometimes the entire file, and are generally used to specify more than one piece of data.
|UnitClassInfos||This begins and ends the file. Everything must go in between these two, or it will not work.|
|UnitClassInfo||Each different unit's data is enclosed in a separate tag like this.|
|Type||The name of the UnitClass, which must be unique.|
|Description||The TXT_KEY that contains the name of the unit used in the phrase explaining what normal unit the unique unit replaces.|
|DefaultUnit||The unit which all civilizations have for this class, if they do not have a unique unit that replaces it.|
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
|iMaxGlobalInstances||The number of this unit that can exist at one time in the world; -1 means no limit.|
|iMaxTeamInstances||The number of this unit that can exist at one time in one team; -1 means no limit.|
|iMaxPlayerInstances||The number of this unit that can exist at one time in each civilization; -1 means no limit.|
|iInstanceCostModifier||The percent increase to the cost of the unit for every one that exists; normally 0.|
In the following example of code, please note that there is a specific order of all of the tags. You must list the tags in this order for the game to properly interpret your file.
<UnitClassInfos> <UnitClassInfo> <Type>UNITCLASS_LION</Type> <Description>TXT_KEY_UNIT_LION</Description> <iMaxGlobalInstances>-1</iMaxGlobalInstances> <iMaxTeamInstances>-1</iMaxTeamInstances> <iMaxPlayerInstances>-1</iMaxPlayerInstances> <iInstanceCostModifier>0</iInstanceCostModifier> <DefaultUnit>UNIT_LION</DefaultUnit> </UnitClassInfo> </UnitClassInfos>