The custom spellbook system permit to create new spellbooks for custom classes. Spellbooks for blackguards and assassins are integrated in this version.
The spell selection screen will appear AFTER character creation, if your character has a class that requires spell selection.
In the same way, the same screen will appear AFTER level up, if your character has a class that requires spell selection.
The spells memorized screen offer the possibility to put a spell of inferior level in a slot of superior level (use drag & drop).
The quickcast screen has been reworked (because of technical issues, but in fact I prefer it like that) : the spellcasting class must be chosen before the spells will appear
At the moment I only provide a hak version, but an override should be available in version 1.0.
It also "softcodes" all the spellcasting process from spellbooks, and so allows scripters to make the following things:
* Control the spells present in a spellbook (add and remove spells)
* Control the number of spells ready to be cast per day (increment, decrement, refresh)
* Use the features of the spellcasting framework (manage spellcasting events, and many PnP things)
The current version of the system is 0.9 beta 1. They are many missing feats in this version that will be fixed in v1.0 :
* Spellbooks don't work with companions (I will have to adapt Tony K's AI to do that : hard work in perspective...)
* Wizard's school specialization aren't taken into account in any way
* Complete the assassin and blackguard's spellbooks
* Spells aren't shown in alphabetical order in the spell selection screen and in the spells know screen
* Spontaneous spellcasting is unavailable
* Spells can't be dropped in standard hotbars (and they won't be : I'll create a custom hotbar to do that)
* Quicken spells can be cast more than once per round: they are overpowered as they are cast immediately (like PnP rules)
* The spellbooks aren't persistent if a character is exported from a module.
I also intend (after version 1.0) to add the following features :
* New metamagic features (I'll see what I can add)
* Multiple metamagic feats applied to the same spell
* More informations in a spell description (spell school, sub-school, descriptors)
* Make a PnP version of the Spirit Shaman
* Domains spells for clerics
* Un bunch of new functions to manage spells...
They are also things that can't be done because of the game limitations or bugs, so these are requests to Obsidian :
* Targetting UI with cone or bolt styles don't work, so it's a standard cursor instead (UIObject_Input_ActionTargetScript crashes the game)
* Loading the system takes about 10 seconds when a module is loaded (impossible to set "nSpellTargetIndex" with a local variable in UIObject_Input_ActionTargetScript, so "quickspell.xml" takes 20 times more space in memory than it should...)
* Not all surface of a spell icon is clickable when a metamagic icon appears in a corner of the icon (I need overlay icons)
* A lot of unused space in the spell selection screen, the spells known screen, and at a lesser degree in the spells memorized screen (I need an unlikely CreateUIObject() method...)
* Minor UI issues to expand a collapsable, select a button, and so on (I need a SetGUIAttribute() function)
* Actions in the queue all disappear if you try to remove one of them (I would need to know if an action in the queue is a spellcasting one or not)
IMPORTANT : Future beta versions (and probably v1.0) may be incompatible with the current one, as the core data could change a bit...
You NEED the Spellcasting Framework v1.11 to make it work. Download the hak version from here.
Read the HTML documentation in the uploaded distribution to know how to install the system, and how to create your own spellbooks.
As I'm a bit tired of programming for NWN2, I won't update it for a while. Sorry...
I may come back in 1 or 2 months with a new version. _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Hmm, did some experiments and there doesn't seem any data in the GUI objects in the action queue at all (worse, for companions the GUI doesn't even recognize objects being there at all ... the onrightclick events I used to extract data and pass it to a script simply didn't fire).
Without being able to read data from the action queue there is no way to determine if a move or attack command was given, so a custom action queue is pretty much impossible.
Posted by Kunikos at 2008-01-25 07:02:45 Voted 10.00 on 01/25/08
I guess the easiest fix would be to simply throw a delay in the scripts for swift actions which delays the effect if you cast another action within 1 round before. Not intuitive from a user viewpoint though.
Maybe you could convince Rich Taylor to give you the object names and data structures for the action queue icons (I could ask on his blog, but I would guess you have better odds of succeeding).
You've got a good point here. The management of the action queue is very complicated as they are few functions provided. Fortunately, ActionCastSpellAtXXX() has a parameter that permits to cast a spell instantly (and is still in the action queue). That's how the implementation is currently working for quicken spells (see JXActionCastSpellAtXXX in the spellcasting framework).
The other solution would be to replace the default action queue to completely control it. I've started to look into it, but it would be a whole new project, and I don't think it's really feasible : they are many actions that are automatically fired (move when a player clicks in the area, unlock when he clicks on a locked chest, etc.), and I doubt I would be able to catch these events to put them in my own actions queue. If you're interested, have a look into "contextmenu.xml". This file could be the key that would allow a custom action queue (by replacing default actions). _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Just waiting for the override version to try this, but I was wondering ... won't you have to replace the action queue as well to allow queuing of swift actions?
int/wis bonuses : yes
other source books : no (not in v1.0)
removal of the feats : no (will be in V1.0) _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Does the assassin/blackguard spellbook take into account int/wis bonuses (as well as base ability score to access spells)? Did you research other source books to see what spells blackguards and assassins may also have in addition? Did you include a removal of the assassin feats for the spells that they gain automatically through levelling?
By the way, I forgot to mention that I tried to make an override version of the spellbooks, but some problems occur with the MotB campaign when I tried. I didn't have time to go further into this, but if you want to try, just extract the content of the hak into your override folder.
In this case, don't forget to use the override version of the spellcasting framework. And thanks to Ladydesire for her contribution ! _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Beta 2 is out :
* Wizards can learn spells from scrolls
* Warlock's quickcast GUI screen is corrected
* Core data structure changed
* The bug in the spell selection screen is corrected _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Thanks, Kaedrin, for the information.
But in fact, LadyDesire has already sent me the files you mentionned above, integrating the spellbook scripts.
I'll upload beta 2 next week-end with the override version. _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Jallaix: The override version *can* override the OnClientEnter, OnPlayerRest, and OnLevelUp events.
The scripts are k_mod_pc_loaded, k_mod_player_levelup, and k_mod_player_rest which I override in my prc pack (they execute a custom script of mine for these events so that it's a one line alteration to any PW/Modules events). _________________________ My Website
All standard spellcasting classes should have complete spellbooks. That's a HUGE bug that I didn't notice when I tested.
Added on my list. _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
jallaix, does this just have the Blackguard and Assassin Spellbooks, or should the other default spellcasting classes work as well? I've created a Wizard and all I've been able to get is the level 0 spells.
The problem of the override version is that I can't override the following events as they are no scripts defined by default for them :
- on client enter
- on level up
- on rest
The other problem is that the first time you press the "F" key to bring the quickcast screen, it freezes the game for 10 seconds (the time necessary to load quickspells.xml in memory). In the hak version, it's done in the "On client enter" event, and you don't really notice it... _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Please stay away from the override folder. Anything in the override screws up other modules and PWs. A hak can be associated with any module the player wants it to be used with.
We are trying to wean everyone in the community off of using the override as it should not be used.
Thanks for the interest.
Give me feedbacks if you have some time to test it !
Because I'm sure there are many bugs left I didn't notice... _________________________ Spellcasting Framework Wild/Dead Magic Zone (Spellcasting Framework add-on)
Posted by Saphhira at 2007-12-04 04:35:14 Voted 10.00 on 12/04/07
Finally! Awsome job!
I hope you will go on in developing this Custom Spellbook and the Spellcasting Framework because these are two of the best project I've seen in NwN2 :)
You must be Logged In to post comments in this section.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone