• 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

Check for a Special

Illyahr

Well-known member
An issue I've been running into a couple times is having a class ability check to see if a special is present.

This, for example, is from the Fury of Vengeance ability:

if (hero.child[xRage] <> 0) then
perform assign[Helper.SpecUp]
hero.child[xRage].field[hTotal].value = maximum(hero.child[xRage].field[hTotal].value, field[hTotal].value)
endif

It's supposed to check if Hero has Rage. If it does, hides the class ability from the Specials tab. The ability functions like rage but doesn't stack so it says the hTotal of Rage would be whichever has a higher value.

In the case Rage is found, Fury of Vengeance adds +2 to Str, +2 to Con, and +1 to Will when raging and fighting Shadowlands creatures so I think it'd look something like this:

if (hero.child[xRage] <> 0) then
if (field[hIsOn1].value <> 0) then
~ +2 Str
~ +2 Con
~ +1 Will
else
~ Barbarian Rage stat boosts
endif
endif

It's that first line that's giving me trouble, and I think the hTotal value check is going to give me trouble. Any suggestions?
 
An issue I've been running into a couple times is having a class ability check to see if a special is present.

This, for example, is from the Fury of Vengeance ability:

if (hero.child[xRage] <> 0) then
perform assign[Helper.SpecUp]
hero.child[xRage].field[hTotal].value = maximum(hero.child[xRage].field[hTotal].value, field[hTotal].value)
endif

It's supposed to check if Hero has Rage. If it does, hides the class ability from the Specials tab. The ability functions like rage but doesn't stack so it says the hTotal of Rage would be whichever has a higher value.

In the case Rage is found, Fury of Vengeance adds +2 to Str, +2 to Con, and +1 to Will when raging and fighting Shadowlands creatures so I think it'd look something like this:

if (hero.child[xRage] <> 0) then
if (field[hIsOn1].value <> 0) then
~ +2 Str
~ +2 Con
~ +1 Will
else
~ Barbarian Rage stat boosts
endif
endif

It's that first line that's giving me trouble, and I think the hTotal value check is going to give me trouble. Any suggestions?

You need to look for something particular about the special. The code you presented here won't do anything. For the first line, I would recommend this:

Code:
if (hero.childfound[xRage].tagis[Helper.ShowSpec] <> 0) then

You should use "childfound" instead of "child" any time you aren't positive if the thing in question is on the character. Otherwise, you will likely get an error. This script searches to see if xRage exists, and if it does whether or not the tag "Helper.ShowSpec" is active on it, which generally means its an ability the character can use.
 
Ah, ok. I knew I was missing something. Since I'm not doing spells for now, I'm very nearly done with OA and this is among the last few things I'm trying to tinker with.
 
Back
Top