NWNWiki
NWNWiki
3,719
pages

The cls_pres_*.2da files are the .2da files that define the prerequisites for prestige classes. These files are used only when referred to by the "PreReqTable" column of classes.2da.

Columns of cls_pres_*.2da
Name Description
ID (no actual name) Row numbers for the benefit of human readers. The game engine ignores the value in this field, instead generating sequential row numbers as the file is read. It is good practice to keep the entries in this field sequentially numbered to avoid confusion.
LABEL A descriptive name for this prerequisite, for the benefit of the human reader. This is ignored by the game.
ReqType The type of prerequisite. See the column notes for allowed values.
ReqParam1 Defines the prerequisite, such as which feat is required when the prerequisite type is "FEAT". Possible values depend on the ReqType column.
ReqParam2 The required value of the prerequisite, for those types that have values (such as skill ranks). Possible values depend on the ReqType column, with most types not using this column.

Most of the files of this type that are provided in the standard game are named for the prestige class to which they are associated. Specifically, the standard files of this type are

  • cls_pres_archer.2da,
  • cls_pres_asasin.2da,
  • cls_pres_blkgrd.2da,
  • cls_pres_divcha.2da (for champions of Torm),
  • cls_pres_dradis.2da,
  • cls_pres_dwdef.2da,
  • cls_pres_harper.2da,
  • cls_pres_kensei.2da (unused; abandoned implementation of weapon master),
  • cls_pres_palema.2da,
  • cls_pres_pdk.2da,
  • cls_pres_shadow.2da,
  • cls_pres_shiftr.2da, and
  • cls_pres_wm.2da.

Column notes[]

The possible prerequisite types are ARCSPELL, BAB, CLASSOR, CLASSNOT, FEAT, FEATOR, RACE, SAVE, SKILL, SPELL, and VAR. The meaning of the parameters for each of these types are as follows.

ARCSPELL
ReqParam1 is the required class level of an arcane spellcasting class (bard, sorcerer, or wizard).
BAB
ReqParam1 is the required base attack bonus.
CLASSOR
ReqParam1 is the row number of a required class in classes.2da. Meeting any of the CLASSOR prerequisites counts as meeting them all.
CLASSNOT
ReqParam1 is the row number of a prohibited class in classes.2da.
FEAT
ReqParam1 is the row number of a required feat in feat.2da.
FEATOR
ReqParam1 is the row number of a required feat in feat.2da. Meeting any of the FEATOR prerequisites counts as meeting them all.
RACE
ReqParam1 is the row number of a permitted racial type in racialtypes.2da. Meeting any of the RACE prerequisites counts as meeting them all.
SAVE
ReqParam1 indicates the type of save (1 for fortitude, 2 for reflex, or 3 for will), and ReqParam2 is the required saving throw bonus (without magical modifiers).
SKILL
ReqParam1 is the row number of a required skill in skills.2da, and ReqParam2 is the required number of ranks in that skill.
SPELL
ReqParam1 is the required class level of a spellcasting class.
VAR
ReqParam1 is the name of a local variable that will be checked, and ReqParam2 is the integer value this variable must have.

Local variables[]

BioWare has provided local variable prerequisites for all prestige classes, with a required value of 0. This means that if nothing is done, the variable will have no value, hence default to 0, meeting the prerequisite. This allows builders to set this variable to a different value to block advancement in a prestige class for whatever reason (e.g. needing to complete a specific quest first). As zero is a false value and non-zero values are considered truth, the names chosen by BioWare for these variables (using "Allow" instead of "Block") appear backwards. Nonetheless, the scripting command

SetLocalInt(oPC, "X2_AllowShiftr", TRUE);

will prevent oPC from gaining (more) shifter levels. The names of these local variables are as follows.

Class Variable
arcane archer X1_AllowArcher
assassin X1_AllowAsasin
blackguard X1_AllowBlkGrd
champion of Torm X2_AllowDivcha
dwarven defender X1_AllowDwDef
Harper scout X1_AllowHarper
pale master X2_AllowPalema
purple dragon knight DLA_AllowPDK
red dragon disciple X1_AllowDrDis
shadowdancer X1_AllowShadow
shifter X2_AllowShiftr
weapon master X2_AllowWM

There is additionally "X2_AllowKensei" defined in an unused file that is left over from when "weapon master" was going to be called "kensai".