• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

How do I do this? (Pathfinder)

Make a copy of any feat in the book which has a BAB pre-req, there are a million of them, and look at it's expr-req. For the will save, look at Heroic Will from the ARG, or Draconic Discipline from Dragonslayer's handbook.
 
More Prereq questions

Make a copy of any feat in the book which has a BAB pre-req, there are a million of them, and look at it's expr-req. For the will save, look at Heroic Will from the ARG, or Draconic Discipline from Dragonslayer's handbook.

Thanks. BAB was no problem. I don't have the sources you list, however, to get the Will save formula.

While we're at it (prereqs), two more quickies for you. One, how do you add 5 ranks of Perform (no specifics, any) as a prereq? And how about adding the ability to cast a specific spell?
 
1 - hero.child[svWill].field[svBase].value >= X

2 - In a pre-req, Foreach through all skills with the Helper.SkCatPerf tag, inside the foreach put "validif (eachpick.field[skRanks].value >= 5)"

3 - Not doable in any reasonable fashion.
 
I'm having trouble figuring out another new class feature. The issue is getting the script to register adding 1 use per day each time it's added to the class, at levels 5, 7 and 9. Here's the Class Special rules as written:

At 5th level, an anchorite of the Mists can use {i}dimension door{/i} once per day, as a sorcerer with a level equal to the character's primary divine spellcasting level plus her anchorite of the Mists level. At 7th level, she can use this ability twice per day, and at 9th level she can use it three times per day.

The automatic calculations don't cover the unusual level progression for this ability. Any suggestions?
 
Here is a basic class ability script I always start from. Its made to level up a bonus each time it is bootstrapped to the class.

Post-Levels/10000
Code:
~Set the list name
field[listname].text = field[thingname].text & " " & signed(field[xIndex].value)

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~ if we've been disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

field[abValue].value += field[xCount].value
field[livename].text = field[thingname].text & " " & signed(field[abValue].value)

The design is made so that the script figures out the "Bonus" based on the levels you bootstrapped this class feature to the class. So in this case you would bootstrap at 5th, 7th, and 9th level.

Now the above needs a small change as it giving a "bonus" instead of usage per day. But its just a slight tweak to make abValue into a usage value instead of a bonus:
Post-Levels/10000:
Code:
~Set the list name
field[listname].text = field[thingname].text & " " & field[xIndex].value & tagnames[Usage.?]

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~ if we've been disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

field[abValue].value += field[xCount].value
~ Set the usage field called Tracker Max
field[trkMax].value += field[abValue].value
Then just make sure you leave the default trkMax field as zero and set tracked resources to "/day".
 
Here is a basic class ability script I always start from. Its made to level up a bonus each time it is bootstrapped to the class.

Post-Levels/10000
Code:
~Set the list name
field[listname].text = field[thingname].text & " " & signed(field[xIndex].value)

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~ if we've been disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

field[abValue].value += field[xCount].value
field[livename].text = field[thingname].text & " " & signed(field[abValue].value)

The design is made so that the script figures out the "Bonus" based on the levels you bootstrapped this class feature to the class. So in this case you would bootstrap at 5th, 7th, and 9th level.

Now the above needs a small change as it giving a "bonus" instead of usage per day. But its just a slight tweak to make abValue into a usage value instead of a bonus:
Post-Levels/10000:
Code:
~Set the list name
field[listname].text = field[thingname].text & " " & field[xIndex].value & tagnames[Usage.?]

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~ if we've been disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

field[abValue].value += field[xCount].value
~ Set the usage field called Tracker Max
field[trkMax].value += field[abValue].value
Then just make sure you leave the default trkMax field as zero and set tracked resources to "/day".

Wow, that was perfect! All the output came out just the way it should! Thanks!
 
New question. I have a 10-level PClass that has an ability giving a +1 sacred bonus to attack rolls, saving throws, and skill checks at every even level. The script is an easy copy and paste, but the problem is finding the right "thing" for "All Saving Throws." In addition, I'm not seeing the bonus to skill checks show up under the Skills tab when I run my cursor over the skills to see details pop up.

I am guessing I have the wrong Things for "All Saving Throws" and "All Skills" but I cannot find others in the lists that work with the script.

The error message: Attempt to access non-existent child pick 'pSave' from script.

Script is below.

Post-levels 10000 1

~if we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] = 0)

field[abValue].value += field[xCount].value


Render 1000 2


field[listname].text = "Guardian of Innocence " & signed(field[xIndex].value)

~if we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] = 0)

~only do the rest if we're the first copy
doneif (tagis[Helper.FirstCopy] = 0)

field[sbName].text = lowercase(field[thingname].text) & " " & signed(field[abValue].value)
field[livename].text = "Guardian of Innocence " & signed(field[abValue].value)
field[abSumm].text = signed(field[abValue].value) & " sacred bonus to attacks, saves, and skill checks when defending a good creature."

#situational[hero.child[Attack],signed(field[abValue].value) & " sacred bonus to attacks, saves, and skill checks when defending a good creature.",field[thingname].text]

#situational[hero.child[pSave],signed(field[abValue].value) & " sacred bonus to attacks, saves, and skill checks when defending a good creature.",field[thingname].text]

#situational[hero.child[AllSkills],signed(field[abValue].value) & " sacred bonus to attacks, saves, and skill checks when defending a good creature.",field[thingname].text]
 
