• 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

Amateur needs help with custom spell list and breaking a game rule.

All right, awesome! That worked. I'm using the following code, so far:

Code:
field[cSplBkExpr].text = "(" & field[cSplBkExpr].text & ") | (sClass.cHelpDrd | sClass.cHelpSor) & (sRange.Personal & !sRange.Touch) "

Is there a way to also limit it only to spells from the Core Rulebook, ACG, APG, ARG, Ultimate Combat, and Ultimate Magic? I tried adding:

Code:
& (sSource.ACG | sSource.APG | sSource.ARG | sSource.UltCombat | sSource.UltMagic)

But that didn't seem to work, and I couldn't figure out the tag for the Core Rulebook.

Finally, prior to getting this code to work, I had gone ahead and manually added the 22 additional spells using the method I had mentioned before, and now that the druid/sorcerer personal spells have been added, the manually added spells aren't showing up anymore. Any thoughts?

Thanks so much for helping with this!

I don't think there is a way to tell which sources a particular thing comes from in a candidate expression, unfortunately.

You're probably not seeing the 22 spells because you are overwriting the spell expression of the base class so spells with a matching sClass tag no longer qualify.
 
I also have another problem with this class. It has the druid's A Thousand Faces class ability, and I'm trying to make that ability an in-play option so it's easier to use. I'm using the following code:

Code:
doneif (tagis[Helper.ShowSpec] = 0)

if (field[abilActive].value <> 0) then
  hero.child[aDEX].field[aStartMod].value += 2
  var sizetarget as number
  sizetarget = -1
  call SetSizeTo
  perform assign[Helper.ChgDisab2]
  endif

if (field[abilAct2].value <> 0) then
  hero.child[aSTR].field[aStartMod].value += 2
  var sizetarget as number
  sizetarget = 0
  call SetSizeTo
  perform assign[Helper.ChgDisab1]
  endif

