Technical / Classes 2DA

This file defines the set of possible classes available in the game (PC and NPC). The table below describes each field in classes.2da and their purpose:

Column Name Description Values
Label This field defines the name of the class. Referenced? Any string value (w/o spaces).
Name This field contains a line number index in the talk table (.tlk) that corresponds to the class' name as it appears in game. Any valid integer within the range of line numbers in the .tlk file.
Plural This field contains a line number index in the talk table (.tlk) that corresponds to the class' plural name as it appears in game. Any valid integer within the range of lines available in the .tlk file.
Lower This field contains a line number index in the talk table (.tlk) that corresponds to the class' lowercase name as it appears in game. Any valid integer within the range of lines available in the .tlk file.
Description This field contains a line number index in the talk table (.tlk) that corresponds to the class' description as it appears in game. Any valid integer within the range of line numbers in the .tlk file.
Icon This field defines the name of the class icon, a TGA file either in a hak or in the UI\default\images\icons game folder. A string in the form ic_b_*, where * corresponds to the class name.
BorderedIcon This field defines the name of the class icon with a border, a TGA file either in a hak or in the UI\default\images\icons game folder. A string in the form ic_*, where * corresponds to the class name.
HitDie This field defines the class Hit Die, which corresponds to the number of hit points a class gains each level (not including the Constitution modifier). An even integer number, typically: 4, 6, 8, 10, or 12.
AttackBonusTable This field defines the Base Attack Bonus (BAB) progression file for the class. A string value in the form CLS_ATK_*, where * should correspond to the class name or an integer sequence. By default, NWN2 is prepackaged with 3 generic BAB progression files (2DAs): cls_atk_1, cls_atk_2, and cls_atk_3.
FeatsTable This field defines the Feats progression file for the class. A string value in the form CLS_FEAT_*, where * should correspond to the class name.
SavingThrowTable This field defines the Saving Throw progression file for the class. A string value in the form CLS_SAVTHR_*?, where * should correspond to the class name.
SkillsTable This field defines the Skill progression file for the class. A string value in the form CLS_SKILL_*?, where * should correspond to the class name.
BonusFeatsTable This field defines the bonus Feats progression file for the class. A string value in the form CLS_BFEAT_*, where * should correspond to the class name.
SkillPointBase This field defines the base number of skill points given at each level (exclude the Intelligence modifier). An even integer number, typically: 2, 4, 6, or 8.
SpellGainTable This field defines the Spell Gain progression file for the class. A string value in the form CLS_SPGN_*?, where * should correspond to the class name or **** if the class is not a spell casting class.
SpellKnownTable This field defines the Spell Known progression file for the class. A string value in the form CLS_SPKN_*?, where * should correspond to the class name or **** if the class is not a spell casting class.
PlayerClass This field defines whether a class is a playable character class or not. 1 = Playable class, 0 = Not playable class
SpellCaster This field defines whether a class is a spell casting class or not. 1 = Can cast spells, 0 = Cannot cast spell
MetaMagicAllowed This field defines whether a class can use metamagic feats or not. 1 = Can use metamagic feats, 0 = Cannot use metamagic feats
MemorizesSpells This field defines whether a class must memorize spells or not. 1 = The class requires spell memorization (i.e. Wizard), 0 = The class does not require spell memorization (i.e. Sourcer)
HasArcane This field defines whether a class casts arcane spells or not. 1 = Casts arcane spells, 0 = Doesen't cast arcane spells
HasDivine This field defines whether a class casts divine spells or not. 1 = Casts divine spells, 0 = Doesen't cast divine spells
HasSpontaneousSpells This field defines whether a class can cast spontaneous spells or not. 1 = Can cast spontaneous spells, 0 = Cannot cast spontaneous spells
SpontaneousConverstionTable This field defines the Spontaneous Spell progression file. A string value in the form CLS_SPON_*?, where * should correspond to the class name or **** if the class cannot cast spontaneous spells.
SpellSwapMinLvl Unknown. Default to ****.
SpellSwapLvlInterval Unknown. Default to ****.
SpellSwapLvlDiff Unknown. Default to ****.
AllSpellsKnown This field defines whether a class has access to all class spells (ie Cleric) or not. 1 = Class has access to all spells, 0 = Class must learn new spells or is not a spell casting class.
HasInfiniteSpells This field defines whether a class can cast known spells an infinite number of times per day or not. 1 = Class has infinite spells, 0 = Class ha finite spells (spell slots)
HasDomains This field defines whether the class has access to domain spells or not. 1 = Class has domain spells (i.e. Cleric), 0 = Class does not have domain spells
HasSchool This field defines whether a class has access to spell schools or not. 1 = Class has schools of magic, 0 = Class does not have schools of magic
HasFamiliar This field defines whether a class has access to a familiar or not. 1 = Class gets a familiar, 0 = Class does not get a familiar
HasAnimalCompanion This field defines whether a class has access to animal companions or not. 1 = Class gets an animal companion, 0 = Class does not get an animal companion
Str This field defines the recommended Strength for the class (for character creation purposes). Any integer number from 3 to 20.
Dex This field defines the recommended Dexterity for the class (for character creation purposes). Any integer number from 3 to 20.
Con This field defines the recommended Constitution for the class (for character creation purposes). Any integer number from 3 to 20.
Wis This field defines the recommended Wisdom for the class (for character creation purposes). Any integer number from 3 to 20.
Int This field defines the recommended Intelligence for the class (for character creation purposes). Any integer number from 3 to 20.
Cha This field defines the recommended Charisma for the class (for character creation purposes). Any integer number from 3 to 20.
PrimaryAbil This field defines the class' primary ability/attribute. One of STR, DEX, CON, WIS, INT, or CHA.
SpellAbil This field defines the primary spell casting ability/attribute. One of STR, DEX, CON, WIS, INT, or CHA.
AlignRestrict This field defines the alignment restriction for the class. A hexadecimal number.1 See below.
AlignRstrctType This field defines the type (axis) of alignment restriction for the class A hexadecimal number.2 See below.
InvertRestrict This field inverts the alignment restriction requirements. 1 = Invert, 0 = Don't invert
Constant This field defines the class constant. It has no value in NWScript. A string value in the form CLS_TYPE_*, where * should correspond to the class name.
EffCRLvl01 This field defines the effective CR for the class at level 1 (for ECL purposes). Any integer number greater than 0. Default is 1.
EffCRLvl20 This field defines the effective CR for the class at level 20. Any integer number greater than 0. Default is 20.
PreReqTable This field defines the Prerequisites file for the class. A string value in the form CLS_PRES_*?, where * corresponds to the class name or **** if the class has no prerequisites. This is for prestige classes only.
MaxLevel This defines the maximum level for the class. Any integer number greater than or equal to 0. 0 = unlimited levels.
XPPenalty This defines the experience point penalty for the class (for ECL purposes). Any integer number greather than or equal to 0.
BonusSpellcasterLevelTable This field defines the bonus Spell Levels progression for the class. A string value in the form CLS_BSPLVL_*?, where * corresponds to the class name or **** if the class is not a spell casting class/has no bonus spell level progression.
ArcSpellLvlMod Unkown. Default to 0.
DivSpellLvlMod Unknown. Default to 0.
EpicLevel This field defines the level at which the class becomes epic. A signed integer value greater than or equal to -1. -1 = Level 21, 0 = Not epic.
Package This field defines the starting package for the class (for character creation purposes). An integer line number index in packages.2da?.
FEATPracticedSpellcaster Unkown. Line number index into a file. TLK? Unkown.
FEATExtraSlot Unkown. Line number index into a file. TLK? Unknown.
CharGen_Chest This field contains the resource name of the clothing object (blueprint) worn in the character's chest slot at creation time. Any string value corresponding to an actual clothing blueprint in the items palette or **** if nothing is worn in that slot. Linked to chargenclothes.2da?
CharGen_Feet This field contains the resource name of the clothing object (blueprint) worn in the character's feet slot at creation time. Any string value corresponding to an actual clothing blueprint in the items palette or **** if nothing is worn in that slot. Linked to chargenclothes.2da?
CharGen_Hands This field contains the resource name of the clothing object (blueprint) worn in the character's hands slot at creation time. Any string value corresponding to an actual clothing blueprint in the items palette or **** if nothing is worn in that slot. Linked to chargenclothes.2da?
CharGen_Cloak This field contains the resource name of the clothing object (blueprint) worn in the character's cloak slot at creation time. Any string value corresponding to an actual clothing blueprint in the items palette or **** if nothing is worn in that slot. Linked to chargenclothes.2da?
CharGen_Head This field contains the resource name of the clothing object (blueprint) worn in the character's head slot at creation time. Any string value corresponding to an actual clothing blueprint in the items palette or **** if nothing is worn in that slot. Linked to chargenclothes.2da?

