• 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

Chained bonus feats

frumple

Well-known member
I have a class ability that grants a series of bonus feat, but if the hero already has one of the feats in the series it grants the next one in the series.

For example, the ability grants feat X1 at 1st level, X2 as 6th level, and X3 at 10 level. However, if the hero already has X1, he gets X2. At 6th level if the hero already has X2, he gets X3, etc.

I have tried bootstrap conditions, but the timing of when normal tags you use to check for feats is problematic.

I have also tried using the Hide.Feat and Helper.FtDisable tags with removing them if the necessary conditions are met. However, this does not allow me to add any of the feats in the chain independently. I get the validation message that the feat already has been added.

Any ideas on how to implement this?
 
Best bet is to give them a choice, either a configurable or using a bonus feat table, then probably adding eval rules to make sure they at least have the appropriate feat at the proper level.
 
You can set timing on bootstrap conditions, so you should be able to get there. The other options, is set an abValue on the ability itself that reflects what 'feat level' in your chain the character should be at, using an Eval Script to set the value, then use that abValue as your bootstrap condition.

this is just pseudocode, and I'm writing it on the fly here, but gives the idea:
Ability Eval Script:
Code:
abValue = count of this ability ' (since a copy of this ability gets added at 1st, 6th, and 10th, this will be 1, 2, or 3 appropriately)
Feat1 Bootstrap Condition:
Code:
validif abValue >0 and hasfeat1 = 0
Feat2 Bootstrap Condition:
Code:
validif abValue >1 and hasfeat2 = 0
validif abValue >0 and hasfeat1 = 1
Feat3 Bootstrap Condition:
Code:
validif abValue >2 and hasfeat3 = 0
validif abValue >0 and hasfeat1 = 1 and hasfeat2 = 1

As long as the eval script runs before the bootstrap conditions, and both after things like class bonus feats, you should be good to go.
 
Last edited:
You can't check for HasFeat tags in bootstrap conditions because the tag isn't added until Pre-Levels something and the conditions need to be around First 500-600. You can try using childlives to set the abValue field to check that for conditions, but I'm still not sure that will work well. I'm just going by what Aaron has had me to for the 3PP stuff I've been doing.
 
Back
Top