• 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

Using skill ranks in bootstrap conditions

coyote6

Well-known member
I am trying to add a legendary item/artifact called the Equinox Crown, from Legendary Games' product, Road to War: The Equinox Crown.

One of its abilities is the ability to give the Selective Feat to the user, if it's equipped and if the wearer has 10+ ranks in Spellcraft. Adding the feat via Bootstraps is easy, but I'm having trouble trying to puzzle out the syntax for the Conditions on the bootstrap.

I believe it should be something like:

(fieldval:gIsEquip<>0) & (fieldval: #magic# >= 10)

...And that's where I can't find or figure out what the #magic# is. How do I get the skill ranks in Spellcraft from the wearer? skSpellcra should be in there somewhere, and I think I need the skRanks field (as that's the total ranks, both skInnate and skUser - right?). But how do I reference it in a bootstraps conditions?

From what I've read here, I think it's something like either count:hero#hero.something or fieldval:hero#hero.something. I've tried the whack-a-mole approach (also known as "wild guesses"), but that's been ineffective. I haven't found any other bootstraps that reference skill ranks, so no copy and paste, either.

Any ideas?
 
fieldval in a bootstrap condition tag expression can only check fields on the current (bootstrapping) thing, so you wouldn't be able to check the field for the number of ranks directly. Instead, what you can do is add an eval script which occurs before your bootstrap condition that counts the number of ranks, and if enough are present apply a Custom tag to the hero. Then have the bootstrap condition check for that Custom tag.

One pitfall, because your eval script has to be earlier than the bootstrap condition, it'll only be able to catch ranks the user assigns directly (not those granted, for example, by an intelligence boosting item).
 
Okay, I am doing it wrong.

I have this eval script:

if (hero.child[skSpellcr].field[skUser].value + hero.child[skSpellcr].field[skInnate].value >= 10) then
perform hero.assign[Custom.YSpellcr]
elseif (hero.child[skSpellcr].field[skItem].value >= 10) then
perform hero.assign[Custom.YSpellcr]
endif

And this bootstrap condition:

hero#Custom.YSpellcr

But I get this error message when I test it in the editor:

Hero Lab was forced to stop compilation after the following errors were detected:

Syntax error in 'bootstrap #1 condition' tag expression for Thing 'ioBEqCrwnW'
-> Tag 'Custom.YSpellcr' not defined
Syntax error in 'eval' script for Thing 'ioBEqCrwnW' (Eval Script '#2') on line 2
-> Tag 'Custom.YSpellcr' not defined

So, how do you define a Custom tag? From looking at the Mask of the Forgotten Pharaoh, it looks like you just assign it and that creates it. But, no?

I tried various phases (first, pre-levels, post-levels, final; all the (user) versions), with the bootstrap condition being later than the eval script.

What am I doing wrong?
 
You've got to put the tag on a thing before you can assign it, it actually has to exist. What I do is create an empty ability called "PROJECTNAME Tags" and give it an id. Then I add the Custom tags to that item.

So you would do that, click the Tag button and add Custom.YSpellcr and then you can assign them with your script.

You'll have to do it really early for the assignment script (I usually do First/450) and make the condititional run at First/500.

The fact that you have to do it so early means that you wouldn't be able to check the skItem field because those skill points are assigned pre-levels.
 
Thank you both; I got it to work. (Maybe.)

Now I have to figure out how to add legendary item abilities to a custom magic item...
 
Last edited:
Back
Top