Difference between revisions of "Export descr ancillaries.txt (RTW Modding)"
m (→Trigger Section) |
|
(No difference)
|
Revision as of 23:48, 7 October 2008
Contents
Summary
This article is based on the first part of The Complete EDCT/EDA Guide for Rome:Total War the original article was written by Squid and imported with his permission as part of the Scriptorium project. The article may have been altered since import - please refer to the history page for details of changes, or reference the original document.
This is an in-depth explanation of the export_descr_ancillaries.txt file, which is the primary base for modding buildings and determining which units can be recruited from them.
Squid put the original article together for his own reference, but decided to open it up to all, with the request that they also aid in improving and adding to it. If you are not at all familiar with the basics of the EDA file then you should become so before reading this. The file works alongside a good few other files and may not have the desired effect if these associated files are not modded.
Please help make this the one-stop source for EDA-related information. This Wiki article can be updated to include further information but please also post your comments, corrections and additions in the general forum of the Org RTW Workshop in this discussion thread.
Introduction to EDA
The EDA contains all information regarding the ancillaries, or retinue members, as they are refered to ingame, of family members and generals. This file is split into two distinct sections, the Ancillary section, and the Trigger section. The ancillary section contains all the information about the ancillaries, their names, which picture to use to represent them, which cultures cannot acquire an ancillary as well as the description and effects associated with an ancillary, as well it lists which entries from the related export_ancillaries.txt file are to be used when displaying the ancillary.
Some of the lines are optional lines and aren't present in every trait, those optional lines will have OPTIONAL at the beginning of the description of what the lines do.
Comments in EDA
In EDA a line with comment on it must begin with a ; (semi-colon)
Ancillary Section
Sample Ancillary
Ancillary ancillary_name Image ancillary_image.tga Unique ExcludedAncillaries ancillary_name(s) ExcludeCultures excluded_culture(s) Description ancillary_description EffectsDescription ancillary_effects_description Effect Attribute Attribute_points
File Linkage: For each of ancillary_name, ancillary_description and ancillary_effects_description, you will have to have a corresponding line in the export_ancillaries.txt file of the form:
{ancillary_name}<tab>Displayed Ancillary Name or {ancillary_description} Description of the Level
Typically ancillary_name follows the first format, while ancillary_description, and ancillary_effects_description follow the second format.
Note: Neither ancillary_description nor ancillary_effects_description are required to be unique entries in export_ancillaries.txt; however, ancillary_name is required to be unique as the name of the ancillary must be unique.
CTD Alert: For any of ancillary_name, ancillary_description and ancillary_effects_description, if the corresponding entry in export_ancillaries.txt does not exist (or is misspelt), then upon acquiring the ancillary, or trying to view the character screen of a character with an ancillary with a missing/incorrect entry an errorless CTD will occur.
So let's examine an ancillary line by line:
Ancillary ancillary_name
This is the name of the ancillary, ancillary_name must be unique. No two ancillaries can have the same value for ancillary_name. The name of the ancillary can be used in the ExcludedAncillaries line below, in the trigger section of EDA on the AcquireAncillary line, or in the conditions section of a trigger. The one other place you will use ancillary_name is in descr_stat.txt to give an ancillary to a character that starts on the campaign map.
Image ancillary_image.tga
This line specifies the image file to be used on the character screen. By default the ancillary images are located data/ui/ancillaries, the contents of this folder are in a pak file by default.
Unique
Optional, this line is used to specify that a particular ancillary is unique, in other words the ancillary can only ever be acquired once.
ExcludedAncillaries ancillary_name(s)
Optional, this line gives the list of ancillaries that prevent the given ancillary from being acquired. So if an ancillary A has ancillary B on it's ExcludedAncillaries list then if a character has ancillary B they cannot get ancillary A. The list of ExcludedAncillaries is a comma seperated list
Notes:
- For any ancillary that has the Unique line, it seems to require that the ancillary list itself on the ExcludedAncillaries list
CTD Alert: There is a hardcoded limit of 3 ExcludedAncillaries. If more than 3 are listed an errorless CTD is produced.
ExcludeCultures excluded_culture(s)
Optional, this line is added when you want to exclude certain culture group(s) from being able to acquire a trait. The cultures on the list should be taken from the descr_sm_cultures.txt file. If listing more than one culture they must be listed as a comma seperated list of cultures.
Description ancillary_description
This is the line that provides the description of the ancillary. It is visible in the character info window when you mouse over the Ancillary_Name.
EffectsDescription ancillary_effects_description
This is the line that provides the list of effect that the ancillary provides. It is visible in the character info window when you mouse over the Ancillary_Name.
Effect Attribute Attribute_points
Optional, Each ancillary can have zero or more Effect lines. Each Effect line can have a positive or negative effect on the associated attribute.
The list of known attributes is:
- MovementPoints
- Command
- Loyalty
- TroopMorale
- Influence
- Management
- Fertility
- PersonalSecurity
- PublicSecurity
- Negotiation
- Subterfuge
- HitPoints
- Attack
- Defence
- Ambush
- Law
- SiegeAttack
- SiegeDefence
- Unrest
- Construction
- LineOfSight
- Trading
- Squalor
- BribeResistance
- Bribery
- TrainingAgents
- Farming
- Mining
- SiegeEngineering
- NightBattle
- NavalCommand
- InfantryCommand
- CavalryCommand
- Combat_V_Roman
- Combat_V_Greek
- Combat_V_Slave
- Combat_V_Carthaginian
- Combat_V_Eastern
- Combat_V_Barbarian
- Combat_V_Egyptian
- Combat_V_Nomad
- Combat_V_Hun
- TaxCollection
- PopularStanding
- SenateStanding
- Electability
- Looting
- TrainingAnimalUnits
- BodyguardValour
- BattleSurgery
- TrainingUnits
- SlaveTrading
- Health
- GrainTrading
Notes:
- Not all of the attributes listed above are usable in both RTW and BI, at least without some modification of the game files.
- Even if an ancillary does not have an effect, it still needs an EffectsDescription line. The corresponding line in export_ancillaries.txt file can be blank.
- Combat_V_faction_name is not a valid attribute
- Combat_V_culture_name does not support gaining negative points in a trigger
Trigger Section
The EDA triggers are mostly like their counterparts in EDCT but there are a few key differences.
Sample Trigger:
Trigger Trigger_Name WhenToTest Event_Name Condition Condition_1 and Condition_2 Affects Trait_Name Trait_Points_Assigned Chance Percentage AcquireAncillary ancillary_name Chance Percentage
Trigger Trigger_Name
This is the name of the trigger, no two triggers can share the same name.
CTD Alert: If two triggers share the same name, when one of the triggers is triggered by the game, an errorless CTD will result.
WhenToTest Event_Name
The Event_Name indicates when the trigger should be tested. The list of possible events are located in the docudemon_events.txt file. Not all events listed in this file can be used in EDCT/EDA. An examination of the events used in EDCT/EDA seems to indicate that the usable events are those for which in the Exports line lists character_record or nc_character_record.
Non-Functional Events: The following is a list of events which, while exporting the correct record, do not work or do not work as expected for traits:
- PreBattle
- CharacterMarries
- OfferedForMarriage - works in EDCT
Condition Condition_1 and Condition_2
Optional, the condition(s) that can be used to limit when the Affects of the trigger are implemented. Every condition in the condition list must be met in order for the Affects line(s) to kick in. The list of conditions are located in the docudemon_conditions.txt file. Not all conditions can be used with all events. A condition can be used with an event if the Trigger requirements line for the condition is listed on the Exports line of the Event_Name in the docudemon_events.txt file.
Notes:
- If there are no conditions for a trigger the Affects/AcquireAncillary line(s) will always be implemented.
- Affects accepts negative points for traits
- I'm pretty sure that once I tested it and assigning negative points for traits overruled NoGoingBackLevel (by BozosLivesHere).
- An invalid condition will always evaluate to true.
Non-Functional Conditions: The following is a list of conditions which, do not work or do not work as expected for ancillaries:
- NumEnemiesInBattle - may cause a CTD with PostBattle event in reinforcement battles
CTD Alert: Certain conditions make reference to items defined in other files, such as EDB, sm_cultures, etc. Some of these conditions will produce CTDs if the items are undefined in the external files. Here are the CTDs that can be produced:
Undefined/Incorrect Building Name:
Script Error in data/export_descr_ancillaries.txt, at line X, column Y Building level name building_level_name not found in building database
Undefined/Incorrect Culture:
Script Error in data/export_descr_ancillaries.txt, at line X, column Y culture type not recognized
Undefined/Incorrect Faction:
Script Error in data/export_descr_ancillaries.txt, at line X, column Y faction type not recognized
Undefined/Incorrect Character Type:
Script Error in data/export_descr_ancillaries.txt, at line X, column Y character type not recognized
Affects Trait_Name Trait_Points_Assigned Chance Percentage AcquireAncillary ancillary_name Chance Percentage
Each in EDA trigger must have one or more Affects and/or AcquireAncillary lines. The ancillary_name ancillary will be acquired Percentage of the time. For how an effects line works see the EDCT Trigger Section.
Example: AcquireAncillary ancillary_name Chance 50 will acquire the ancillary ancillary_name 50% of the time.
CTD Alert: Using an undefined ancillary in either the AcquireAncillary line(s) or the Condition section will result in the following CTD:
Script Error in data/export_descr_ancillaries.txt, at line X, column Y Ancillary not recognized
Notes:
- You can't trigger trait directly from what ancillary a general has, but you can give ancillaries for generals a NavalCommand bonus that doesn't show up, and use that attribute level as a trigger condition in the trait file. (from Makanyane)
Tools & Other Resources
Required programmes: Notepad (or other text editor)
External Links
Related Posts:
Posted here with the permission of the original author: Squid Please note that the content may have been altered since import. Subsequent amendments are welcome but are not the responsibility of the original author. |