View Single Post
rob
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 8,232

Old July 31st, 2012, 02:55 PM
Sorry, but Commissioner Gordon will have to suffice here.

The purpose of "Replace Thing ID" is exactly how it's named. It's a fundamental replacement of the thing within the core data files, and it allows users to change the behavior of core functionality.

This is intentionally a global change and not dependent on a particular setting. Any setting control to try to exert over replacement is simply going to be ignored.

Wiring in a change that transparently and automatically causes all cascading dependencies to inherit all the new behaviors of that change *must* be done at a fundamental level. It's not something that can be done casually and "on-the-fly", such as works for most changes that people want to make.

What you want is a change that properly cascades its effects into Parry, weapons, etc. The only way to accomplish that easily is via the "Replace Thing ID". The alternative is to replace everything that depends on your new Fighting skills so that all those dependencies know to base their effects on the new skills instead of the standard one. That's a lot of work.

If you want to do something fundamental like change the way Fighting works, you'll need to use the "Replace Thing ID" approach. To ensure that this only applies to the setting you want, you can create an alternate instance of the Savage Worlds data files that are used solely for that setting. You can accomplish this by going to the Tools menu and duplicating the game system. You'll then have two separate versions of Savage Worlds shown on the initial Select Game System form that appears when you launch, one with all the standard Savage Worlds stuff and another specifically for your setting. By making your change to the Fighting skill in the alternate instance, it won't apply to the standard Savage Worlds files or any of the settings there.

Now for where things get more complicated for implementing your idea via the method you're currently taking. The problem is that you want essentially three different Fighting skills. But there is only one core Fighting skill to replace, and all you can't replace one skill three different ways. So the proper solution is to have one replacement Fighting skill that keys on which edge is selected to determine how it behaves. This requires that you change the linkage via an Eval script on the Fighting skill through the use of "setlinkage".

However, there's an easier way to solve this that does *not* require all the special hoop jumping above. Instead, just change the linkage of the Fighting skill via an Eval script on the various edges you've defined above. Then you don't need to use "Replace Thing ID", which means you don't need to carve out a separate instance of the game system, and you can tie your changes easily to a custom setting/source.

Within an Eval script for the edge that ties Fighting to Strength, add the following line of code:
Code:
hero.childfound[skFighting].setlinkage[attribute,Attribute,"thingid.attrStr"]
The timing of the script will need to be relatively early, ensuring that it occurs before the linkage is utilized by anything.

Hope this helps...
rob is offline   #6 Reply With Quote