• 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

Issue with Racial abilities (secondary custom and otherwise)

bertraze

Active member
So, I'm working on building out a class that has a feature that is so very like an Eidolon that I can create my own Eidolon races for it and all the mechanics just work out -- except for the fact that it needs a completely separate list of racial custom special abilities.

So, I can give it 0 evolution points and create all my racial abilities as secondary ones -- except for the fact that there isn't a field in the editor for the count of secondary racial customs (though there is a field for the name). So I can create them (and even select them from the portfolio), but then I get told I'm over the amount of allowed ones.

This may or may not be a moot point. There aren't actual choices, so they could simply be racial specials that trigger at the appropriate level. I tried building one like that, but it bootstrapped the special ability right away even though I gave it a condition of count:Classes.Race >= 5. I have a hard time figuring out why that evaluated to true since there weren't that many copies on the thing. (I went with custom specials since they don't actually bootstrap things until you add them, but the racial special angle might be cleaner, if I can figure out how to do it. I didn't find a good example of a racial ability that doesn't kick in until a certain level.)

Bonus: I created a Minion Restrictions tag for my class and gave it to the four races I created (and my class). However, I seem to be able to select ones meant for my class as well as the base Eidolon races (and a Summoner can select the new races). Is there a way to restrict that short of replacing the Summoner class and Eidolon races with restrictions attached (which I really don't want to do)? Or do I just have to assume that players of the Summoner and Machinesmith classes will pick the right thing?
 
I've been reading over the rules for the Mechanus (this thing that's almost an Eidolon but not) a little more, and I think most of it is doable. Even the optional size increase at particular levels could probably get handled with a menu on the ability.

The main question I have is that a couple of the abilities give a choice of one of a handful of bonus feats. I have no idea how to bootstrap a thing based on a choice (like in a menu). Is that doable? Or do I need custom abilities so I can offer one ability choice for each bonus feat (and incidentally for optional size increases)?
 
So, I'm working on building out a class that has a feature that is so very like an Eidolon that I can create my own Eidolon races for it and all the mechanics just work out -- except for the fact that it needs a completely separate list of racial custom special abilities.

So, I can give it 0 evolution points and create all my racial abilities as secondary ones -- except for the fact that there isn't a field in the editor for the count of secondary racial customs (though there is a field for the name). So I can create them (and even select them from the portfolio), but then I get told I'm over the amount of allowed ones.

Make a copy of the tiefling race and look at it's eval scripts. You should be able to learn the ID of the field from there.

This may or may not be a moot point. There aren't actual choices, so they could simply be racial specials that trigger at the appropriate level. I tried building one like that, but it bootstrapped the special ability right away even though I gave it a condition of count:Classes.Race >= 5. I have a hard time figuring out why that evaluated to true since there weren't that many copies on the thing. (I went with custom specials since they don't actually bootstrap things until you add them, but the racial special angle might be cleaner, if I can figure out how to do it. I didn't find a good example of a racial ability that doesn't kick in until a certain level.)

I think that would be cleaner. Classes.Race is added once for each racial HD, does the race start with 5 or more HD?

Bonus: I created a Minion Restrictions tag for my class and gave it to the four races I created (and my class). However, I seem to be able to select ones meant for my class as well as the base Eidolon races (and a Summoner can select the new races). Is there a way to restrict that short of replacing the Summoner class and Eidolon races with restrictions attached (which I really don't want to do)? Or do I just have to assume that players of the Summoner and Machinesmith classes will pick the right thing?

Are you assigning the CompList tag to the Machinesmith Class in an eval script? If so, is the timing before First 497?
 
I think that would be cleaner. Classes.Race is added once for each racial HD, does the race start with 5 or more HD?
It only starts with 1 HD. That's why I'm super confused about why the DR was already present. I guess I'll try again, but I was testing at a lower level than 5 when I was testing before.

Are you assigning the CompList tag to the Machinesmith Class in an eval script? If so, is the timing before First 497?
No, I assigned it to the class in the appropriate button in the editor. Does it get ignored if I'm adding the field cEidStart in a script at First/375, since the Eidolon is a secondary ability choice -- the class can also choose a couple different somethings that are very like Arcane Bond objects. Do I need to add CompList again in my script instead of adding it as a Minion Restriction in the editor?
 
Make a copy of the tiefling race and look at it's eval scripts. You should be able to learn the ID of the field from there.

So, I took a look at the eval scripts on Tiefling, and saw this:
Code:
field[rGiveSp2nd].value = 1

In order to give more at higher levels, I assume I would need to use conditional statements to set this value based on the number of levels present, correct?
 
I've been reading over the rules for the Mechanus (this thing that's almost an Eidolon but not) a little more, and I think most of it is doable. Even the optional size increase at particular levels could probably get handled with a menu on the ability.

The main question I have is that a couple of the abilities give a choice of one of a handful of bonus feats. I have no idea how to bootstrap a thing based on a choice (like in a menu). Is that doable? Or do I need custom abilities so I can offer one ability choice for each bonus feat (and incidentally for optional size increases)?

You can set up an array with the various feats as selections, then bootstrap those feats with conditions of selecting the correct row in the array (the usrIndex field).

For example, say your ability allows the user to pick Dodge or Power attack. You put Dodge on line 0 of the array, and Power attack on line 1. Then you bootstrap doge with this condition (at first 500)

fieldval:usrIndex = 0

and power attack with this one

fieldval:usrIndex = 1

If it's a class ability gained at higher levels, you might want to throw another restriction in there. For example, if it needed 3rd level rouge as well.

Classes.Rouge >= 3 & fieldval:usrIndex = 0
 
So, I took a look at the eval scripts on Tiefling, and saw this:
Code:
field[rGiveSp2nd].value = 1

In order to give more at higher levels, I assume I would need to use conditional statements to set this value based on the number of levels present, correct?

Or an equation, if there is one that fits.
 
It only starts with 1 HD. That's why I'm super confused about why the DR was already present. I guess I'll try again, but I was testing at a lower level than 5 when I was testing before.


No, I assigned it to the class in the appropriate button in the editor. Does it get ignored if I'm adding the field cEidStart in a script at First/375, since the Eidolon is a secondary ability choice -- the class can also choose a couple different somethings that are very like Arcane Bond objects. Do I need to add CompList again in my script instead of adding it as a Minion Restriction in the editor?

Why don't you send me what you're working with so far and I'll fiddle with it. Forum name at wolflair dot commune
 
It looks like CompList tags weren't being handled correctly for Eidolons, and I believe I have it fixed for next release. In the meantime, you can have your machinesmith class push the CompList tag to their eidolon directly like so:

perform hero.childfound[cEidolon].minion.hero.pushtags[CompList.?]

That'll at least make it so that your machinesmith can't take the summoner eidolon forms. The converse will have to wait until we put out the next release.
 
As for the bootstrap conditions wonkiness, it looks like that isn't in the version you sent me, so I can't test that.
 
Well, I think the bootstrap wonkiness from before had to do with trying to add it in both a custom ability and a racial ability, which I had already deleted by the time I sent you a file. I've gotten rid of the custom abilities now and I'm trying to rebuild it as a just plain racial ability. I managed to get the ability to be disabled until the proper level in an eval script (that runs in post-levels, so much too late for a bootstrap), but I'm having a very hard time with my bootstrap condition actually working (now it's always false).

I've tried count:Classes.Race >= 4 at First/500 and First/4999, without any success. I've also tried accessing the tHidDice field, but that's apparently calculated much later.

I think I'm out of things to try to figure out how many levels the race has in the bootstrap.
 
Classes.Race, CompLevel.cEidolon and the fields tCompLevel, and tHitDice all seem to not be available to bootstrap conditions.

Is it possible to access the master's fields during a bootstrap? I know I can get PC levels during a bootstrap.
 
I was looking for monster abilities that depend on the number of HD the monster has. I haven't found one that really fits the bill yet, but I did find one that was applying a variable amount of DR, which taught me about #applydr[], which does seem to be able to bootstrap DR from an eval script. I have no idea what #applydr[] is doing under the covers, so I don't know if I could write a similar bit of code to apply a feat from an eval script or not. Is this possible?
 
The DR is already present on all characters - it hides itself if no value has been applied to it. The #applydr[] macro just applies a value to it.

Feats need to run their own scripts, and you can't use a script to create something that needs to run its own scripts.

There are alternative ways to get a feat added under certain circumstances, but without more information about what circumstances the feat needs to be added under, or how many feats the ability can choose from.
 
So, I have a racial special ability that I actually don't want to activate the bonus feat on until my Eidolon(-like thing) is level 10. There are four choices for this bonus feat. Currently, I have an array-based menu, and I've got the bootstrap condition to use that, but I can't seem to get the part where it determines the level (and so allows the bonus feat to happen) to even come up true.
 
Think about other things in Pathfinder that do something similar. (In Hero Lab, Eidolons are a variant of Animal Companions, so you can look for things that add a bonus feat to an animal companion at a certain level, too). The animal archetypes in animal archive may be a good place to start.
 
Yeah, the tenacious guardian ability from the bodyguard archetype has an example, the Indefatigable ability of the Charger archetype, the Eldritch Claws ability of the Totem guide archetype.
 
Animal Companions seem to use hero#CompLevel.cAnimComp >= (number) for this. I tried hero#CompLevel.cEidolon in my Eidolon race, but it won't come up true.
 
You used the same phase & priority as those examples?

hero#CompLevel.cEidolon should be correct.
 
Back
Top