1 Alignment Restriction Values

Value Description
0x00 No Restrictions
0x01 No Neutral
0x02 No Lawful
0x03 No Lawful, No Neutral
0x04 No Chaotic
0x05 No Chaotic, No Neutral
0x06 No Chaotic, No Lawful
0x07 No Chaotic, No Lawful, No Neutral
0x08 No Good
0x09 No Good, No Neutral
0x0A No Good, No Lawful
0x0B No Good, No Lawful, No Neutral
0x0C No Good, No Chaotic
0x0D No Good, No Chaotic, No Neutral
0x0E No Good, No Chaotic, No Lawful
0x0F No Good, No Chaotic, No Lawful, No Neutral
0x10 No Evil
0x11 No Evil, No Neutral
0x12 No Evil, No Lawful
0x13 No Evil, No Lawful, No Neutral
0x14 No Evil, No Chaotic
0x15 No Evil, No Chaotic, No Neutral
0x16 No Evil, No Chaotic, No Lawful
0x17 No Evil, No Chaotic, No Lawful, No Neutral
0x18 No Evil, No Good
0x19 No Evil, No Good, No Neutral
0x1A No Evil, No Good, No Lawful
0x1B No Evil, No Good, No Lawful, No Neutral
0x1C No Evil, No Good, No Chaotic
0x1D No Evil, No Good, No Chaotic, No Neutral
0x1E No Evil, No Good, No Chaotic, No Lawful
0x1F No Evil, No Good, No Chaotic, No Lawful, No Neutral

2 Alignment Restriction Type

Value Description
0x0 None
0x1 Law/Chaos
0x2 Good/Evil
0x3 Both