The Civ4RouteInfos file contains all the information related to each route (roads, railroads, etc).
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.
These tags typically bracket other tags, sometimes the entire file, and are generally used to specify more than one piece of data.
|RouteInfo||Main bracket for each entry|
|Type||Label that is used throughout all other XML files|
|Description||References the Text which contains the name of the route (eg: "Road", or "Railroad"). The text is specified in any of the Assets\XML\Text files.|
|BonusType||Bonus that must always be present to build the route|
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).
|Yields||Specifies the yield bonuses for the terrain. Food / Hammer / Commerce|
|TechMovementChanges||Specifies the movement changes after tech research (eg: Engineering provides 1/3 movement point cost decrease on Roads)
<TechMovementChanges> <TechMovementChange> <PrereqTech>TECH_ENGINEERING</PrereqTech> <iMovementChange>-10</iMovementChange> </TechMovementChange> </TechMovementChanges>
|PrereqOrBonuses||Specifies the bonuses required to build the route (only one is needed to build the route).
<PrereqOrBonuses> <PrereqOrBonus> <BonusType>BONUS_OIL</BonusType> </PrereqOrBonus> </PrereqOrBonuses>
All of these tags have a numerical value. Though it sometimes can be negative, it usually is not.
|iValue||The "preference" for the route. That is to say, a higher value route is considered an upgrade from a lower value one.|
|iAdvancedStartCost||The cost of the route when using an Advanced Start.|
|iAdvancedStartCostIncrease||The cost of increasing the build level of the route in the Advanced Start. This is probably not used|
|iMovement||Used in changing the amount of movement points used when moving along the route.|
|iFlatMovement||Used in combination with iMovement to change the amount of movement points used when moving along the route|
These tags are directly related to the rendering of art for the entry.
|Button||The button for the route|
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.
<RouteInfo> <Type>ROUTE_ROAD</Type> <Description>TXT_KEY_ROUTE_ROAD</Description> <iValue>1</iValue> <iAdvancedStartCost>12</iAdvancedStartCost> <iAdvancedStartCostIncrease>0</iAdvancedStartCostIncrease> <iMovement>30</iMovement> <iFlatMovement>30</iFlatMovement> <BonusType>NONE</BonusType> <PrereqOrBonuses/> <Yields/> <TechMovementChanges> <TechMovementChange> <PrereqTech>TECH_ENGINEERING</PrereqTech> <iMovementChange>-10</iMovementChange> </TechMovementChange> </TechMovementChanges> <Button>Art/Interface/Buttons/Builds/BuildRoad.dds</Button> </RouteInfo>