View Single Post
TheIronGolem
Senior Member
 
Join Date: Feb 2015
Posts: 676

Old January 9th, 2018, 05:06 PM
Some class specials grant a bonus feat at a certain level. The classic example is the Ranger with Endurance. In Hero Lab, this means bootstrapping the feat from a class special with a condition of "count:Classes.classID >= X", so that the feat only appears live on the hero once they have the requisite number of levels. However, if the character doesn't have the requisite number of class levels it's still possible to add the feat to the character by hand, and prerequisites are handled normally by HL.

I'm trying to implement a class feature that does this, but with my custom component for Spheres of Power (a "talent", which if you're not familiar with that system works a lot like a feat). I've found that if I make a talent Add Once instead of Unique, the user can add a conditionally-bootstrapped talent "prematurely", but in the menu it appears with a validation error saying "this ability (or an equivalent) has already been added to the hero", like so:



I'm trying to figure out how to make my component's behavior in this respect mirror that of feats, so that a user with levels in this class have the option of taking the talent before it's granted by the class, without seeing that validation error. This is because the class feature in question gives the hero a bonus talent at the appropriate level if they already have the talent in question.

I know I can simply grant a bonus talent and then use an eval rule to yell at the user if they don't have the talent in question. But I'm hoping to automate this so that required action on the user's part is minimized.

I also realize this issue doesn't actually stop the user from adding the talent if they want to, but I'd really like to find a solution that doesn't require me to tell users "it's fine, ignore the error" - especially since most users would probably not even ask me about it and will instead incorrectly assume that they can't take the talent.
TheIronGolem is offline   #1 Reply With Quote