Figuring out the Enhanced Magic System

The Enhanced Magic System (EMS) on the vault comes with partial documentation in the EMS_Changes.txt file. However, playing through a module that uses the EMS, you quickly find that documentation covers very little of the wide scope of the subtle changes the author made. Unfortunately, the EMS packages I’ve found also do not come with the source files (NSS) for the script. However, the author did state:

DS - atm you have 2 choices: BW’s stuff, which doesn’t work at all on PW’s and has literally hundreds of bugs; or EMS which frankly rocks on PW’s, fixes all those bugs, has been through 6 months or real live balancing, and which I’ve already said will go open source as soon as BW stop wrecking core pieces of the engine so frequently and I can actually publish a stable version. Up to you. :slight_smile:

So, did he ever release the source? Or does a more comprehensive documentation exist for the EMS?

At the moment, I am trying to decompile the scripts (nwnnsscomp -d) and then read the bytecode, but I’m finding that my fallibility causes this to progress very slowly.

No, he never did. He looked at all the swearing in the source and thought “ugh, I guess I really need to censor all this stuff”, and then Real Life got in the way and he never found time for it. (The actual code doesn’t need any cleanups, but there are a few too many 3am “what @#$%ing idiot wrote this?!” comments and suchlike in there).

That aside, AFAIK the changelog covers absolutely every change, no matter how trivial, so I’m surprised you feel there’s anything missing. (Unless you’re talking about stuff so old that it’s actually in the initial documentation (EMS_Guide.txt, in /scriptsrc). Can you give me an example of something you think isn’t in there?

I do still plan on releasing the source - I even spent a bit of time on it a year or so ago when I got NWN EE - I just haven’t found the time to actually do so. (Or to visit the site, apparently, since I’ve got PMs from 2 years ago that I’ve never read…)

1 Like


Though I accidentally deleted my original reply, it looks like you’ve found the first occurrence of my inability to find a change in the change log with Magic Vestment and some other Cleric spells. Thanks for providing the source for those!

The change(s) to the Shifter class drove me to post this topic and attempt to decode the NCS file. I detected a bit of disdain for Shifter/Monk class combinations in the change log, but I didn’t see any mention of changes to the Monk AC bonus, though playing with the EMS, it appears that an effect actively inhibits the Wisdom AC bonus during shifting. I noticed that shifting results in a higher Attack Bonus while using the EMS, but I also didn’t find any mention of that. I think I am targeting x2_s2_gwildshp.ncs for decompilation, but I still haven’t reconstructed it yet.

Yeah, that sounds familiar - iirc it adjusts AC to compensate. (That had an unexpected side-effect too, which I didn’t realise until months later: it caused Greater Restoration to undo the shift, because the effects were linked!)

I think saying that I was “biased against them” is a bit of a stretch though, since I added code to merge equipped items onto shifted forms, added code to improve saves to match the Primaries of the shifted form if they were better than the caster’s (i.e. the Animal forms get Reflex Primary on top of the Fort Primary that they and Druid’s share) without corresponding REDUCTIONS to any Secondaries the forms have, etc. And, oh yeah, give them the BAB of the new form.
It absolutely IS fair to say that someone at BW had a hard-on for the class though, because the balance is a joke. When the baseline is THAT bad, there isn’t much you can even do to try and fix it without ending up as a nerf in ONE regard or another.

There’s no question, at all, that Monk1/Shifter is broken AF. And if you’re balancing for a PW (and especially so for PVP), you need to do something about that. It doesn’t matter how cut a mechanic you, or I, or anybody else thinks it is or isn’t: it’s just plain broken.

But EVERYTHING to do polymorphing is broken in NWN, in every way, because the engine flat out just isn’t built for it and handles it terribly. Shifter should never have been added in the first place if they weren’t going to fix at least SOME of those bugs as part of it.

What I arguably should have done though is add a switch for it, because my position is that players are free to do what they like in SP: after all, if you can godmode your char then nothing else really matters. :stuck_out_tongue: But TBH I was already so sick of the half-assed design and implementation of the class, and all the stupid bugs in it (like getting half your spellbook wiped out whenever you shift) that I didn’t want to spend any more time on it than I already had.

Ultimately, the best way to deal with the bad design and implementation of the class is to simply not have Shapes that are better across the board than a PC build of the archetype is. That takes a LOT of playtesting though, and like I say just isn’t relevant to SP anyway. It also only benefits the tiny fraction of players who are interested in the class, so with literally hundreds of buggy and badly-balanced spells to deal with that affect every player and every playthrough, I just gave it up as a dead loss and returned to the pieces that were a better return on my time. :slight_smile:

Sounds like your source for x2_s2_gwildshp.ncs might have a few more comments to erase than average.

I don’t mind receving your source in its raw form, and if you’d like I can run a quick script on them to strip the comments, something like sed 's|\s*//.*$||', though that might remove some helpful explanation as well (and won’t remove any /* comments).

Well, my curiosity has driven me to develop the NCS Decompiler. It doesn’t yet produce stellar output, especially with all the if/else blocks, but I’ve been able to run it against x2_s2_gwildshp.ncs from the EMS (with nwscript.nss from HotU).