Civ4TerrainInfos

From Civilization Modding Wiki
Jump to navigationJump to search

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
Help Any extra text displayed with 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>


GlobalDefinesGlobalDefinesAltGlobalTypesPythonCallbackDefines

Art:

Civ4ArtDefines_BonusCiv4ArtDefines_BuildingCiv4ArtDefines_CivilizationCiv4ArtDefines_FeatureCiv4ArtDefines_ImprovementCiv4ArtDefines_InterfaceCiv4ArtDefines_LeaderheadCiv4ArtDefines_MiscCiv4ArtDefines_MovieCiv4ArtDefines_TerrainCiv4ArtDefines_UnitCiv4MainMenusCiv4RiverModelInfosCiv4RouteModelInfos

Audio; Buildings:

Audio2DScriptsAudio3DScriptsAudioDefinesAudioSoundscapeScriptsCiv4BuildingClassInfosCiv4BuildingInfosCiv4CityLSystemCiv4PlotLSystemCiv4SpecialBuildingInfos

BasicInfos:

Civ4AttitudeInfosCiv4BasicInfosCiv4CalendarInfosCiv4CityTabInfosCiv4DenialInfosCiv4DomainInfosCiv4InvisibleInfosCiv4MemoryInfosCiv4MonthInfosCiv4NewConceptInfosCiv4SeasonInfosCiv4UnitAIInfosCiv4UnitCombatInfos

Civilizations; Events:

Civ4CivilizationInfosCiv4LeaderHeadInfosCiv4TraitInfosCiv4UnitArtStyleTypeInfosCiv4EventInfosCiv4EventTriggerInfos

GameInfo:

Civ4CivicInfosCiv4CivicOptionInfosCiv4ClimateInfoCiv4CommerceInfoCiv4CorporationInfoCiv4CultureLevelInfoCiv4CursorInfoCiv4DiplomacyInfosCiv4EmphasizeInfosCiv4EspionageMissionInfoCiv4EraInfosCiv4ForceControlInfosCiv4GameOptionInfosCiv4GameSpeedInfoCiv4GoodyInfoCiv4GraphicOptionInfosCiv4HandicapInfoCiv4HintsCiv4MPOptionInfosCiv4PlayerOptionInfosCiv4ProcessInfoCiv4ReligionInfoCiv4SeaLevelInfoCiv4SpecialistInfosCiv4TurnTimerInfoCiv4UpKeepInfoCiv4VictoryInfoCiv4VoteInfoCiv4VoteSourceInfosCiv4WorldInfo

Interface:

Civ4AdvisorInfosCiv4CameraInfosCiv4ColorValsCiv4InterfaceModeInfosCiv4PlayerColorInfosCiv4SlideShowInfosCiv4SlideShowRandomInfosCiv4SpaceShipInfosCiv4ThroneRoomeInfosCiv4ThroneRoomCameraInfosCiv4ThroneRoomStyleInfosCiv4WorldPickerInfos

Misc:

Civ4AttachableInfosCiv4CameraOverlayInfosCiv4DetailManagerCiv4EffectInfosCiv4QuestInfosCiv4RiverInfosCiv4RouteInfosCiv4TerrainPlainInfosCiv4TutorialInfosCiv4WaterPlaneInfos

Technologies:

Civ4TechInfos

Terrain:

Civ4BonusClassInfosCiv4BonusInfosCiv4FeatureInfosCiv4ImprovementInfosCiv4SymbolMeshPathsCiv4TerrainInfosCiv4TerrainSettingsCiv4YieldInfos

Units:

Civ4AnimationInfosCiv4AnimationPathInfosCiv4AutomateInfosCiv4BuildInfosCiv4CommandInfosCiv4ControlInfosCiv4EntityEventInfosCiv4FormationInfosCiv4MissionInfosCiv4PromotionInfosCiv4SpecialUnitInfosCiv4UnitClassInfosCiv4UnitInfos

Schemas:

Civ4GlobalDefinesSchemaCiv4GlobalTypesSchemaCiv4ArtDefinesSchemaAudioDefinesSchemaAudioScriptSchemaCiv4BasicInfoSchemaCiv4BuildingSchemaCiv4LSystemSchemaCiv4CivilizationSchemaCiv4EventSchemaCiv4GameInfoSchemaCiv4InterfaceSchemaCiv4MiscSchemaCiv4TutorialSchemaCiv4DetailManagerSchemaCiv4TechnologiesSchemaCiv4TerrainSchemaCiv4FormationSchemaCiv4UnitSchema

Italics: Beyond the Sword only