Post-levels/10000 with "Activation Name" set to "Small" and "Activation Name #2" set to "Medium". It seems to be working for the most part. Regardless of the race I choose (I've tried Small, Medium, and Large), this seems to overwrite their size bonus to AC to the appropriate size modifier and apply the correct ability score modifier. However, it doesn't actually change the listed size category. If I select gnome as the race and check the "Medium" box, it will still say "Small" but it takes away their +1 size modifier to AC and applies the +2 Str. If I select trox as the race, it even corrects the space and reach to 5 ft. when I select either box, but it still says "Large". Any ideas why?

Perhaps it is a timing issue?
 
Also if you can check the source tag for a race to add custom abilities, why couldn't you check the same tags in a tag expr?

The one catch is the tag would be "source.APG" etc, lowercase source, no s
 
What timing are you doing for the overwrite and the tags, that might make a difference too

For the spells, I was doing post-levels/10500 for the spell list creation, and post-levels/5000 for the additional spells I'm adding on. This conforms exactly to the way the red mantis assassin is set-up. Is it the spontaneous/prepared differences again, maybe? I also tried changing the priority for the additional spells to 10600 and I tried appending it to the same evalscript as the spell list generation. Neither attempt succeeded.

As for A Thousand Faces, I'm doing post-levels/10000. I also borrowed much of this script from the monstrous physique adjustments, which have the same timing. And those seem to overwrite the size category without issue.

I admit I have no idea what stuff checks at what timings, so everything I put together involves just copying the timing from similar abilities.
 
True, but the armor that the enhancement bonus is applied to is an actual item. It is not a bonus itself, it only grants a bonus of the same name. If anything, accepting that example seems to strengthen my position that Natural armor is not a bonus type but something else... Can you think of any bonus types which have other bonus types applied to them without a physical intermediary? Are there any "insight bonuses to dodge" or similar lurking somewhere in the system?

I can't find anything other than the chart in Ultimate Magic that supports the way I understand the rules, but the way I understand it "enhancement" is a weird type of bonus that modifies other types of bonuses. An insight bonus to dodge wouldn't work, because it's a weirdness of enhancement, not natural armour. Anyway, I can't find anything in the Core Rulebook or Bestiary that supports either way of looking at this. Sometimes they call it a "natural armour bonus" and sometimes they just call it "natural armour". I expect this is another casualty of Paizo's somewhat loose take on technical writing. I can try to get a FAQ up about this.
 
Also if you can check the source tag for a race to add custom abilities, why couldn't you check the same tags in a tag expr?

The one catch is the tag would be "source.APG" etc, lowercase source, no s

That didn't seem to work. If I can't choose the sources, I may not be able to use this is a workaround. I can stay on top of new hardcover books, but there's no way I can stay on top of other splatbooks to make sure inappropriate spells don't make their way on to this spell list.

There's really no way to just build a spell list without modifying every spell on that list? I guess I always assumed Hero Lab would mirror Paizo's publication of the spells: have the spells add themselves to the list of any class that already existed when the spell was published, but have the base spell list of new classes just pull from existing spells without having to modify them. Does every third party publisher that releases a class with a new spell list have to modify every spell involved and then continue to update their files every time Paizo releases a book with new classes?
 
It's a lower priority, but this class has another ability that allows it to use a polymorph spell as a supernatural ability and I'd like to add functionality similar to what I'm doing with A Thousand Faces. The main problem being that there are more than two size category options. I'm fine with either a dropdown menu or checkboxes. It makes no difference to me. But I figured I'd have to use the item selection section of that ability and have a dropdown box (since there are only two Activation Name fields). Unfortunately, "size categories" doesn't appear to be one of the options I can choose to make into a dropdown box. Does anyone have any thoughts on how I'd go about letting the user choose to activate this ability with up to six different size category options?
 
That didn't seem to work. If I can't choose the sources, I may not be able to use this is a workaround. I can stay on top of new hardcover books, but there's no way I can stay on top of other splatbooks to make sure inappropriate spells don't make their way on to this spell list.

There's really no way to just build a spell list without modifying every spell on that list? I guess I always assumed Hero Lab would mirror Paizo's publication of the spells: have the spells add themselves to the list of any class that already existed when the spell was published, but have the base spell list of new classes just pull from existing spells without having to modify them. Does every third party publisher that releases a class with a new spell list have to modify every spell involved and then continue to update their files every time Paizo releases a book with new classes?

If your spell list is similar to an existing one or a combination of others, as many are, you can draw from an existing list (similar to the Hunter from the ACG), but if its a completely novel one then we have to go through and tag every spell as belonging to the new class (like the bloodrager for a recent example). It's a pain for us when we have to do that too, but I can't think of a good alternative.
 
It's a lower priority, but this class has another ability that allows it to use a polymorph spell as a supernatural ability and I'd like to add functionality similar to what I'm doing with A Thousand Faces. The main problem being that there are more than two size category options. I'm fine with either a dropdown menu or checkboxes. It makes no difference to me. But I figured I'd have to use the item selection section of that ability and have a dropdown box (since there are only two Activation Name fields). Unfortunately, "size categories" doesn't appear to be one of the options I can choose to make into a dropdown box. Does anyone have any thoughts on how I'd go about letting the user choose to activate this ability with up to six different size category options?

Use an array instead of a selector?
 
I did actually discover the array after making that post, and that may be a good solution. In an Eval Script, how do I refer to the different rows in an array? And how do I refer to the array itself?

Thanks again!
 
Here are some examples:

Code:
            eachpick.field[usrArray].arraytext[5] = "Only Spirit Bonus"
            field[cmhPSbyCR].arrayvalue[i]

the row is the number in the last set of brackets, you have to first navigate to the pick with the array, then you have to transition to the array field, and then you can access or manipulate the different rows of an array.
 
New problem: I have scoured the coding for witches, wizards, magi, and arcanists, and cannot for the life of me figure out how they're getting cantrips automatically added to their spellbooks. I see the checkbox in the spell helper that lets you exclude a cantrip from being auto-added, but how do I flag my custom class as a class that automatically gets cantrips added to its spellbook?
 
That's handled inside the program for those classes. You can either bootstrap a copy of each of the spells you need to the Class, with each item set up as a spellbook spell for that class, or make the user add those spells themselves.
 
I'm still perplexed by my attempt to change the size category with A Thousand Faces. The code I'm borrowing from is from the monstrous physique small adjustment (at first/10000):

Code:
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)

~ Add a +2 size bonus to Dex
hero.child[aDEX].field[aStartMod].value += 2

~ Add +2 size bonus to Natural AC
hero.child[ArmorClass].field[tACNatural].value += 2

~ Set new size to Small
var sizetarget as number
sizetarget = -1
call SetSizeTo

Which, by the way, is adding +2 to natural armour and should only be adding +1, but is otherwise working perfectly. My code for a thousand faces is:

