Zitat[/b] ]
The Modders 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
- where you will also find all of the wise men I have listed above.
or contact me at Clan Doragon's forum - doragon.cjb.net,
or email me at
barocca_x@hotmail.com, and I will gladly include all new information
Advice before we start editing
Backup the Contents of the Backdrops Folder
..\Medieval - Total War (Demo Version)\Textures\
and the ..\Medieval - Total War (Demo Version)\Battle\batinit folder
Backdrop Enhancement
Location
..\Medieval - Total War (Demo Version)\Textures\Backdrops
To minimise Errors place the BackDrop batch file (download) in this folder
..\Medieval - Total War (Demo Version)\Textures\Backdrops\
and then run it.
All it does is copy backdrops from folders that have them to folders that do not. - to minimise the number of steps required some overwriting occurs, BUT the files are being overwritten by copies of themselves.
If it will not run in your system simply open the batch file in notepad and copy manually (use windows explorer to copy and rename the folders)
the format for each line is
(command "from directory" "to directory" /switches)
So copy the needed "From" directories to the "To" directories
Overwrite where requested
WARNING - Your backdrops folder is about to change - backup a copy first, and be aware it will go from 7.46MB to 64MB - allowing any combination of Demo map, terrain, season and weather - all explained in this document.
Introduction BDF ADF Unit Types and Other
Barocca
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 seem to be disabled for the demo, at least i can't find where to place appropriate files to force a change.
//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
Valid Demo Maps are :-
FlatInland01
Jaffa
antioch_castle
antioch_practice
bulgaria
bul1_practice
bulgaria2
hillyinland06
sicily
Agincourt
MTW Maps that work - some with minor glitches
Ridges2
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,
also we don't have the correct tile sets or backdrops to give a realistic background/terrain portrayal, but at least we can fight in the rain and snow.
Try different combinations of season and weather.
REMEMBER, unless you have used the Backdrop batch file you may see various error messages when you try to run a game with altered 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 and Flag 1
Almohad
2
Byzantium
3
Danish
4
Egypt
5
England
6
France
7
HRE/Germany
8
Italy
9
Poland
10
Russia
11
Castile
12
Turkey
13
Aragon
14
Burgundy
15
Golden Horde
16
Hungary
17
Novgorod
18
Papal states
19
Sicily
20
Switzerland
Six alternate faction sets with Flag and Shield Icons, the Lithuanian set also has Unit Commander names, Both Welsh sets (Updated) come with 2 flags, to replace Turkey or Italy
For use in creating 'fresh' faction's for the Mod. For more information see the "Unit Types and Other" section of this guide. Siena's
Lithuanian Faction Patrick's
Scot's Faction Barocca's
Welsh Faction 1 Barocca's
Welsh Faction 2
NEW
Lithuania
NEW
Scotland
NEW
Welsh set 1
NEW
Welsh set 2
(Click any Image to Download all six in one pack)
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.
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
Army Description/Definition File (the adf)
Locations
../Medieval - Total War (Demo Version)\Battle\batinit\Historical Battles
../Medieval - Total War (Demo Version)\Battle\batinit\Tutorial
The adf contains a list of all the units in a faction/army, Each adf must have a line in the bdf player section in order for the units to be deployed.
Each unit listed in the adf must have a seperate Unit Parameter Set.
Each Unit Parameter Set defines all the information needed by the demo to deploy am individual unit. (unit parameters are located between UnitStart:: and UnitEnd:: )
You can place as many units as you wish in an adf file, the Demo will read and initially deploy only the first 16 units in the list at their specified locations, the remainder will arrive as reinforcements after units are withdrawn, destroyed or routed completely from the field. You will be given an option to select a rally point for reinforcements.
You can optionally specify units in the adf as reinforcements with a time delay option. See Reinforcements.
Sample adf file
UnitStart::"Unit"
InitialLeaderName::"Richard"
IsGeneral::true
Position:: 19000 29500
Direction::180
GeneralRank::4
LeaderHonour::4
UnitMon::1
TroopType::LateRoyalKnights
TroopNum::20
TroopHonour::4
Columns::5
CurveRadius::1
FormationType::FORMATION_CLOSE
MeleeMode::ENGAGE_AT_WILL
FatigueLevel::FRESH
HoldPosition::true
GeneralIsDaimyo::true
ArmourLevel::1
WeaponLevel::2
Reinforcements::180
UnitEnd::
UnitStart::"" and UnitEnd:: are the begin and end of each unit description
(Edit the adf file using notepad)
UnitStart::"Unit"
- Seriously, unsure of requirements for this field, Unit works for me, I also use this as a 'name' for the unit to help me create my mods, ie spearmen1, spearmen2 etc.
InitialLeaderName::"Richard Coeur de Lion" - optional parameter
Does NOT have to match the name given in the bdf file
I have seen identical Leader names work AND crash demo
- recommend different names each unit
IsGeneral::true //IsGeneral::false - optional parameter
Is the General of this army - the Demo will select the first unit found in the list with this parameter as the general, If no units with this parameter the first unit in list is the General
- if he flees army morale suffers.
However in order to get the Honour/Valour boost All units within an adf need this parameter I recommend setting your General to True and all subsequent units to false.
Omitting this parameter from any unit in the adf will simply mean no units in his army, including his own unit, gain an honour boost from the Generals Rank.
Position:: 19668 29556
Start location on map
Selecting an area beyond the edge of the map will force that unit (or army) to march onto the field before they can be controlled. The further off the map the longer it will take them to march into play.
You can only use positive numbers, meaning you can only place them beyond the edge of the map on two side of the field of the field. You can start an army at locations as low as 100 on the other two sides, but they will appear on the field almost immediately.
Often when you place an AI controlled army on the map as soon as the battle starts they will move somewhere else. If they are supposed to be protecting your flank this can be a problem. You can place them a select distance off the map and force them to arrive a little late, and thus delay them moving to an undesireable location.
Direction::180
direction of facing on map
GeneralRank::6 - optional parameter
Rank - Each 2 ranks generates an additional Honour point to all units IF this unit is the actual general of the army AND the IsGeneral parameter is included int the Unit parameters of all units in the adf.
not sure of upper limit
LeaderHonour::10 - optional parameter
The Generals personal Honour - applies to him only
not sure of upper limit
UnitMon::1 - optional parameter
may not be used by Demo - other numbers have no effect
TroopType::Archers
unit type, do not use space's,
upper or lower case work for most units,
but the best bet is capitalise individual words
for example : ItalianLightInfantry
TroopNum::180 - optional parameter
- if omitted default is 9 men
how many men in unit
TroopHonour::9 - optional parameter
- if omitted default is 1
with the addition of generals rank bonus some astronomical numbers can be reached
upper effective limit is 16
Columns::60 - optional parameter
- if omitted default is 3 coloumns
how many columns from left to right,
a unit of 60 men in 20 columns will be 3 ranks deep
CurveRadius::1 - optional parameter
do not know - plain and simple.
FormationType::FORMATION_CLOSE - optional parameter
- default is Close
initial unit formation
FORMATION_LOOSE also works
FORMATION_WEDGE does not
MeleeMode::ENGAGE_AT_WILL - optional parameter
- defaults to engage for foot and cavalry or skirmish for missile troops
initial melee mode
SKIRMISH works for missile units
HOLD_FORMATION does not seem to work
FatigueLevel::FRESH - optional parameter
- deafult is Fresh
TIRED produces units who are Quite Tired, and will never recover to any state above that
EXHAUSTED produces Exhausted unit, again no recovery,
other fatigue levels crashed Demo.
HoldPosition::true - optional parameter
do not know - plain and simple.
changing value had no noticeable effect
GeneralIsDaimyo::true - optional parameter
The General of this Unit is the King of this faction,
again the Demo finds the First such List in the adf and ignores subsequent references
ArmourLevel::4 - optional parameter
- default is none
Additonal Armour Bonus (upper limit not known - possibly 4)
(similar to Armouries from STW)
WeaponLevel::4 - optional parameter
- default is none
Additional Weapon Bonus (upper limit not known - possibly 4)
(similar to SwordSmiths from STW)
Reinforcements:: (by Target) - optional parameter
You can force units to act as a reinforcement and delay the time when they become avaiable.
so, if you want a unit to wait 5 minutes before coming on as a reinforcement,
set this parameter to Reinforcements::300
This can be applied to any unit, so you can set up scenarios where you start the battle with only 4 units and then eventually another 12 turn up.
Unfortunately, this also highlights a bug in the demo (which, under normal circumstances you'd never see, so I don't feel really guilty about it) that if your 4 units get crushed before the other 12 turn up, you'll have to twiddle your thumbs until the rest of your army turns up. (Target)
UnitEnd:: - end of this units parameters
The Absolute minimum required for an ADF is
//
// Army description file
//
UnitStart::"Unit"
Position:: 23000 44500
Direction::180
TroopType::Housecarle
UnitEnd::
This will give a unit of 9 Housecarle's of honour 1 in 3 columns,
The unit is a General's unit, although the General has no rank and no honour (possibly his personal honour is One)
Barocca
Bookmarks