Difference between revisions of "MTW Startpos File"
From Totalwar.org
(added farm income clarification) |
(added campaign name, description info) |
||
Line 7: | Line 7: | ||
=== Campaign Definition === | === Campaign Definition === | ||
− | *cn_predefined:: | + | *cn_predefined:: Set to either "true" or "false". If using the basic Viking/Early/High/Late campaign, set to true, otherwise set to false. |
− | *cn_title:: | + | *cn_title:: This is the title of the campaign. |
− | *cn_short_title:: | + | *cn_short_title:: This is the title of the campaign. |
− | *cd_predefined:: | + | *cd_predefined:: Is the campaign description predefined? Set to either "true" or "false". |
− | *cd_line:: | + | *cd_line:: This is the line code in "names.txt" for the campaign description. |
− | + | *cd_hidden:: Set to "false" if the campaign should appear in the custom battles menu. | |
− | *cd_hidden:: | ||
=== File Location === | === File Location === | ||
Line 53: | Line 52: | ||
*SetRegionUnquakeable:: This line will prevent a province from being subject to earthquake events in the game. <br><code><pre>SetRegionUnquakeable:: HOLLAND</pre></code> | *SetRegionUnquakeable:: This line will prevent a province from being subject to earthquake events in the game. <br><code><pre>SetRegionUnquakeable:: HOLLAND</pre></code> | ||
*SetRegionRebels:: This line sets the name descriptions for rebels that show up in the province. It is an index to the rebel_factions_xyz array in the faction specific text file declared with FactionSpecificFile::. <br><code><pre>SetRegionRebels:: HOLLAND 0</pre></code> | *SetRegionRebels:: This line sets the name descriptions for rebels that show up in the province. It is an index to the rebel_factions_xyz array in the faction specific text file declared with FactionSpecificFile::. <br><code><pre>SetRegionRebels:: HOLLAND 0</pre></code> | ||
− | *SetNeighbours:: This line sets the bordering regions (both land and sea) for a province. This line connect first region listed to all the others, allowing movement from that region to the others. For two-way movement, both regions must specify the other as a neighbor. When setting the neighbors of a coastal land region, the first sea region listed as a neighbor will also be the sea region the province's port connects to. <br><code><pre>SetNeighbours:: HOLLAND GERMANY BELGIUM NORTH_SEA</pre></code> | + | *SetNeighbours:: This line sets the bordering regions (both land and sea) for a province. This line connect first region listed to all the others, allowing movement from that region to the others. For two-way movement, both regions must specify the other as a neighbor. When setting the neighbors of a coastal land region, the first sea region listed as a neighbor will also be the sea region the province's port connects to. The land regions must be declared first in this list.<br><code><pre>SetNeighbours:: HOLLAND GERMANY BELGIUM NORTH_SEA</pre></code> |
*SetBorderInfo:: This line sets the properties of the battle map that is used when going from the first region (land or sea) into the second region (land only). The values determine climate, architecture, land type, vista, and whether a river is present. There must be an entry for each land region that borders the given region. (need more detail on how this links to battlemap files) <br><code><pre>SetBorderInfo:: NORTH_SEA HOLLAND 0 0 0 LUSH AT_WESTERN_EUROPEAN COAST FLAT NO_RIVER</pre></code> | *SetBorderInfo:: This line sets the properties of the battle map that is used when going from the first region (land or sea) into the second region (land only). The values determine climate, architecture, land type, vista, and whether a river is present. There must be an entry for each land region that borders the given region. (need more detail on how this links to battlemap files) <br><code><pre>SetBorderInfo:: NORTH_SEA HOLLAND 0 0 0 LUSH AT_WESTERN_EUROPEAN COAST FLAT NO_RIVER</pre></code> | ||
*SetCastle:: This line sets the position of the province's castle model on the campaign map. The coordinates are X and Y on the LukMap??? <br><code><pre>SetCastle:: HOLLAND 5000 5000</pre></code> | *SetCastle:: This line sets the position of the province's castle model on the campaign map. The coordinates are X and Y on the LukMap??? <br><code><pre>SetCastle:: HOLLAND 5000 5000</pre></code> |
Latest revision as of 22:14, 10 February 2012
The "startpos" file for a campaign is located in the "Medieval - Total War\campmap\startpos" directory. For the vanilla game, the startpos files present are EARLY.TXT, HIGH.TXT, LATE.TXT, TUTORIAL.TXT, and VIKING.TXT.
The startpos file contains the information on provinces, sea regions, and factions within a campaign, as well as the campaign timeframe and file locations for graphics, sound, and other game features.
Contents
Keys
The following keys are used in the startpos file for describing a campaign.
Campaign Definition
- cn_predefined:: Set to either "true" or "false". If using the basic Viking/Early/High/Late campaign, set to true, otherwise set to false.
- cn_title:: This is the title of the campaign.
- cn_short_title:: This is the title of the campaign.
- cd_predefined:: Is the campaign description predefined? Set to either "true" or "false".
- cd_line:: This is the line code in "names.txt" for the campaign description.
- cd_hidden:: Set to "false" if the campaign should appear in the custom battles menu.
File Location
- Prodfiles:: Defines the name of the building and unit prod files for the campaign. These files must be located at the top level directory of the MTW installation.
Prodfiles:: UNITPROD "unitprod.txt" BUILDINGPROD "buildprod.txt"
- SetMapTexturesSubdir:: Defines the subdirectory under "textures\campmap" to find the map textures.
- SetNameData:: Defines the text file and path (from the root MTW directory) containing the hero names for the campaign.
- RegionSpecificFile:: Defines the file used for text descriptions about campaign regions under the Loc\<language> directory.
- FactionSpecificFile:: Defines the file used for text descriptions about the factions under the Loc\<language> directory.
Campaign Time Frame
- SetStartDate:: The starting year of the campaign.
- SetPeriod:: The period (EARLY/HIGH/LATE) to start in, necessary for era specific requirements.
- SetEarlyPeriodStartDate:: The start year of the Early period.
- SetHighPeriodStartDate:: The start year of the High period.
- SetLatePeriodStartDate:: The start year of the Late period.
- SetGameEndDate:: The last year of the campaign.
Factions
- DeclareFaction:: This line will create a faction for the campaign. Factions must be declared in the startpos file before they are used. The first faction declared is always the rebels, and only 32 factions (including the rebels) can be declared. The faction name declared will be used here in the startpos file and in the unit/build prod files to denote the faction. When declaring a faction, the character string should be in quotes, but when referenced later in the file the quotes are not used.
DeclareFaction:: "ORGAHS"
- PortraitsOverride:: This line will change the factions portraits directory from the default ones used by the faction's culture, to the one specified.
PortraitsOverride:: ORGAHS "tworg"
- SetFactionMusic:: This line sets the music type used by the faction. 0 is Arabic, 1 is western European, 2 is Viking.
SetFactionMusic:: ORGAHS 0
- GGConquestReward:: The reward modifier for conquering enemy regions in Glorious Achievements game mode.
GGConquestReward:: ORGAHS 1.0
- SetActiveFaction:: This line enables a faction within the game, and determines if it is playable or not. FT_MAJOR factions are playable, FT_MINOR factions are not, the rebel faction does not get set.
SetActiveFaction:: ORGAHS FT_MAJOR
- SetTreasury:: This line determines the amount of money the faction starts with on each of the difficulty levels, in order of easy, normal, hard, and expert.
SetTreasury:: ORGAHS 10000 8000 6000 4000
- SetCulture:: This line sets the faction's overall culture for the game. The cultures are limited to CATHOLIC_CULTURE, MUSLIM_CULTURE, ORTHODOX_CULTURE, and PAGAN_CULTURE. The rebel faction should not be set.
SetCulture:: ORGAHS PAGAN_CULTURE
- SetReligion:: This line sets the faction's religion for the game. The religions are limited to REL_CATHOLIC, REL_ISLAMIC, REL_ORTHODOX, REL_PAGAN (can this be set to Jewish or Heretic?). The rebel faction should not be set.
SetReligion:: ORGAHS REL_PAGAN
- SetBehaviour:: This sets the faction's AI behavior to one of the fixed AI personalities in the game. The options are: CATHOLIC_EXPANSIONIST_CRUSADER, CATHOLIC_EXPANSIONIST, CATHOLIC_NAVAL_EXPANSIONIST, CATHOLIC_ISOLATIONIST, CATHOLIC_TRADER, CATHOLIC_CRUSADER_TRADER, CATHOLIC_DEFENSIVE_CRUSADER, CATHOLIC_DEFENSIVE, ORTHODOX_EXPANSIONIST, ORTHODOX_STAGNANT, ORTHODOX_DEFENSIVE, MUSLIM_EXPANSIONIST, MUSLIM_PEACEFUL, MUSLIM_DEVOUT, POVERTY_STRICKEN, DESPERATE_DEFENCE, CLOSE_TO_SUPPORT_LIMIT, POPE, BARBARIAN_RAIDER, REBELS.
SetBehaviour:: ORGAHS BARBARIAN_RAIDER
- SetShieldImage:: This line sets the filenames for the faction's shields found in campmap\shields.
SetShieldImage:: ORGAHS "large_shield_file" "small_shield_file" "no_idea1" "no_idea2" "no_idea3"
- SetFactionCol:: This lines sets the faction's two main colors, used for the base pieces and elsewhere. The colors are declared as 2 sets of RGB numbers.
SetFactionCol:: ORGAHS 255 255 255 255 0 0
- AddOffice:: This line allows buildings to generate specific office titles for a faction, and defines the attribute bonuses applied to the bearer. The attributes are declared in the order: Loyalty, Acumen, Dread, Command, Piety, ViceIndex, VirtueIndex.
AddOffice:: ORGAHS CAMEL_STABLES "Lord of the Camels" +2 +2 +5 +1 +2 0 0
- SetStartLeader:: This line defines the faction leader at the start of the game. If this is not defined for a faction, the faction will die on the first turn.
- AddHeir:: This line sets underage heirs and their ages for a faction. The first number (???) after the faction name is a 0 for a princess, or a 1 for a prince, and the second number is the age.
AddHeir:: ORGAHS 1 13
- PlaceLeader:: This line places the faction leader in a province (defined by DeclareLandRegion::, below) at the start of the game.
PlaceLeader:: HOLLAND ORGAHS
Provinces
- DeclareLandRegion:: This line will create a land province for the campaign. Provinces must be declared in the startpos file before they are used. Only 254 regions (land and sea? I believe this is the case) can be declared. The region name declared will be used here in the startpos file and in the unit/build prod files to denote the province. When declaring a region, the character string should be in quotes, but when referenced later in the file the quotes are not used.
DeclareLandRegion:: "HOLLAND"
- DeclareSeaRegion:: This line will create a sea region for the campaign. Sea regions must be declared in the startpos file before they are used, and must be declared after the land regions. When declaring a sea region, the character string should be in quotes, but when referenced later in the file the quotes are not used.
DeclareSeaRegion:: "NORTH_SEA"
- SetRegionUnfloodable:: This line will prevent a province from being subject to flood events in the game.
;)SetRegionUnfloodable:: HOLLAND
- SetRegionUnquakeable:: This line will prevent a province from being subject to earthquake events in the game.
SetRegionUnquakeable:: HOLLAND
- SetRegionRebels:: This line sets the name descriptions for rebels that show up in the province. It is an index to the rebel_factions_xyz array in the faction specific text file declared with FactionSpecificFile::.
SetRegionRebels:: HOLLAND 0
- SetNeighbours:: This line sets the bordering regions (both land and sea) for a province. This line connect first region listed to all the others, allowing movement from that region to the others. For two-way movement, both regions must specify the other as a neighbor. When setting the neighbors of a coastal land region, the first sea region listed as a neighbor will also be the sea region the province's port connects to. The land regions must be declared first in this list.
SetNeighbours:: HOLLAND GERMANY BELGIUM NORTH_SEA
- SetBorderInfo:: This line sets the properties of the battle map that is used when going from the first region (land or sea) into the second region (land only). The values determine climate, architecture, land type, vista, and whether a river is present. There must be an entry for each land region that borders the given region. (need more detail on how this links to battlemap files)
SetBorderInfo:: NORTH_SEA HOLLAND 0 0 0 LUSH AT_WESTERN_EUROPEAN COAST FLAT NO_RIVER
- SetCastle:: This line sets the position of the province's castle model on the campaign map. The coordinates are X and Y on the LukMap???
SetCastle:: HOLLAND 5000 5000
- SetOrigin:: This line sets the coordinates that campaign map pieces go when moving into a province. The coordinates are X and Y on the LukMap???
SetOrigin:: HOLLAND 5050 5050
- SetPort:: This line sets the coordinates and facing of the province's port campaign map piece when built. Only necessary for coastal regions. The coordinates are X and Y on the LukMap??? The facing is 0 through 7, with 0 being north and each number above is 45 degrees clockwise???
SetPort:: HOLLAND 4950 4950 0
- SetAttributes:: This line sets most of the important province specific data. The data is in order of name, inherent unrest (in increments of 10%), province culture, climate, architecture, mapgroup, farm income (actual income is 52% of this value), castle name, land type, vista, river, and victory setting. The terrain and climate determine the map to use for rebellion and sieges.
SetAttributes:: HOLLAND "Netherlands" 2 CATHOLIC_CULTURE LUSH AT_WESTERN_EUROPEAN -1 340 "Rotterdam" COAST FLAT RIVER TRUE
- SetTradableGoods:: This line assigns trade goods to a province. Multiple trade goods can be listed on one entry.
SetTradableGoods:: HOLLAND TULIPS GEMS
- SetResources:: This line assigns resources to a province. Multiple resources can be listed on one entry.
SetResources:: HOLLAND COPPER SILVER
- SetRegionOwner:: This line sets the faction that owns the province at the start of the campaign. Entries for provinces owned by rebels should not be made.
SetRegionOwner:: HOLLAND ORGAHS
- AddTitle:: This line sets the name and attribute bonuses for the governorship title of the province. The bonuses are listed in the order of loyalty, acumen, dread, command, piety, vice index, virtue index.
AddTitle:: HOLLAND "Master of the Orange" +1 +1 0 +1 0 -1 -1
- MakeBuilding:: This line adds a building to the province at the start of the campaign. The building is defined in the build_prod file.
MakeBuilding:: HOLLAND CAMEL_STABLES
- MakeUnit:: This line adds a unit to the province at the start of the campaign. The unit is defined in the campaign unit_prod file, and will belong to whatever faction owns the province. The number of men in the unit is specified (not affected by the unit size selection by the player), and it is possible to add valour to the unit.
When placing rebel troop that are culture-specific, the culture must be added after the unit in the line to allow it (use the cultures from SetCulture::). Ships and agents are also placed with the MakeUnit line, for ships the unit name should be followed by a 1 (1 ship), for agents the agent name should be followed with the birth year (for princesses).MakeUnit:: HOLLAND BerberCamel 40 5
Trade Goods
- DeclareTradegoods:: This line defines a trade good and it's value that will be used in the campaign. These trade goods need to defined before they are place in a province with the SetTradeableGoods:: line.
DeclareTradegoods:: "TULIPS" 40
- SetImportPercentage:: This line sets the import percentage that a province receives from trade. The higher this number, the more money the passive trade partner gets.
SetImportPercentage:: 20
Miscellaneous
- SetCastleFlagPos::
- SetCastleSelectorPos::
- SetNumCastleMapGroups::
TBD - currently a placeholder, need to add more detail on each key line. Not being a modder, I'm probably wrong about most of this stuff...