Welcome to the TWC Wiki! You are not logged in. Please log in to the Wiki to vote in polls, change skin preferences, or edit pages. See HERE for details of how to LOG IN.

Difference between revisions of "Export descr ancillaries.txt (RTW Modding)"

From TWC Wiki
Jump to navigationJump to search
m (Trigger Section)
(No difference)

Revision as of 23:48, 7 October 2008

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:

Initial content for this article was based on: Org Scriptorium Article

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.