PRC Lite and NWNCX

fixed, get version 1.2 in project

Spell-Like Ability no longer breaks other class features, however now Spell-Like Ability no longer permanently stores its spell. The first usage after storing a spell functions as intended, but subsequent uses act as though nothing has been stored, effectively resetting it with a per-rest use expended.

Whenever a spell is cast through Spell-Like Ability it shows the casting class as a Bad Strref, as seen in the attached image. I’ve got no idea whether this is related, new, or something I didn’t notice previously.

hmm it is caused by previous fix attempt, now it works

EDIT: as for bad streff in debug thats normal, it is because the spell casting is instant&cheated therefore it has wrong values. Most of the values is overwritten by community patch spell engine and variables that scripts of this project impose on player, just not class (as it is not needed anyway).

version 1.3 uploaded

this however revealed few design issues:

  1. There is no option to reset stored spell, thats quite a drawback isn’t it? Now I am not sure whether this option should be there, I didn’t see it in PnP but it would make a sense…
  2. None of the archmage features are persistent across server-reset/module reload. This is not a an issue in singleplayer but anyone using this for PW would probably not want spell-like spell to get resetted each time server is restarted (I suppose other feats doesn’t need to be permanent).
  3. After using Arcane Fire incorrectly on self I was unable to change the target since I didn’t want to damage myself. I suppose subsequential usage of Arcane Fire should change the target.

The class features of Archmage now work perfectly. Personally, I think that you shouldn’t be able to reset your Spell-Like Ability on a whim. Once per server reset or module seems fine, considering that it allows people to cast a free Time Stop or Greater Sanctuary or some other powerful defensive spell with no casting time. Being able to switch that out whenever you want would make it even more powerful than it is, and the class already seems extremely useful.

While testing, I found one more issue with this version: Only the base Arcane class counts for being able to cast Arcane spells in the debug log, even though the bonuses to spells known functions properly. I.E. a 5 Wizard/ 10 Eldritch Knight can learn and cast 8th level spells and has the slots for them, or a 3 Wizard/ 3 Pale Master has access to 3rd level spells.

Despite gaining spell levels properly, gaining them this way does not qualify the character for prestige classes for whatever reason. (In this case, Archmage and Eldritch Knight were the ones I tested.)

try to download newest version of nwncx_patch here: https://www.nwnx.org/phpBB2/viewtopic.php?p=18712#18712

i think you have older version that doesn’t have function for spellcasting progression

That was indeed the issue, I was testing on my laptop this time, which didn’t have the newest patch, while my desktop I used previously does.

With the correct patch, the mod seems to function perfectly as intended, thank you very much for your hard work.

Well I can code the prestige spellcasting progression without nwnx but considering the whole project needs it to function correctly I just saved time and used nwnx function for it - that function might not be included in older release though which is what you experienced, I am not 100% sure when this got added, either way the older nwnx_patches contains critical issues that can cause crash so everyone should update it asap.

I just need to pack it and link it all together so peoples know where to get newer version if avaiable.

Anyway, since I opened this project again I am open to expanding it. Any wishes?

Arcane Trickster and Sacred Fist are two classes that would fulfil the same hybrid character niche as Eldritch Knight for Rogues and Monks respectively.

Bladesinger is a class that’s always interested me, but I’m unsure if the reduction to spell failure could be implemented without a PC Skin item.

Most other classes seem to have too many other requirements that don’t exist in the base game, or wouldn’t be easily implemented in NWN, especially for anyone who wishes to play single player.

Hmm there are few obstackles with both classes.
Adding sneak attack is currently not possible in nwnx_patch. It is not a problem to add this functionality, if needed, but that would require using new version of nwnx/nwncx_patch which I yet have to develop.

The problem is stacking with other sneak-based classes.

Workaround for this exists but requires player skin. So far I wanted to avoid this, but might be neccessary in future anyway.

Sacred Fist would require not just skin but also to use creature weapons as unarmed damage cannot be modified via nwnx_patch (this feature was once in, but got removed as the function was firing way too often and it was reading 2da). Maybe I can add this feature again and make it to just read variable on player though. Will have to think about it, I don’t want to bloat my plugin with features that aren’t needed (if a suitable non-nwnx workaround exists).

I suppose the arcane spell failure reduction can be applied to the armor itself so this shouldn’t be issue. It won’t be as precise solution as it will be visible but even that could be workarounded if required (the original itemproperty can be made invisible and on all items equipped which has this itemproperty, I could place new itemproperty with same name - I already done this in my personal mod for bards. But I suppose using skin is better option)

Ok, currently remaking Arcane Trickster. I will use PC Skin for sneak attack workaround.

