I spent some time yesterday working on the theft scripts and everything seems to be working really well at this point. Here's a quick run-down of where I am:
The basic reaction adjustments for regular conversations are done, and have been for a while. These adjustments get saved to the NDBE object, which can then be saved into a campaign database.
Opening and unlocking a chest with an owner variable and the prr scripts results in a check to see if the owner can perceive the PC. If so, the PC must succeed in a sleight of hand check. If this is failed, the NPC owner will yell and start a conversation with the PC.
If a security variable has been set, the NPC will yell for help and two security creatures will spawn in, run up to the PC and start a conversation.
In either case, if the PC has already been warned in that area and gets caught again, they will need to succeed in a bluff, diplomacy or intimidate check to keep the person they're talking to from going hostile.
I've also got this working pretty well with picking pockets, but with two issues:
The hostile behavior works pretty well if the commoner calls on security creatures. The only down-side is that the PC has to wait til the SetTemporaryEnemy timer counts down before you can interact with that person again. While it makes sense for security to try and kill the PC on sight, it might be confusing when dealing with a commoner that is needed to advance the plot.
The next big thing I have to do is set up the faction adjustment scripts. Basically, these will be the same as the standard faction adjustment scripts, but the value will also be tracked in the campaign database for use across multiple modules.
Finally, I need to write the scripts to load the NDBE campaign database object when a module is loaded. This is important so that adjustments in one module can be brought into another module. These adjustments include personal reactions and faction reputations.
One of the key things here is that when you load the PRR database object, you also need to adjust the factions. I need to examine if this is something that happens during onClientEnter or onModuleLoad.
Once I've got everything working, the next thing I want to do is create an example module that showcases some of its features. In previous versions, this was a simple module where a group of factions were asking the PC to get ahold of items from their rivals. More on this later.
So that's the roadmap right now. I'll check back in as I make progress.