I decided to give writing for the New Era of the Althéa Campaign in NWN2 another go today. I have now divided the current work into two modules, but have not yet removed anything from either, which will be the point to the dividing eventually, so that things run smoother than they do at the moment. However, as there are a number of scripts that are used between both modules (Campaign Scripts), I have also been shifting a number of scripts from the individual modules to the Campaign folder. I could see no easy way of doing this other than by copying and pasting the scripts from one section to the other and then deleting the original. If anybody knows of an easier way, then please let me know.
There was also a very scary moment when I went to save the changes and the tool set crashed, and failed to reload properly on a reload. Thankfully, all the scripts had saved to the Campaign folder, and all I had to do was alter one or two objects from a slightly older module to get things up and running again.
Today, I took a closer look at the Enchanter's Satchel. It is a means by which items can be enchanted (while mobile in the field) by using certain essences. The satchel was introduced with MotB and makes the process a bit simpler than it was with the original NWN2, but goes slightly against the grain of how I wanted the campaign to run. I don't mind having the equivalent to a "mobile workbench" for enchanting items, but I believe there should be an additional price for making such in this way. Therefore, I have made it so that using the satchel costs additional Life Essences to enchant an item, compared to enchanting items at a static workbench.
This involved editing the original i_nx1_container01_ci script, but as I don't use the more complex TAG editing styles, I was able to edit my own nx1_container01 script to intercept the spell being cast at the satchel and check to see if sufficient Life Essences were being carried by the caster. It's a simple enough check and works well. It took me a while to work it out though, as it has been a while since I looked at the scripting for the new objects and I was a little rusty.
I also managed to get the Spell Book check in place: A script to check if the wizard or sorcerer is carrying their spell book to be able to learn spells. Resting without one now causes the PC to lose all spells but their cantrips, in the same way a cleric will lose all their spells except Orisons if they rest without a copy of their Holy Book.
The whole basic mechanics of the game is now looking good and working quite well. I obviously still need to test it a bit more, especially over a LAN, but most of the main effects and requirements I was after are now in place. And it was all these scripts that have had to be moved to Campaign scripts so that they work across all the modules I build from now on.
Hopefully, I intend to start working on a conversation or two next and possibly an opening "Background Option" GUI, which allows a player joining the campaign to determine if they are playing a PC who has some background association with Althéa already, and may have some knowledge of some NPCs they meet, or are starting from a background of someone who has never left their home village and knows very little about the world. Depending upon their choice here will determine the kind of options and/or reception they may have with some NPC's.