Export descr sounds prebattle.txt
Export_descr_sounds_prebattle is a file that keeps track of what a general will say before a battle according to his traits, and pre-battle situation, the relationship his faction has with the enemy they are about to face.
This file is delegated file from descr_sounds_prebattle.txt for manage sound bank: "prebattle_speech"'s entries.
BANK: prebattle_speech
Available category to use in for "BANK: prebattle_speech"
cultures { culture_type as defined in descr_cultures.txt } (using in RTW only) accent { accent_type as defined in descr_sounds_accents.txt } (using in M2TW only) element { element_type } (this is section part of speech) VnV { trait_type X , if left empty indicated no trait needed} (RTW format) VnV (using along with "trait" and "pri" below in M2TW) trait { trait_type } (as using in M2TW) pri { X } ( X is integer but this file only using 9 in vanilla, as using in M2TW) relationship {Hate/Neutral} { faction_type } no_allies {Hate/Neutral} present { faction_type } helping { faction_type } situation { situation_type } type { battle_type } odds { odds_type } condition { terrain_condition/troop_comparison_condition/battle_record_condition } omen {FANTASTIC/GOOD/NEUTRAL/BAD/AWFUL} reinforcement {NEAR_SOON/NEAR_LATER}
Known element_type (speech section, sorted by sequence appearance, not all of them would always use)
CHEERING (RTW only, not using here but using in descr_sounds_prebattle.txt VNV_OPENING (speech opening, always using when valid sound sample exist) ENEMY_ID ENEMY_ALLIES ALLIES STRATEGIC_SITUATION BATTLE_TYPE BATTLE_NUMBERS (not declared in M2TW, RTW only?) BATTLE_STRENGTHS BATTLE_TERRAIN TROOP_COMPARISON PREVIOUS_RECORD VNV_MID (not declared in M2TW, RTW only?) OMENS (not declared in M2TW, RTW only?) REINFORCEMENTS_NEAR VNV_END (closing speech, always using when valid sound sample exist) ONE_LINER (using by captain or when VNV_Opening and VNV_END have no valid line which condition is reached) CHEERING_1 (M2TW only, seem to use as replacement for role of CHEERING element is using in RTW) CHEERING_3 (M2TW only, seem to use as replacement for role of CHEERING element is using in RTW)
I will take this line by line, and walk you through each part.
PART ONE:
The first section of RTW version for each culture would be like this:
cultures { culture_type as defined in descr_cultures.txt } element VNV_OPENING VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
And version below is format which using by M2TW, (method of assign trait to VnV is different from RTW and has additional condition "pri" which has no explanation inside the file about what it is using for.
accent { accent_type as defined in descr_sounds_accents.txt } element VNV_OPENING VnV trait { trait_type } (as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end VnV trait { trait_type } (as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV pri { X } ( X is integer but this file only using 9 in vanilla, judge from how file is positioning the line, it maybe abbriviation of "priority", as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- The First line of this part is declaration of cultures/accent of current group
- Second is declare the element which this case is "VNV_OPENING" (Opening line of speech)
- Third section is declare condtiion which vanilla only use trait for this element in RTW, and also unknown "pri" in M2TW. Bewared that this part is the part that RTW and M2TW using different format.
- At the end of this section contain entry with VnV not assigned any trait to (in M2TW, the section is assigned "pri 9" instead, this seem to indicated the speech line which to be used if none of condition above is reached.
- Not confirm but wiki's author has untested assumption that sequence of VnV from top to bottom seem to set priority for speech which would be picked in RTW as game would pick the first one of the category that conditioned is reached for each element as each of element could only picking once per battle.
PART TWO: Part two of the text file structure like this:
element ENEMY_ID relationship {Hate/Neutral} { faction_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
- Part two contains the speech according to the relationship between the two factions that meet on the battlefield.
- The relationships are hates and neutral. Remember that the relationship term must have its first letter capitalized. Hence Hates, Neutral.
- The last part is the same as the last part in part one, containing the file directory for the speech, which has been pre-recorded.
- This part goes through with every faction in turn.
PART THREE: Part three looks like this:
element ENEMY_ALLIES relationship {Hate/Neutral} { faction_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... no_allies {Hate/Neutral} event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- Part Three is essentially the same as part two, but contains the speeches if th eenemy has allies on the field with them, and what relationship the allies have with the player's faction.
- Condition "no_allies" is using in case enemy has no allies but want to assign speech to.
- This part is declared in vanilla M2TW but not assign anything to it.
PART FOUR
element ALLIES present { faction_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... helping { faction_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- The same as the previous two parts, but with the player having allies on their side. Of course, the player will like their allies.
- "present" is using as other faction help player while "helping" using in case player help other faction.
- This part is declared in vanilla M2TW but not assign anything to it.
PART FIVE
element STRATEGIC_SITUATION situation { situation_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known situation_type
DEFENDING_A_MAJOR_CITY ATTACKING_A_MAJOR_CITY (M2TW only) DEFENDING_A_MAJOR_CASTLE (M2TW only) ATTACKING_A_MAJOR_CASTLE (M2TW only) ATTACKING_A_CRUSADE_TARGET (M2TW only) FIELD_BATTLE_IN_OWN_TERRITORY FIELD_BATTLE_IN_ENEMY_TERRITORY KEY_BATTLE IMPORTANT_BATTLE_FOR_US VERY_IMPORTANT_BATTLE_FOR_US VITAL_BATTLE_FOR_US IMPORTANT_BATTLE_FOR_THEM VERY_IMPORTANT_BATTLE_FOR_THEM VITAL_BATTLE_FOR_THEM LAST_STAND_FOR_US LAST_STAND_FOR_THEM EAGLE_RECOVERY (RTW only) LAST_STAND_FOR_OUR_ALLY
- Part Five comes into play at a strategic battle, like at a crossroads, or defending a major city.
A key battle, an important battle for the player's faction, or even a last stand for the faction or its allies.
PART SIX:
element BATTLE_TYPE type { battle_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known battle_type
FIELD_ATTACK FIELD_DEFENCE SIEGE_ASSAULT SIEGE_DEFENCE SIEGE_RELIEVING AMBUSH_ATTACK RIVER_ATTACK RIVER_DEFENCE
- The speech depends on whether you are attacking or defending on the field, city, ambush, etc.
PART SEVEN
element BATTLE_NUMBERS odds { odds_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... element BATTLE_STRENGTHS odds { odds_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known odds_type (using by BATTLE_NUMBERS)
HOPELESSLY_OUTNUMBER_THEM MASSIVELY_OUTNUMBER_THEM OUTNUMBER_THEM SLIGHTLY_OUTNUMBER EVEN SLIGHTLY_OUTNUMBERED OUTNUMBERED MASSIVELY_OUTNUMBERED
Known odds_type (using by BATTLE_STRENGTHS)
WE_OUTNUMBER_BUT_THEM_STRONGER THEY_OUTNUMBER_BUT_WE_ARE_STRONGER EVEN_NUMBERS_AND_THEY_ARE_STRONGER EVEN_NUMBERS_AND_WE_ARE_STRONGER
- Part Seven classifies the speeches according to the numbers on each faction,hence being hopelessly outnumbered, or hopelessly outnumbering them.
- Element "BATTLE_NUMBERS" is not declared in vanilla M2TW while "BATTLE_STRENGTHS" is declared in M2TW file but not assign any event to it. This indicates possibility that "BATTLE_STRENGTHS" element could be add to M2TW mod.
- odds_type which using by "BATTLE_NUMBERS" and "BATTLE_STRENGTHS" could be cross-using and part of the same category
PART EIGHT:
element BATTLE_TERRAIN condition { terrain_condition } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known "BATTLE_TERRAIN"'s condition
DEFENDING_HILLS ATTACKING_HILLS DEFENDING_STEEP_HILLS (RTW only?) ATTACKING_STEEP_HILLS (RTW only?) DEFENDING_WOODS ATTACKING_WOODS
- "BATTLE_TERRAIN" is concerning Battle Terrain.
- Condition using by element "BATTLE_TERRAIN", "TROOP_COMPARISON", and "PREVIOUS_RECORD" are different categories and are not interchangable
PART NINE:
element TROOP_COMPARISON condition { troop_comparison_condition } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known "TROOP_COMPARISON"'s condition
THEY_LOTS_OF_CAVALRY_1 THEY_LOTS_OF_CAVALRY_2 THEY_LOTS_OF_CAVALRY_3 WE_LOTS_OF_CAVALRY_1 WE_LOTS_OF_CAVALRY_2 THEY_ELEPHANTS_1 (RTW only) THEY_ELEPHANTS_2 (RTW only) THEY_ELEPHANTS (M2TW only) THEY_CANNONS (M2TW only) WE_ELEPHANTS_1 (RTW only) THEY_ELEPHANTS_3 (suppose to be work as "WE_ELEPHANTS_2"?, RTW only) WE_ELEPHANTS (M2TW only) WE_CANNONS (M2TW only) WE_LOTS_OF_MISSILES THEY_LOTS_OF_MISSILES WE_LOTS_OF_CAVALRY_3 THEY_LOTS_OF_CAVALRY_4 THEY_HEAVILY_ARMOURED_1 (M2TW only) THEY_HEAVILY_ARMOURED_2 (M2TW only) WE_HEAVILY_ARMOURED_1 (M2TW only) WE_HEAVILY_ARMOURED_2 (M2TW only) WE_GUNPOWDER (M2TW only) THEY_GUNPOWDER (M2TW only)
- "TROOP_COMPARISON" is concerning the Types of Troops on both side.
- Condition using by element "BATTLE_TERRAIN", "TROOP_COMPARISON", and "PREVIOUS_RECORD" are different categories and are not interchangable.
PART TEN:
element PREVIOUS_RECORD condition { battle_record_condition } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
Known "PREVIOUS_RECORD"'s condition
NOT_FOUGHT_THEM_BEFORE FOUGHT_THEM_BEFORE_A_BIT FOUGHT_THEM_BEFORE_A_LOT NEVER_LOST_AGAINST_THEM LOST_LAST_BATTLE_AGAINST_THEM NEVER_WON_A_BATTLE_AGAINST_THEM
- "PREVIOUS_RECORD" is concerning the record of fights against this faction.
- Condition using by element "BATTLE_TERRAIN", "TROOP_COMPARISON", and "PREVIOUS_RECORD" are different categories and are not interchangable.
- Element "PREVIOUS_RECORD" is defined in M2TW file but not assign any event to it. This indicates possibility that this element could be add to M2TW mod.
PART ELEVEN:
element VNV_MID VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- "VNV_MID" part is coding the same way as "VNV_OPENING".
- "VNV_MID" element is not defined inside M2TW file.
PART TWELVE:
element OMENS omen {FANTASTIC/GOOD/NEUTRAL/BAD/AWFUL} event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
- Concerning the omens that were taken before the battle.
- This will reflect in the speeches as either a good omen, like eagles circling the camp, or a bad omen such as a storm.
- "OMENS" element is not defined inside M2TW file.
PART THIRTEEN:
element REINFORCEMENTS_NEAR reinforcement {NEAR_SOON/NEAR_LATER} event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
- Concerning reinforcements from the same faction as the player and will take part in the battle.
- Element "REINFORCEMENTS_NEAR" is defined in M2TW file but not assign any event to it. This indicates possibility that this element could be add to M2TW mod.
PART FOURTEEN:
"VNV_END" part is coding the same way as "VNV_OPENING" and "VNV_MID". Below is RTW version.
element VNV_END VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end VnV { trait_type X , if left empty indicated no trait needed} (RTW format) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
And version below is format which using by M2TW, (method of assign trait to VnV is different from RTW and has additional condition "pri" which has no explanation inside the file about what it is using for.
element VNV_END VnV trait { trait_type } (as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end VnV trait { trait_type } (as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV pri { X } ( X is integer but this file only using 9 in vanilla, judge from how file is positioning the line, it maybe abbriviation of "priority", as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- This element is concerning the end of a speech according to traits the general has.
- Consider as one of core speech element along with "VNV_OPENING"
PART FIFTEEN:
element ONE_LINER event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- Concerning One-Liners
- One-liners are one or two line speeches that rouse the men!
- This element is not using mix with others and tend to use individually as replacement of long complete speech given by army captain and custom battle (alternative for this is VNV_OPENING + VNV_END).
- This section is end section for culture group in RTW, but not the end of section for accent group in M2TW.
PART SIXTEEN: (M2TW only)
element CHEERING_1 relationship {Hate/Neutral} { faction_type } event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end ....
- M2TW only, This section is replacing "event CHEERING" in RTW.
PART SEVENTEEN: (M2TW only)
element CHEERING_3 VnV trait { trait_type } (as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end .... VnV pri { X } ( X is integer but this file only using 9 in vanilla, judge from how file is positioning the line, it maybe abbriviation of "priority", as using in M2TW) event modifiers folder { base path } {sample name} modifiers (any of probability, volume etc) {sample name} ... folder { base path , in case files have different location} {sample name} modifiers (any of probability, volume etc) {sample name} ... end
- M2TW only, This section is replacing "event CHEERING" in RTW.
- This section is end section for accent group in M2TW.
Explanation of format and modifers
{sample name} = name of sound sample file (if extension is .wav, extension could be omitted)
Note: "BANK: prebattle_speech" support using mp3 files as sound sample in both RTW and M2TW.
List of modifers (X indicated value for setting)
3d - sound has distance/direction modification
1d - sound has no distance/direction modification
Streamed - read from disk instead of embedded file in memory at the game startup
looped - overwrite the parameter in play_tracked_sound
ducking - temporary lowering other sounds (not use in vanilla RTW but could be used in RTW)
retrigger X - delay before retriggering the sound, using for music (X is in second)
minDist X - minimum distance which would hear the sound (X must more than 1.0)
maxDist X - maximum distance which sound would still be heard
priority X - (X = between 0 to 9999)
Volume X - modifier to based sound volume set in the preference (X = between -100 to 0 db)
probability X -
minPitch X -
maxPitch X -
dry_level X - (X = 0 to 1 }
wet_level X - (X = 0 to 1 }
delay X - delay in seconds before next 3d sounds start playing
randomdelay X - delay within seconds before next 3d sounds start playing
probradius X -
fadein X -
fadeout X -
pref X - sound preference setting to be use for events below (X = sfx/speech/music/INTERFACE }
pan X - 2D events only, from 0 (hard-left) to 1.0 (hard-right) 0.5 - default
ignore_pause X -
distancepriority X -
effect_level X -
rndvolume X -
- It starts with Roman speeches, but goes through each voice type, greek, barbarian, arab, etc.
MODDING THE FILE Before you mod this file, which is basically a table of contents for the other speech files. There is one file which contains voice recordings of the speeches. One must record their own voices in mp3 format if they wish to have their own speech in the battle. Also, one must type their speech into the text file, prebattle_speeches_subtitles. I hope this will be helpful.