Title | EMS |
Author | arQon |
Submitted / Updated | 11-06-2004 / 12-22-2007 |
Category | Code Modifications |
Expansions | NWN-1.69 |
Description | |
ems20191021.7z (21 Oct 2019) NOTE: This is the first upload in a VERY long time. The builds and packaging are automated, but there may be problems that I haven't noticed like random cruft in there or missing files or etc. There have been a LOT of changes in the last decade, but most of them are just small balance adjustments. A handful of spells have been completely reworked though (again, for balance). The EMS_Changes file in the HAK covers all of them, and is worth checking if something acts differently to how you remember it.
|
Attachment | Size |
---|---|
![]() | 167.99 KB |
![]() | 1.05 MB |
Don't suppose anyone knows if a modified tlk file for the changes this hak makes was ever produced?
Also, if there are any other spell fix packs for nwn1 that people could point me towards that would be much appreciated.
You can't make a TLK for it because you're only allowed one, so the CEP noise would trample all over it. You'd have to merge that (or a mod's TLK) with it, which is a burden that neither side could realistically do.
The Dreu Noctem PW does have an integrated TLK, but it's only usable on the PW itself.
I enjoyed these changes through The Aielund Saga.
Does a comprehensive doc exist anywhere describing how every spell works with this system? Unfortunately, the HAK pack doesn't include the NSS source files and the Change guide doesn't contain all of the changes (e.g. Magic Vestment).
I am having quite the time trying to play with this HAK pack and find that many of the spells I thought I knew no longer work how I expect.
Though many spells do not work like I would expect, Magic Vestment, Greater Magic Weapon, and Darkfire (and probably Flame Weapon) at least all have a bug: If you've picked a different class other than your Caster Class for your PC first, the spells will cast at their lowest level, rather than use the level of your Caster Class. So, for my 1 Fighter/7 Cleric, Darkfire was adding 2 Fire damage, and Magic Vestment and Greater Magic Weapon were enchanting the item at +1 only. (Version 20171222)Sorry; the above is incorrect. Since I can't see the source, I can't say exactly what's happening, but perhaps Magic Vestment and Greater Magic Weapon are using +1 per 4 levels, rather than 3 like the description reads (and maybe they don't cap at +5). But the changelist did not note this.
Sorry - those changes are SO old that they were covered in the original release notes, not the changelog, as they haven't changed since then.
The spell script is, heh, literally, one line (! :P) :
MagicWeapon( KHB_UPNL(4, 5, 4), TRUE );
"UPNL" is "Units Per N Levels", and it's one of the reasons EMS has so many fewer bugs than the BW code: that one function alone probably removed about a dozen of them where they messed up on the math. What this particular example means is, "every 4 levels, to a maximum RESULT of 5, with an offset of 4".
IOW, yes, they're +1 per 4 levels. :)
FYI, the MagicWeapon-type itemprop behavior has a really nasty bug, where if the spell bonus matches the weapon's NATIVE bonus it actually turns into a +0 weapon, even though the visible properties still say +3 everywhere. Checking for that is a bit unintuitive since the best way to detect it is to use the COST tables to find out what the enhancement is.
I have no idea what the IPSafeAddItemProperty issue was at the time: possibly the memory leak in it, possibly the accumulator bug, etc. It may be fixed by now, in which case it probably also avoids the bug mentioned above, but since this version works I'm not going to change and test it all again 10 years later. :)
Here you go:
----
void MagicWeapon( int cBonus, int fPlayVFX )
{
object o = GetWeaponToEmpower();
if (o == OBJECT_INVALID)
return;
SignalEvent(o, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
int cEnh = 0;
itemproperty ip = GetFirstItemProperty(o);
while (GetIsItemPropertyValid(ip)) {
if ( (GetItemPropertyDurationType(ip) == DURATION_TYPE_PERMANENT)
&& (GetItemPropertyType(ip) == ITEM_PROPERTY_ENHANCEMENT_BONUS) ) {
cEnh = GetItemPropertyCostTableValue(ip);
break;
}
ip = GetNextItemProperty(o);
}
float t = KHB_MetaTurns();
// play the vfx if asked even if we're not going to actually add the bonus
// because BladeThirst uses this too and will add its Keen after
if (fPlayVFX) {
object oPC = GetItemPossessor(o);
ApplyEffectToObject( DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SUPER_HEROISM), oPC );
ApplyEffectToObject( DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE), oPC, t );
}
if (cBonus <= cEnh) {
//SendMessageToPC( OBJECT_SELF, "spell will either do nothing, or trigger the +0 bug, ignoring" );
return;
}
// note: DO NOT use IPSafeAddItemProperty crap here
AddItemProperty( DURATION_TYPE_TEMPORARY, ItemPropertyEnhancementBonus(cBonus), o, t );
}
I just built the HAK (I think - it's been a long time, but luckily I scripted that back in the day, and it seems to still work) but I can't currently upload it, since the migration has taken away my ownership of the project. I've PM'd the admins, and I'll up the current rev once I've got that back.
Contact @Fester_Pot over in the forums, to reclaim ownership.
TR
Thanks, but
> Sorry, Fester_Pot is not accepting messages at the moment.
So we'll have to wait and hope the PM through the "Contact" link works.
You did go via the Forums (link at the top of the page and just click log-in), didn't you?
TR
jep
If you look at the top of the page you'll see that it was actually fixed for you on the 17th October.
TR
Heh. Thanks. No, I wasn't looking for that. :)
I guess it's time to see if the build actually works...
So after search everywhere I could on the internet I decided to take matter in my own hands and will start to create a TLK for those changes. Will use the changed log linked on this page but if anyone notice others changes will be glad to point me.
I want to create a page here on vault to make it accesible to whoever wants to use it.
My question is (noob forum dude here): Can I do that? Do i need ask permission? If i need, to whom? Can I create a project on vault, give proper credits to the creater and link back here?
I will make the TLK anyway for personal use, just wondering if I can share as well.
The TLK is done for personal use. Will try contact the EMS author now to see if i can share with the community.
Moderator Comment - under the site Guidelines, you don't need permission, because the author has already granted it in the Permissions section. If you want to contact the owner, follow the link to theirr account to send a Private Message.
You can create a Project using the Contribute button. When you fill in the form, you can upload your file (preferably as an archive such as .zip or better) and link to this page under Related Projects.
Thank you for reply. Will do that right now :)
Projected created: https://neverwintervault.org/project/nwn1/other/patch/ems-enhanced-magic...
Since I'm new to this whole project thing, please let me know if i did something wrong on the page.
Cheers all!
That's ambitious! Good luck. :)
Despite the massive number of changes over the years, every single one SINCE the first release is captured in the changelog. The only pieces that might not be are stuff from before I released it. Most of THAT is in the original EMS_Guide.txt, but that was put together as part of that first release and may have a few trivial things missing.
Tenser tranformation seems to be broken in the latest release, it works on the old one
Character doesn't equip the sword, nor is able to as the proficiencies are not added
That means the PC doesn't have a skin, which is the mod's responsibility. I had a workaround in there for over 10 years after HOTU made that the default behavior: you can't really blame me for cleaning it up after THAT long! :P
There IS one workaround left though, IIRC, which is to summon your familiar, and you only need to do it once.
Decent attempt, could've been a very worthwhile project (some nice, sensible fixes like Shield spell granting shield bonus... though ideally it shouldn't be enhancement bonus).
That is, if it weren't for the arbitrary/capricious/misinformed approach to changes; i.e. dizzingly chaotic and unpredictable mish mash of 3.5e-ized or completely homebrewed versions of spells without clear logic or reason other than 'I like it this way' or 'NWN1 is stupid, my version's better' (pretty much what it says at multiple points in the documentation regarding changes). I can't help but wonder if the author had no idea NWN1 was based on an adaptation of 3.0e ruleset, not 3.5e (i.e. the constant reference to 'per PHB' for changes to spells like the animal buffs; under 3.0e rules these had hr/lvl duration and 1d4+1 variable amount of enhancement, like vanilla NWN1).
Something like Reeron's spell tweaks for NWN2 is a far superior and better organized approach (honest effort to follow appropriate ruleset as consistently as possible, provides separate package for tweaks that aren't rules compliant/homebrewed, clear documentation with professional tone, etc), but unfortunately it's only NWN2.
As is, EMS is unfortunately often more annoying than enjoyable to use - even with Aielund saga (which EMS ships with and requires a blank hak to disable); tried it a couple of times and the results were way too chaotic/unpredictable, and I'd often find myself utterly baffled at author's arbitrary decisions. In the end I concluded even if the vanilla system is far from perfect, it's at least very thoroughly documenteded (NWNwiki) and better fits the playstyles of most mods (and probably players) where it matters.
"arbitrary/capricious/misinformed" pretty much sounds like just "You nerfed my favorite cheese" saltiness.
Absolutely NOTHING in there is "arbitrary": even the very first round of "active" changes (as opposed to the literally-hundreds of bugfixes) were driven by clearly-bad balance/technical/etc issues, and at this point the system as a whole has been in use for more than 15 years, with *literally every single* "capricious" change informed by thousands of encounters and hundreds of hours of real gameplay. (Far more than that, in fact, but the numbers get awkward to write out at that scale).
So, yeah. You do you; and no question that having a working TLK would have been nice, but BW made that impossible and NWN*1*, which is what we're talking about, can't support it. But as far as the rest goes, forget it: the Epic aspects of magic alone make your complaints very hard to take seriously.
Of course, if you have an actual, genuine, concrete example of something that you think is "bad", by all means: state your case. If you can actually make a convincing argument, I'll be happy to consider it. :)
Thx my man
I want to know exactly how you scripte those spells?how can i do?
i am enable to open them in toolset,even i made this hak module property