The Descr_Strat Reference

by Hussarknight

The descr_strat.txt file is one of the most commonly modded files in RTW. It can be found in the data\world\maps\campaign\imperial_campaign folder. It contains the necessary information for almost anything concerning the campaign. I will now break it down part by part and explain what each part does.

It is not necessary to read all parts. You can jump straight to the ones you're interested in and leave the others for what they are. You should however, read a section through entirely before you start editing, as often there's more than one thing you need to change if you want it to work correctly.

Before you change this file (or any other file for that matter), there are two things you should remember:

  1. Make a backup of the file first.
  2. Keep the spacing in the same format as the original. Not doing this may cause a crash.

Ok, here we go!

Opening section

campaign       imperial_campaign

The name of the campaign. If you set this to imperial_campaign it will appear in the single player menu. Campaigns with a different name will appear as a provincial campaign. For a provincial campaign to function properly, you have to make a new folder in data\world\maps\campaign with the name of your campaign. It should contain the files in world\maps\campaign\imperial campaign and those in world\maps\base.

playable
romans_julii
romans_brutii
romans_scipii
end
unlockable
egypt
seleucid
carthage
parthia
gauls
germans
britons
greek_cities
end
nonplayable
romans_senate
macedon
pontus
armenia
dacia
numidia
scythia
spain
thrace
slave
end

This section determines which factions are playable. All factions under "playable" can be used at all times, those under "unlockable" only after you've defeated them in a campaign and the "nonplayable" section holds factions that can never be played. To change this, simply cut and paste them into another section.

There are three other things you have to keep in mind. First, the faction selection screen can only display 20 factions, so you'll have to leave another faction in the unplayable section if you want the Rebels (Slave) to be available. Secondly, when playing as the Senate the game will crash if you look at the "Senate" tab in the faction scroll. Third and last, the Rebels were never meant to be played and it is possible that you will get random crashes if you're playing them.

start_date -270 summer
end_date 14 summer

A small part determining when the campaign starts and ends. Negative values represent dates BC, positive values set dates AD.

brigand_spawn_value 10
pirate_spawn_value 28

This determines how often rebels and pirates will spawn. The higher these values are, the less often rebels and pirates will appear.

Wonders & Resources

landmark   pyramids_and_sphinx   181,   12

landmark - Defines a landmark that will appear on the campaign map.

name - The internal name of the wonder. This may not contain spaces.

x,y position - The position of the wonder, measured in x (horizontal) and y (vertical) from the bottom-left corner of the map. The numbers represent tiles on the campaign map.

