• 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

Problems with Evolution pre-requisites

scibat

Well-known member
I am trying to code some new evolutions for eidolons that have pre-requisites linked to the summoner. In these particular cases, most of them are linked either to a race or an alternate racial trait, with one linked to the presence of Flight speed. I seem to be having problems grasping how to work out pre-requisites scripts in this case.

I first took a look at the Celestial Appearance evolution that requires the summoner to be of good alignment. From there, I tried this out:

if (ishero = 0) then
validif (hero.child[xFly].value > 0)
elseif (isminion <> 0) then
validif (master.child[xFly].value > 0)
endif

That returned an 'invalid use of reserved word' error on line 3. It's probably something very minor I'm missing, but any help would be appreciated.

EDIT: Forgot to mention that I am not having issues with coding the other pre-reqs. Just this one.
 
Last edited:
are you checking totals (aka if there is anything in the skill) or ranks?

if you're checking totals you'd want
Code:
if (ishero = 0) then
   validif (hero.child[xFly].field[skTotal].value > 0)
elseif (isminion <> 0) then
   validif (master.child[xFly].field[skTotal].value > 0)
endif

if you're checking ranks you'd want:
Code:
if (ishero = 0) then
   validif (hero.child[xFly].field[skRanks].value > 0)
elseif (isminion <> 0) then
   validif (master.child[xFly].field[skRanks].value > 0)
endif

You need to check an actual field and not the child. The child contains the fields, but doesn't have any actual value of it's own.

EDIT: I should also note that this is untested, but I believe it should work.
 
Last edited:
I feel dumb, I should have realized that! I kept feeling that I was missing SOMETHING there.

Thanks for the help, I'll let you know if it works!
 
Tried it out and I don't think that's the problem.

First thing I realized is that you are talking about the Fly skill (skFly) ... I'm talking about the actual ability to fly (xFly). I had been using in pre-req expressions (as opposed to scripts) #value[xFly] > 0 as a valid way to check for presence of a Fly speed, that being determined by the Value tag on xFly.

I seem to be having difficulty remembering how to pull a tag value for a comparison outside of using the #value macro .... which *should* work for one of the two comparisons, but not for the other where information has to be pulled from the master.
 
yeah, try hero.child[xFly].tagvalue[Value.?] > 0

you might also need to check the abValue in case it was assigned after in which cause you would also need to check hero.child[xFly].field[abValue].value > 0

Code:
if (ishero = 0) then
   validif (hero.child[xFly].tagvalue[Value.?] + hero.child[xFly].field[abValue].value > 0)
elseif (isminion <> 0) then
   validif (master.child[xFly].tagvalue[Value.?] + master.child[xFly].field[abValue].value > 0)
endif

EDIT: Added some code.
 
Back
Top