PRC Lite and NWNCX


#103

Hmm, I released new version that fixes most of what you reported. Unfortunately I found quite critical issue with the persistency and singleplayer.

Basically, whenever player gains feat that is supposed to change stats, I store into database that he had that feat and make the stat changes. Then, when player loses the feat, I check if he had the feat and if he had I will revert stat changes.

This works properly in normal case, however if player in singleplayer levels up from acolite 9 to 30 and then he quits the game, next time he loads game with the same characters, my scripts thinks he lost the feats as if he deleveled and reduce abilities from previous game session that was never saved.

You can test the new version, but this issue might influence your testing… I need more time to solve this.


#104

Oh hell. I just found out another issue related to race change.

Racial type changes will automatically adjust character abilities. This means that if you level up Acolyte of the Skin as Dwarf, at level 10 you will lose your bonus to constitution. This bonus is granted back at delevel, but this is really weird. I can imagine this can produce illegal character, when used with half-orc who took devastating critical hit thanks to his +4str bonus and then levelled into acolyte or elemental savant and lost that bonus. (But in fact any character with racial type outsider and elemental will be considered illegal by ELC - ELC doesn’t apply in singleplayer so this is not an issue here, but would be in multiplayer)

So I am not sure what to do now. Go back to previous implementation where the racial type worked for scripts but not anything hardcoded like favored enemy? Or just drop this functionality completely?


#105

Going back to the previous implementation might be better than nothing in the long run, if the issue can’t be solved. I’m not sure what all checks for racial type that’s hardcoded other than Favored Enemy and maybe some dialog variables, but if you’re shifting focus to single-player usage, then not properly interacting with Favored Enemy isn’t as big of an issue, since the player typically isn’t privy to enemy stats and feats in the first place.


#106

I was thinking about this.

I see at least 3 possibilities:

  1. revert the feature to the previous implementation where only result of the scripting function was overriden thus the change had effect on scripts such as spells.
  2. if the abilty stat change from racial type change is not wanted behavior (and I guess it is not) I could change abilities after the racial type change to produce same result as before. Then when the racial change is reverted, revert these ability changes as well.
  3. However I think the absolutely ideal implementation would be not to change anything by itself, instead replace all checks for racial type inside spells with new custom check which will consider playerto be outsider if he is monk 20 / acolyte of the skin 10 or elemental if he is elemental savant class level 10. With this implementation, unlike all others, player with build Wizard 10/Acolyte10/ElemenalSavant10 would be considered dwarf (if his original race was dwarf), outsider and elemental in the same time, thus spells that works only on humanoid would work on him, spells that works only on outsider would work on him, spells that doesnt work on elementals wouldn’t work on him… This however is not existing feature of the CPP spellscripts and it would have to be added. Bit extra work but I think this would be the best way…

#107

I don’t quite understand the second option, but the third seems like the most comprehensive, but also the most prone to failure, if it’s replacing every racial check from every spell. Any spell that checks for race would need to be tested to make sure they function properly, and I imagine with Metamagic/Savant/Archmage bonuses attached, too.


#108

option 2 example:

right now with dwarf character when you take 10th level of acolyte of the skin, and your race changes, you lose 2con and you get +2 char automatically. I could compensate this and give character 2con and substract 2char so the ability change wouldnt be noticeable (despite still happening behind the scene), and then do reverse at losing 10th level of acolyte

THis way it would worked exactly as I expected, but still that would allowed only once racial change at a time and character would no longer be considered his original race. (But this is just a matter of implementation I don’t think it is wrong, I think all the choices here are equally correct)


#109

Since the other racial abilities are tied to feats, that might be a decent way of going about it. If it could be made to work, it’d be less intensive than option 3.

While you could only have one racial type at a time, that doesn’t seem like too much of an issue to me. There’s very little reason to make a character with 10 levels in both Acolyte and Savant, IMHO, and a character with 20 levels of Monk and 10 of Savant or Acolyte also seems very unlikely.


#110

new version uploaded

