Civ4BonusInfos
The Civ4BonusInfos file defines all of the game's resources as well as their effects, like providing extra health and happiness.
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
Text
Tag Name | Description |
---|---|
Type | The internal name of this Resource. |
Description | A reference to the text files, which contain an entry for this resource. |
Civilopedia | Refers to a tag in the Civ4GameText file which stores the Civilopedia description for the Building. |
BonusClassType | Unknown |
ArtDefineTag | Refers to a tag in the Civ4ArtDefines Bonus files |
TechReveal | States which technology enables the resource. |
TechCityTrade | The technology that enables the trading of this resource. |
TechObsolete | The technology that obsoletes the resource |
Integers
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
Tag Name | Description |
---|---|
iAITradeModifier | The number defines how much the AI values the resource, the higher the number, the more the value. |
iAIObjective | Unknown, the value is 0 for all resources |
iHealth | change in healthiness the resource provides |
iHappiness | change in healthiness the resource provides |
iPlacementOrder | How many of the resource are placed on the map, (-1 places none, higher numbers place more) |
iConstAppearance | The chance that the resource will be placed on the map |
iMinAreaSize | Unknown |
iMinLatitude | Minimum distance from equator. |
iMaxLatitude | Maximum distance from equator. |
iPlayer | Unknown |
iTilesPer | Unknown - (Perhaps the minimum tiles that the resource must occupy) |
iMinLandPercent | Unknown |
iUnique | Unknown |
iGroupRange | Unknown |
iGroupRand | Unknown |
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 |
---|---|
bArea | Unknown |
bHills | If the resource may appear only on hills. |
bFlatlands | If the resource may appear only on flat land. |
bNoRiverSide | If the resource can not appear next to a river |
bNormalize | Unknown |
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 |
---|---|
Rands | Unknown |
YieldChanges | Defines the change in city yield, using iYield. There are three iYield tags: the first is for food per turn change, the second for hammers per turn, and the third for commerce per turn (e.g. the Palace provides 8 free commerce per turn). |
TerrainBooleans | Defines which terrain types the resource may appear on. |
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.
<BonusInfos> <BonusInfo> <Type>BONUS_HORSE</Type> <Description>TXT_KEY_BONUS_HORSE</Description> <Civilopedia>TXT_KEY_BONUS_HORSE_PEDIA</Civilopedia> <BonusClassType>BONUSCLASS_RUSH</BonusClassType> <ArtDefineTag>ART_DEF_BONUS_HORSE</ArtDefineTag> <TechReveal>TECH_ANIMAL_HUSBANDRY</TechReveal> <TechCityTrade>TECH_ANIMAL_HUSBANDRY</TechCityTrade> <TechObsolete>NONE</TechObsolete> <YieldChanges> <iYieldChange>0</iYieldChange> <iYieldChange>1</iYieldChange> <iYieldChange>0</iYieldChange> </YieldChanges> <iAITradeModifier>0</iAITradeModifier> <iAIObjective>0</iAIObjective> <iHealth>0</iHealth> <iHappiness>0</iHappiness> <iPlacementOrder>1</iPlacementOrder> <iConstAppearance>100</iConstAppearance> <iMinAreaSize>3</iMinAreaSize> <iMinLatitude>0</iMinLatitude> <iMaxLatitude>80</iMaxLatitude> <Rands> <iRandApp1>10</iRandApp1> <iRandApp2>10</iRandApp2> <iRandApp3>0</iRandApp3> <iRandApp4>0</iRandApp4> </Rands> <iPlayer>100</iPlayer> <iTilesPer>256</iTilesPer> <iMinLandPercent>0</iMinLandPercent> <iUnique>6</iUnique> <iGroupRange>0</iGroupRange> <iGroupRand>0</iGroupRand> <bArea>0</bArea> <bHills>0</bHills> <bFlatlands>1</bFlatlands> <bNoRiverSide>1</bNoRiverSide> <bNormalize>0</bNormalize> <TerrainBooleans> <TerrainBoolean> <TerrainType>TERRAIN_GRASS</TerrainType> <bTerrain>1</bTerrain> </TerrainBoolean> <TerrainBoolean> <TerrainType>TERRAIN_PLAINS</TerrainType> <bTerrain>1</bTerrain> </TerrainBoolean> <TerrainBoolean> <TerrainType>TERRAIN_TUNDRA</TerrainType> <bTerrain>1</bTerrain> </TerrainBoolean> </TerrainBooleans> <FeatureBooleans/> <FeatureTerrainBooleans/> </BonusInfo> </BonusInfos>