CapedCrusader |
February 16th, 2017 05:01 PM |
Setting File Authors, please take note...
We are instituting a new programming standard for Edges with background code (eval scripts).
One of our big issues has always been that initially there was no way to turn Edges on and off in the Savage Worlds game system, so Hero Lab's architecture was set up that way. As time went on, there were some Settings that allowed Edges to be acquired in ways that allowed them to be equipped (or not). The first was the Fantasy Companion with magic items, but others soon followed.
At the time, we did not want to force the re-coding of all the Edges, so we set up an architecture that changed the live state of Edges in order to give us the lever we needed. Well, down the road things got more complex, with the Sci-Fi Companion's modification system and similar changes, and this caused timing issues.
So, we've decided the time has come to bite the bullet and re-code. It's not a huge change, it's already in use on a few Edges, like Berserk and Thief. What needs to happen, is that we need to start adding a wrapper around any code in an eval script on an Edge. It'll give the software the ability to turn the effects of the Edge on and off in the background. Now, the Edge still won't show up on the In-Play tab unless the User Activation is enabled. Here's the code that needs to be added:
Code:
if (field[abilActive].value <> 0) then
<existing code block>
endif
This will need to be done with any Edge that has background code in the existing Setting files, and also any future Setting file work.
Now, also in relation to this, we will be removing the "EdgeWep" compset definition as it won't be needed anymore. Those Edges that were changed to EdgeWep can be changed back once we get this update rolled out. We'll actually remove it in a future update to give Setting file authors time to make this particular change.
It'll be simpler with fewer timing collisions once this change is complete. Thanks for understanding.
|