changelog:

  • fixed ability changes to work with saving/loading game properly
  • racial changes reworked again: now, the actual racial change will not change, ie. character will still see Dwarf, Human etc. in character sheet. However, spells, feats, and special abilities will consider character to be also the new race. The difference between older implementations is that character can be considered to be a member of more than single race.
  • improved level-up feat selection: the elemental savant’s elemental specialty and warlock’s energy resistance feats will no longer appear at any other level than the level when they are granted, likewise, at this level, whether it would be taken at epic levels, epic bonus feats will no longer show as was intented
  • fixed Battle Caster appearing as bonus feat for Warlock
  • Acolyte of the Skin gets custom feat Poison Immunity now (class was reusing druid’s Venom Immunity)
  • Elemental Savant gets new feat at epic levels which will allow him to polymorph into elemental
  • few minor changes in acolyte of the skin’s bonus feats list
  • lot of minor fixes

However, don’t bother testing racial type changes. The actual benefit is not inside this project. This feature forced me to update all vanilla scripts that were checking racial type and this will be added into next release of the community patch 1.72 project. That will be released later, once I make some preps and make a release for NWN:EE too. This will therefore start working automatically after the upcoming 1.72 installed. Also, I made lvl 20 monk to be considered outsider too (but again it won’t work right now).

As for improved level up feat selection. This will basically prevent any feat switcheroo and abuses which I prefer over allowing player to do such thing and then delevel him for that. And I made this in a way it is dynamic - it uses extra settings in 2da and thus this feature will be working only on classes added in this project. Vanilla classes like Ranger, Weapon Master or Harper Scout will still be able to take epic bonus feat instead of the choose-from feats and also select additional choose-from feats at level granting epic bonus feats for that class.

EDIT: I also improved class selection at levelup to show warlock (and any other custom base class) before prestige classes. This was done already in previous version but I forgot to anounce it. This will work with original PRC too if you rin it with NWNCX.


#111

So far, Warlock works perfectly now, and Arcane Trickster is able to select Epic Spells. I did have an issue where they couldn’t take Epic Spell Focus at Level 14 of Trickster, (Togue 10/Wizard 5/Trickster 14) it would delevel me and say that I didn’t meet the prerequisites, even though I did.

Acolyte’s ability increases seem to work properly now, too for the most part. I lost most of the increases when I de-leveled the character back to 1 from 40, but their Constitution reset to 20 instead of returning to the base 18 the character was made with.

Loading a save with a character made before the recent version occasionally has their race set to Dwarf, but it isn’t a sure thing. A Human appears as Human, but an Elf appeared as Dwarf. Starting the module fresh with a new character doesn’t have this problem.

Elemental Savant’s Ability Increase seems to function properly as well, with the same issue as not removing all of the bonuses when delevling as Acolyte. I’ve currently only tested Water, but I’ll get around to the other three elements soon enough.

Unless something has broken in a class I haven’t looked at in a bit, this version seems very stable.


#112

i cannot reproduce the bug with ability increases, wasn’t that character used in previous versions?

if not, please send me a savegame before delevel, where delevelling produces wrong stats (and tell me what were starting stats of that character)

as for epic spell focus - i can’t even select it, no idea why yet, will investigate…
EDIT: it looks like prestige classes aren’t calculated into “how many spell levels can character cast” check when checking feat prerequisities - this was never implemented in vanilla (thus sorcerer 10/pm10 will have same issues) and I forgot to solve this in my plugin.

Either way that means your character is wizard, if you can please send me the savegame where levelling up with epic spell focus triggers delevel. It will be probably easier for me this way than trying to reproduce it…


#113

I’ve been using Wizard to test the arcane classes up to this point because it has the quickest spell progression.

I noticed that the Dexterity bonus from Acolyte isn’t totally removed either.

It might be worth mentioning that the only message that appears when trying to take Epic Spell Focus ‘too early’ is in the combat/chat log. It’s less like a delevel and more like the game sees it as invalid and makes me try again.

Arcane Trickster and Acolyte of the Skin saves are in here.