Code:
doneif (tagis[Helper.ShowSpec] = 0)

~ abilActive is set to "Small"
if (field[abilActive].value <> 0) then
  hero.child[aDEX].field[aStartMod].value += 2
  var sizetarget as number
  sizetarget = -1
  call SetSizeTo
  perform assign[Helper.ChgDisab2]
  endif

~ abilAct2 is set to "Medium"
if (field[abilAct2].value <> 0) then
  hero.child[aSTR].field[aStartMod].value += 2
  var sizetarget as number
  sizetarget = 0
  call SetSizeTo
  perform assign[Helper.ChgDisab1]
  endif

Which is nearly identical, but doesn't function at all at first/10000. The best I can get it to function is at post-levels/4500, where it calculates size modifiers to ability scores, AC, attack bonus, and combat maneuvers correctly but doesn't overwrite the name of the size category. I can only assume the problem is that the size change really needs to happen in "first" but this ability isn't being added to the hero until "levels" because it's a class ability gained through class levels. It occurred to me that the abyssal bloodrager's demonic bulk ability changes the character's size category through a class special ability, so here's the code for that too (first/20000):

Code:
~ Because this procedure needs to run much earlier than post-levels, we
~ have to check that our level is high enough in a special way.

~ First see what level we are supposed to be active at, recorded in our ClSpecWhen tag
var minlevel as number
minlevel = tagmax[ClSpecWhen.?]

~ Then stop us if we are bootstrapped to the class and it is below that level.
doneif (root.linkage[table].field[cTotalLev].value < tagmax[ClSpecWhen.?])

doneif (field[abilActive].value = 0)

doneif (hero.tagis[Hero.Raging] = 0)

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

hero.child[aSTR].field[Bonus].value += 2
hero.child[aDEX].field[Penalty].value -= 2

~we want to increase our size by +1
var sizemod as number
sizemod = 1
call SizeChange

I'm guessing the solution to my issue is somewhere in there, but I tried poaching the special level-checking code from the top and that didn't seem to help either. Anyone have any thoughts? This is driving me crazy.
 
Oh my god, I think I've done it. I just needed to remove the "linkage
" from the bloodrager code and the usual "doneif (tagis[Helper.ShowSpec] = 0)" since the bloodrager code is a workaround for that.
 
I just wanted to chime back in on the natural armour bonus issue. I started a thread in the rules forum on paizo.com with the goal of either getting better citation from someone or a FAQ entry. It's not looking likely with the FAQ entry, as nobody's clicking the FAQ button because they all believe they know the answer. Here's the thread, though, if you want to chime in and clarify your position. I quoted you from this thread a few times, but I'm not sure I'm adequately explaining the way you view natural armour.

http://paizo.com/threads/rzs2romr?Is-natural-armour-a-bonus-type
 
We don't usually change how things work based on forum consensus, and I decline to wade into rules threads because those can get pretty heated over there. If a FAQ or one of the devs gives a concrete answer that'd be different but as it stands things'll stay how they are. Thanks for looking into it though!
 
Well this thread had made me curious about the entire "Natural Armor Bonus" issue. So I went to look into it. I have only looked towards official material such as the PRD/FAQ on Paizo's own site.

Based on the information I found I believe that natural armor isn't ment to stack (with exceptions as for example a luck or enhancement bonus to the natural armor)

First basis: This tells us that the Natural Armor is classed as a type of bonus. That being said as such they shouldn't stack.
Which the Second basis will support. Where it also doesn't mention that natural armor stacks as it does with dodge.

However this would put the issue of wording of abilities and feats into play. Lets take 2 feats currently as an example. (I will be using "Mother's Gift: Surprisingly tough" and "Armor of the Pit")

Mother's Gift states that it increases natural armor. If you don't have one currently you will have an Natural Armor of 1 from this point on wards and will still stack with a feat like "Armor of the Pit" (If not for the race restrictment)

Now looking at "Armor of the Pit" it says you gain +2 natural armor. Which would indicate that if you didn't have one currently, you would from that point gain one and wouldn't stack with another "main" source.

However because there are so many different worded ways of granting natural armor. I suspect there never will be an official FAQ for it cause they would need to errata all the feats/racial abilities and such to make it clear.

All that being said, I would say leave the implementation as it is and depending on the table rules use the adjustment tab to correct the issue if your table does it differently.
 
Last edited:
Back
Top