Difference between revisions of "Civ4UnitInfos"

From Civilization Modding Wiki
Jump to: navigation, search
Line 134: Line 134:
 
|-
 
|-
 
! Help
 
! Help
| Optional. A text that can include some more information to display. The text is specified in any of the Assets\XML\Text files.|-
+
| Optional. A text that can include some more information to display. The text is specified in any of the Assets\XML\Text files.
 +
|-
 
! Strategy
 
! Strategy
 
| As above for the Sid's Tips, also displayed above the Civilopedia entry.
 
| As above for the Sid's Tips, also displayed above the Civilopedia entry.

Revision as of 10:07, 26 May 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 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 Always 100 - purpose unclear.
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. Unknown usage.
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>