Classes

From Dragon Age Toolset Wiki
Jump to: navigation, search
Scripting

Work in progress

Dragon Age: Origins is a strongly class based RPG featuring 3 distinct character classes with exclusive abilities and progressions.

Description

This page explains the technical implementation and role of character classes in Dragon Age: Origins and is aimed at people wishing to create new content, modifications or adventures using the Dragon Age ruleset.

The classes of the game are defined in CLA_base.xls. The following is an excerpt of the game rules and systems relevant columns in the file and illustrates how data relating to character class is stored.

ID Label BaseHealth BaseManaStamina DepletableProgression StrAdjust ConAdjust WillAdjust MagAdjust CunAdjust DexAdjust BaseAttack BaseDefense DefensePerLevel HealthPerLevel LevelsPerAbility LevelsPerSkill DamagePerLevel
0 INVALID **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
1 Warrior 100 100 5 4 3 0 0 0 3 60 45 1 6 1 3 0.4
2 Wizard 85 115 6 0 0 4 5 1 0 50 40 1 4 1 3 0.1
3 Rogue 90 90 4 0 0 2 0 4 4 55 50 1 5 1 2 0.2

For details on the meaning of each column, please refer to CLA_base.xls.

Character Creation Scripting

Dragon Age characters are 'blank' when the game starts, with all their Creature Properties initialized to default values.

The character generation scripts, through interaction with the Character Creation UIs, use the data in CLA_base.xls to construct the character based on the player's choices. They are also responsible for any modification to the character's base stats during the Levelup process.

Note that major party members will use the character creation scripts, hostile enemies use a speed optimized and abreviated algorithm to determine their attributes based on rank, AI package and level.

Scripts

The scripts that handle most of character creation and levelup are:

  • sys_chargen - Entry point for all character creation based Events that get routed into this file from module_core.nss.
  • sys_chargen_h - Library containing most of the underlying logic for modifying Creature Properties based on the game rules.
  • sys_chargen_engine - Include defining a few constants and containing some snippets of relevant engine code for reference.
  • sys_autolevelup_h - File defining the logic used by Party Member NPCs to level up when they are hired. After that, they use normal levelup.
  • sys_autoscale_h - Contains shared logic used for determining levelup condition and code for creature autoscaling.
  • sys_rewards_h - File containing XP reward entry point and levelup checks.