QDMULTI is a library for mods that install multiclass kits in the Enhanced Infinity Engine (v2.0+).
The newest version of this library is available on GitHub.
Background
Beamdog released the Enhanced Infinity Engine (v2.0) with the release of their original game, Siege of Dragonspear. Among numerous other functionality changes, this patch enabled the character creation menus to display multiclass kits. Unfortunately, any kit that would appear in the multiclass menus would not gain any of its unique class bonuses, due to the way that the engine handled multiclass kits. This library fixes that problem, and enables multiclass kits to both appear properly in character creation and apply the appropriate bonuses during character advancement.Usage
If you would like to tie your mod's multiclass kits into the qdmulti framework, then you first need to download the latest version of qdmulti and include it somewhere in your mod's installation files. After adding this file to your mod structure, you can enable the functionality in your mod's compenents by adding the following code to your mod's installation files (either .tp2 or .tpa). This line should be included before you use the ADD_KIT function (if you are adding a new kit).INCLUDE ~your/folders/here/qd_multiclass.tpa~This line should be included after you use the ADD_KIT function (if you are adding a new kit).
LAF qd_multiclass STR_VAR kit_name = ~kitname~ //the internal name for your kit (e.g. QDMAGUS) kit_clab = ~kitclab~ //the internal name of your kit's clab file, without the .2da extension base_class = ~X~ // this can take 6 values: [F]ighter, [P]riest, [D]ruid, [R]anger, [M]age, [T]hief ENDOf the parameters utilized, the only one that I feel needs further explanation is the "base_class" parameter. This parameter handles which class the kit abilities will be tied to; if you say that a multiclass kit's base class is fighter ("base_class = F"), then it will gain the assigned kit bonuses from increases in its fighter level.