ABI 2da

From Dragon Age Toolset Wiki
Jump to: navigation, search

The ABI_ 2da defines all skills, spells, talents and item abilities in the game.

The 2da is defined as an m2da in the M2DA_base 2da and has an ID of 1. It can be extended by m2da fragments which have names starting with ABI_. It can be referenced in scripting using the TABLE_ABILITIES_TALENTS and TABLE_ABILITIES_SPELLS constants defined in 2da_constants_h.

Structure

Column Type Description
ID int A number that uniquely identifies the entry (unless creating an M2DA override). ID numbers are listed from smallest to highest within a given file but do not need to be consecutive.
label string Human-friendly description. For item abilities this appears in the item's Activated Ability drop-down list.
namestrref int String Ref ID of the name of the ability.
descstrref int String Ref ID of the description of the ability.
tooltipstrref int String Ref ID of the buff/deff format on mouse over. (Caution: Abilities with ID over 500000 is considered as debuff and will not take the format of normal buffs.)
strid_effect int String Ref ID of the buff/debuff description on mouse over.
icon string Name of the icon file, without extension.
abilitytype int The type of ability. See abilitytype.xls and the ABILITY_TYPE_* constants in 2da_constants_h:
  • 1 - talent
  • 2 - spell
  • 3 - skill
  • 4 - item
abilitymode int
conditions int Flags that determine what conditions must be met before this ability can be used:
  • 0x00000001 - One-handed weapon
  • 0x00000002 - Shield
  • 0x00000004 - Ranged weapon
  • 0x00000008 - Behind target
  • 0x00000010 - Mode active (refers to condition_mode below)
  • 0x00000020 - Humanoid target
  • 0x00000040 - Dual wielding
  • 0x00000080 - Two-handed weapon
  • 0x00000100 - Dog
  • 0x00000200 - Mana user
condition_mode int The ID of a modal ability that must be active before this ability can be used if Conditions is set to 16.
condition_group int This links modal abilities. Use the lowest integer of the group. Whenever one of these abilities is used it will turn off the other linked abilities.
cost float How much Mana/Stamina an ability will cost.
costupkeep float How much from the max Mana/Stamina an ability takes away until it is deactivated (modal abilities only)
prereqability int The ID of a prereq ability.
prereqlevel int Minimum character level to pick it up.
prereqattribute int Which attribute is a prereq for the ability. See properties.xls for what this number maps to.
prereqattvalue int The value the specified attribute has to be greater than.
guitype int This is the category that the ability is grouped into. Things like, "Creation" and "Primal". See guitypes.xls.
targettype int A bit operator which indicates which categories of targets the ability will affect. See targettype.xls and Targeting Behavior
autotarget int If set to TRUE then it will automatically target a selected hostile or friendly creature.
range int Range:
  • 0 - melee (touching target)
  • 1 - close spell range (barely outside melee)
  • 2 - moderate spell range (typical cone range)
  • 3 - long spell range (edge of hostile detection range)
  • 4+ - extremely long range
speed int This determines how long the ability takes to activate:
  • 0 - instant
  • 1 - plays the castanim animation
  • 2+ - displays the interruptable cast-bar and plays the conjureanim animation for its duration; once the cast bar is full plays the castanim animation
usetype int Whether the ability is a passive, activated, or sustained. See abilityusetype.xls:
  • 2 - sustained
  • 3 - passive
  • 4 - activated
spellscript string This is the script that is run when the ability is used. Includes the file extension ".ncs".
cooldown float The ability cooldown in seconds.
conjurevfx int This is the VFX that is played during both the conjure sequence and the cast sequence of the ability.The value is an ID from VFX_ 2da.
blendtree string Set by animators for abilities that change the default animations of a PC or party member, e.g. when you use "Shield Wall" your idle becomes a defensive crouch using your shield prominently.
conjureanim int The animation to play during the conjure sequence. A list of values is located at ANIM_base.xls.
castanim int The animation to play during the casting sequence. A list of values is located at ANIM_base.xls.
projectile int This is the model name for projectiles. See PRJ_base.xls for the integers. 1 is a common one for arrow.
autocancel int Obsolete
autodraw int This determines how the ability handles the drawn state of weapons. See Targeting Behavior
  • 0 - ignore weapon state
  • 1 - force a weapon to be drawn before use
  • 2 - force a non-staff to be sheathed before use

Any spell with a speed higher than 1 should have this set to 2. The sheathing animation occurs during the conjure sequence without slowing it down, and putting away the weapon will prevent clipping.

threat_use float Obsolete
threat_impact float This is the amount of threat generated by each impact. May be obsolete.
aoe_type int
  • 1 - a circle
  • 2 - a cone
aoe_idx int Defined areas of effect. The value is an ID from persistent 2da.
aoe_param1 float Either the radius of the circle or degree arc of the cone.
aoe_param2 float Obsolete
vfx_impact0 int The VFX that is used at each impact. The value is an ID from VFX_ 2da. See Ability_GetImpactLocationVfxId
vfx_impact1 int This isn't used by the engine, but can be used as a constant in scripts. Many ITEMS use this value to hold the VFX ID to be used in scripting. The value is an ID from VFX_ 2da. See Ability_GetImpactObjectVfxId.

Typically used by duration-based and modal abilities to reference the crust VFX to be used.

flags int Bitwise flags (see ABILITY_FLAG_* constants):
  • 1 - ranged weapon attack (for an ability uses the animation of the equipped ranged weapon)
  • 64 - end on 'out of mana' (for a modal abilty that expires when stamina/mana runs out)
  • 128 - dispellable (for an ability that is subject to dispelling)
  • 256 - curable (for an ability that is subject to curing)

So, for example, use 192 for a dispellable, modal ability that expires when the caster's mana runs out.

showintactics int Set to 1 for abilities that PC or party members will want to use in the tactics system.
showinchargen int Bitwise flags:
  • 1 - [Undocumented]
  • 2 - to show in chargen only
  • 4 - to show in talent/spell/skill book

So, for example, use 7 to show in both chargen & talent/spell/skill book

passive_id int Refers to an ID in passive_abilities 2da
crust_id int Obsolete
resistance int [Undocumented]
damageinfo int [Undocumented]
condition_appgroup int

Set a condition to restrict use of an ability to a specific appearance group. Only a creature that sports an appearance that belong to this group will be allowed to use the abilities. The AppearanceRestrictionGroup bit flag in the APR_ 2da determines which appearance groups a creature belongs too.

ProcessWithEvent int If specified this ability does not use any of the normal ability functionality but instead fires and processes and event - meaning it even works when the game is paused. Use with care.
fatigue float If it is a modal ability, this determines the level of fatigue it will incur while active.

Remarks

During Dragon Age's development this file was automatically updated from an internal database. End user builders can update it manually.

When making abilities the best way to proceed is to copy the nearest analogous ability and then modify the specific columns you need to.