![]() |
Member
Join Date: Feb 2007
Posts: 43
|
I'm trying to implement the Elf Wizard Racial Substitution Level for 1st level from Races of the Wild, pg. 157. It's essentially a Wizard that adds a class special called Generalist Wizardry. Generalist Wizardry behaves like a weaker version of school specialization, but instead of losing schools, the restriction is the character must be an Elf. Instead of preparing a free specialty spell of each level, the character can prepare a single free spell of the highest level the Elf Wizard can cast.
Lacking the knowledge to attempt a deep level, script heavy implementation, I tried a sledge hammer approach of creating a Wizard Class variant that would access a Wizard Class Helper variant with modified spells per level. The Wizard Class itself didn't undergo any significant changes, just Name, Unique Id, Description Text, Bootstrap to the helper variant, and Linkage to the helper variant. In the Wizard Class Helper variant, I didn't see a way to edit spells per level in the Editor, so I hacked the XML file and incremented the number of highlest level spell slots for each level by one. The custom file seems to compile fine, but when I select a level in "Elf Wizard", Hero Lab shuts down with the following log: C:\HeroLab\HeroLab.exe 1.0.g 107 ACCESS VIOLATION Address: 0x004329e1 Type: bad read Not much for me to troubleshoot with... any suggestions? I'm sure there's a slicker way to do this with validations scripts and all kinds of cool stuff, but I'm just trying to get a character print out for the DM at this point. |
![]() |
![]() |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
At 06:06 PM 2/8/2007, you wrote:
>I'm trying to implement the Elf Wizard Racial Substitution Level for >1st level from Races of the Wild, pg. 157. It's essentially a Wizard >that adds a class special called Generalist Wizardry. Generalist >Wizardry behaves like a weaker version of school specialization, but >instead of losing schools, the restriction is the character must be >an Elf. Instead of preparing a free specialty spell of each level, >the character can prepare a single free spell of the highest level >the Elf Wizard can cast. > >Lacking the knowledge to attempt a deep level, script heavy >implementation, I tried a sledge hammer approach of creating a >Wizard Class variant that would access a Wizard Class Helper variant >with modified spells per level. > >The Wizard Class itself didn't undergo any significant changes, just >Name, Unique Id, Description Text, Bootstrap to the helper variant, >and Linkage to the helper variant. > >In the Wizard Class Helper variant, I didn't see a way to edit >spells per level in the Editor, so I hacked the XML file and >incremented the number of highlest level spell slots for each level by one. > >The custom file seems to compile fine, but when I select a level in >"Elf Wizard", Hero Lab shuts down with the following log: >C:\HeroLab\HeroLab.exe >1.0.g 107 >ACCESS VIOLATION >Address: 0x004329e1 >Type: bad read > >Not much for me to troubleshoot with... any suggestions? I'm sure >there's a slicker way to do this with validations scripts and all >kinds of cool stuff, but I'm just trying to get a character print >out for the DM at this point. If you look at the new wizard class helper object in the editor, and scroll down the list of items, you should see a "Spells per Level" entry. Clicking the "Edit" button should allow you to edit the spells per level there. Otherwise, it sounds like you've done everything correctly, so I'm not sure why the crash is happening. Would you mind sending your data files to colen@wolflair.com? I'd like to try and work out what's causing that crash, so we can stop it happening in the future. Thanks, and sorry for the inconvenience, -- Colen McAlister (colen@wolflair.com) Chief Engineer, Lone Wolf Development http://www.wolflair.com/ |
![]() |
![]() |
Member
Join Date: Feb 2007
Posts: 43
|
Heh, scrollbar... didn’t notice it before but got it now... too used to the standard gray scrollbar I guess. I sent the file.
If you're familiar with Racial Substitution Levels, I'm wondering whether you have recommendations for more integrated ways to implement them. Thanks! |
![]() |
![]() |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
At 12:54 PM 2/9/2007, you wrote:
>Heh, scrollbar... didn't notice it before but got it now... too used >to the standard gray scrollbar I guess. I sent the file. Thanks. I've noted the bug, and it should be fixed in the next update. The easy way to fix the problem is to make the new 'elf wizard' helper replace the current wizard helper (by specifying "cHelpWiz" in the "Replaces Id" box in the editor). This will make everything work fine, with the downside that all wizards you create will be Elf Wizards (and get the extra spell). The harder option is to delete the "Elf Wizard" helper. Then, on the Elf Wizard class level, change the bootstrap and the linkage to reference the original "cHelpWiz" object, and add the following script: phase - UserPostAt priority - any script: var level as number level = hero.child[cHelpWiz].tagcount[Hero.Arcane] - 1 hero.child[cHelpWiz].field[cMemMax].arrayvalue[level] = hero.child[cHelpWiz].field[cMemMax].arrayvalue[level] + 1 This will get less complicated once I add more support for stuff to the data files, but right now here's what it's doing: level = hero.child[cHelpWiz].tagcount[Hero.Arcane] - 1 Set 'level' to the highest level of arcane spells the Wizard class can cast. The -1 is there because if you can cast level 0 arcane spells, you have 1 Arcane tag; level 1 arcane spells, you have 2 arcane tags; etc. hero.child[cHelpWiz].field[cMemMax].arrayvalue[level] = hero.child[cHelpWiz].field[cMemMax].arrayvalue[level] + 1 The 'cMemMax' field is a 10-element array that holds the number of spells you can memorize for each level. We already know what the highest level of spell we can cast is, so increase that value by one. Hopefully this makes sense. If not, let me know. I'll also be adding functionality to make this easier in a future release. >If you're familiar with Racial Substitution Levels, I'm wondering >whether you have recommendations for more integrated ways to implement them. We have them 'designed in' to the data structures, but the way to define them isn't implemented yet. Basically the Basics tab will have another small table between the 'class levels' table and 'increase attributes' table, where you'll select racial substition levels. That way you can define the levels separately from class levels. Hope this helps, -- Colen McAlister (colen@wolflair.com) Chief Engineer, Lone Wolf Development http://www.wolflair.com/ |
![]() |
![]() |
Junior Member
Join Date: Oct 2007
Posts: 2
|
This is a different question but on the same topic.
The Generalist Wizardry 1st level Elven Wizard Racial Substitution Level states: "...At each new wizard level, she gains one extra spell of any spell level that she can cast." I looked (admittedly not extensively) for a tag in the wizard list that mentioned how many free spells they get each level and couldn't find it. I think it should be as simple as changing a "2" to a "3". Thanks! |
![]() |
![]() |
Junior Member
Join Date: Oct 2007
Posts: 2
|
This is a different question but on the same topic.
The Generalist Wizardry 1st level Elven Wizard Racial Substitution Level states: "...At each new wizard level, she gains one extra spell of any spell level that she can cast." I looked (admittedly not extensively) for a tag in the wizard list that mentioned how many free spells they get each level and couldn't find it. I think it should be as simple as changing a "2" to a "3". Thanks! |
![]() |
![]() |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
jamestkirk.land wrote:
> > > This is a different question but on the same topic. > > The Generalist Wizardry 1st level Elven Wizard Racial Substitution Level > states: > > "...At each new wizard level, she gains one extra spell of any spell > level that she can cast." > > I looked (admittedly not extensively) for a tag in the wizard list that > mentioned how many free spells they get each level and couldn't find it. > I think it should be as simple as changing a "2" to a "3". I'm not sure I understand this. If I'm reading it correctly, at every single Wizard level, you get to cast an extra spell per day? So that's 20 extra spells by the time you get to 20th level? Or does it mean something else? -- Colen McAlister, colen@wolflair.com Chief Engineer, Lone Wolf Development |
![]() |
![]() |
Member
Join Date: Feb 2007
Posts: 43
|
There are two parts. One is gaining an extra spell for the Elf Wizard's spellbook (i.e. three per level instead of two as listed in PHB on pg 57), but that's handled easily with the normal spellbook functionality. The second part is what needs to be modeled using the Hero Lab Editor... "The elf wizard may also prepare one additional spell of her high highest spell level each day."
For example, a 1st level Elf Wizard can cast 3 zero level spells and 2 1st level spells each day, and a 5th level Elf Wizard can cast 4 zero level spells, 4 1st level spells, 3 2nd level spells, 3 3rd level spells and 2 4th level spells each day (not including INT bonuses, etc.). In other words Generalist Wizardry only adds one extra spell per day to the casting total, but it's always of the highlest level the Elf Wizard can cast. Hope that helps. |
![]() |
![]() |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
chogenkiboy wrote:
> > > There are two parts. One is gaining an extra spell for the Elf Wizard's > spellbook (i.e. three per level instead of two as listed in PHB on pg > 57), but that's handled easily with the normal spellbook functionality. > The second part is what needs to be modeled using the Hero Lab Editor... > "The elf wizard may also prepare one additional spell of her high > highest spell level each day." > > For example, a 1st level Elf Wizard can cast 3 zero level spells and 2 > 1st level spells each day, and a 5th level Elf Wizard can cast 4 zero > level spells, 4 1st level spells, 3 2nd level spells, 3 3rd level spells > and 2 4th level spells each day (not including INT bonuses, etc.). In > other words Generalist Wizardry only adds one extra spell per day to the > casting total, but it's always of the highlest level the Elf Wizard can > cast. The easiest way to handle that "automatically" would be to just create a new Wizard class in the editor, with the spell counts changed to give 1 extra spell of the highest levels. In the next version of Hero Lab, you'll also be able to add an In-Play Adjustment to increase the number of spells you're allowed for a certain spell level. Finally, you could add a feat that searched the array of spells the Wizard could cast, and added 1 to the highest level. That would be the most complex thing to do, but once you did it it would work automatically without you changing an adjustment every few levels. -- Colen McAlister, colen@wolflair.com Chief Engineer, Lone Wolf Development |
![]() |
![]() |
Senior Member
Volunteer Data File Contributor
Join Date: Mar 2007
Posts: 1,245
|
[quote="Colen"]At 12:54 PM 2/9/2007, you wrote:
>If you're familiar with Racial Substitution Levels, I'm wondering >whether you have recommendations for more integrated ways to implement them. We have them 'designed in' to the data structures, but the way to define them isn't implemented yet. Basically the Basics tab will have another small table between the 'class levels' table and 'increase attributes' table, where you'll select racial substition levels. That way you can define the levels separately from class levels. Hope this helps, So I was wondering if the racial substitution thing ever got worked out in a uniform way? I have a dwarven cleric that took a substitution level to smite giants rather than turn undead, and I'd like to put that in hero-lab, but as of now I have no idea how. |
![]() |
![]() |
![]() |
|
|