Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
Greetings all,
I know that there have been some previous posts on this topic and that Lawful_G has done a great job building most of this already, but I really would like to find a nice, clean, automated way for the extra spell provided by the Advanced Learning class special to be applied. This is specifically in regards to the Warmage class from Comp. Arcane. So far, I have two ideas on how to tackle this: 1) As a pseudo-domain 2) As a secondary spell Right now, I think the best way to handle this is with the Secondary Spell functionality: It allows me to specify the wizard spell school so I don't have to create a new "spell list" for the ability. However, I am struggling with how to only give the extra spell at 3rd, 6th, 11th, and 16th lvl, since secondary spells, by default, give x spells every level. What I would like to do is use a script which drops that # to 0 EXCEPT at the appropriate levels, however I am having a difficult time actually finding which field name controls how many secondary spells a character is allowed. (See image attachment) Does anyone know where this value can be accessed? Thanks. -GP |
#1 |
Senior Member
Volunteer Data File Contributor
Join Date: Mar 2007
Posts: 1,245
|
Add a level of Warmage. Go to Develop - Show Selection Fields, then choose the Class Helper for Warmage. If you scroll down you should see a field called cSecSplReq, I think that is what you are looking for. Good luck, and feel free to ask any other questions.
|
#2 |
Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
Awesome!
Thanks. Ok...making some progress. How does one work with an array?? Such as cSecMax and cSecCur? I understand arrays from a coding perspective, but I'm just curious about the reassignment mechanism that HF uses. Thanks. -GP |
#3 |
Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
Ok...I did some digging and found some info about how to access and modify arrays.
However, I'm getting some weird errors that I can't figure out. Just to test my understandings first, I set up some debug scripts to make sure that I was accessing arrays correctly and knew which rows I wanted to modify. Here is where I started: Quote:
But, I keep getting this weird error: Quote:
Help. :/ -GP |
||
#4 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
cSecTot is a matrix, so it's accessed with .matrixvalue[X,Y]
Last edited by Mathias; November 27th, 2010 at 09:14 AM. |
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
cSecTot appears to not be used for anything. It looks like you want to be working with cSecMax.
I'm guessing that the original idea was to set secondary spells up like regular spells, with a matrix saying how many you get at each level, but it turned out to be easier to copy cSecSplReq to each field of cSecMax (for the levels of spells the character can cast), since every spellcasting class in the SRD that uses secondary spells always has a secondary spell if they can cast spells of that level (sometimes excluding 0-level spells). |
#6 |
Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
<insert facepalm>
Doh....thanks. |
#7 |
Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
What my current plan is to use this for the Warmage.
Warmages get an extra Wiz/Evoc spell at 3rd, 6th, 11th, and 16th lvl. So, I was going to set it up as a secondary spell. That way I could restrict it to Evocation Spells. I would have an eval scrip that surpressed the Secondary spells unless the hero was either lvl 3,6,11, or 16. At 3rd level, it would show them having access to one 0-lvl Evoc Spell and (or) one 1-lvl Evoc Spell. Now, since a Warmage only gets ONE extra spell, the script would also check to see if any of the cSecCur array values <>0, and if so, which would mean that they have already selected their one spell, it would zero-out all of the other cSecMax values. Any holes in this logic? -GP |
#8 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
So they're not restricted to which level of spells those extra secondaries are used for? Or do they get a new version of the ability at each of those levels, and each version can use any of the spell levels that were there when it was added (which creates a real problem if you use a prestige class to add magic levels to the Warmage, since the magic level and the level of the class special become separate things).
|
#9 |
Member
Join Date: Feb 2010
Location: Charlotte, NC
Posts: 81
|
The way I read the class special description for Advanced Learning:
A Warmage can choose an additional spell from the Wizard Evocation School that they have the ability to cast. So... At 3rd level, a Warmage can learn an additional 1st lvl Evocation spell. At 6th level, s/he can learn an additional 1st-3rd lvl Evocation spell. At 11th lvl, an additional 1st-5th lvl Evoc spell At 16th lvl, an additional 1st-8th lvl Evoc spell. So, a 16th lvl Warmage could have chosen to learn an additional max 4 1st level spells, max 3 3rd lvl spells, max 2 5th lvl spells, or max 1 8th lvl spells, filling the other slots with lower lvl spells. Am I interpreting this correctly? -GP |
#10 |
|
|