Guide written by EvilSnail0fDestruktion
This is a guide on patching more spells into the Selectable Tome Spells mod (Nexus, mod.io), using the BG3 Modding Toolkit.
If you are patching spells from mod that isn’t yours, make sure you get permission to patch them first!
- Make sure both mods are installed that you are patching (Selectable Tome Spells, and the mod you’d like to add spells from). You may need to use Eclip5e’s Toolkit Project Converter (Nexus, GitHub) in order to unpack and import the mods to see the spells.
- Open toolkit, create new mod. just use Basic_Level_A
- in the upper left, go to project settings and add both mods as a dependency, then restart the toolkit
- in the Roottemplates section, find a book (if you can see mine thats better otherwise i first started with
BOOK_Wizards_Tome_Ornate_D, after you have one you can copy that one)
- when you copy the roottemplate, rename the book to match the spell, and change the description (theres the display name and the internal name, rename both, internal has no spaces)
- in the sidebar, search Use:
A) Open and clear this out
B) Add the SpellBook option
C) add the spell you want
D) add StatusDurationMoreThan(context.Source, "SELECT_TOME_SPELLS", 0) to use conditions (for deepened pact its "SELECT_DP_SPELLS" instead)
E) save and close the popup window
- open stats editor
- add a new object stat, use
CPS_PactOfTheTome as the parent, and your new book as the roottemplate
- save object stats
- add a treasure table. set the name to
CantripPactSpells and set the appendnotoverride column to yes, put I_<your book name from stats> in the treasure column, frequency of 1 and drop count of 1,1 (see screenshot) - once the table exists just add substat dont create new tables each time - make sure to save after editing
- back in the roottemplate, reselect the book and in the sidebar search stat
- switch it to the stat you just added
- search icon
- find the icon for the spell
- save roottemplates or all
- open the story editor
- create a new goal (only need to do this once not for each,the rest can just be added to the list like the treasure tables)
- in the KB section, add
IF LevelGameplayReady(_,_) THEN DB_PactofTomeBooks(<your book name>_<your book uuid>, "<technical spell name>"); (see screenshot)
- File -> build and reload
- repeat steps 4-19 for each cantrip you are adding
- For the level 3 spells for deepended pact, do the same except in stats for step 10:
A) create a new spell - you will need to match the type (ie shout, target, etc) of the original, but use a different name
B) set the original spell as the parent
C) remove spell slots from the use cost
D) add a cooldown of onceperrest
E) save, make sure the new spell you just made is the one used by the DB and the book!!
F) use DeepenedPactSpells instead of CantripPactSpells
and for step 18, the DB is DB_DeepenedPactBooks(<your book name>_<your book uuid>, "<technical spell name>");
- When you are done adding books, go to Project settings -> publish mod (maybe. test it works first, if you want)
I also added a tag so you can only use the books as a warlock and turned off the is pickpocketable so they can’t be transferred in inventories, both of those are settings in the sidebar of the roottemplate. once you set them on the first one if you just copy it you don’t need to set it for each

