How to use the new spellbook generator excel spreadsheet

First, make sure you have the latest spells.2da file imported into the excel spreadsheet. To do this:
  1. File
  2. Open
  3. [select spells.2da]
  4. Open
  5. Delimited
  6. Next
  7. Space
  8. Finish
  9. [select cell a4]
  10. {End}
  11. {Shift+RightArrow}
  12. {End}
  13. {Shift+DownArrow}
  14. {Ctrl+C}
  15. [select cell a4 in the "input spells" worksheet in the newspellbooks spreadsheet]
  16. {Ctrl+V}


Make sure the Location reference (Location!B3) points to a valid location on your hard disk, preferably NOT where the PRC 2da files are. Make sure you keep the trailing slash.

Fill out the spells.2da, feat.2da, iprp_feats.2da, and tlk starting row locations.

Switch to the "spellbooks" worksheet. Here every class is listed with ALL its spells even those not created yet. Create a new section on the far right hand side following the layout of the others.

Copy the 3 columns you just created, except for the header row, and copy'n'paste them into "Location" worksheet just below the Label, Spelllist and Level columns.

Delete any spells that arent created yet and move spells below those up to create a single continuous block.

For the first spell in your list, fill out the "spellscript prefix" and "lable prefix" columns. Then duplicate them down the list by selecting each in turn and double-clicking in the small box that appears to the bottom right of the cell. Fill in cls_feat_start in the same manner.

At this point, the 2da files are ready to be exported. Select each of the following worksheets in turn, iprp_feats feat spells cls_spell cls_feat_template, and for each of them press Ctrl+Shift+M then select "Write 2da file".
This will output the 2da files into the location you specified earlier. Rename the cls_spell.2da file to have the same ending as that classes cls_feat_*.2da file, for example cls_spell_barb.2da for the barbarian. For iprp_feats.2da, feat.2da, and cls_feat_template.2da, you have to splice the rows into the PRC versions of those files, removing any spare end rows as apropriate.

For the spells per day, you have to make a cls_spbk_*.2da file manually. I suggest copying one of the existing ones and then editing that. Remember that 0 spells for a level can have bonus spells added to it, but a null value (****) cannot.

Each spellbook needs to have its own set of scripts. I suggest you make a copy of the prc_ocu_*.nss files and edit/rename them for your class. You need to replace the class constant inside the file and rename the file to match the "spellscript prefix" you specified in the spreadsheet

There are several functions that need to be expanded to include any new spellbook.
inc_newspellbook needs the constants updating at the top, SPELLBOOK_ROW_COUNT, SPELLBOOK_IPRP_FEATS_START, and SPELLBOOK_IPRP_FEATS_END, as well as updating GetAbilityForClass() to include the new class.
inc_lookups needs MakeLookupLoopMaster() updating following the example of the other spellbooks.
prc_inc_spells needs GetIsArcaneClass() and/or GetIsDivineClass() updating to include the new spellbook.

To do: Tlk entries