Civ4TerrainInfos
The Civ4TerrainInfos file defines the different terrain types (plains, grassland, tundra, etc.) that exist in the game.
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 |
---|---|
TerrainInfos | This tag surrounds the entries in the file |
TerrainInfo | Main bracket for each entry |
Text
Tag Name | Description |
---|---|
Type | How the terrain is referred to in other files |
Description | The text for the terrain in the game |
Civilopedia | The civilopedia text for the terrain |
WouldSounscapeAudioScript | Sound played on close zooms for the terrain |
Integers
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
Tag Name | Description |
---|---|
iMovement | Movement points used by unit moving into a plot due to the terrain |
iSeeFrom | unknown; affects visibility of units |
iSeeThrough | unknown; affects visibility of units |
iBuildModifier | Percentage change to cost of improvements |
iDefense | Defensive bonus (percentage) given to unit located on a plot of this terrain |
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 |
---|---|
bWater | Whether the terrain is land or water; 0 for land, 1 for water |
bImpassable | Whether the terrain is impassable or not |
bFound | Whether it's possible to found a city on the terrain |
bFoundCoast | unknown |
bFoundFreshWater | unknown |
bGraphicalOnly | 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 |
---|---|
Yields | The base yield for the terrain; first entry is food, then production, then commerce
<iYield>0</iYield> |
RiverYieldChange | Change in the tile yield caused by being next to a river; first entry is food, then production, then commerce
<iYield>0</iYield> |
HillsYieldChange | Change in the tile yield caused by being on a hill; first entry is food, then production, then commerce
<iYield>0</iYield> |
FootstepSounds | Sound played for various unit types as they move over the terrain
<FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType> <FootstepAudioScript>AS3D_UN_FOOT_UNIT</FootstepAudioScript> </FootstepSound> |
Art
These tags are directly related to the rendering of art for the entry.
Tag Name | Description |
---|---|
ArtDefineTag | The art define entry for the terrain, in Civ4ArtDefines_Terrain. |
Button | The button for the terrain |
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.
<TerrainInfo> <Type>TERRAIN_GRASS</Type> <Description>TXT_KEY_TERRAIN_GRASS</Description> <Civilopedia>TXT_KEY_TERRAIN_GRASS_PEDIA</Civilopedia> <ArtDefineTag>ART_DEF_TERRAIN_GRASS</ArtDefineTag> <Yields> <iYield>2</iYield> <iYield>0</iYield> <iYield>0</iYield> </Yields> <RiverYieldChange> <iYield>0</iYield> <iYield>0</iYield> <iYield>1</iYield> </RiverYieldChange> <HillsYieldChange/> <bWater>0</bWater> <bImpassable>0</bImpassable> <bFound>1</bFound> <bFoundCoast>0</bFoundCoast> <bFoundFreshWater>0</bFoundFreshWater> <iMovement>1</iMovement> <iSeeFrom>1</iSeeFrom> <iSeeThrough>1</iSeeThrough> <iBuildModifier>0</iBuildModifier> <iDefense>0</iDefense> <Button>Art/Interface\Buttons\WorldBuilder\Terrain_Grass.dds</Button> <FootstepSounds> <FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_HUMAN</FootstepAudioType> <FootstepAudioScript>AS3D_UN_FOOT_UNIT</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_HUMAN_LOW</FootstepAudioType> <FootstepAudioScript>AS3D_UN_FOOT_UNIT_LOW</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL</FootstepAudioType> <FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_ANIMAL_LOW</FootstepAudioType> <FootstepAudioScript>AS3D_UN_ANIMAL_FOOT_LARGE_LOW</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>FOOTSTEP_AUDIO_HORSE</FootstepAudioType> <FootstepAudioScript>AS3D_UN_HORSE_RUN</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_WHEELS</FootstepAudioType> <FootstepAudioScript>AS3D_UN_CHARIOT_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_WHEELS</FootstepAudioType> <FootstepAudioScript>AS3D_UN_CHARIOT_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_WHEELS_2</FootstepAudioType> <FootstepAudioScript>AS3D_UN_WAR_CHARIOT_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_WHEELS_2</FootstepAudioType> <FootstepAudioScript>AS3D_UN_WAR_CHARIOT_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_TANK</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TANK_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_TANK</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TANK_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_MOD_ARMOUR</FootstepAudioType> <FootstepAudioScript>AS3D_UN_MOD_ARMOUR_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_MOD_ARMOUR</FootstepAudioType> <FootstepAudioScript>AS3D_UN_MOD_ARMOUR_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_OCEAN1</FootstepAudioType> <FootstepAudioScript>AS3D_UN_OCEAN_LOOP1</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_OCEAN1</FootstepAudioType> <FootstepAudioScript>AS3D_UN_OCEAN_END1</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_OCEAN2</FootstepAudioType> <FootstepAudioScript>AS3D_UN_OCEAN_LOOP1</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_OCEAN2</FootstepAudioType> <FootstepAudioScript>AS3D_UN_OCEAN_END2</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_DESTOYER</FootstepAudioType> <FootstepAudioScript>AS3D_UN_DESTROYER_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_DESTROYER</FootstepAudioType> <FootstepAudioScript>AS3D_UN_DESTROYER_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_IRONCLAD</FootstepAudioType> <FootstepAudioScript>AS3D_UN_IRONCLAD_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_IRONCLAD</FootstepAudioType> <FootstepAudioScript>AS3D_UN_IRONCLAD_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_TRANSPORT</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TRANSPORT_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_TRANSPORT</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TRANSPORT_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_SUBMARINE</FootstepAudioType> <FootstepAudioScript>AS3D_UN_SUBMARINE_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_SUBMARINE</FootstepAudioType> <FootstepAudioScript>AS3D_UN_SUBMARINE_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_GUNSHIP</FootstepAudioType> <FootstepAudioScript>AS3D_UN_GUNSHIP_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_GUNSHIP</FootstepAudioType> <FootstepAudioScript>AS3D_UN_GUNSHIP_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_ARTILLERY</FootstepAudioType> <FootstepAudioScript>AS3D_UN_ARTILLERY_RUN_LOOP</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_ARTILLERY</FootstepAudioType> <FootstepAudioScript>AS3D_UN_ARTILLERY_RUN_END</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>LOOPSTEP_WHEELS_3</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TREBUCHET_RUN</FootstepAudioScript> </FootstepSound> <FootstepSound> <FootstepAudioType>ENDSTEP_WHEELS_3</FootstepAudioType> <FootstepAudioScript>AS3D_UN_TREBUCHET_STOP</FootstepAudioScript> </FootstepSound> </FootstepSounds> <WorldSoundscapeAudioScript>ASSS_GRASSLAND_SELECT_AMB</WorldSoundscapeAudioScript> <bGraphicalOnly>0</bGraphicalOnly> </TerrainInfo>