There are few remarks I have on this class:

  1. Ranged Legerdemain seems to me too strong. It is basically instant and will disable trap and lock on single use. I think I will remake this so it forces player to stay flatfooted for same duration he would stand normally (unfortunately the progress bar is not in my abilities to add) and after the duration it will disable trap first (if seen) and only when trap is not seen then it will try pick lock ? (I suppose PRC team made this feat do both because you can’t choose what you want to do, and while my solution will disallow player to pick a lock until trap is dealt with first, because doors cannot be open when there is trap on them I suppose thats not an issue, or is it?).
    EDIT: this ability for some reason has +5 penalty to DC in PRC implementation, this isn’t noted anywhere so I am removing it. Another issue is that it doesn’t take “Take 20” into consideration - I am currently leaving that the way it is, I suppose it is justifyable penalty for the feat usefullness.

  2. sneak attack from class, currently I just assigned rogue sneak attack, however that means that sneak feats that player already acquired from rogue will not be seen when levelling up. This is only visual glitch though because after level up, the sneak attack is recalculated and added on PC Skin in proper strenght. However, if this is significant enough I can add a new feat called Sneak Attack (Arcane Trickster) +1k6 etc.

I wasn’t aware that Monk’s bonuses were so difficult to deal with. My thought process with Sacred Fist and Arcane Trickster was that they were both a means of advancing caster level like with Eldritch Knight.

I’ve also got very little idea how PC Skin is handled, as I’ve never played too much with that aspect of the toolset.

1: You might not be able to add a ‘real’ progress bar, but maybe you could use popups over the character’s head informing them that they need to stay still, with a short count down while they pick the lock and disable the traps? I’m not sure how feasible this would be, however, or if it’d be messy or script-intensive in some way.

2: I don’t see an issue with this, as long as it doesn’t break something by overlap. If AT’s Sneak Attack is functionally the exact same as Rogue’s, there’s not much reason to clutter the feat list with what are basically duplicates.

Ok I just uploaded new version check the project page.

New prestige classes:

  • Arcane Trickster
  • Black Flame Zealot
  • Elemental Savant
  • Stormlord
  • Tempest

I also added several general feats:

  • feats based on turning undead like Divine Vigor
  • few Rage based feats like Instant Rage or Extended Rage
  • two-weapon fighting based feats, defense and greater/perfect 2 weapon fighting
  • Practiced Spellcaster
  • Augment Summoning
  • Remain Conscious
  • Iron Fist

Quick development notes:

  1. Package contains new version of nwncx_patch that features OnCriticalHit event to make Stormlord feats work perfectly.
  2. It uses skin now and some feats also adds itemproperties on weapon (BFZ/Stormlord), these properties are removed on unequip, should be.
  3. Improptu Sneak, Iron Fist and Death Attack are now real combat attack feats and works just like knockdown or smite evil. Specially, Death Attack is very interesting and it doesn’t break stealth when using.
  4. I completely remade Elemental Savant class. It is now single class (not 8 like in PRC) where at first level you choose elemental. The spell progression works on both arcane and divine spells but will not progress both (unlike Mystic Theurge). The feat at lvl 10 so far doesn’t change race to elemental. It looks likes it but scripts will still consider you to be previous race. I wasn’t able to make it work today so later. Also, the class now follows 3.5 version and the feats progression differs from original PRC version a lot.
  5. Same with Tempest, the class now completely differs to the PRC version, it is based on 3.5 rules and it is only 5level class. Also it doesn’t grant extra attacks anymore, however, the feats that grants these attacks are now general feats and can be taken by anyone who fulfills requirements.

-Arcane Trickster and Elemental Savant seem to function perfectly. I’ve found that I’m unable to learn spells through scrolls unless I gain the ability to learn that level of spell through Wizard. (I.E. with 5 levels of Wizard an 10 of Pale Master or Arcane Trickster, I can’t learn level 4 spells even though I have the slots in my spellbook.)

-Elemental Savant’s element type over writes Archmage’s Mastery of Elements. I assume this is intended? A character could easily work around Savant’s weakness otherwise.

-Black Flame Zealot has a few issues. Death Attack makes reference to the class “Justice of Weald and Woe” which doesn’t exist, and the requirements for Black Flame Zealot say that a cleric needs two of the Destruction, Fire, and Renewal Domains, when there is no Renewal domain in the game

-Death attack has a few grammar issues. Rather than “You began to study target”, it might be better to say “You begin to study your target” in the present tense, since the buildup is also in the present tense. “You are still studying your target, you need to wait x more rounds before you can deal deadly hit” might parse better if it had an “a” before deal and deadly. This isn’t actually a bug, however.

-Death Attack doesn’t seem to function mechanically. There’s no save made in the combat log by the opponent, an even against much weaker creatures, nothing seems to happen, even when the enemy’s Fortitude should be too low to make the save. Personally, I like the NWN implementation of Death Attack more and find it more useful, but I understand that this is much closer to the PnP version.

-Stormlord mentions a “Storm Domain” in its prerequisites. Like renewal for Black Flame Zealot, this doesn’t exist.

-Dual-Wield shows up as a selectable feat for characters, while the description still says that it’s a Ranger fear.

-Upon taking Dual-Wield while testing Stormlord, I was able to select Oversized Two-Weapon Fighting a few levels later. Oversized Two-Weapon fighting seems to work just fine, however, I can see it calculate everything when I equip/unequip weapons.

