Civ4UnitInfos: Difference between revisions
Line 160: | Line 160: | ||
|- | |- | ||
! iAirUnitCap | ! iAirUnitCap | ||
| | | Unknown; should be 0. | ||
|- | |- | ||
! iAIWeight | ! iAIWeight |
Revision as of 18:04, 18 June 2009
The Civ4UnitInfos XML file controls data related to individual units: for example, a unit's strength value or production cost. There are also more detailed options, affecting things like transport capabilities, prerequisites, and other complex features.
All tags must be opened and closed; the first is the 'open', the second the 'closed' 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.
This page is missing information. Do not remove this notice until it is complete.
Tags
Headers
These tags typically bracket other tags, sometimes the entire file, and are generally used to specify more than one piece of data.
Tag Name | Description |
---|---|
Capture | Either NONE, or the unit which the unit turns into when captured. |
Class | The class as defined in CIV4UnitClassInfos.xml. Class is the thing that holds, say, a Swordsman and a Praetorian together; each civilization can only have one of each class. |
Combat | The combat type, out of UNITCOMBAT_MELEE, UNITCOMBAT_ARCHER, UNITCOMBAT_MOUNTED, UNITCOMBAT_GUN, UNITCOMBAT_SIEGE, UNITCOMBAT_NAVAL, UNITCOMBAT_AIR and UNITCOMBAT_HELICOPTER of the unit - used to determine bonuses in combat & defense. |
Domain | DOMAIN_ - then AIR, SEA or LAND. |
DefaultUnitAI | The default way in which the AI uses the unit. |
Invisible | Either NONE (either meaning not invisible or completely invisible, see below) or INVISIBLE_STEALTH or INVISIBLE_SUBMARINE. |
SeeInvisible | Either NONE or a category of invisibility above. Means that the unit can see all units with this type of invisibility. |
Special | Should be NONE unless it comes under a heading in CIV4SpecialUnitInfos.xml; in which case write that. |
Type | The name of the unit; which must be unique. |
UnitInfo | Each different unit's data is enclosed in a seperate tag like this. |
UnitInfos | This begins and ends the file. Everything must go in between these two, or it will not work. |
UniqueNames | Can be used to make the same unit have seperate names. kinda the same as cities. Can either contain text or a text tag |
Prerequisites
These tags must be included when writing new entries, or the game will crash or otherwise malfunction.
Tag Name | Description |
---|---|
AdvancedStartCost | The cost in points of the unit on Advanced Start. |
AdvancedStartCostIncrease | Affects the cost in points of the unit on Advanced Start. |
BonusType | The resource needed to build this unit. |
Flavors | The 'flavours' of the unit - these relate to leader behavior in the AI. |
HolyCity | If not NONE, then it is the Holy City needed to build the unit. |
HurryCostModifier | Impacts the Gold Hurry cost of the unit. |
MinAreaSize | Minimal number of water squares needed nearby to build sea vessels (20 for all sea units except Work Boats). |
Moves | The number of movement points that the unit has. |
PrereqBonuses | Used as a list tag to enclose BonusType tags. |
PrereqBuilding | Either NONE, or the building needed in a city to build this unit. |
PrereqCorporation | Either NONE, or the corporation needed in a city to build this unit. |
PrereqReligion | Either NONE, or the religion needed in a city to build this unit. |
PrereqTech | Either NONE, or the technology that you need to build this unit. |
ProductionTraits | The leader traits which affect production of this unit, along with the value. |
ReligionType | For units, always NONE. |
StateReligion | If not NONE, the State Religion needed to build this unit. |
TechTypes | Used as a list tag to enclose PrereqTech tags. |
Text
Tag Name | Description |
---|---|
Advisor | Almost always ADVISOR_MILITARY; the rationale that the game gives for reccomending the unit. |
Civilopedia | As above for the Civiliopedia entry. |
Description | Either text or a key from the text files. The name displayed for the unit. |
Help | Optional. A text that can include some more information to display. The text is specified in any of the Assets\XML\Text files. |
Strategy | As above for the Sid's Tips, also displayed above the Civilopedia entry. |
Integers
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
Tag Name | Description |
---|---|
iAirCombat | The unit's base strength for Air Units. |
iAirCombatLimit | Always 100 - purpose unclear. |
iAirRange | Only for Air Units; the range at which it can operate. |
iAirUnitCap | Unknown; should be 0. |
iAIWeight | The preference given by the AI to this unit, generally for Unique Units. |
iAnimalCombat | The bonus that the unit gets against Animals, in attack or defence. |
iAsset | Affects the AI's behaviour towards it in some way. |
iBaseDiscover | The rate at which the unit discovers new tiles. |
iBaseHurry | Amount of production in a city the unit can hurry. |
iBaseTrade | The basic amount of money that the unit makes from a Trade Mission. |
iBombardRate | The rate at which a unit Bombards a city. |
iBombRate | The damage that a unit does when carrying out an Air Bomb mission. |
iCargo | The number of units that the unit can carry. |
iChanceFirstStrikes | The number of First Strike Chances that the unit has. |
iCityAttack | The bonus that the unit gets when attacking cities. |
iCityDefense | The bonus that the unit gets when defending cities. |
iCollateralDamage | The amount of Collateral Damage that the unit does. |
iCollateralDamageLimit | The maximum amount of collateral damage that the unit can do; so the minimum Strength that the target can be at. |
iCollateralDamageMaxUnits | The greatest number of enemy unit that the unit can inflict damage on. |
iConscription | The number of this unit that can be drafted. |
iCombat | The unit's base strength. |
iCombatLimit | Percentage that tells how much damage a unit can give out before retreating. |
iCost | The cost in hammers of the unit. |
iCultureGarrison | The suppression value of a unit while garrisoned in a rebelling city. |
iDiscoverMultiplier | Affects the rate at which the unit discovers new tiles. |
iDropRange | The range at which the unit can 'jump' from a friendly city. |
iEspionagePoints | Used for Spies - not sure of the exact effect. |
iEvasionProbability | For air and parachute units; the odds of evading interception. |
iExtraCost | Affects the cost of the unit. |
iFirstStrikes | The number of automatic First Strikes that the unit has. |
iGreatWorkCulture | The amount of culture that the unit generates with a Great Work. |
iHillsAttack | The bonus that the unit gets when attacking hills. |
iHillsDefense | The bonus that the unit gets when defending hills. |
iHotKeyPriority | Not sure what this does. |
iHurryMultiplier | Multiplier of the above. |
iInterceptionProbability | The odds an Air Unit has of intercepting an enemy trying to carry out a mission in the area. |
iLeaderExperience | The amount of experience which a certain leader gives this unit. |
iNukeRange | The range at which the 'nuke' can be launched - missiles only. |
iOrderPriority | Optional. Not sure what this does. |
iPower | Affects the amount that the AI factors it into the equation when determining your military power. |
iTradeMultiplier | Affects the amount of money that the unit makes from a Trade Mission. |
iWithdrawalProb | The amount of Withdrawal Chance that the unit has. |
iWorkRate | The rate at which the unit improves tiles. |
iXPValueAttack | The value, in Experience Points, that this unit is worth on the attack. |
iXPValueDefense | The value, in Experience Points, that this unit is worth on the defence. |
Boolean
All of these can either be 1 (on, or true) or 0 (off, or false). Be careful, as you can wind up with a double-negative, which the game will interpret as "True".
Tag Name | Description |
---|---|
bAltDown | If 1, the hotkey for this unit must be used with Alt. |
bAlwaysHostile | Can attack enemy units without declaring war, and can be attacked without triggering a war. All nations treat it as an enemy unit. |
bAnimal | The unit is an animal; the Barbarian State controls it, it can spring from anywhere and it cannot enter cultural borders. |
bCanMoveImpassible | If the unit is a Submarine, it can go under Ice. |
bCanMoveAllTerrain | Can move across all terrain. |
bCounterSpy | Should only be 1 in Vanilla or Warlords; can Perform Counterespionage. |
bCtrlDown | If 1, the hotkey for this unit must be used with Ctrl. |
bDestroy | Should only be 1 in Vanilla or Warlords; can Destroy Improvement. |
bFirstStrikeImmune | Is immune to all First Strikes. |
bFlatMovementCost | Pays a flat movement cost to enter all terrain. |
bFood | A city does not generate food while building this unit. |
bFound | Can found a city. |
bGoldenAge | Counts as a Great Person to start a Golden Age. |
bHiddenNationality | Bears no marking of nationality. |
bIgnoreBuildingDefense | Ignores defensive bonuses from enemy buildings, like Walls and Castles. |
bIgnoreTerrainCost | Ignores movement penalties from terrain. |
bInvestigate | Should only be 1 in Vanilla or Warlords; can Investigate City. |
bInvisible | Is invisible to all units. |
bLineOfSight | Optional. Specifies if the unit can only reveal the content in the tiles in the direction he is facing. |
bMechanized | Not sure what this does - used for all land units in a vehicle. |
bMilitaryHappiness | Counts as a Military Unit in the eyes of the rabble. |
bMilitaryProduction | Counts as a military unit for production bonuses/penalties. |
bMilitarySupport | Costs money to maintain as part of your military, affected by Pacifism and the like. |
bNoBadGoodies | When this unit is entering a Tribal Village, the villagers will never be hostile. |
bNoCapture | This unit cannot capture cities. |
bNoDefensiveBonus | Does not receive defensive bonuses. |
bNoRevealMap | If 1, the unit does not reveal any tiles except the one it is currently standing on. |
bNukeInnume | Takes no damage from enemy nukes. |
bOnlyDefensive | This unit cannot attack other units. |
bPillage | Can pillage enemy tiles. |
bQuickCombat | ALways 0; not sure what it actually does. |
bRenderAlways | Optional. Unknown usage. |
bRenderBelowWater | Optional. Unknown usage. |
bRivalTerritory | Can explore rival territory. |
bPrereqBonuses | Needs the mentioned resources to be built (can be NONE). |
bPrereqReligion | Needs the mentioned religion to be built (can be NONE). |
bSabotage | Should only be 1 in Vanilla or Warlords; can Sabotage Production. |
bShiftDown | If 1, the hotkey for this unit must be used with Shift. |
bSpy | Is a spy. |
bStealPlans | Should only be 1 in Vanilla or Warlords; can Steal Plans. |
bSuicide | Kills itself upon attacking, like a Kamikaze in the Defence mod. |
Lists (Multi-line)
All List tags consist of an opening/closing tag, which is shown here, and then each entry within it is another tag with the same name as the parent tag, minus the "s" (i.e. singular, rather than plural).
Tag Name | Description |
---|---|
Builds | For all the things that the unit can build on tiles; but not wonders that it can build in cities. |
Buildings | The buildings which the unit can construct in a friendly city. |
CorporationSpreads | Put the Corporations which the unit can spread here, if it is a CEO. |
FlankingStrikes | All unit classes against which the unit gets a Flank Attack. |
ForceBuildings | The buildings the unit can construct in any city. |
GreatPeoples | If the unit can settle in a city, put the type of specialist it becomes here. |
NotUnitAIs | As UnitAIs, but for the tasks which the AI will never consider the unit for. |
ReligionSpreads | Put the religions which the unit can spread here, if it is a missionary. |
UnitClassDefenders | Not sure what this one does. |
UnitClassTargets | Not sure what this one does. |
UnitClassUpgrades | The Classes of unit to which this unit upgrades. |
UnitCombatDefenders | Does whatever UnitClassDefenders does, but is directed at a particular combat. |
UnitCombatTargets | Does whatever UnitClassTargets does, but is directed at a particular combat. |
UnitAIs | Inside here go the methods which the AI uses to command this unit. It dictates the roles which the unit is good for. |
Miscellaneous
Tag Name | Description |
---|---|
BonusProductionModifiers | Resources that make the unit produce faster. |
DomainCargo | The Domains (AIR, SEA, or LAND) that the unit can carry. |
DomainMods | The bonuses/penalties that the unit gets against Air, Sea or Land units. |
FeatureAttacks | Attack bonuses that the unit gets in different features. |
FeatureDefenses | Defense bonuses that the unit gets in different features. |
FeatureImpassables | Used to specify terrain features (Jungle, Forest, etc.) that the unit will never be able to enter. |
FeatureNatives | This affects the feature types animals spawn in. |
FreePromotions | The promotions that this unit starts with. |
HotKey | Never used in the original game - it can be used to define a hotkey for the unit. |
LeaderPromotions | Promotions which a certain leader gives this unit. |
SpecialCargo | Any types of Special Unit that the unit can carry. |
TerrainAttacks | Attack bonuses that the unit gets in different terrain. |
TerrainDefenses | Defence bonuses that the unit gets in different terrain. |
TerrainImpassables | Used to specify terrain types (Ocean, Desert, etc.) that the unit will never be able to enter. |
TerrainNatives | This affects the terrain types animals spawn in. |
TerrainPassableTechs | With these technologies, the unit can enter the terrain defined in TerrainImpassables. |
UnitClassAttackMods | The bonuses/penalties that the unit gets against specific unit classes in attack. |
UnitClassDefenseMods | The bonuses/penalties that the unit gets against specific unit classes in defence. |
UnitCombatCollateralImmunes | The unit combats that this unit does not recieve collateral damage from. |
UnitCombatMods | The bonuses/penalties that the unit gets against different combats. |
Art
These tags are directly related to the rendering of art for the entry.
Tag Name | Description |
---|---|
EarlyArtDefineTag | From CIV4ArtDefinesUnit - what the unit looks like in-game. |
FormationType | The formation that the unit adopts. |
fMaxSpeed | Not sure what this does. |
fPadTime | Not sure what this does. |
iGroupSize | The number of models in the unit. |
iMeleeWaveSize | The number of models that engage in melee combat. |
iRangedWaveSize | The number of models that engage in ranged combat at once. |
UnitMeshGroups | Holds the unit's art data. |
Example
<UnitInfo> <Class>UNITCLASS_LION</Class> <Type>UNIT_LION</Type> <UniqueNames/> <Special>NONE</Special> <Capture>NONE</Capture> <Combat>NONE</Combat> <Domain>DOMAIN_LAND</Domain> <DefaultUnitAI>UNITAI_ANIMAL</DefaultUnitAI> <Invisible>NONE</Invisible> <SeeInvisible>NONE</SeeInvisible> <Description>TXT_KEY_UNIT_LION</Description> <Civilopedia>TXT_KEY_CONCEPT_ANIMALS_PEDIA</Civilopedia> <Strategy>TXT_KEY_UNIT_ANIMAL_STRATEGY</Strategy> <Advisor>NONE</Advisor> <bAnimal>1</bAnimal> <bFood>0</bFood> <bNoBadGoodies>0</bNoBadGoodies> <bOnlyDefensive>0</bOnlyDefensive> <bNoCapture>0</bNoCapture> <bQuickCombat>0</bQuickCombat> <bRivalTerritory>0</bRivalTerritory> <bMilitaryHappiness>0</bMilitaryHappiness> <bMilitarySupport>0</bMilitarySupport> <bMilitaryProduction>0</bMilitaryProduction> <bPillage>0</bPillage> <bSpy>0</bSpy> <bSabotage>0</bSabotage> <bDestroy>0</bDestroy> <bStealPlans>0</bStealPlans> <bInvestigate>0</bInvestigate> <bCounterSpy>0</bCounterSpy> <bFound>0</bFound> <bGoldenAge>0</bGoldenAge> <bInvisible>0</bInvisible> <bFirstStrikeImmune>0</bFirstStrikeImmune> <bNoDefensiveBonus>1</bNoDefensiveBonus> <bIgnoreBuildingDefense>0</bIgnoreBuildingDefense> <bCanMoveImpassable>0</bCanMoveImpassable> <bCanMoveAllTerrain>0</bCanMoveAllTerrain> <bFlatMovementCost>0</bFlatMovementCost> <bIgnoreTerrainCost>0</bIgnoreTerrainCost> <bNukeImmune>0</bNukeImmune> <bPrereqBonuses>0</bPrereqBonuses> <bPrereqReligion>0</bPrereqReligion> <bMechanized>0</bMechanized> <bSuicide>0</bSuicide> <bHiddenNationality>0</bHiddenNationality> <bAlwaysHostile>0</bAlwaysHostile> <UnitClassUpgrades/> <UnitClassTargets/> <UnitCombatTargets/> <UnitClassDefenders/> <UnitCombatDefenders/> <FlankingStrikes/> <UnitAIs> <UnitAI> <UnitAIType>UNITAI_ANIMAL</UnitAIType> <bUnitAI>1</bUnitAI> </UnitAI> </UnitAIs> <NotUnitAIs/> <Builds/> <ReligionSpreads/> <CorporationSpreads/> <GreatPeoples/> <Buildings/> <ForceBuildings/> <HolyCity>NONE</HolyCity> <ReligionType>NONE</ReligionType> <StateReligion>NONE</StateReligion> <PrereqReligion>NONE</PrereqReligion> <PrereqCorporation>NONE</PrereqCorporation> <PrereqBuilding>NONE</PrereqBuilding> <PrereqTech>NONE</PrereqTech> <TechTypes/> <BonusType>NONE</BonusType> <PrereqBonuses/> <ProductionTraits/> <Flavors/> <iAIWeight>0</iAIWeight> <iCost>-1</iCost> <iHurryCostModifier>0</iHurryCostModifier> <iAdvancedStartCost>-1</iAdvancedStartCost> <iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease> <iMinAreaSize>-1</iMinAreaSize> <iMoves>1</iMoves> <bNoRevealMap>0</bNoRevealMap> <iAirRange>0</iAirRange> <iAirUnitCap>0</iAirUnitCap> <iDropRange>0</iDropRange> <iNukeRange>-1</iNukeRange> <iWorkRate>0</iWorkRate> <iBaseDiscover>0</iBaseDiscover> <iDiscoverMultiplier>0</iDiscoverMultiplier> <iBaseHurry>0</iBaseHurry> <iHurryMultiplier>0</iHurryMultiplier> <iBaseTrade>0</iBaseTrade> <iTradeMultiplier>0</iTradeMultiplier> <iGreatWorkCulture>0</iGreatWorkCulture> <iEspionagePoints>0</iEspionagePoints> <TerrainImpassables/> <FeatureImpassables/> <TerrainPassableTechs/> <FeaturePassableTechs/> <iCombat>2</iCombat> <iCombatLimit>100</iCombatLimit> <iAirCombat>0</iAirCombat> <iAirCombatLimit>0</iAirCombatLimit> <iXPValueAttack>4</iXPValueAttack> <iXPValueDefense>2</iXPValueDefense> <iFirstStrikes>0</iFirstStrikes> <iChanceFirstStrikes>0</iChanceFirstStrikes> <iInterceptionProbability>0</iInterceptionProbability> <iEvasionProbability>0</iEvasionProbability> <iWithdrawalProb>0</iWithdrawalProb> <iCollateralDamage>0</iCollateralDamage> <iCollateralDamageLimit>0</iCollateralDamageLimit> <iCollateralDamageMaxUnits>0</iCollateralDamageMaxUnits> <iCityAttack>0</iCityAttack> <iCityDefense>0</iCityDefense> <iAnimalCombat>0</iAnimalCombat> <iHillsAttack>0</iHillsAttack> <iHillsDefense>0</iHillsDefense> <TerrainNatives> <TerrainNative> <TerrainType>TERRAIN_GRASS</TerrainType> <bTerrainNative>1</bTerrainNative> </TerrainNative> <TerrainNative> <TerrainType>TERRAIN_PLAINS</TerrainType> <bTerrainNative>1</bTerrainNative> </TerrainNative> <TerrainNative> <TerrainType>TERRAIN_DESERT</TerrainType> <bTerrainNative>1</bTerrainNative> </TerrainNative> </TerrainNatives> <FeatureNatives/> <TerrainAttacks/> <TerrainDefenses/> <FeatureAttacks/> <FeatureDefenses/> <UnitClassAttackMods/> <UnitClassDefenseMods/> <UnitCombatMods/> <UnitCombatCollateralImmunes/> <DomainMods/> <BonusProductionModifiers/> <iBombRate>0</iBombRate> <iBombardRate>0</iBombardRate> <SpecialCargo>NONE</SpecialCargo> <DomainCargo>NONE</DomainCargo> <iCargo>0</iCargo> <iConscription>0</iConscription> <iCultureGarrison>0</iCultureGarrison> <iExtraCost>0</iExtraCost> <iAsset>1</iAsset> <iPower>1</iPower> <UnitMeshGroups> <iGroupSize>3</iGroupSize> <fMaxSpeed>1.75</fMaxSpeed> <fPadTime>1</fPadTime> <iMeleeWaveSize>3</iMeleeWaveSize> <iRangedWaveSize>0</iRangedWaveSize> <UnitMeshGroup> <iRequired>3</iRequired> <EarlyArtDefineTag>ART_DEF_UNIT_LION</EarlyArtDefineTag> </UnitMeshGroup> </UnitMeshGroups> <FormationType>FORMATION_TYPE_ANIMAL</FormationType> <HotKey/> <bAltDown>0</bAltDown> <bShiftDown>0</bShiftDown> <bCtrlDown>0</bCtrlDown> <iHotKeyPriority>0</iHotKeyPriority> <FreePromotions/> <LeaderPromotion>NONE</LeaderPromotion> <iLeaderExperience>0</iLeaderExperience> </UnitInfo>