The first time I noticed the issue with Trickster, I tried at 14 levels of the class, this time the character only has 11 levels of it. They’re able to take the feat later, but I can’t recall the minimum level of Trickster the game accepts as valid.


#114

Thanks I fixed both issues you reported in version 2.3

I also fixed the issue I found where feat requirements for spell level weren’t working for spontaneous casters with prestige classes. And also one vanilla bug which wasn’t calculating first level of prestige class that grants spellcasting into the same feat requirement. (And I reported it to beamdog so they might fixed this in NWN:EE too)


#115

New issue, Pale Master is unable to take the Epic Spell feats, they don’t show up on the list, even if the character meets the requirements for them. (Spellcraft, level 15+ Pale Master)

The deleveling issue with Acolyte and Trickster being unable to take Epic Spell Focus are confirmed to be fixed, however.


#116

I know about this one. It is intentional kind of. I mean, I didn’t want to alter vanilla stuff much but I didn’t managed to make this work old way for PM and new way for new prestige classes.

Thing is, that Epic Spells should require being able to cast lvl 9 spells. But Bioware for some reason decided not to check this requirement and instead specified given level for all clases when they can select epic spells. This level was set to 21 for sorc/wiz/cler/druid (and it is changed in community patch to 17 or 18(sorc) which was subject to lot of controvery because almost nobody actually understands how that works (and because ppls making fast decision from reading documentation without actually trying), anyway) and 15 for palemaster. This allowed builds with bard+palemaster be able to take epic spells (not to mention 15PM might not be enough to get 9lvl of spells) and all the crazy powerbuilds players love to play so much in NWN1.

I guess this is result of mixing DnD 3.0 content with 3.5 (epic levels), but Bioware didn’t even implement the spellcasting level requirement properly. ie PM should need 3 levels of bard/sorc/wiz instead of 13 casting ability and 5 wiz 6sorc or 7lvl of bard. (And thats the 3.0 version, in 3.5 he requires 5th level spells iirc).

I simply edited epic spells to require lvl 9 spellcasting. This therefore allows to take them with combinations of base classes + prestige classes that together gives ability to cast lvl 9 spells. Unfortunately as a result they can no longer be taken on 15lvl PM if the PM is taken with bard (because bard never gets 9th level) or low ammounts of level wizard or sorcerer.


#117

Huh. Yeah, I know that it’s technically a bug, but I hadn’t expected it to be fixed. Pale Master in general has a lot of weird issues, like allowing the class to be taken earlier than it should be.

I noticed it because, like you said, it’s a favorite of powerbuilders, and I was messing around something similar and assumed it was broken in some way, since the previous version fixed an issue involving caster levels not being calculated for feats.

If it’s intended, carry on. It’s technically a fix, but it’ll take some getting used to since it’s what a lot of high-end powerbuilds are based around.


#118

The only way I can think of is to hardcode it inside nwnx_patch plugin and make epic spells to consider 15 levels of PM to fulfill the spell level casting requirement. Yes this can work…


#119

Version 2.4 release.

I added Favored Soul base class. Remarks: the deity weapon focus/specialization won’t allow to take feats that require normal weapon focus/specialization on that level. Player will gain these feats only after finishing levels 3 and 12. Wings will make creature flying for purpose of spells and magic effect (immunity to some spells like grease), if the FLYING_IMMUNITY_TO_TRAPS switch in community patch is enabled then it will also provide immunity to ground traps. The actual wing models will be: angel (good), devil (evil), butterfly (neutral). However, if character has any wings already, wings will not be replaced. Wings will not be removed on delevel (not sure whether they should be removed, suggestions needed). Also Favored Sould will be able to select Epic Mage Armor and Epic Warding spells. This is oversight and I will remove this in next version.
EDIT: Just realized I forgot to recalculate DC. This means the DC will therefore be based on charisma, not wisdom as it should be. Will fix this in next version as well…

Two weapon defense now works for double weapons.

