Local variables set on items that were in a container in a PC's inventory used to be preserved when the player saved the character to the local vault. Now they are not. Has there been an explanation from Beamdog for this? Is there an easy workaround, that does not involve rewriting all the code and updating all Toolset palette items that set local variables on items?Longer
Previously, when a player chose the "Save Character" option from the main in-game menu, the saved BIC would save the character's inventory items. Any items that had local variables set on them (either via Toolset or via script) would be saved if that item was in a container in the PC's inventory. That way, those variables would still be set if the character was loaded into a new module.
Now, under the latest (Jan 2020?) release, those items' variables are not saved to the BIC file. That can cause all sorts of problems, such as spell sequencers losing stored spells, items forgetting quest/plot-related variables, etc. Not the least of these problems is that it's difficult for PW builders to easily test new features that rely on those local variables by grabbing a toon saved from the PW to local vault and running the module offline using that PC. This also affects all sorts of custom items that rely on local variables.
I am hoping that Beamdog has explained this change somewhere and I would appreciate a link to any release notes on this. And, of course, I hope that there is some painless workaround, such as a server setting that preserves the inventory items' local variables. This change is creating more differences between the BICs saved to a local vault and the BICs saved to a server vault, which one can imagine can lead to trouble. Ideally, the local variables on an item should (at least optionally) be preserved even if the item was not inside a container inside the PC's inventory.