Creature Properties
Overview
The creature property system is the heart of the rules engine and defines all the numerical values that make up a character in Dragon Age.
Detailed Description
properties.xls
The two dimensional data array defined in Properties.xls defines numerical values that exist on every creature in the game. All properties are float32 and all rules logic of the game is based on with floating point math.
This dynamic data driven approach to rules relevant stats is new to Dragon Age: Origins and makes the engine extremely flexible for Designers. It enables the game to have a rules logic that is almost completely softcoded in script and data.
The following is an excerpt from the 2da that lists all rows present in the initial ship version of Dragon Age: Origins but only shows the most important columns. Note that DLC or expansion content may be overriding individual lines in the 2da.
ID | Stat | Type | Min | Max | Comment |
int | string | string | float | float | comment |
0 | INVALID | INVALID | 0 | 0 | |
1 | Strength | ATTRIBUTE | 0 | 1000 | STR |
2 | Dexterity | ATTRIBUTE | 0 | 1000 | DEX |
3 | Willpower | ATTRIBUTE | 0 | 1000 | WIL |
4 | Magic | ATTRIBUTE | 0 | 1000 | MAG |
5 | Cunning | ATTRIBUTE | 0 | 1000 | CUN |
6 | Constitution | ATTRIBUTE | 0 | 1000 | CON |
7 | Health | DEPLETABLE | 1 | 9999 | Hit Points |
8 | Mana_Stamina | DEPLETABLE | 0 | 9999 | Mana or Stamina, based on class |
9 | Attack | ATTRIBUTE | 0 | 1000 | Attack Power |
10 | Defense | ATTRIBUTE | 0 | 1000 | Defense |
11 | Armor | ATTRIBUTE | 0 | 1000 | Armor Mitigation Potential |
12 | DamageScale | ATTRIBUTE | 1 | 10 | Based Damage Scaling (for difficulty settings and ranks) |
13 | SpellPower | ATTRIBUTE | 0 | 1000 | Spellpower (Max(MAG-10,0)+Effects) |
14 | Regeneration_Health | ATTRIBUTE | 0 | 50 | Health Regeneration Rate (Explore Mode) per tick. |
15 | Level | SIMPLE | 0 | 99 | Current Character Level. |
16 | Displacement | ATTRIBUTE | 0 | 100 | Chance to outright evade any physical attach attempt (aka Dodge) |
17 | Inventory_Size | SIMPLE | 0 | 1000 | Inventory Slot size (on party) |
18 | AI_BEHAVIOR | SIMPLE | 0 | 1000 | Selected AI Behavior |
19 | Experience | SIMPLE | 0 | 186001 | Experience Points |
20 | Flanking_Angle | ATTRIBUTE | 0 | 180 | The angle at which this creature is able to flank an enemy (default is 90) |
21 | Melee_Crit_Modifier | ATTRIBUTE | -100 | 200 | The +melee crit modifier |
22 | Missile_Shield | ATTRIBUTE | 0 | 100 | Chance to avoid missiles (shields and some spells increase this) |
23 | Ranged_Crit_Modifier | ATTRIBUTE | -100 | 200 | The +ranged crit modifier |
24 | Ranged_Aim_Speed | ATTRIBUTE | -3 | 6 | The character's speed bonus or penality when aiming with ranged weapons |
25 | BaseAttackRating | SIMPLE | 0 | 1000 | The creature's cached base attack rating |
26 | BaseDefenseRating | SIMPLE | 0 | 1000 | The creature's cached base defense rating |
27 | CurrentClass | SIMPLE | 0 | 31 | The creature class (index into cla_base.xls) |
28 | Regeneration_Health_Combat | ATTRIBUTE | 0 | 20 | The creature's health regeneration rate (per tick) in combat. |
29 | Regeneration_Stamina | ATTRIBUTE | -20 | 50 | The creature's stamina regeneration rate (per tick) in explore mode. |
30 | Regeneration_Stamina_Combat | ATTRIBUTE | -20 | 20 | The creature's stamina regeneration rate (per tick) in combat mode. |
31 | AttackSpeedModifier | ATTRIBUTE | 0 | 1.5 | The creature's universal melee attack speed modifiers (used by haste, momentum, etc.) |
32 | Resistance_Mind | ATTRIBUTE | -100 | 100 | Mental Resistance. |
33 | Resistance_Physical | ATTRIBUTE | -100 | 100 | Physical Resistance. |
34 | Attribute_points | SIMPLE | 0 | 100 | Holds any unspent attribute points the creature has. If this is != 0, the UI shows the levelup button. |
35 | Skill_points | SIMPLE | 0 | 100 | Holds any unspent skill points the creature has. If this is != 0, the UI shows the levelup button. |
36 | talent_spell_points | SIMPLE | 0 | 100 | Holds any unspent talent points the creature has. If this is != 0, the UI shows the levelup button. |
37 | Background | SIMPLE | 0 | 10 | The character's origin (index into backgrounds.xls). |
38 | specialization_points | SIMPLE | 0 | 2 | Holds any unspent specialization points the creature has. |
39 | DamageBonus | ATTRIBUTE | -100 | 100 | Universal physical attack damage bonus on the creature. |
40 | Threat_Decrease_Rate | SIMPLE | -1000 | 1000 | The rate at which the creature's threat rating decays. |
41 | Fatique | ATTRIBUTE | -25 | 250 | The creature's current Fatigue (% increase of ability cost). |
42 | Damage_Resistance_Fire | ATTRIBUTE | -100 | 75 | The creature's damage resistance to fire. All fire damage is reduce by %. |
43 | Damage_Resistance_Cold | ATTRIBUTE | -100 | 75 | The creature's damage resistance to cold. All cold damage is reduce by %. |
44 | Damage_Resistance_Electricity | ATTRIBUTE | -100 | 75 | The creature's damage resistance to lightning. All lightning damage is reduce by %. |
45 | Damage_Resistance_Nature | ATTRIBUTE | -100 | 75 | The creature's damage resistance to nature. All nature damage is reduce by %. |
46 | Damage_Resistance_Spirit | ATTRIBUTE | -100 | 75 | The creature's damage resistance to spirit. All spirit damage is reduce by %. |
47 | Damage_Shield_points | ATTRIBUTE | 0 | 9999 | Magical, damage mitigating shield (all damage types) on the creature. Creature immune to damage until the shield is depleted. |
48 | Damage_Shield_strength | ATTRIBUTE | 0 | 100 | The maximum amount of damage the creature's magical shields can absorb (not used yet.) |
49 | Damage_OffHand | ATTRIBUTE | 0 | 9999 | Display only cache of creature's weapon damage potential. This value is only used to marshal data into the UI, it does not have any rules implications. |
50 | Damage_MainHand | ATTRIBUTE | 0 | 9999 | Display only cache of creature's weapon damage potential. This value is only used to marshal data into the UI, it does not have any rules implications. |
51 | Healing_Effect_Factor | ATTRIBUTE | 100 | 200 | Percentage modifier of how effective healing is on the creature. Blood magic does NOT use this field, it is coded in effect_heal_h instead. |
52 | Spell_resistance | ATTRIBUTE | 0 | 100 | Creature 'hostile magic resistance'. % Chance to avoid any hostile magic. |
53 | AP_BONUS | ATTRIBUTE | -100 | 100 | Armor Penetration bonuses are stored her. |
54 | CriticalRange | ATTRIBUTE | 0 | 200 | The 'range' which critical hits use. 150 would mean up to 150% of normal damage. |
55 | Fire_Damage_Bonus | ATTRIBUTE | 0 | 30 | Percentage bonus to all fire damage dealt by the user (spells, staves, etc.) |
56 | Spirit_Damage_Bonus | ATTRIBUTE | 0 | 30 | Percentage bonus to all spirit damage dealt by the user (spells, staves, etc.) |
57 | Cold_Damage_Bonus | ATTRIBUTE | 0 | 30 | Percentage bonus to all cold damage dealt by the user (spells, staves, etc.) |
58 | Nature_Damage_Bonus | ATTRIBUTE | 0 | 30 | Percentage bonus to all nature damage dealt by the user (spells, staves, etc.) |
59 | Electricity_Damage_Bonus | ATTRIBUTE | 0 | 30 | Percentage bonus to all lightning damage dealt by the user (spells, staves, etc.) |