And now, some extra stuff from nwnx plugins:

  1. thanks to two new features in plugin, all the clunkyness with feat selection is now gone (unless I forgot to update some class). This means that if class gains feats selection to choose from at certain level, player will not be able to take epic bonus feat instead. Likewise, such feats will no longer show up as a choice later when class gets secondary feat selection or epic bonus feats.
    Specific example: Favored Soul, can choose between ±20 deity weapon feats at lvl 3, only these feats will show and they show only on lvl 3 Favored Soul. Then she will able to select between 5 energy resistance feats at lvl 5, 10 and 15, only these 5 feats will show and they show only on lvl 5-15 Favored Soul. At lvl 23 where Favored Soul gains epic bonus feats, none of the feats she was choosing from at lvl 3,5,10,15 will show again.

  2. Completely reworked the feat’s requirement for spellcasting level. This will now work properly with prestige classes enhancing spell progression and spontanous casters (previously this worked only for prepared spellcasters). Also I coded a special exception that allows Pale Master class to select Epic Spells at lvl 15+ as if he fulfilled the lvl 9 spellcasting. This is to preserve vanilla behavior.


#120

I’ll test this soon, but I’m popping in to say not to worry about removing the wings when deleveling, Pale Master and Dragon Disciple keep theirs when deleveling. It’s a cosmetic issue only, compared to Savant and Acolyte’s attribute bonuses causing series issues when trying to relevel a character. If the player is in a position to relevel their character, they’re likely also able to modify the character’s appearance and can remove the wings themselves if they choose.

EDIT: I did a very quick test, and most things work as intended. Spellcasting is fine, but that’s probably to be expected, since the spells are all vanilla.

I’ve found 3 very minor issues so far.

  • Favored Soul doesn’t have any level-up packages. Tangently related, Warlock’s level-up package seems a bit jumbled, but it’s been a bit since I’ve looked at it.

  • Favored Soul is able to learn more cantrips than exist. This doesn’t break any thing, but by the end it was asking me to pick 2 more cantrips when there weren’t any left. I was still able to level and leave the screen.

  • A multi-class Favored Soul (This is when I noticed the issue, anyway) receives Mount Actions twice on their radial menu. This happened with Favored Soul 24/ Fighter 6/ Shining Blade 10.


#121

I know, none of the custom classes except warlock have one. Levelling packages are missing in original PRC so I couldn’t copy it. The one for Warlock is exception - since the class is very complicated and unfamiliar with rest vanilla stuff I made package to help players - the recommended button should give player the feats and spells I consider to be most usefull myself.

So I don’t understand what do you see as a problem with Warlock, can you be specific?

Might do package for favored soul later, was actually hoping you or someone else might help with that task as it is all 2DA editing that can be done in notepad, no scripting or toolset expertise needed. If you could help with this I will write tutorial for this.

Thats not issue since it doesn’t prevent you from levelling up. I even think you can experience this in vanilla somehow. But ok I will modify number spells known so that this won’t happen. I even though I did that - in PnP Favored Soul should have 9 orisons and I think I gave FS 6? Or do you mean there are only 4 individual spells to be chosen?

Im not sure if I understand correctly but this is normal. Each base class gets these horse feats at 1st level and they appear under that class radial menu. But that if the class received just one feat it won’t create an actual class menu, so may be that you took 2 classes that has no other feat for class radial than horse feat? But yes I dislike this too, I hate horse system…Unfortunately I must support it with PRC-Lite since I aim for maximum compatibility.


#122
  • Re: Warlock Package: I’ll check that in a bit. I remember it choosing a few cross-class skills, which raised an eyebrow. Spot, IIRC? It wasn’t anything too off the wall, just confusing.

  • Re: Mount Menu: That would explain it, neither Favored Soul nor Fighter get any special usable feats by default, and I didn’t pick anything like Fist of Iron. If this is the case, it’s a problem with the game and not the mod.

  • Re: Favored Soul Cantrips: I believe they could select all of the Cleric cantrips normally, but by the end they had more spells they could learn than cantrips existed. I’ll check this shortly, I didn’t pay too much attention to how many cantrips were actually available to be learned.