Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
https://nwnlexicon.com/index.php?title=Lilac_Soul_-_Spell-Hooking
Spell-hooking isn't enough to change from Vancian to Mana based. You could change it so that you need to use mana and a spellslot using spell-hooking. But actually changing the existing spell framework so that it doesn't have spell slots is a lot trickier. You basically have to write your own spellcasting framework for mana based casters that doesn't use the default casting framework at all. Then you need a custom UI to handle casting and spellbooks too.
You can change it so when spell is expended it is automatically refreshed
You could also store the mana costs in external file or database so you wouldn't need to update the code if you change the mana cost (specially considering sql coding is now built into modding).
You could add item properties that give -% mana cost as well just by checking in spell hook
Or just modify the class files so that it uses sorcerer spell system and just keep increasing casting amount every time used.
In fact more than you can ever imagine is possible with nwn
https://nwnxee.github.io/unified/
Except that there is no function in NWScript that will let you increment remaining spell uses. There is a DecrementRemainingSpellUses() function but no functions for incrementing nor setting remaining spell uses. Hell, there isn't even a function to determine how many spell uses a sorcerer has a particular level (you have to use GetHasSpell(), which requires that you know one of the spells the Sorcerer knows at a given spell level).
There is the ForceRest() command, but that gives the creature all the benefits of a rest (I.e. restored HP, restored feats, loss of non extraordinary effects, etc.)
There is a lot that you can change with NWN, unfortunately spellcasting is stubbornly hardcoded.