Senior Member
Join Date: Jul 2005
Posts: 181
|
Well, pretty much what it says above...how would one go about making a spell list for a new class, beyond those already included? Friend of mine is hell-bent on making a Duskblade from PHB II...and when I create one it says basically that there are no spells to choose from. I assume this is because there is no Duskblade spell list, meaning I have to make one.
( I know I have a ton of questions, and about weird-ass classes too. But I figure both that it's a good way to learn, and a good way to find errors and anomalies. :wink: ) |
#1 |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
At 08:39 AM 2/9/2007, you wrote:
>Well, pretty much what it says above...how would one go about making >a spell list for a new class, beyond those already included? Friend >of mine is hell-bent on making a Duskblade from PHB II...and when I >create one it says basically that there are no spells to choose >from. I assume this is because there is no Duskblade spell list, >meaning I have to make one. The first step would be to set a new "Spell Class Tag" on the class helper object. In the editor, go to the Duskblade class helper, and change "Spell Class Tag" to "Duskblade" (you'll probably have to add a new tag to do that). Make sure the new helper object is spliced in, then recreate the panel for the class and reload the data files. Add a Duskblade level, switch to the Duskblade tab, and there should be 0 spells to choose from. Go back to the editor and switch to the spells tab. Create new copies of a few of the spells you want in the Duskblade list, but for "Spell Class", change whatever class they're for to "Duskblade". Save them and splice them in. Now try to add a spell again - the spells you just spliced should appear in the list. (Note - please make sure to splice in more than one spell - there's a crash issue which might hit you if there's only one spell in the list. I've fixed it for the next release, but I don't want you running into it here.) >( I know I have a ton of questions, and about weird-ass classes too. >But I figure both that it's a good way to learn, and a good way to >find errors and anomalies.) Oh, no worries! All the questions you guys ask here help us greatly improve Hero Lab. Thanks for youe feedback! -- Colen McAlister (colen@wolflair.com) Chief Engineer, Lone Wolf Development http://www.wolflair.com/ |
#2 |
Senior Member
Join Date: Jul 2005
Posts: 181
|
Ok, then. I like what I see so far from you guys, so I'll keep nagging and poking.
And, of course, I instantly have a question. After having slapped myself silly-buggers for not figuring something this easy, I still have a problem...see, it tells me that while I have spells...I can't pick them, since 'No more spells can be learned'. Choosing any spells forceably makes it 'Excess level 0 spells'. Oh, and a couple other things. First, the lists where you enter known spells and spells per day...do they have to start at 0? It tends got ME confused, at least. If they have to, they have to, just thought I should mention it. And secondly a potential bug. The first time you open one of those two, there is an 'offset' in the middle of the list making the spaces where you enter the number not line up properly. If you scroll the list, the boxes move above or below this offset, so it can be worked around. And if you close it, and then re-open it, the offset is gone, at least it has been for me. Just thought you should me made aware of it. |
#3 |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
At 11:38 AM 2/9/2007, you wrote:
>And, of course, I instantly have a question. After having slapped >myself silly-buggers for not figuring something this easy, I still >have a problem...see, it tells me that while I have spells...I can't >pick them, since 'No more spells can be learned'. Choosing any >spells forceably makes it 'Excess level 0 spells'. Did you set the number of spells per day the class can cast? "Spells per day" should be on the list for the class helper object - edit it and you can enter the number of spells the class can memorize / cast / whatever. -- Colen McAlister (colen@wolflair.com) Chief Engineer, Lone Wolf Development http://www.wolflair.com/ |
#4 |
Junior Member
Join Date: Oct 2006
Posts: 27
|
This brings up one concern I had about eventually adding in much of my material.
How much of a drag is it on the memory usage or database crunching to keeping adding in copies of entire spelllists for each class? I would have thought that simply adding a tag to the spells saying which classes have access to it at different levels would create less duplication. |
#5 |
Senior Member
Join Date: Jul 2005
Posts: 181
|
Quote:
|
|
#6 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 8,232
|
At 02:32 PM 2/9/2007, you wrote:
Quote:
I'm happy to report that the "cost" should be little different from adding tags to the spells, but the added flexibility and simplicity for authoring makes things much easier. The reason for this is due to the architecture of Hero Lab's engine. We don't use a traditional database. When the data files are compiled, two separate files are generated. The first is a set of control data and the second is string data. The control data consists of all the "things" and other objects that HL manages, but all of the strings (e.g. names, descriptions, etc.) live in the separate file. The compiler uses duplicate detection for all strings, so all references to the same text are merged into a single reference to one string within the string data. The net result is that five different "Protection from Evil" spells consume five separate, tiny, control structures and all share the same storage for the name, description, range, etc. This is a slight extra cost over applying control tags, but very slight. Where this really pays off is when users want to merge data. If control tags all had to be assigned to one centralized instance of a spell, then data files would need to be reaching in and modifying other things. Then you have problems with conflicts, missing things, and timing to make sure the things you want to modify exist before you apply the modification. For data files managed entirely by one coordinated team, this is wholly doable, albeit a nuisance. For a distributed user community that will ideally be sharing their creations with each other, that is a veritable train wreck. So we opted for an approach that incurs a slight extra cost (probably on the order of 1-2% overall) and streamlines the sharing of material. If the volume of data becomes ginormous (e.g. Wizards gives us a license to support all their supplements) and we end up with 100MB of data, the run-time handling of the compiled string data can be made more intelligent to use a smart cache that was limited to a fixed amount of RAM. This would entail a bit of work, but it would allow HL to run in a small memory footprint and maintain its high performance. The key thing is that it could be done completely transparently to all data files, which means the architecture can be readily evolved without breaking anything, should the need arise. :-) Hope this makes sense, Rob |
|
#7 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 8,232
|
At 03:46 PM 2/9/2007, you wrote:
Quote:
Colen, it would appear that this one requires additional assistance.... -Rob |
|
#8 |
Senior Member
Join Date: Jul 2005
Posts: 181
|
Quote:
|
|
#9 |
Junior Member
Join Date: Oct 2006
Posts: 27
|
Quote:
One issue in PCGEN that always worried me (so I just avoided it altogether) is adding a class that i had to put together a MOD file for that would add that class to a bunch of existing spells -- especially since someone else might be making different mods to them or the base data might change in an update. So trading off a small amount of performance for that sounds good. |
|
#10 |
|
|