About this mod
Fixes multiclass characters using the wrong casting-ability when using generic effects like scrolls, illithid powers, items etc.
- Requirements
- Permissions and credits
- Changelogs

Fixes multiclass characters using the wrong casting-ability when using generic effects like scrolls, illithid powers, items etc.
Mod Details
This mod fixes the long standing bug that causes multiclass characters to use the wrong spell-casting ability when calculating generic non class-granted spells/effects (e.g. scrolls, illithid powers, items etc.). Currently most generic non-class specific spells/effects will fallback to calculating their effects with the spell-casting ability of the last brand‑new class that a character has taken, which in many cases is actually the least preferable choice (since you don't usually build your stats around that new secondary class).
For example, currently if a character takes 3 levels in Wizard, then 1 level in Cleric, then 5 more levels in Wizard; generic effects will actually use Wisdom as their 'PreferredCastingAbility' for calculating generic non-class effects (e.g. scrolls), since Cleric is the last brand‑new class that they've added.
(Note that class-specific spells/spellbooks aren't affected, since spells that are granted by classes are generally specified to use the spell-casting ability of that class, it's only generic effects that have no ability/class specified that use the bugged fallback).
Compatibility Notes
Requires Norbyte's Script-Extender, since it has to manipulate the properties of entities directly.
The position of the mod in the load-order shouldn't particularly matter, as the mod does everything via Script-Extender events, there's no files that should be overwritten/merged with other mods. The temporary changes the mod makes will be logged to the Script-Extender console if you want to check them for any reason; the console isn't enabled by default, but can be enabled by adding an entry to the Script-Extender settings file.
Technical Details
It seems like the bug is caused by the fact the fallback 'PreferredCastingAbility' property just uses the casting-ability of the last class that is in the entity's class-summary table (Entity.Classes). The class summary table seems to be generated by going through a character's level-up information level-by-level to create the summary, which means every time it encounters a brand‑new class, that class will be added as a new entry at the end of the table, but previous classes that already have an entry will just have their level property incremented without their position changing.
For example (for a character that levels up like: 3 Wizard => 3 Cleric => 6 Wizard):
"Classes" : [
{
// [Wizard]
"ClassUUID" : "a865965f-501b-46e9-9eaa-7748e8c04d09",
"Level" : 9,
"SubClassUUID" : "c059dca1-c17d-4dce-8260-83ede5070eac"
},
{
// [Cleric] (Last in table, will be used as the fallback for generic spells)
"ClassUUID" : "114e7aee-d1d4-4371-8d90-8a2080592faf",
"Level" : 3,
"SubClassUUID" : "4b5da2f5-b999-4623-8bff-a63df5560fb3"
}
]
This mod fixes the issue by examining any multiclass characters, and checks which is your strongest class + casting-ability to be using for generic spell-casting, and re-arranges the table to put that class at the end of it. The class-summary table (Entity.Classes) is created from scratch whenever you load a save, or level up; so you need to keep the mod active to actually have the fix keep working. But that does mean if you run into any issues, any changes the mod makes should only be temporary and not stored permanently in the save-file, and should be reverted if you just uninstall the mod.
[BS] Mod Collection
Other mods of mine that you might be interested in: