Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Since Psionics are not officially supported with Pathfinder, I thought this the best place to ask this question.
There is one Psionics prestige class, the Metamind, that gives +1 caster (manifester) level for 7 of its 10 levels. This I can handle no problem as the editor is recognizing the Hero.Manifester as valid for the +1 level. This works and successfully adds the 'casting' ability in terms of additional Power Points as well as additional spell capability. Here is the issue. The 3 levels that do not provide full Manifester levels, do provide an increase in Power Points as if the hero had gained a level. So, a Psion 5 /Metamind 10 would have powers of a Psion 12, but base power points of a Psion 15. I don't know if this is something the User is going to have to track or not. Thoughts? Suggestions? |
#1 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Perhaps you could assign custom tags to the character at the levels that add power points, but not manifester levels. Then have a script that searches for those tags and increases the power point total. Would that work?
|
#2 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
So I've been looking at the Metamind prestige class you provided in the latest release of the Psionics Unleashed. I have yet to figure out how to increment the power point totals. The only idea I came up with that I wasn't able to try out is to somehow use a foreach loop to increment the array lookup.
My current foreach loop looks like this: Code:
foreach pick in hero from BaseClSpec where "SpecSource.cHelpPsi & thingid.cPsiPPTot" eachpick.field[xExtraLev].value += 1 nexteach |
#3 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Another possible workaround occurred to me. If we can gather the arrayvalue for the current level and the next level, we could add the difference to the max power points. I'll give some thought to how to do that and work on it this afternoon.
|
#4 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
That's what I was thinking too, but I also need to factor in the +1 levels between the only PP levels. At 1st, 5th and 9th, the Metamind gets just the Extra PP, not the full manifester abilities.
As a test, I'm using the below code at First/100 Code:
var ppTot as number ppTot = hero.child[cHelpPsi].field[cPsiPPTot].arrayvalue[6] notify ppTot Code:
<thing id="cExtPPLev" name="Extra PP Level" description="Helper to add extra level of PP." compset="ClSpecial"> <fieldval field="usrCandid1" value="Hero.Manifester&ClassType.Normal"/> <usesource source="pPUClass"/> <tag group="Custom" tag="ExtPPLev" name="Extra PP Level"/> <tag group="ChooseSrc1" tag="Hero"/> <tag group="fShowWhat" tag="Classes"/> <tag group="Helper" tag="Helper"/> <eval phase="First">var ppTot as number ppTot = hero.child[cHelpPsi].field[cPsiPPTot].arrayvalue[6] notify ppTot</eval> </thing> That will give what the base PP should be, and can add the difference. Thoughts? PS: I've also attached the v1.4 of the Psionics file so you can see where am coming from and going with it. |
#5 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Got it, and taking a look at it. I think its promising. I had come up with this to try and determine the difference between levels:
Code:
var level as number var level2 as number var bonus as number level = hero.child[cHelpPsi].field[cMagicLev].value - 1 level2 = hero.child[cHelpPsi].field[cMagicLev].value bonus = hero.child[cHelpPsi].field[cPsiPPTot].arrayvalue[level2] - hero.child[cHelpPsi].field[cPsiPPTot].arrayvalue[level] hero.child[cHelpPsi].field[cPsiPPMax].value += bonus As for hiding it from the class specials, all I can think to do is to have the class special call separate abilities for 5th and 9th level. I have a meeting to attend now, but I'll get back on this after that. Edit: Actually, come to think of it, you may not need extra specials if you use an if statement like so: Code:
if (#levelcount[Metamind] >= 9) then level2 = hero.child[cHelpPsi].field[cMagicLev].value + 2 elseif (#levelcount[Metamind] >= 5) then level2 = hero.child[cHelpPsi].field[cMagicLev].value + 1 else level2 = hero.child[cHelpPsi].field[cMagicLev].value endif Last edited by Sendric; July 12th, 2012 at 11:34 AM. |
#6 |
Senior Member
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321
|
Thanks Sendric! That appears to work well!
Now, just need to pull the id from the chooser, and the Metamind will be complete I think. |
#7 |
Senior Member
Join Date: Jul 2010
Posts: 3,147
|
Glad I could help. I haven't been able to figure out where the chooser id is kept. I'll take another look at it tomorrow. Also, do we still need to figure out bonus points from ability scores?
|
#8 |
|
|