-Shocking Spear and Thundering Spear don’t seem to apply correctly, only Shock Spear seems to work. (1d6 Electric Damage)

-I couldn’t find any issues with Tempest. All of its class features seem to work just fine.

Would it be possible to get a list detailing the new feats and how to qualify for them? I wasn’t able to try out most of them because I didn’t know how to take them.

EDIT: I just checked, and Assassin’s Death Attack seems be the vanilla version. Black Flame Zealot’s could be renamed to avoid confusion.

I fixed the text references to unexisting stuff + grammar + dual wield being selectable when levelling as stormlord. These are just minor issues so I will update project later with more stuff.

As for Death Attack. This is maybe not straightforward to understand but it needs to be used twice - first usage just makes you wait 3 round. After that is completed, next usage in 3 rounds will perform a special attack which should trigger the fortitude save. I made the effect ignore immunity to death as well.

As for stormlord feats. It should work, however unlike the first feat, the later feats applyes only when critical hit is made. In such case you won’t see any message but extra damage already calculated into the damage. This is so seamless that you probably didn’t notice? Not really know how this works in original PRC…

As for general feats, try check the feats in PRC manual. The prerequisities mostly haven’t been changed. I tested the dual-wield feats and they works, I also tested practiced spellcaster and augment summoning (which doesnt work on elemental swarm). I didn’t test divine feats.

As for death attack and assassin - yes I didn’t change it. Yet. Yet? This is big deal, I am not 100% sure it is good idea to modify vanilla classes. I have lot of custom stuff for this, but maybe that should be a new project? I have new feats for Fighter - Greater focus and Greater specialization, I have new feats for Ranger, Death of Enemies, Improved Favored Enemy and granting him greater/perfect 2weap fighting for free. I made bard to be able to cast in light armor without arcane failure and I made bard song to work like in 3.5 rules and much more. But I am not sure how would users of PRC accepted this. I need some more thoughts on this - if this is good idea I can add spellcasting to the Assassin/BG as well.
EDIT: there is related issue to the epic spells. original PRC has custom epic spell system and thus classes are unable to select epic spells on level up. This is however not included in this project and thus custom prestige classes being unable to select epic spells is huge disadvantage - should I add them epic spells or instead add epic spells casting system from PRC?

The damage that Thundering and Shocking Spear are meant to do don’t show up in the log, but I could go back and check to see if the damage is still being applied.

I totally misunderstood Death Attack, too, I thought you had to make a normal attack after you studied your enemy. Personally, I feel as though vanilla classes and feats/spells should be left alone whenever possible for compatibility reasons. Leaving Death Attack as it is for Assassin seems smarter in the long run, though maybe Black Flame Zealot’s version should have a different name to differentiate it.

Modifications to vanilla classes should be a separate project compatible with this if possible. One of the old PRC’s problems was that it was cluttered and came in a single package forcing people to install the entire clunky thing. If both projects use the same .tlk that might make things slightly easier?

Is it possible to give the new classes Epic Spells, or does that require the new system? If they can be given the spells normally, that should be done. I never interacted with the epic spell system from the PRC, so I’m not sure how it functioned.

They should. Please make sure you overwritten nwncx_patch.dll that was included in the newest PRC Lite package. If not, it would make sense why it doesn’t work for you - I had to add a new nwnx feature to implemented this properly.

Using same tlk is doable, though because NWN doesn’t have an automatic 2DA merging system, if released separately, it will never be compatible together seemlessly. You either get changes to vanilla classes or PRC Lite. I suppose I could make a version which combines both, but maintaining several versions of single project is a pain and I want to avoid it. But yeah, I thought it won’t be received well which is why I brought it into discussion in first place.

It is just matter of simple, but tedious 2da modification. It is simple to do, but this involves also modifying TLK and add mention about epic spells into class descriptions. I just want to avoid removing this in future. But I suppose that using vanilla epic spells sysem is again better for the same reasons as modifying vanilla classes.

I’ll test Stormlord again later.

Due to issues with 2DAs,maintaining or merging separate projects doesn’t seem like a very good idea.

My suggestion would be to get this to a state you’re happy with, and then work on things beyond the current scope while leaving this available.

Until such a time as a proper 2DA merger utility is available, maintaining full, separate versions of this seems like more trouble than it’s worth.

There is a 2da merger utility, but there are two issues:

  1. it is very exhaustive for me to set it up
  2. it complicates installing, basically user would have to open hak assigned to prc_lite and then hak assigned to 3.5vanillaclass update extract 2das then run merger and then put updated 2da into one of the project that is installed. This is hardly something I can expect of player who want to use PRC-lite for playing some single player module.

However, I think I have a solution. I have partly working NWNX feature that can update 2da files by what I want. Basically I am now able to add all my classes and feats into any module, even module with their own custom classes and make it compatible (as long as author is not using same row numbers). This still needs some work, but it is very promising.

On the fly, you mean? That sounds pretty incredible, but how would it actually accomplish that?

details here: https://forums.beamdog.com/discussion/68501/new-resource-data-formats/p2

hopefully my accomplishment will help NWN:EE it would be great to have this functionality in base game