• 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

Custom Ability providing variable benefits?

TCArknight

Well-known member
Ok, I'm drawing a blank on this and hope someone can help.

the Surge Bond ability provides one benefit if the Artificer Surge ability is chosen (A bonus Item Creation feat) and another if the Free Surge ability is chosen (the Psionic Talent feat).

I have each of the Surge abilities adding a specific tag to the character for that type of Surge ability. (SurgeArti and SurgeFree in this case.)

I know that I could bootstrap the Feat specifically on the class and looking for the tag, but how do I bootstrap the choice from several? Do I need to create a new ability and bootstrap that?

Thanks!
TC
 
Look at the Rogue Talents "Combat Trick" and "Finesse Rogue" - it sounds like you want to duplicate that choice.
 
Thanks Mathias! I just couldn't remember which of the Rogue talents did what I needed.

In looking at the Combat Trick ability, I see the linkage entry in the eval, but I don't see where you're telling which category or specific feats to make a choice from. Is that on where the ability is bootstrapped from the class or elsewhere?

I also wanted to follow up with you on the PM I'd sent. :)

I really do appreciate the help on this! :)

TC
 
What field is it going to after traveling through the linkage to the class? There are different fields for each of the two bootstrap tables that are available for classes.

Then, look at the Rogue class itself to see how the class sets up what's allowed to be selected for that menu.
 
Ah, ok I see. The Rogue class has the feats already defined as being Combat or Custom. I can define mine the same way since only one of the Surge Types adds a Bonus feat of a type.

However, there's a difference between the Combat Trick and Improved Surge Bond. Combat Trick is a Custom ability chosen from a menu, where ISB is given at specific levels. With another ability for a different surge, I'm able to use this script:

Code:
<eval phase="Final" priority="10000"><![CDATA[
      field[abValue].value += field[xCount].value
      field[livename].text = "Improved Surge Bond: Volatile Mind +" & field[abValue].value
      field[shortname].text = "Volatile Mind +" & field[xIndex].value
      field[listname].text = "Improved Surge Bond: Volatile Mind +" & field[xIndex].value]]></eval>

That's at Final/10000, so I'm able to pull field[xCount].value to get the number of times the ability is active. However, I can't do that with ISB, because the script that determines how many bonus feats (like in Combat Trick) runs at Pre-Levels/10000. So this value always seems to evaluate to 0.
Code:
<eval phase="PreLevel" priority="10000" index="2"><![CDATA[~ Add to Item Creation feats allowed
debug "ISB Count: " & field[xCount].value
hero.child[cHelpWld].field[cBonFtMax].value += field[xCount].value
]]></eval>

If I replace the '+=field[xCount].value' by '+= 1', then (because I have the ability bootstrapped with conditions 4 times at 5, 9, 13 and 17th level) as soon as the condition is valid all four bootstraps become active and the max Bonus Feat count (cBonFtMax) is 4. There are no errors from it though.

If I use this (like it is in the Combat Trick ability) :
Code:
<eval phase="PreLevel" priority="10000" index="2"><![CDATA[~ Add to Item Creation feats allowed
debug "ISB Count: " & field[xCount].value
linkage[table].field[cBonFtMax].value += field[xCount].value
]]></eval>

I get "Linkage pick 'table' not located for current context." as an error.

Am I missing something with the difference between using it in a chosen custom ability and a bootstrapped Class Special?

Thanks!
TC
 
If it's given at specific levels, but then you choose which ability you get, how does that differ from the Rogue Talents - you get a new one every 2 levels?

If, every few levels you gain a new bonus feat, how is that different from the way a fighter gains a new bonus feat selection every few levels?
 
Well, I know the biggest thing would be adding the numbers to the table on when the feat or ability is gained :)

In this case, I'm trying to duplicate the adding of the numbers to the table dynamically, but only if a particular other ability is chosen.

The Wilder class has an ability called Wild Surge. As part of this ability, the choice must be made as to the basis fir the Surge. Two of these choices are Artificer's Surge and Free Surge. Each surge provides, at 1st level the Surge Bond ability and at 5th, 9th, 13th and 17th levels provides the Improved Surge Bond ability. For Artificer's Surge, Surge Bond is a choice of a bonus Item Creation feat. For Free Surge, it's the Psionics Talent feat as a bonus feat.
Those I think I have handled. :) It's the Improved Surge Bond that's driving me nuts! lol

At each of the above listed levels, Artificer's Surge provides a bonus Item Creation feat as well. Free Surge on the other hand provides a different ability named Volatile Mind that increases in bonus at each increment of acquisition. I've got the volatile mind working, but can't get the Artificer's to work. Volatile Mind works because I can grab the field[xCount] at Final/10000 and rename everything. But, I can't do that for the bonus feats because I have to increment the cBonFtMax value at prelevel stage.

Does that make sense? Am I overthinking what I need to do?
 
Okay, you have the one table offering a selection between those two abilities. If the one option is selected, it fills out the secondary abilities table, and fills out the bonus feats table:

Timing: before PostLevels/10000

Code:
~add secondary ability slots at levels 5, 9, 13, and 17
linkage[table].field[cCustScTot].arrayvalue[4] = 1
linkage[table].field[cCustScTot].arrayvalue[8] = 1
linkage[table].field[cCustScTot].arrayvalue[12] = 1
linkage[table].field[cCustScTot].arrayvalue[16] = 1
 
~add bonus feat slots at levels 5, 9, 13, and 17 
linkage[table].field[cBonFtTot].arrayvalue[4] = 1
linkage[table].field[cBonFtTot].arrayvalue[8] = 1
linkage[table].field[cBonFtTot].arrayvalue[12] = 1
linkage[table].field[cBonFtTot].arrayvalue[16] = 1

Rather than calculating the level on the custom ability that's been chosen, fill out the array and let the class determine how many to grant.
 
Ah, ok I see. Thanks! :)

I'll try that when I get home. I'm nervous about using that linkage
bit though. I kept having to use hero.child[cHelpWld].field to not get an error. What's the difference between the two ways?
 
linkage
. is how to get to the class from a custom class ability.

On a class special, hero.child[XXXXX]. is the way to get to the class.

(if the class special was bootstrapped directly from the class, root. will transition to the class, but when bootstrapped from a custom class ability, root. will transition to that ability).
 
That worked.

I appreciate the explanation too, helped a lot. :)

Is there a way to not have it display 'Bonus Feat' in the Special Abilities list? I want to display 'Improved Surge Bond: Bonus Feat' instead of 'Bonus Feat, Improved Surge Bond'.

Thanks!
TC
 
Sorry, the code that adds the bonus feats and custom class abilities to the list of what the class offers isn't easily altered.

Something I forgot to mention in the explanation of the transititions - you can use more than one of them, so if you're sure that a class special will always be bootstrapped from a custom class ability, and not borrowed by another class as a class special that's always present, root.linkage
. will transition from the class special to the class that the custom class ability is on.
 
Well, I was hoping. :)

Ah, thanks. I may be able to make use of that....

Speaking of bootstraps, is there a limit to the number that can be on one class?

I get the following error with the 19th bootstrap on the class (or if I bootstrap on a bootstrap...):

bootstraperror.jpg


It seems like I need to combine a couple of things... :(

here's the set of files I'm working with just in case....
 

Attachments

It looks like you're bootstrapping a custom special - those MUST be selected by the user, never bootstraped.
 
Got it. :) If it's a choose-able item from a list say, then it needs to be a Custom Ability, but if it's a specific item, then it should be a class special. In the Wilder's case, the Surge Types would be Custom Abilities, and everything else really would be Class Specials.
 
Back
Top