Modifying Feats: Is there a Process Guide?

Hi folks. I know RJShae has a thread where he answered specific questions on this sort of thing, but I have a generalized one, and as usual, my search-fu isn’t the greatest. Many old links are dead-and-gone now, and I was wondering if there was any equivalent to “this is the process” or job flow-through required to modify or create a new feat. Most of what I’m seeing is “various ways to tweak 2das to get specific outcomes” which is, let’s be honest, useful as hell, but not what I’m looking for.

(Exempli Gratia: I do PW stuff where “at our table” cross-class skills aren’t a thing. All skills are open to all classes. So that makes Able Learner non-interesting to us. But if that were modifiable to give a PC an extra skill point a level, it would suddenly become totally worthwhile. Similarly, we have inactive Cosmopolitan feats and a Leadership->TeamFeat chain that’s great in a module but not particularly useful on a PW).

While I know it will turn out that many of the specific examples I gave are hard-coded. Is there a “teach a man to fish” write-up on this somewhere?

There really isn’t a all-compassing guide. Every single rule you want to modify is going to be a special case. Combat feats will need to be handled in a bunch of places in the combat round engine, spell-related feats will probably need hooks in DC/CL calculation, and so on.

The base game without nwnx is not really pliable in almost all cases, unfortunately. You can do active feats with associated spells, but passive feats are harder. You can simulate some use cases with onPlayerEnter/Exit modifications (or maybe a heartbeat), but that’s pretty hacky. Some changes are impossible without nwnx on the server. Some changes are impossible without nwncx on the client.

So, tl;dr, you will need to state your intended changes to get good advice.

Well THAT’s a pain. I’d been hoping a general process might exist prior to getting into the action-specific stuff.

So how about a feat that increases skill points in a given skill, or which increments a PC’s skill points on level-up?


As I said, the “general process” is to either add a dummy feat and deal with it in scripting, or add an active feat (with a spell associated) and then handle it in on activation. (Active feats are always class feats, never racial feats; this is how it’s designed in NWN.)

As to the specifics, that’s two completely different questions in nature:

  • Giving a skill point bonus (a fixed modifier) can be done in scripting only by checking the PC on Login/Levelup/Leveldown and applying/removing a effect as needed. This is rather brittle (in finding the correct effect again), but works without extra code.
  • Alternatively, giving skill modifiers based on feat ownage can be done through nwnx (on a server only) by patching the base function that calculates the skill modifier for any given skill. This is much more robust, but requires extended knowledge.
  • Changing skills-per-classlevel on a per PC basis isn’t possible without nwncx. Changing skills on levelup for a class in general can be done in classes.2da. The background for the clientside requirement is that the levelup UI needs to know about the correct number of skill points (the server then verifies this also).
1 Like