barocca
06-27-2004, 04:13
This is ancient, compiled in 2002 when all we had was the Demo to work with.
This is on my website, but i have lately received several requests for help with making Historical Battles,
so I think it needs to be here, where it is easy to find.
I am going to have a quick read through and remove references to the Demo (but if i miss any please forgive me)
If anyone has updated information to add to this please do so
NOTE several battles that were in the Demo are NOT in the full release
an odditty that anyone who has the demo installed on their machine can help with by zipping and uploading the Demo's Historical Battles
(post in this thread if and when you do, thanks, B.)
As Such, many references here are to the Jaffa battle,
I do hope you can translate the info across, i dont have the time right now to translate a current battle
==== ====
The Historical Battles Modding Guide
21 August 2002
This Document is a compilation of all the modders notes I have at hand, and the result of numerous trial and error experiments,
written by (in no particular order) DrNo, TosaInu, the Count of Flanders, Choco, Tarrak/Kraxis, ShadesWolf, 96mgb, Swoosh So, Target, Siena72, Emp. Conralius, verysoon, Target, GilJay and all those others I have forgotten, or just as important those whose questions inspired us to try (oh yes, and me - barocca)
If anyone has anything to add please contact me at
The Org's Modding Forum edit 28/6/04: (now called the Dungeon)
- where you will also find all of the wise men I have listed above.
edit 28/6/04: (some have gone, some are still here
the required files can be found in the subdirectories of this folder:
Medieval - Total War\Battle\batinit\Historical Battles\
Battle Description/Definition File (the bdf)
Locations
../Medieval - Total War (Demo Version)\Battle\batinit\Historical Battles
../Medieval - Total War (Demo Version)\Battle\batinit\Tutorial
The Battle Definitions File (ie Jaffa.bdf) lists all the parameters for the battle.
Here is a explanation of all the fields in the bdf that can be edited and what values(keys) work, and some that don't
(Edit the bdf file using notepad)
The first section of the bdf file, descriptions and movies was disabled in the Demo,
as such I have not yet tested where to make the changes to display the data,
if anyone can post an explanation of this section and how to make use of it, i will be most appreciative
StartposName::"early"
Predefined::true
Title::"StamfordBridge_Title"
Author::"Ian Roxburgh"
Rating::"StamfordBridge_Rating"
Description::"StamfordBridge_Description"
Conditions::"StamfordBridge_Conditions"
IntroFMV::""
OutroFMV::""
one line can probably be changed (UNTESTED)
StartposName::"early"
hopefully this allows you to call a different startpos file,
and thus should allow Historical Battles in the Viking Invasion Era
(the rest seems not much changed between the Demo and the Full Release
- NOTE some new ai commands were added to the Viking Expansion Pack - they are explained in the third Post in this thread)
//Map - Terrain - Weather
(sample)
MapName::"Jaffa"
Architecture::AT_ISLAMIC
Terrain::LUSH
BattleType::BATTLE_TYPE_HISTORICAL
Deployement::true
Season::spring
WeatherSequenceId::0
MapName::"Jaffa" - obvious - the map
Architecture::AT_ISLAMIC
//Architecture::AT_WESTERN_EUROPEAN
//Architecture::AT_SOUTHERN_EUROPEAN
These are building types. Choose the style that suits your Mod.
Terrain::LUSH
//Terrain::ARID
//Terrain::ROCK_DESERT
Terrain Type - unsure of effect on weather
BattleType::BATTLE_TYPE_HISTORICAL - set this key to avoid tutorial messages
//BattleType::BATTLE_TYPE_TUTORIAL - leaving this key in this field for a Mod on a Tutorial may have unforseen consequneces.
These consequences include the tutorial instruction boxes appearing, and no battle results display at the conclusion of battle
Deployement::true
not enabled?, could find no function for this field.
The Next 2 fields in combinataion are supposed to determine the weather,
Season::spring - valid choices spring, summer, winter, autumn
//Season::summer
//Season::autumn
//Season::winter
WeatherSequenceId::0
0 - very sunny
1 - sunny
2 - stormy - fog - rain
3 - cloudy - fog - snow - even in Season::summer
numbers above 3 work, but produce same weather as 3,
Try different combinations of season and weather.
//Player Descriptions
The 'player' description line, each army/faction (adf) in the battle will need it's own description line.
(sample)
Player::"Richard Coeur de Lion" 5 5 LOCAL "richard" 0 false 19588 28226 180 CHRISTIAN_CULTURE
Fields and values of the Player line
First number after player name is the faction. i.e. 5 Second number is the alliance it belongs to. again 5.
Faction Table
Number, Name
Early, High and Late
0.REBEL 1.ALMOHAD 2.BYZANTINE 3.DANISH 4.EGYPTIAN
5.ENGLISH 6.FRENCH 7.GERMAN_HRE 8.ITALIAN 9.POLISH
10.RUSSIAN 11.SPANISH 12.TURKISH 13.ARAGONESE 14.BURGUNDIAN
15.GOLDEN_HORDE 16.HUNGARIAN 17.NOVGOROD 18.PAPIST 19.SICILIAN
20.SWISS
Viking
UNTESTED - i do NOT know if you can make historical battles on the Viking Factions
0 FN_00 // Rebels
1 FN_01 // Irish
2 FN_02 // Mercians
3 FN_03 // Northumbrians
4 FN_04 // Picts
5 FN_05 // Saxons
6 FN_06 // Scots
7 FN_07 // Vikings
8 FN_08 // Welsh
LOCAL/ARTIFICIAL is Human or AI,
(I set 2 armies to LOCAL and ended up with waiting for deployment to end. i.e. no other human connected to deploy the other army.)
"Richard" is the army definition file name.
(the Demo will look for Richard.adf)
You can change the names of ALL the adf files to suit yourselves, as long as the bdf has the correct names for them.
Not sure what the 0 is for. I have seen different numbers in different bdf's - best to leave alone,
IFF, however, you do find out what this field does, please let us know.
true/false dictates if you are attacker/defender.
The coordinates (maybe) for initial camera postion (Will have to check that one) seems to be both for when you first enter the map, and camera returns here when you press "Continue"
Next is direction of facing. (in this case 180 degrees)
It would be wise to have opposing armies facing each other
And then culture lastly. Possibly tells the demo which names to use for units without a defined InitialLeaderName(an adf parameter).
CHRISTIAN_CULTURE or MUSLIM_CULTURE or CATHOLIC_CULTURE
There could be many more of these, possibilities could be PAGAN, ORTHODOX, JEWISH, GERMAN, FRENCH etc. etc. - untested
//Triggers (Victory Conditions) (sample)
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
The Combination of Triggers results and groups determine the victory conditions, and to which faction/army they apply
//triggers
Trigger::1 - 2 - etc.
Simply Trigger number, needed for victory/defeat calculation
there are 2 Triggers avaiable to us for Demo
BT_GENERAL DIED - general died
BT_INCAPACITATE - all army routs
factions - faction/s this trigger applies to
LABEL "Insert any appropraite text here"
INVERT_CHECKBOX
This applies to Human Defeat Triggers,
It Means - If this event has NOT occured then Mark the Checkbox as Sucessfully Completed
//Results
Result::1, - Result ids number - simply an index number
alliances 5, - alliance this result applies to
style DEFEAT/VICTORY, - Outcome
battle "Jaffa" - Defeat Message to be displayed - cannot change this message - not required for VICTORY result.
(sample)
Result::2, alliances 5, style VICTORY
self explanatory now
Additional Notes
In a multi army battle to ensure ALL enemy factions(armies) MUST be defeated a trigger like this is required
(sample)
Trigger::2, BT_INCAPACITATE, factions 4,1,12 LABEL "Defeat the Enemy."
Factions 4, 1 and 12 must rout or be eliminated If all enemy factions are not listed simply routing or eliminating ONE faction completely will cause victory
//Groups
This is the list of events generated by triggers,
and which results to display for each trigger,
THE Group:: tag itself seems to have little actual meaning, other than a 'pointer' or marker,
changing the order of the tags OR which Group contains which result seems to make no difference.
Group::1, - First Item in Battle Summary screen (? not always?)
PRIMARY - Demo only allows PRIMARY triggers, meaning absolute conditions.
Has This Been Changed for Full Release??
triggers 1 - Trigger number
result_ids 1 - Which result to use for this trigger
(sample)
Group::1, PRIMARY triggers 1 result_ids 1
Means if Primary Trigger 1 occurs display results 1
And thats all there is for the Battle Definition File.
Examples of Trigger sets
Kill The General
//triggers
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
Trigger::4, BT_GENERAL DIED, factions 4, LABEL "Kill Saladin."
//results
Result::1, alliances 5, style DEFEAT, battle "Jaffa"
Result::2, alliances 5, style VICTORY
//groups
Group::1, PRIMARY triggers 1 result_ids 1
Group::4, PRIMARY triggers 4 result_ids 2
In this trigger set Defeat Occurs if the AI General Survives the battle, even though the AI was routed from the field
(You will have to escape out if Your army routs and your general was not killed - automatic defeat,
If you fail to kill enemy General, and his army routs you will also have to escape out - again automatic defeat, but then the goal was to Kill the general after all)
Kill the General combined with a standard trigger set
//triggers
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
Trigger::2, BT_INCAPACITATE, factions 5, LABEL "Don't Let Your Troops Rout.", INVERT_CHECKBOX
Trigger::3, BT_INCAPACITATE, factions 4, LABEL "Rout or Kill Saladin's Army."
Trigger::4, BT_GENERAL DIED, factions 4, LABEL "Kill Saladin."
//results
Result::1, alliances 5, style DEFEAT, battle "Jaffa"
Result::2, alliances 5, style VICTORY
//groups
Group::1, PRIMARY triggers 1 result_ids 1
Group::2, PRIMARY triggers 2 result_ids 1
Group::3, PRIMARY triggers 3 result_ids 2
Group::4, PRIMARY triggers 4 result_ids 2
In the example above
Trigger 1 OR 2 will result in defeat,
Trigger 3 OR 4 will result in victory,
Triggers 1 and 4 will result in an Instant Result, if the general is killed the game ends
END BDF EXPLANATION
== ==
This is on my website, but i have lately received several requests for help with making Historical Battles,
so I think it needs to be here, where it is easy to find.
I am going to have a quick read through and remove references to the Demo (but if i miss any please forgive me)
If anyone has updated information to add to this please do so
NOTE several battles that were in the Demo are NOT in the full release
an odditty that anyone who has the demo installed on their machine can help with by zipping and uploading the Demo's Historical Battles
(post in this thread if and when you do, thanks, B.)
As Such, many references here are to the Jaffa battle,
I do hope you can translate the info across, i dont have the time right now to translate a current battle
==== ====
The Historical Battles Modding Guide
21 August 2002
This Document is a compilation of all the modders notes I have at hand, and the result of numerous trial and error experiments,
written by (in no particular order) DrNo, TosaInu, the Count of Flanders, Choco, Tarrak/Kraxis, ShadesWolf, 96mgb, Swoosh So, Target, Siena72, Emp. Conralius, verysoon, Target, GilJay and all those others I have forgotten, or just as important those whose questions inspired us to try (oh yes, and me - barocca)
If anyone has anything to add please contact me at
The Org's Modding Forum edit 28/6/04: (now called the Dungeon)
- where you will also find all of the wise men I have listed above.
edit 28/6/04: (some have gone, some are still here
the required files can be found in the subdirectories of this folder:
Medieval - Total War\Battle\batinit\Historical Battles\
Battle Description/Definition File (the bdf)
Locations
../Medieval - Total War (Demo Version)\Battle\batinit\Historical Battles
../Medieval - Total War (Demo Version)\Battle\batinit\Tutorial
The Battle Definitions File (ie Jaffa.bdf) lists all the parameters for the battle.
Here is a explanation of all the fields in the bdf that can be edited and what values(keys) work, and some that don't
(Edit the bdf file using notepad)
The first section of the bdf file, descriptions and movies was disabled in the Demo,
as such I have not yet tested where to make the changes to display the data,
if anyone can post an explanation of this section and how to make use of it, i will be most appreciative
StartposName::"early"
Predefined::true
Title::"StamfordBridge_Title"
Author::"Ian Roxburgh"
Rating::"StamfordBridge_Rating"
Description::"StamfordBridge_Description"
Conditions::"StamfordBridge_Conditions"
IntroFMV::""
OutroFMV::""
one line can probably be changed (UNTESTED)
StartposName::"early"
hopefully this allows you to call a different startpos file,
and thus should allow Historical Battles in the Viking Invasion Era
(the rest seems not much changed between the Demo and the Full Release
- NOTE some new ai commands were added to the Viking Expansion Pack - they are explained in the third Post in this thread)
//Map - Terrain - Weather
(sample)
MapName::"Jaffa"
Architecture::AT_ISLAMIC
Terrain::LUSH
BattleType::BATTLE_TYPE_HISTORICAL
Deployement::true
Season::spring
WeatherSequenceId::0
MapName::"Jaffa" - obvious - the map
Architecture::AT_ISLAMIC
//Architecture::AT_WESTERN_EUROPEAN
//Architecture::AT_SOUTHERN_EUROPEAN
These are building types. Choose the style that suits your Mod.
Terrain::LUSH
//Terrain::ARID
//Terrain::ROCK_DESERT
Terrain Type - unsure of effect on weather
BattleType::BATTLE_TYPE_HISTORICAL - set this key to avoid tutorial messages
//BattleType::BATTLE_TYPE_TUTORIAL - leaving this key in this field for a Mod on a Tutorial may have unforseen consequneces.
These consequences include the tutorial instruction boxes appearing, and no battle results display at the conclusion of battle
Deployement::true
not enabled?, could find no function for this field.
The Next 2 fields in combinataion are supposed to determine the weather,
Season::spring - valid choices spring, summer, winter, autumn
//Season::summer
//Season::autumn
//Season::winter
WeatherSequenceId::0
0 - very sunny
1 - sunny
2 - stormy - fog - rain
3 - cloudy - fog - snow - even in Season::summer
numbers above 3 work, but produce same weather as 3,
Try different combinations of season and weather.
//Player Descriptions
The 'player' description line, each army/faction (adf) in the battle will need it's own description line.
(sample)
Player::"Richard Coeur de Lion" 5 5 LOCAL "richard" 0 false 19588 28226 180 CHRISTIAN_CULTURE
Fields and values of the Player line
First number after player name is the faction. i.e. 5 Second number is the alliance it belongs to. again 5.
Faction Table
Number, Name
Early, High and Late
0.REBEL 1.ALMOHAD 2.BYZANTINE 3.DANISH 4.EGYPTIAN
5.ENGLISH 6.FRENCH 7.GERMAN_HRE 8.ITALIAN 9.POLISH
10.RUSSIAN 11.SPANISH 12.TURKISH 13.ARAGONESE 14.BURGUNDIAN
15.GOLDEN_HORDE 16.HUNGARIAN 17.NOVGOROD 18.PAPIST 19.SICILIAN
20.SWISS
Viking
UNTESTED - i do NOT know if you can make historical battles on the Viking Factions
0 FN_00 // Rebels
1 FN_01 // Irish
2 FN_02 // Mercians
3 FN_03 // Northumbrians
4 FN_04 // Picts
5 FN_05 // Saxons
6 FN_06 // Scots
7 FN_07 // Vikings
8 FN_08 // Welsh
LOCAL/ARTIFICIAL is Human or AI,
(I set 2 armies to LOCAL and ended up with waiting for deployment to end. i.e. no other human connected to deploy the other army.)
"Richard" is the army definition file name.
(the Demo will look for Richard.adf)
You can change the names of ALL the adf files to suit yourselves, as long as the bdf has the correct names for them.
Not sure what the 0 is for. I have seen different numbers in different bdf's - best to leave alone,
IFF, however, you do find out what this field does, please let us know.
true/false dictates if you are attacker/defender.
The coordinates (maybe) for initial camera postion (Will have to check that one) seems to be both for when you first enter the map, and camera returns here when you press "Continue"
Next is direction of facing. (in this case 180 degrees)
It would be wise to have opposing armies facing each other
And then culture lastly. Possibly tells the demo which names to use for units without a defined InitialLeaderName(an adf parameter).
CHRISTIAN_CULTURE or MUSLIM_CULTURE or CATHOLIC_CULTURE
There could be many more of these, possibilities could be PAGAN, ORTHODOX, JEWISH, GERMAN, FRENCH etc. etc. - untested
//Triggers (Victory Conditions) (sample)
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
The Combination of Triggers results and groups determine the victory conditions, and to which faction/army they apply
//triggers
Trigger::1 - 2 - etc.
Simply Trigger number, needed for victory/defeat calculation
there are 2 Triggers avaiable to us for Demo
BT_GENERAL DIED - general died
BT_INCAPACITATE - all army routs
factions - faction/s this trigger applies to
LABEL "Insert any appropraite text here"
INVERT_CHECKBOX
This applies to Human Defeat Triggers,
It Means - If this event has NOT occured then Mark the Checkbox as Sucessfully Completed
//Results
Result::1, - Result ids number - simply an index number
alliances 5, - alliance this result applies to
style DEFEAT/VICTORY, - Outcome
battle "Jaffa" - Defeat Message to be displayed - cannot change this message - not required for VICTORY result.
(sample)
Result::2, alliances 5, style VICTORY
self explanatory now
Additional Notes
In a multi army battle to ensure ALL enemy factions(armies) MUST be defeated a trigger like this is required
(sample)
Trigger::2, BT_INCAPACITATE, factions 4,1,12 LABEL "Defeat the Enemy."
Factions 4, 1 and 12 must rout or be eliminated If all enemy factions are not listed simply routing or eliminating ONE faction completely will cause victory
//Groups
This is the list of events generated by triggers,
and which results to display for each trigger,
THE Group:: tag itself seems to have little actual meaning, other than a 'pointer' or marker,
changing the order of the tags OR which Group contains which result seems to make no difference.
Group::1, - First Item in Battle Summary screen (? not always?)
PRIMARY - Demo only allows PRIMARY triggers, meaning absolute conditions.
Has This Been Changed for Full Release??
triggers 1 - Trigger number
result_ids 1 - Which result to use for this trigger
(sample)
Group::1, PRIMARY triggers 1 result_ids 1
Means if Primary Trigger 1 occurs display results 1
And thats all there is for the Battle Definition File.
Examples of Trigger sets
Kill The General
//triggers
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
Trigger::4, BT_GENERAL DIED, factions 4, LABEL "Kill Saladin."
//results
Result::1, alliances 5, style DEFEAT, battle "Jaffa"
Result::2, alliances 5, style VICTORY
//groups
Group::1, PRIMARY triggers 1 result_ids 1
Group::4, PRIMARY triggers 4 result_ids 2
In this trigger set Defeat Occurs if the AI General Survives the battle, even though the AI was routed from the field
(You will have to escape out if Your army routs and your general was not killed - automatic defeat,
If you fail to kill enemy General, and his army routs you will also have to escape out - again automatic defeat, but then the goal was to Kill the general after all)
Kill the General combined with a standard trigger set
//triggers
Trigger::1, BT_GENERAL DIED, factions 5, LABEL "Keep King Richard alive.", INVERT_CHECKBOX
Trigger::2, BT_INCAPACITATE, factions 5, LABEL "Don't Let Your Troops Rout.", INVERT_CHECKBOX
Trigger::3, BT_INCAPACITATE, factions 4, LABEL "Rout or Kill Saladin's Army."
Trigger::4, BT_GENERAL DIED, factions 4, LABEL "Kill Saladin."
//results
Result::1, alliances 5, style DEFEAT, battle "Jaffa"
Result::2, alliances 5, style VICTORY
//groups
Group::1, PRIMARY triggers 1 result_ids 1
Group::2, PRIMARY triggers 2 result_ids 1
Group::3, PRIMARY triggers 3 result_ids 2
Group::4, PRIMARY triggers 4 result_ids 2
In the example above
Trigger 1 OR 2 will result in defeat,
Trigger 3 OR 4 will result in victory,
Triggers 1 and 4 will result in an Instant Result, if the general is killed the game ends
END BDF EXPLANATION
== ==