Civ4PromotionInfos
The Civ4PromotionInfos file defines the characteristics of each of the game's promotions, or bonuses that units receive as they acquire experience points.
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.
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 |
---|---|
PromotionInfos | This begins and ends the file. Everything must go in between these two, or it will not work. |
PromotionInfo | Encloses the entry for each promotion. |
Text
Tag Name | Description |
---|---|
Type | The name of the promotion, which must be unique. |
Description | The name given to the promotion in the game. |
Help | Optional. A text that can include some more information to display. The text is specified in any of the Assets\XML\Text files. |
Sound | In the game, always AS2D_IF_LEVELUP; this is the sound played when the promotion is given to a unit. |
LayerAnimationPath | Unknown. |
PromotionPrereq | Any unit needs this promotion to take the promotion. It can be NONE. |
PromotionPrereqOr1 | If the unit has this and the promotion defined in PromotionPrereq, it can take this promotion. |
PromotionPrereqOr2 | If the unit has this and the promotion defined in PromotionPrereq, it can take this promotion. |
TechPrereq | Can be NONE; this is the technology needed to get this promotion. For example, Blitz comes with Military Science. |
StateReligionPrereq | Can be NONE; this is the State Religion needed to get this promotion. |
Button | A comma separated field that lists four things: the path of the normal promotion image, the path of the smaller image for this promotion, and then x-y grid coordinates of the smaller image. The second file path is for the button used in the civilopedia, among other places. |
Integers
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
Tag Name | Description |
---|---|
iVisibilityChange | The number of tiles that the unit's Line of Sight increases by |
iMovesChange | The number of extra moves that the promotion gives a unit |
iMoveDiscountChange | Lowers the cost of moving into difficult terrain |
iOrderPriority | Optional. Not sure what this does. |
iAirRangeChange | The amount by which the unit's Air Range increases |
iInterceptChange | The amount by which the unit's interception chance increases, in %. |
iEvasionChange | The amount by which the unit's evasion chance increases, in %. |
iWithdrawalChange | The amount by which the unit's withdrawal chance increases, in %. |
iCargoChange | The amount by which the unit's cargo capacity increases. |
iCollateralDamageChange | The amount by which the collateral damage inflicted by the unit increases. |
iBombardRateChange | The amount by which the damage which the unit does to fortifications increases. |
iFirstStrikesChange | The amount by which the number of First Strikes that the unit has increases. |
iChanceFirstStrikesChange | The amount by which the number of First Strike Chances that the unit has increases. |
iEnemyHealChange | Increases the unit's damage healing capabilities in enemy territory by the given percentage. |
iNeutralHealChange | Increases the unit's damage healing capabilities in neutral territory by the given percentage. |
iFriendlyHealChange | Increases the unit's damage healing capabilities in friendly territory by the given percentage. |
iSameTileHealChange | Increases the unit's ability to heal other units on the same tile by the given percentage. |
iAdjacentTileHealChange | Increases the unit's ability to heal other units in adjacent tiles by the given percentage. |
iCombatPercent | Increases the unit's strength value by the given percentage. |
iCityAttack | Increases the unit's strength value by the given percentage when attacking a city. |
iCityDefense | Increases the unit's strength value by the given percentage when defending a city. |
iHillsAttack | Increases the unit's strength value by the given percentage when attacking onto a hill. |
iHillsDefense | Increases the unit's strength value by the given percentage when defending on a hill. |
iKamikazePercent | Raises the units strength by iKamikazePercent BUT the unit will die in its next combat. |
iRevoltProtection | Percentage decrease in base city revolt chance. (All current promotions have a value of 0). |
iCollateralDamageProtection | Decreases the damage a unit takes from collateral damage by the given percentage value (e.g. Drill II has a percentage value of 20). |
iPillageChange | Unknown. All promotions have a value of 0. |
iUpgradeDiscount | Decreases the cost to upgrade a unit by the given percentage (e.g. units with the default promotion from a Great General, which has a value of 100, upgrade for free). |
iExperiencePercent | Increases the experience points received by a unit in combat by the given percentage. |
iHotKeyPriority | Unknown. All promotions have a value of 0. |
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 |
---|---|
bLeader | The promotion gives the unit a Warlord |
bBlitz | The promotion lets the unit attack multiple times per turn |
bAmphib | The promotion lets the unit cross rivers and attack out of a transport without penalties |
bRiver | The promotion lets the unit ignore rivers |
bEnemyRoute | The promotion lets the unit use enemy roads |
bAlwaysHeal | The promotion lets the unit heal while moving |
bHillsDoubleMove | The promotion lets the unit move twice as fast in Hills |
bImmuneToFirstStrikes | The promotion means that the unit cannot be affected by enemy First Strikes |
bAltDown | Unknown. All promotions have a value of 0. Presumably used for assigning hotkeys. |
bShiftDown | Unknown. All promotions have a value of 0. Presumably used for assigning hotkeys. |
bCtrlDown | Unknown. All promotions have a value of 0. Presumably used for assigning hotkeys. |
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 |
---|---|
TerrainAttacks | Changes the strength modifier for attacking onto the specified terrain types by the given percentage. |
TerrainDefenses | Changes the strength modifier for defending on the specified terrain types by the given percentage. |
FeatureAttacks | Changes the strength modifier for attacking onto the specified feature types by the given percentage. |
FeatureDefenses | Changes the strength modifier for defending on the specified feature types by the given percentage. |
UnitCombatMods | Changes the strength modifier for fighting against the specified unit types by the given percentage. |
DomainMods | Changes the strength modifier for fighting against the specified domain (naval units, land units, etc.) by the given percentage. |
TerrainDoubleMoves | Halves the movement cost for the unit on this type of terrain. |
FeatureDoubleMoves | Halves the movement cost for the unit on this type of feature. |
UnitCombats | Controls which unit combat types can receive this promotion. |
HotKey | Not used in the standard game. Assigns a hotkey for this promotion. |
Example
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.
<PromotionInfos> <PromotionInfo> <Type>PROMOTION_COMBAT1</Type> <Description>TXT_KEY_PROMOTION_COMBAT1</Description> <Sound>AS2D_IF_LEVELUP</Sound> <LayerAnimationPath>NONE</LayerAnimationPath> <PromotionPrereq>NONE</PromotionPrereq> <PromotionPrereqOr1>NONE</PromotionPrereqOr1> <PromotionPrereqOr2>NONE</PromotionPrereqOr2> <TechPrereq>NONE</TechPrereq> <StateReligionPrereq>NONE</StateReligionPrereq> <bLeader>0</bLeader> <bBlitz>0</bBlitz> <bAmphib>0</bAmphib> <bRiver>0</bRiver> <bEnemyRoute>0</bEnemyRoute> <bAlwaysHeal>0</bAlwaysHeal> <bHillsDoubleMove>0</bHillsDoubleMove> <bImmuneToFirstStrikes>0</bImmuneToFirstStrikes> <iVisibilityChange>0</iVisibilityChange> <iMovesChange>0</iMovesChange> <iMoveDiscountChange>0</iMoveDiscountChange> <iAirRangeChange>0</iAirRangeChange> <iInterceptChange>0</iInterceptChange> <iEvasionChange>0</iEvasionChange> <iWithdrawalChange>0</iWithdrawalChange> <iCargoChange>0</iCargoChange> <iCollateralDamageChange>0</iCollateralDamageChange> <iBombardRateChange>0</iBombardRateChange> <iFirstStrikesChange>0</iFirstStrikesChange> <iChanceFirstStrikesChange>0</iChanceFirstStrikesChange> <iEnemyHealChange>0</iEnemyHealChange> <iNeutralHealChange>0</iNeutralHealChange> <iFriendlyHealChange>0</iFriendlyHealChange> <iSameTileHealChange>0</iSameTileHealChange> <iAdjacentTileHealChange>0</iAdjacentTileHealChange> <iCombatPercent>10</iCombatPercent> <iCityAttack>0</iCityAttack> <iCityDefense>0</iCityDefense> <iHillsAttack>0</iHillsAttack> <iHillsDefense>0</iHillsDefense> <iKamikazePercent>0</iKamikazePercent> <iRevoltProtection>0</iRevoltProtection> <iCollateralDamageProtection>0</iCollateralDamageProtection> <iPillageChange>0</iPillageChange> <iUpgradeDiscount>0</iUpgradeDiscount> <iExperiencePercent>0</iExperiencePercent> <TerrainAttacks/> <TerrainDefenses/> <FeatureAttacks/> <FeatureDefenses/> <UnitCombatMods/> <DomainMods/> <TerrainDoubleMoves/> <FeatureDoubleMoves/> <UnitCombats> <UnitCombat> <UnitCombatType>UNITCOMBAT_RECON</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_GUN</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_ARMOR</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_HELICOPTER</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_NAVAL</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> <UnitCombat> <UnitCombatType>UNITCOMBAT_AIR</UnitCombatType> <bUnitCombat>1</bUnitCombat> </UnitCombat> </UnitCombats> <HotKey/> <bAltDown>0</bAltDown> <bShiftDown>0</bShiftDown> <bCtrlDown>0</bCtrlDown> <iHotKeyPriority>0</iHotKeyPriority> <Button>,Art/Interface/Buttons/Promotions/Combat1.dds,Art/Interface/Buttons/Promotions_Atlas.dds,8,2</Button> </PromotionInfo> </PromotionInfos>