This page is missing information.
Please do not remove this notice until this page has been completed.


This file defines what bonuses do (e.g., oil, furs)

For a detailed tutorial, including not only xml, but how to create and insert art, for creating new bonus resources and improvements, take a look at this post on CivFanatics forums

Single-Line Tags

Text Tags

  • Type = The internal tag for the bonus.
  • Description = Name of the floating-text entry for the bonus.
  • Civilopedia = The name of the civilopedia entry for the bonus.
  • BonusClassType = Refers to the class of the bonus as listed in Terrain\CIV4BonusClassInfos.xml.
  • ArtDefineTag = Refers to the art files used to draw the bonus on the map, as defined in Art\CIV4ArtDefines_Bonus.xml
  • TechReveal = Which tech reveals the bonus to the player; until then it's hidden from view.
  • TechCityTrade = At what tech level cities can trade the resource to other players.
  • TechObsolete = At what tech level the resource becomes obsolete.
  • TerrainType = Contained within Multi-Line tag TerrainBoolean
  • FeatureType = see multiple line tag FeatureBoolean below.

Boolean Tags

  • bArea = if this is set and the map has more than one continent this resource will only be placed on one continent instead of all over the map.
  • bHills = Whether or not the bonus will appear in hills.
  • bFlatlands = Whether or not the bonus will appear in flatlands.
  • bNoRiverSide = If a bonus is barred from being placed next to a river.
  • bNormalize = means it is used for starting location normalization (extra resources that are added to even out starting locations).
  • bTerrain = see multiple line tag TerrainBoolean below.
  • bFeature = see multiple line tag FeatureBoolean below.
  • bFeatureTerrain = see multiple line tag FeatureTerrainBoolean below.
  • bUseLSystem = Indicates if the Bonus is dynamic and uses the LSystem (defined in CIV4PlotLSystem in the Buildings directory) to change how it looks/behaves in relation to roads, improvements (farms, plantations, etc) or being worked/fallow.

Integer Tags

  • iAITradeModifier = I am pretty sure that this determines the value that ai opponents give to the bonus (i.e. the greater the number the more valuable it is to ai).
  • iHealth = The amount of health added to the city.
  • iHappiness = The amount of happiness added to the city.
  • iPlacementOrder = the way how the game places this resource on a new created world, so food resources are well spread, marble and stone are further away from civs,… those are different placement orders, just think of where resources are usually placed or start a new game and look how they are placed in the world and how near they are to civ start places. iron and oil have 0, copper and horse have 1, alu and coal and uran have 2, stone and marble have 3, food resources have 4, money resources have 5, water resources have 6
  • iConstAppearance = Percentage, once the number of bonus resources to place is calculated, it is mulitplied by this percentage. Note, once there are no more valid plots on the map, no more resources will be placed. If this value is set high, typically the iUnique value will limit the number of resources.
  • iMinAreaSize = Minimum size of an 'area' for the bonus resource to be valid there. Areas are generally continents, islands, lakes, etc, so min area size of 3 means that an island of only one plot cannot have this resource.
  • iMinLatitude = The minimum latitude from where this resource appears, latitude 0 is a circle around the world exactly between north and south pole.
  • iMaxLatitude = The maximum latitude up until which the resource will be placed, latitude 100 are two points, the north pole and the south pole. Resources are never placed at latitude over 90. On some maps where there is no north and south pole, the north and south borders are latitude 90.
  • iPlayer = Approximate occurances per player, in percent (%), so 150 is about 1.5 per player.
  • iTilesPer = The fixed number of additional occurances per x tiles, so 120 would mean an additional occurance every 120 tiles existing on the map. Note, an additional random number of this resource is added by iRandApp1 through iRandApp4.
  • iMinLandPercent = If a resource can be on land and ocean, this is percantage that will be located on land.
  • iUnique = This is the range in tiles that this resource will be unique, all tiles within this radius are invalid for another resource. Note, there is also a unique field for each BonusClass (General:0, Grain:5, Livestock:5, Rush:4, Modern:4, Wonder:8), changing this value without changing the value in CIV4BonusClassInfos may not have the intended effect. In addition, no bonus resource can ever be directly adjacent to a differnt bonus resouce, unless overidden by the specific map script.
  • iGroupRange = If non-zero, every time this resource is placed, all tiles within iGroupRange radius have a iGroupRand chance to also have this resource.
  • iGroupRand = If iGroupRange is non-zero, this is the percentage chance that each tile within iGroupRange radius will contain that resource.
  • iYieldChange = see multiple line tag YieldChanges below.
  • iRandApp1 = Random number, from 0 to iRandApp1 of additional resources to place, also see multiple line tag Rands below.
  • iRandApp2 = Random number, from 0 to iRandApp2 of additional resources to place, also see multiple line tag Rands below.
  • iRandApp3 = Random number, from 0 to iRandApp3 of additional resources to place, also see multiple line tag Rands below.
  • iRandApp4 = Random number, from 0 to iRandApp4 of additional resources to place, also see multiple line tag Rands below.

Multi-Line Tags

  • BonusInfo = defines a particular, contains all of the tags on this page.
  • YieldChanges = Contains three copies of integer tag iYieldChange. Defines the food, hammer, and gold production values of the bonus, in that order.
  • Rands = Contains integer tags iRandApp1, iRandApp2, iRandApp3, iRandApp4. Random number of additonal resources to place, in addition to the constant number specified by iPLayer and iTilesPer.
  • TerrainBooleans = Contains TerrainBoolean(s) below.
    • TerrainBoolean = Contains text tag TerrainType and boolean tag bTerrain. Defines the terrain types that the bonus can and can't appear in. The former specifies the terrain type in question and the latter whether it can appear in that terrain. 0 = can't appear, 1 = can appear.
  • FeatureBooleans = Contains FeatureBoolean(s) below.
    • FeatureBoolean = Contains text tag FeatureType and boolean tag bFeature. Defines the terrain which also has the specified feature types that the bonus can and can't appear with. The former specifies the feature type in question and the latter whether it can appear with that feature. 0 = can't appear, 1 = can appear.
  • FeatureTerrainBooleans = Contains FeatureTerrainBoolean(s) below.
    • FeatureTerrainBoolean = Contains text tag TerrainType and boolean tag bFeatureTerrain. The terrain types, combined with the features in FeatureBooleans to describe where the resource can and can not be placed.


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License