You can easily find out of the coordinates of a place on the campaign map. First, place your cursor on the tile you want to know the coordinates of. Then press the ` or ~ key. Type show_cursorstat and hit enter. It will now give you the x and y coordinates of the tile your cursor is hovering over.

resource   iron,   83,   128

resource - Defines a resource

name - What resource it is. For valid types, see the other entries in descr_strat.

x,y position - The position of the resource, measured in x (horizontal) and y (vertical) from the bottom-left corner of the map. The numbers represent tiles on the campaign map.

Note, that the resources you set here do show up on the map but they don't influence the abilities of the province. For example, you can place elephants near Rome but you still won't be able to train elephant units there. If you want resources to effect the settlement, you have to edit data\world\maps\campaign\base\descr_regions.txt. Simply add the resource to the list of resources for the settlement you want.

Factions

faction romans_julii, comfortable caesar
superfaction romans_senate
denari 5000
settlement

faction  romans_julii,  comfortable caesar - Faction determines which faction this part of descr_strat is about. The two words behind it directly influence the AI behaviour. The first one sets what buildings the AI will focus on constructing:

  • balanced - mixed
  • religious - growth, public order, trade, farms, walls
  • trader- growth, races, games, farming, experience bonuses
  • comfortable - growth, farming, games, races, experience bonuses
  • bureaucrat - trade, growth, health, walls, law
  • craftsman - walls, races, trade, upgrades, mines, health, growth
  • sailor - sea trade, walls, growth
  • fortified - walls, trade, public order
The name that follows determines what units the AI is most likely to recruit:
  • smith - balanced
  • mao - mass troops, mostly light infantry
  • genghis - missile and light cavalry
  • stalin - heavy infantry and artillery
  • napoleon - mixture of light and heavy infantry with light cavalry
  • henry - heavy and light cavalry with missile infantry
  • caesar - heavy infantry, light cavalry and artillery.
superfaction romans_senate - Sets a superfaction for this faction. This is used to make the Romans obey the Senate.

denari 5000 - Amount of denarii this faction starts with.

Settlements

  
{  
   level large_town
region Etruria
  
   year_founded 0
   population 4000
   plan_set default_set
   faction_creator romans_julii
   building
   {  

level large_town - Sets the level of the town. Valid levels are: village, town, large_town, city, large_city and huge_city

region Etruria - Sets the region were this settlements is located. The exact position of the settlement is stored in data\world\maps\base\map_regions.tga.

year_founded 0 - As far as I know, this doesn't do anything. All towns have 0 as value here, so it is best just to leave it at that.

population 4000 - Starting population of the town.

plan_set default_set - This determines which city plan is used for the layout of streets, buildings and walls. If you want to change this, you'll first have to create a new set yourself.

faction_creator romans_julii - Here you can set which faction founded this settlement. If the settlements rebels when owned by another faction, there is a random chance the settlement will revolt to that faction.

Buildings

building
{  
   type barracks militia_barracks
}  

This is an example of a building. You should first declare the type and then the level. For valid types and levels, you can look at other entries in descr_strat or you can look in RTW\data\export_descr_building.txt.

Characters

character Flavius Julius, named character, leader, age 47, , x 89, y 82
traits GoodCommander 2 , NaturalMilitarySkill 1 , GoodDefender 1 , PoliticsSkill 3 , GoodAdministrator 2 , Austere 1
ancillaries aged_retainer

name - This is the name of the character. You also have to give a name for captain-led armies and cities without a governor. Note that captains should have a name consisting of only a first name and that the name has to be in data\text\names.txt

named character - sets what kind of campaign map object this is. Named character stands for general, admiral for an admiral, spy for a spy, assassin sets an assassin and a diplomat a diplomat.

leader/heir - This sets this character as the faction leader. The heir is set with "heir". You can only have one leader and one heir per faction. Leave this empty for all other characters. Example: named character, , age 25

age - age in years.

x,y position - This is the starting position of the character, measured from the bottom-left corner.

traits - List of traits this character has. All valid types and levels can be found in RTW\data\export_descr_character_traits.txt. Note that several traits have an antitrait. A character can't have both a trait and it's antitrait. For example, you can't have a general that has the trait GoodCommander and the trait BadCommander. You can find which traits have which antitraits in export_descr_character_traits.txt.

ancillaries - List of retinue members this character has. All ancillaries can be found in data\export_descr_ancillaries.txt. Just like traits, some ancillaries exclude others. Which ancillaries exclude which can be found in the aforementioned file.

Armies

army
unit roman generals guard cavalry early exp 1 armour 0 weapon_lvl 0
unit roman hastati exp 1 armour 0 weapon_lvl 0

army - Indicates an army will now be described.

unit - All units should start with this.

unit type - The name of the unit. This is found in RTW\data\export_descr_unit.txt . Find the unit you're looking for, then copy the entry behind "type" into here. Note that the first unit in the list is the bodyguard of the general.

exp x - Sets the amount of experience chevrons this unit has. Ranges from 0 (no experience) to 9 (three golden chevrons).

armour x - Sets the level of armour this unit has. 0 is the minimum and 3 the maximum value here.

weapon_lvl x - Sets the level of weapon this unit has. 0 is the minimum and 3 the maximum value here. Higher values can normally be achieved by building blacksmiths or temples to weapon gods.

Underage Family Members

character_record Amulius Julius, male, command 0, influence 0, management 0, subterfuge 0, age 13, alive, never_a_leader

This is what an entry for a non-controllable character looks like. It is used for males aged under 16 and for all female characters.

character_record - Indication for the game that a character follows.

name - This is the name of the character. Note that the name has to be in data\text\names.txt

gender - The gender of the character. There are only two valid values: male and female.

command/influence/management/subterfuge x - This sets the level of all .. the character has. It is best to leave all values at 0, otherwise it might cause problems.

age x - Sets how old this character is. For males this should not be higher than 16, otherwise they would be present on the map at the start of the game. Making it higher than 16 will cause a crash.

alive - Determines if the character is alive or not. I don't know the effects of setting this to "dead".

never_a_leader - This is a default entry. It is best not to change it.

Family Tree

relative Flavius Julius, Faustina, Lucius Julius, Quintus Julius, Vibius Julius, end

relative - Another one of the game's default tags.

name of character - The name of the character. It is necessary to have set all properties in the character entry.

name - The first name to follow the one of the character is the name of his wife. Remember that the wife has to be present as a character_record.

names - This are the names of the sons and daughters of this general. They have to exist either as a character or as a character_record to avoid crashes.

end - It is very important to always have this closing tag. If you don't, the game will go on reading and think "relative" is a son of the character, which will cause a crash.

Diplomacy

In this last section of descr_strat you can set how the different factions think of each other. This is done in two ways. First, the core relationship sets the general relationships between two factions. Second, faction_relationships sets how the relations between factions are at the start of the game.

core_attitudes seleucid, 410 parthia

faction - This is one of the factions you want to set a core relationship between. It doesn't matter which one you put here, because it works in two directions. For example, seleucid, parthia means exactly the same as parthia, Seleucid.

value - The higher this value, the more hostile these two factions are towards each other. This is a general guideline, taken from descr_strat itself.

  • Allied = 0
  • Suspicious = 100
  • Neutral = 200
  • Hostile = 400
  • At war = 600

faction(s) - Here you enter the second faction or factions. You can put as many factions here as you like if you separate them by a comma.

faction_relationships romans_julii, 100 romans_brutii

faction - This is the faction of which you want to set it's attitude towards the second faction.

value - The higher this value, the more hostile this factions is towards the other.

faction - This is the 'target faction' of the value in the middle. Note, that you have to set this relationship in two directions: from faction 1 to faction 2 and vice versa. The values don't need to be identical.

If you set this value to anything lower than 200, these two factions start out with trade rights, an alliance and military access.

Another thing to note here is that it is not required to declare relations between all factions. However, it is a good idea to set the relationships towards the rebels for all factions and vice versa.

Forts & Watchtowers

Although there are no forts or watchtowers on the campaign map in unmodified RTW it is possible to place them on the map at the start of the game. You can do this in the regions section at the bottom of descr_strat.txt. New entries can be added using the following key:

region < name >
watchtower x,y
fort x,y

region < name > - indicates which region the structure(s) you want is in. Replace < name > with the name of the region the structure is in as found in data\world\maps\base\descr_regions.txt.
watchtower - indicates a watchtower will be placed.
fort - indicates fort will be placed. It can be garrisoned by putting an army on the same spot.
x,y coordinates - set the position of the structure. Make sure the location is suitable for building a fort or watchtower. For example they can't be placed on a mountain or a river.

You can have as many forts and/or watchtowers in a province as you want.

"));