|Column Label||Valid Values||Cleric||Paladin||Druid||Ranger||Sorcerer||Bard||Wizard||Description and Notes|
|SpellGainTable||Resref: 2da name||CLS_SPGN_CLER||CLS_SPGN_PAL||CLS_SPGN_DRU||CLS_SPGN_RANG||CLS_SPGN_SORC||CLS_SPGN_BARD||CLS_SPGN_WIZ||The name of the .2da file (without the extension) defining how many spell slots this class has at each level. The format of this .2da must match that of the cls_spgn_*.2da files. The standard values for this column are "CLS_SPGN_" followed by the class name, possibly abbreviated.|
|SpellKnownTable||Resref: 2da name||****||CLS_SPKN_SORC||CLS_SPKN_BARD||The name of the .2da file (without the extension) defining how many spells are known by this class at each level (for classes with a limited number of known spells, specifically bards and sorcerers). The format of this .2da must match that of the cls_spkn_*.2da files. The standard values for this column are "CLS_SPKN_BARD" and "CLS_SPKN_SORC".|
|SpellCaster||1, 0||1||1||1||1||1||1||1||Leave as 0 for custom classes that add to existing spell casting classes. If you set to 1, this will prevent the DivSpellLvlMod and ArcSpellLvlMod from working. Set to 1 for a custom class with its own spell list.|
When set to 1 (including when Spellcaster is 1), indicates this class gains spells by memorization (e.g. wizards, clerics)
0 means a Sorcerer or Bard who get spells at level up - see SpellKnownTable.
When set to 1 (including when Spellcaster is 1), indicates that the spell caster is restricted to selecting spells from a spellbook (e.g. wizards, sorcerers).
0 means all spells are unlocked to pick from.
|PickDomains||1, 0||1||0||0||0||0||0||0||When set to 1 (including when Spellcaster is 1), indicates that the spell caster can choose clerical domains as part of their class|
|PickSchool||1, 0||0||0||0||0||0||0||1||When set to 1 (including when Spellcaster is 1), indicates that the spell caster can choose a spell school as part of their class|
|LearnScroll||1, 0||0||0||0||0||0||0||1||When set to 1 (including when Spellcaster is 1), indicates that the spell caster can learn spells from reading scrolls (e.g. wizards)|
When set to 1, indicates that the spell caster uses arcane spells (otherwise they are divine spell casters)
TBH we have no idea what this does.
|ASF||1, 0||0||0||0||0||1||1||1||When set to 1, indicates that the spell caster is subject to the effects of arcane spell failure|
|SpellcastingAbil||STR, DEX, CON, WIS, INT, CHA||WIS||WIS||WIS||WIS||CHA||CHA||INT||Ability score used as the primary source of their magical powers|
|SpellTableColumn||Column name in spells.2da||Cleric||Paladin||Druid||Ranger||Wiz_Sorc||Bard||Wiz_Sorc||Column in the spells.2da file indicating which level the spell is. Default values are: Bard, Cleric, Druid, Paladin, Ranger and Wiz_Sorc. New ones can be added as new columns.|
Caster Level multiplier
Doesn't seem to actually do anything to GetCasterLevel or the caster level set on effects.
|MinCastingLevel||Integer||1||4||1||4||1||1||1||Minimum level required to cast spells|
|MinAssociateLevel||Integer||255||255||1||6||1||255||1||Minimum level for the class to receive their Animal Companion and increase its level (Does not work for Familiars)|
|CanCastSpontaneously||1, 0||1||0||0||0||0||0||0||Indicates that spells can be cast spontaneously|
A float which is - presumably - used to calculate the final GetCasterLevel value (and the innately stored one for dispel magic when effects are applied) so 2.0 would mean a level 1 caster gets a GetCasterLevel of 2 instead of 1. Unknown what partial values are rounded to.
After some testing doesn't seem to actually do anything to GetCasterLevel or the caster level set on effects so may be just broken.
This is either 1 (first level taken) or a number later to push back spellbooks. All usual lines then start from that level. For instance Rangers have this set to 4, and start learning spells at that level. Before it skips it entirely.