For future reference, to look this sort of information up, you can use the "Find Thing" button that's at the top of the Eval Script form.

Select "Saving Throws" as the category of things whose Ids you want to look up, and you'll see that there are only 4 items there - fort, ref, will, and "All Saves". Double-click "All Saves", and it will place the Id of that item wherever the cursor was in your script before you clicked "Find Thing".
 
svAll and AllSkills

Thank you! That did the trick. One thing, I'm not sure if it's a problem or a quirk of the program...when I move my mouse over the Attack and Saves info, it brings up the note for the situational bonus from the ability just fine. But when I do it for the skills in the Skill tab, there is nothing about the bonus there. Is the script off for that one area (skills) or does the program just not show the message in that tab? Otherwise all good.
 
For future reference, to look this sort of information up, you can use the "Find Thing" button that's at the top of the Eval Script form.

Select "Saving Throws" as the category of things whose Ids you want to look up, and you'll see that there are only 4 items there - fort, ref, will, and "All Saves". Double-click "All Saves", and it will place the Id of that item wherever the cursor was in your script before you clicked "Find Thing".

Thanks. I did that, but I was searching under "Saving Throw" rather than "All Saves" so it didn't come up. I'll be more flexible with my searches and change words around more in the future.
 
Here's a simple one. It's the output of the text that I'm having the most trouble with. Again, for a 10-level pclass, it gives Spell Resistance (SR) 11 at 2nd level, then increases it by 2 each even level thereafter (so SR 19 at 10th level).

The calculations work, but the output on the character file is odd. Under the pclass tab, Special Abilities, it shows Spell Resistance gained at each even level, but lists it as the full 19 at level 2, and then "Spell Resistance 0" for each level after that through 10th.

The Special tab shows it as follows:

Spell Resistance (Ex) (pclass name)
Spell Resistance 19

Any suggestions? Script below for reference.

Post-levels 10000 1

~only perform the calculations for the first copy
doneif (tagis[Helper.FirstCopy] = 0)

field[abValue].value += 9

field[abValue].value += (field[xCount].value * 2)

Render 10000 2

field[listname].text = "Spell Resistance " & field[abValue].value

~only perform the calculations for the first copy
doneif (tagis[Helper.FirstCopy] = 0)

field[abSumm].text = "Spell Resistance " & field[abValue].value



~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] = 0)

doneif (tagis[Helper.SpcDisable] <> 0)
 
You need to do your calculation working off xIndex instead of xCount and you want it to happen for every copy for calculating the listname. For Spell Resistance you also don't need to show the livename (Hide from Specials) because you can use the macro #applysr[] to add the final amount in (for this you'll want the value of abValue.)
 
Last edited:
You need to do your calculation working off xIndex instead of xCount and you want it to happen for every copy for calculating the listname. For Spell Resistance you also don't need to show the livename (Hide from Specials) because you can use the macro #applysr[] to add the final amount in (for this you'll want the value of abValue.)

This didn't solve the problems. Anything else?
 
Try this around Post-Levels 10000

Code:
var sr as number
sr += 9
sr += (field[xIndex].value * 2)
field[listname].text = "Spell Resistance " & sr

~if were not shown, get out now
doneif (tagis[Helper.ShowSpec] = 0)

~if we're disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)


~only perform the calculations for the first copy
doneif (tagis[Helper.FirstCopy] = 0)

field[abValue].value += 9
field[abValue].value += (field[xCount].value * 2)
#applysr[field[abValue].value]

this is untested, but should work
 
The numbers crunch fine. The problem seems to be still in the Class Tab/Special Abilities button. Level 2 it says

Spell Resistance 19
Spell Resistance

Every other even level has the same thing but 19 is 0.

The problem must be with the rendering script, shown below. Render 10000 2

field[listname].text = "Spell Resistance " & field[abValue].value

~only perform the calculations for the first copy
doneif (tagis[Helper.FirstCopy] = 0)

field[abSumm].text = "Spell Resistance " & field[abValue].value



~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] = 0)

doneif (tagis[Helper.SpcDisable] <> 0)
 
Maybe it would help to define what the various tags and fields mean.

xIndex = field which shows what order this copy of the class special is. For example, if a class ability is bootstrapped at 1st, 5th, and 10th the 1st level copy has xIndex = 1, the 5th level copy has xIndex = 2, and the 10th level copy has xIndex = 3.

xCount = field which counts how many copies of this class ability are active because you have achieved a level high enough to gain it. It is only calculated for the first copy of a class ability. In the example above, a character who is 2nd level would have xCount = 1 on the first copy (the one at 1st level). A character who is 11th level would have xCount = 3 on the first copy and xCount = 1 on the 2nd and 3rd copy.

listname = field which stores the name which is displayed in the class special abilities list. This is distinct from the livename (which is the name shown on the specials tab and elsewhere), and the sbName (which is shown in the output statblock). When a class special is bootstrapped multiple times, each copy can define its own listname to show how the ability advances.

abSumm = field which shows as the summary on the specials tab.

Helper.FirstCopy = tag which is applied to the lowest level, non-disabled copy of the class special.
 
Andrew is correct, you shouldn't need to show this class special on the specials tab, because you should be applying SR to the universal special on every hero. No need to worry about livename or abSumm for that reason.
 
Back
Top