Editing Class Descriptions

That’s what I figured, especially as I started looking at the classes.2da formats and the listing on the wiki. Now, I suppose this would be too easy and oversimplistic, but if I edit values, not streffs, in the classes.2da, would this, could this, be truly changed in the game? For instance, if I decide that Rangers got hosed in NWN, and I change their skill point value from 4 to 6, this will happen in-game when levelling, and the Ranger will acquire 6 skill points vs his default 4? It can’t be that easy, can it?

Or likewise, say opening up the UMD skill for Harper Scouts?

Editing skill points is that easy and to add UMD to Harper Scout you simply need to add that skill to the Harper Scout’s class skills 2da file.

Thanks. I had just gone to experiment and couldn’t believe how easy that was. But now, back to editing the Class Descriptions: Where in the NWN directory, online or off, can I find the original class description so I can put back in there all the mundane information on prereqs for taking the class, abilities and feats gained at various levels, BAB schedules, skill point progression, and so on… I’ve looked everywhere but can’t seem to find it. There’s the Wiki, which has all of that information, just not in the format that it’s presented in game. See below (the part on the right side):

I’m not at my desk right now, but I think that’s the strref in the description field of classes.2da (which points to the official talk table).

I see, but where is the official tlk located? All I can find is the DLA tlk table. Where do they hide the official default tlk?

The official dialog.tlk is in the nwn folder, not the tlk folder.

Quite literally hidden in plain sight - it was ages before I realised where it was.

1 Like

I found it, but I had to blow the dust off of my 1.69 directory to find it. I’m not sure where Beamdog has stashed their version of the dialogue.tlk.

So now, I have the official tlk open as well as my custom tlk open, side by side, using Axe Murderer’s Killer TLK editor.

I’ve made my adjustments, but in doing so I discovered the slippery slope that editing this stuff can mean. There’s an entire range of references to Champion of Torm in other sections of the official tlk. Mostly when describing their feats, like Sacred Defense, and so on. These would have to be changed too in their respective strings for the sake of consistency. In order to accomplish this, is it as easy as just copying the streff line and text and making it line up with the custom version streff line and making what ever edit is necessary? And thus when the game is fired up, it will pull from the custom version over the official, even though they both have content at the same streff line?

For instance:
official tlk – Streff 8781 – Bunch of Words about Stuff

custom tlk – Streff 8781 – Bunch of Words about Stuff AND Divine Champion, yada yada yada

If I’m making sense, not sure if I articulated that properly.

It’s not that easy. To tell the game it’s a custom TLK entry, not the one from the official TLK, you have to replace all the modified StrRefs inside 2das and scripts with the (StrRef from the custom TLK + 16777216). It’s not necesseary to line up entries.

I see. I thought that might be too easy because using that method, one wouldn’t have to edit the 2da’s at that point since they would still refer back to the same streff number. I was thinking that the custom tlk would override the official one in the same way that a hak (or override) would ride over default content.

So what you’re saying is that I don’t have a choice. I need to create a new line for each change in the custom tlk table, and then edit the various 2da’s to reflect where they need to pull their new information from. It’ starting to seep out into other 2da’s than just classes.2da I’m afraid, as it will now move into Feats .2das, and likely Spells and others that I probably don’t even know exist (I saw references for Class packages (the “Recommended” feature in character creation) so I would need to even root around in whatever 2da that is and ferret it out).

Late Edit: Yup. Doesn’t work the way I want it. The story of my life. Blast! No matter. What started off as a gentle snow fall on cedars has escalated into a crapblizzard on the mountainside. I have a new found respect for anyone who does this.

@DM_Wise The EE dialog.tlk is in [user]>Beamdog Library>00829>data for the development version (00785 for the stable release).

Ah, yes, you are correct sir. Thanks, Proleric.

One last follow-up question: Does anyone know what 2da govens in-game descriptions of default items? The things like the descriptions/histories on the various items found in vanilla nwn.

The name and description of standard items are held as strrefs in the template (.uti file) which you can inspect in NWNExplorer.

There is also some generic text held as strrefs in baseitems.2da which provides a default description and stats for whole classes of item.

Forgive my daftness… held as strrefs in the template (.uti file)? Where is that located specifically? I only know .uti as an extension for an item blueprint. Would it be in the Data folder? Everything in there looks like .bif.

In the most part it is in the form of a value in the 2da file. So essentially a column contains the line number (including the offset for the custom tlk) and it’s likely those that are duplicated in the template. Hence they pull their standard descriptions from the tlk. For items they are in the baseitems.2da, placeables in the placeables.2da, and so on. So perhaps you can inspect the UTI file to find the line number you need but if not check the 2da.

Edit: Missed the point of the question there! When you load the module into the toolset the templates are expanded as UTI files in the temp folder created within the modules folder for NWN. I think you can inspect custom ones with NWN Explorer when the module is open in the toolset or copy them for it to be used later, though standard ones can be inspected using NWN Explorer to check the bifs.

No, not quite. Standard resources aren’t expanded into the temp0 folder, only the custom ones. I’m looking for the actual port of call reference for strings associated with standard NWN resources only. I can find each and every strref in the dialogue.tlk, and I assumed it was governed in 2da’s like everything else. For instance, the Ring of the Wood Elves, a standard item resource, has the following string description which can be found in strref #13508 in the dialogue.tlk:

As a child, Lady Aribeth de Tylmarande helped to save her home of Thundertree from the spells of a power-hungry Luskan wizard, doing so with the aid of this ring. Crafted by the elves of the Neverwinter Wood and given to her by the ranger Ansal Bloodshoulder, it was once a dear possession of hers… but no longer. On the road to becoming a paladin of Tyr, there have been times when she felt the need to break from her past - to shed certain parts of herself so that the light of the Just God would find her unburdened. For whatever reason, Lady Aribeth no longer chooses to recognize this ring as hers, and it has passed to other hands. Like its former owner, the silver band is graceful and resilient, elegant but with a hidden strength.

I can change the string all day long so it doesn’t have a Forgotten Realms reference/history. I just can’t find where that place is where I tell it not to pull the strref but to pull the custom. If that makes any sense.

Ahh, I see what you mean now but I’m not sure there’s a solution. Yes, standard resources aren’t unpacked but the templates are stored in a bif within the data subfolder, conveniantly called templates.bif. You can investigate them and export them using NWN Explorer or from the toolset, but to the best of my knowledge - and I could be wrong - they can’t be removed or changed as a resource.

Unfortunately I believe that kind of change means overriding the templates individually. I’m happy to stand corrected but I don’t believe there’s a way to redirect them en masse short of changing the dialog.tlk, a large part of why builders just ignore the standard items and create their own.

If you’re truly determined to change them then the solution might be to export the templates and then import them directly into your module by packing them into an erf. Something I believe you can do by creating a hak and then renaming to an erf, though I’ve only ever tried with scripts. Your in module template should then override the standard one and you should then be able to edit the description on the offending templates. Compile them in turn into a hak if you don’t want them left in the module.

Someone may know a better way, which I’d like to know too, but this is the best I can suggest.

It’s a whole lot easier to just create custom items (with Greyhawk descriptions) and use those instead of trying to modify the NWN stock items. As an added bonus, you don’t have to worry about Forgotten Realms specific items floating around, e.g. Nasher’s items. Same thing for creatures.

Also if you want to get rid of the FR specific books this thread has a link to a tool (in the second post) to do that too.


1 Like

Thanks for the link, but I already managed to get rid of the books. It’s just the items that I’m left with unmaking.