Modifying spells and abilities for Dragon age 2

From Nexus Mods Wiki
Revision as of 10:33, 20 April 2011 by SydneyB (talk | contribs) (Target columns)
Jump to: navigation, search

Overview

This tutorial shows how to edit the gda file that contains the values used by the spells and abilities in Dragon Age 2. You can follow this tutorial to modify how spells and abilities work in your game or to make two mods that modify the same spells and abilities compatible.

Required tools

Modify spells and abilities

Spells and abilities gda file
Arcane shield spell row
  1. Download and unzip elys's tool GDApp - GDA Editor. You can unzip this tool anywhere in your PC.
  2. Run GDApp.exe and open the gda file that contains the spells by selecting the menu option File -> Open and then the gda file. Your file will look like the one shown in picture Spells and abilities gda file.
    Note: The default file that contains all spells and abilities is called abi_base.gda and it is inside your \Program Files\Electronic Arts\Dragon Age II\packages\core\data\2da.rim file. You can extract it using Mephales' pyGFF tool.
  3. In the Label column you can see the name of the spell or ability. Browse down until you find the one you want to modify.
  4. In this example we are going to hide the visual effect of the Arcane Shield spell, so we will browse down until finding the MAGE_ARCANE_ARCANE_SHIELD row as shown in picture Arcane shield spell row. All properties of the spell are set in this line.
  5. To hide the visual effects of the spell we will have to set to 0 or blank two columns:
    1. $BC1BA37: that contains the visual model used by the spell
    2. $A3229E72: that contains the animation used by the spell
  6. Browse to the right until you find those columns (use the right cursor arrow to move on the same row. This way you won't accidentally modify the properties of another spell).
  7. Type 0 (zero) on the $BC1BA37 column to replace the original value (301501 for the Arcane Shield spell) and press enter.
  8. Delete (using the Backspace key) the existing value on the column $A3229E72 (abi_m_arcane_shield.bnk for the Arcane Shield spell) and press enter
  9. You'll see that on the rows just below the one you are modifying there are the properties of the two improvements the Arcane Shield spell has: MAGE_ARCANE_ARCANE_SHIELD_UPGRADE_1 and MAGE_ARCANE_ARCANE_SHIELD_UPGRADE_2. Repeat the process on the $BC1BA37 and $A3229E72 of their lines.
  10. Save the modified file using the menu option File -> Save and entering the name of the gda file, and place it into your override folder.
  11. Play and enjoy!
Notes:
  • If the spell or ability you have modified was already active in your game you won't see the changes. Deactivate it and cast it again and then you should see the changes in your game.
  • Delete all the rows of the original gda file that you have kept unchanged and save it with a unique name. This way your gda file will be compatible with all other mods except the ones that modify the same spells or abilities you've edited.

Columns in the gda file

These are the columns that are contained in the spells and abilities gda file, and their contents:

Generic properties columns

  • ID: Number that is used as unique identifier of the spell. For example, for the Arcane Shield spell the identifier is 304040.
  • Label: Name of the spell or ability. For the Arcane Shield spell it is MAGE_ARCANE_ARCANE_SHIELD. The name is usually made of:
    • who can cast the spell (Mage, Rogue, Warrior, Monster, ...)
    • the tree where the spell is (Arcane, Entropy, Duelist, Berseker, ...). If the tree is one that belongs to a companion, the tree is identified by the name of the companion plus the name of the tree (Fenris_Lyrium, Varric_Marksman, Anders_Vengeance, ...)
    • the name of the spell (Arcane_Shield, Aura, Silence, ...)
  • string_name: For the Arcane Shield spell it is 6184464
  • string_description: For the Arcane Shield spell it is 6184766
  • $1ABD6665: For the Arcane Shield spell it is 6204883
  • icon: icon image that is shown for this spell. For the Arcane Shield it is mage_ArcaneShield
  • $BE5E5317: for the Arcane Shield spell it is 0.
  • $34FDF97C: for the Arcane Shield spell it is 0.
  • $E34F30D9: for the Arcane Shield spell it is 0.
  • $2871D9F7: for the Arcane Shield spell it is blank.

Prerequisites columns

  • $B2DE6B6B: contains the identifier of one of the spells that are before this one in the spell tree and are a prerrequisite fot being able to acquire this spell. For the Arcane Shield spell it is 304001, that is the identifier of the Arcane initial spell (MAGE_ARCANE_ROOT). For upgrades it contains the identifier of the main spell the upgrade applies to.
  • $99F338A8: contains the identifier of a second spell that that is before this one in the spell tree and is a prerrequisite fot being able to acquire this spell. For the Arcane Shield spell it is 0, as it doesn't requires that you have acquired two other specific spells to acquire it.
  • $80E809E9: contains the identifier of a third spell that that is before this one in the spell tree and is a prerrequisite fot being able to acquire this spell. For the Arcane Shield spell it is 0, as it doesn't requires that you have acquired three other specific spells to acquire it.
  • $0CA45F1D: contains the identifier of the spell that is a prerrequisite to acquire this spell but that is not before this one in the spell tree. For example, for the Aveline's friendship spell, this column contains the identifier of the WARRIOR_AVALINE_FRIENDSHIP_PREREQ spell that indicates the prerrequisites that Aveline has to fulfill to acquire the spell.
  • prereq_investment: indicates how many other spells of the same tree you need to be able to acquire this one. 0 indicates that you don't need to have acquired a specific number of spells of the same tree, 2 indicates that you have to acquire first at least 2 other spells of the same tree, ...
  • prereq_level: indicates the lowest level required to be able to acquire this spell. 0 indicates that you can have any level, 10 indicates that you need to be at least level 10, ...

Next columns

  • $535458ED: it has 0 value for all spells and abilities.
  • $2150237A: it has 0 value for all spells and abilities.
  • $78790B2E: it has 0 value for all spells and abilities.
  • $0A7D70B9: it has 0 value for all spells and abilities.
  • $AFE104A2: for the Arcane Shield spell it is 125.
  • $B6FA35E3: for the Arcane Shield spell it is 375.

Upgrades columns

  • upgrade_1: contains the identifier of a spell that is an upgrade to this one. For the Arcane Shield spell this is 304041 that is the identifier of the MAGE_ARCANE_ARCANE_SHIELD_UPGRADE_1 spell. This value is set to 0 in the upgrades.
  • upgrade_2: contains the identifier of a second spell that is an upgrade to this one. For the Arcane Shield spell this is 304042 that is the identifier of the MAGE_ARCANE_ARCANE_SHIELD_UPGRADE_2 spell. This value is set to 0 in the upgrades.
  • upgrade_3: contains the identifier of a third spell that is an upgrade to this one. For the Arcane Shield spell this is 0 because it only has two upgrades.
  • upgrade_4: contains the identifier of a fourth spell that is an upgrade to this one. For the Arcane Shield spell this is 0 because it only has two upgrades.

Immunity effects columns

  • $7FB0AE9F: it is different than 0 for the spells and abilities that have an immunity effect like IMMUNITY_FLANKING where it has a value of 323 or Aveline's Indomitable ability where is has a value of 333.
  • $549DFD5C: it is diffefrent than 0 only for the Aveline's Indomitable ability where it has a value of 358.
  • flags: it is diffefrent than 0 only for ABILITY_INVALID where it has a value of 1.

Category columns

  • type_category: indicates the type of the spell. The values indicate (as set in the abilitytype.gda file):
    • 0 = Invalid
    • 1 = Talent
    • 2 = Spell
    • 3 = Skill
    • 4 = Item (potions, poisons, etc)
  • $C04C7DA3: For the Arcane Shield spell it is 2.
  • type_cost: It has a value of 0 for spells and abilities that have no cost for casting them, and a value of 1 when it costs either stamina or mana to cast them.
  • type_use: It indicates how the spell or ability is used. The values indicate (as set in the abilityusetype.gda file):
    • 0 = Invalid spell or ability
    • 1 = Active spell or ability
    • 2 = Sustained spell or ability
    • 3 = Passive spell or ability
    • 4 = Upgrade spell or ability

Cost and cooldown columns

  • Cost: indicates the cost in either stamina or mana that is required to cast the spell. For the Arcane Shield spell it is 20.
  • cooldown: indicates the time in seconds that has to pass to be able to cast the spell again. For the Arcane Shield spell it is 5.
  • cooldown_group: this is only used for spells and abilities of enemies. It contains the identifier of the spell that rules the cooldown for the group of spells.

Target columns

  • $91C88311: It can have a value of 0 or 1. For the Arcane Shield spell it is 1.
  • target_type: indicates the type of the target of the spell or ability. The values indicate (as set in the tacticstargetstypes.gda file):
    • 1 = Self
    • 2 = Ally
    • 3 = Enemy
    • 4 = Placeable
    • 5 = Hero (only used by enemies spells and abilities)
    • 8 = CUT (only used by enemies spells and abilities)
    • 9 = CUT (only used by enemies spells and abilities)
    • 12 = CUT
    • 15 = CUT
  • target_auto: It can have a value of 0 or 1. For the Arcane Shield spell it is 1.
  • target_range: For spells that have an area of effect, it is different than 0. For example for ROGUE_ARCHERY_RAIN it has a value of 5.
  • $650E5503: For spells that have an area of effect, it is different than 0. For example for ROGUE_ARCHERY_RAIN it has a value of 2.

Source