Obsidian Entertainment's Rob McGinnis has updated his blog with another community update for Neverwinter Nights 2. This time, Rob takes a closer look at a mod that allows NPC heads to be used for playable characters, Kaedrin's community-created prestige classes, and more. Here's an excerpt from a short Q&A with Kaedrin himself:
Q: Is there anything we could do to make things easier for you?
A: There are a few 2DAs that I could use some better documentation on and a few areas of functionality hidden behind the engine that would be nice to have exposed. The ReqType column of the CLS_Pres_*.2da file being one area we have limited information on. In the feats.2da file, I was wondering if the "GAINMULTIPLE" and "EFFECTSSTACK" column were working? I haven't had time to test it myself yet though I will soon to see if I can stack sneak attack dice instead of coming up with a total between multiple PrCs and granting all the feats up to that one.
New functionality I'd love to see would be the ability to have a feat instant like Divine Shield. I believe there was a column added late in NWN1 that would tell the engine to fire off the script instantly. There are a lot of spells and feats that benefit from this without needing to change them to last for a few rounds to make up for the lost round activating the ability.
There are some areas of functionality that would be nice to have exposed from the engine but these are also the areas I expect the least amount of changes in. There are a few abilities in the game (Death Attack, Stunning Fist, Smite) that a CC developer has no access to. If we could set a local variable on a character that added to certain abilities and the engine pick that up it would go a long way to "customizing" key abilities without requiring they be moved out of the engine. For example, a localint on a character named "DC_Mod_Death_Attack" that the engine would add to it's calculated total would solve any custom class abilities that we might want to tweak. Bonus_Damage_Smite for Smite. This could be used as a way to do "stacking" bonuses for class or racial abilities and would be the icing on the cake. If Obsidian came up with a dozen or two local variables that the community could modify (each of the stats, each of the AC types, a few abilitity DC's that we can't change the scripts on, etc) we would be able to implement just about anything we might want. An alternative might be for Obsidian to add some feats that accomplish the same thing behind the scenes like the RDD feats. One for +1 Dex, one for +2 Dex, etc. A few of the feats could really use this for the number of uses a day as well (Smite, Stunning Fist, Bard Song) since we can't really add new versions of the feat.
The last thing I can think of (shooting for the moon with everything of course ) is probably a solution for the need to override the dialog.tlk file. If the OC/MotB modules had a blank custom.tlk associated with them (and they worked from the override) the community would never need to alter the Dialog.tlk file again. Content developers would only need to do one version of their projects instead of two (one with the Dialog.tlk values for single player, one with Custom.tlk values for Module/PW developers) which would save an INSANE amount of time and testing. I plan to experiment with my install directory a bit the weekend after next and see if this would work by adding a blank tlk to one of the OC modules in it's campaign directory and then dropping my custom.tlk in an override without a dialog.tlk and see if the string table values are found.
Oh yeah, one more! Heh. How about adding more domain slots to the character bic file and a script function to add a domain to the character via a id from the domains.2da file? There are a lot of divine PrCs with bonus domains I'm looking at doing with the subradial spell-feats (though I'd need 1-2 per domain) that are going to be deeply time consuming if I go this route. I'm not opposed to it, but there might be an easier way!