• 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

Hero Lab Authoring, Removing racial flight

nuku

Well-known member
So, trying to make my first new file! Exciting!

I entered in the basics of a new race, all working great so far.

They have flight, added in the option to select flight, done.

Alternate racial trait takes away flight and gives something else. The giving, easy, but how do I -remove- flight?
 
I'd remove the flight speed from the race, and then create a racial special that adds that flight speed and add that to the race - the racial special should assign the speed and maneuverability in a script - make sure the script has a disabled test at the beginning (look at other racial specials to see how to write that - you're looking for a doneif () at the beginning of the script.

Then, your ART can use the standard disabling mechanism to disable the flight special, which will trigger its script not to run, and the flight won't be assigned.

For an example of something similar, take a look at the racial special named Climb, which is bootstrapped by the Vanara race.
 
Last edited:
I'm so close to making this work. How do I actually add a fly speed as part of an ability?
 
To expand on that, the thingid you'll want is "xFly". You'll also need to set the abValue field to the correct flight speed, and if the maneuverability is anything other than Average you'll want to add a Maneuver tag with the value set to Poor/Good/whatever.
 
Enforcer84 and TheIronGolem, no, you don't want to bootstrap xFly - you want to use a script to assign a value to it and assign the maneuverability tag. The whole point of nuku's project is to get to a point where the fly can be cancelled by an ART, so if you set fly with a bootstrap, that defeats the purpose.

nuku, here's an Eval Script to set a fly speed:
(Post-Levels/10000 will be a good phase & priority for this

Code:
doneif (tagis[Helper.SpcDisable] <> 0)

perform hero.child[xFly].assign[Value.30]
perform hero.child[xFly].assign[Maneuver.Good]
 
Okay! I feel like I'm getting closer. What would one put this eval script? Does that go in the cond. area? It looks ready for some code.
 
Script in, and it errors a lot. I gather something in here needs to be changed to what I have. Is it helper? SpcDisable I assume is a reserved word for 'it's disabled', so I don't want to change that, I assume.

Screen of the error: https://www.dropbox.com/s/amtpgg6eujsv09a/Screenshot 2016-02-16 09.47.05.png?dl=0

Enforcer84 and TheIronGolem, no, you don't want to bootstrap xFly - you want to use a script to assign a value to it and assign the maneuverability tag. The whole point of nuku's project is to get to a point where the fly can be cancelled by an ART, so if you set fly with a bootstrap, that defeats the purpose.

nuku, here's an Eval Script to set a fly speed:
(Post-Levels/10000 will be a good phase & priority for this

Code:
doneif (tagis[Helper.SpcDisable] <> 0)

perform hero.child[xFly].assign[Value.30]
perform hero.child[xFly].assign[Maneuver.Good]
 
Can I see exactly what code you posted? The first thing I want to check is that you have the spaces in the right places - doneif(, with no space inbetween doneif and ( will give the error message you're seeing, I know. So would doneif ( tagis, with a space after the (.

Just copy and paste directly from the program.

Oh, and you don't need an entire screenshot to record errors - you can right-click them and copy them.

Also, this eval script goes on the Flight racial special, which is then bootstrapped to the race, not on the race - otherwise, your ART can't cancel it.
 
if (tagis[Helper.SpcDisable] <> 0)

perform hero.child[xFly].assign[Value.30]
perform hero.child[xFly].assign[Maneuver.Poor]

Wait, oh! So I need to make a new racial special, to then add, which has this script?
 
"doneif", not "if" to begin the first line.

Yes, you want all the things connected to flight to be contained within this racial special - that way, when you make an ART to replace that special, all of the flight things will be turned off when the ART is added.
 
Thank you for being patient with me.

I've made a new special and put in code and such, but it doesn't appear in the list of specials when I click on 'racial special abilities' button for the race. Is there a vital step to making it appear as an option?
 
Did you use "Test Now!" (top left) on the racial special after creating it, but before trying to add it to the race?
 
Oof, and the code doesn't wish to compile: Hero Lab was forced to stop compilation after the following errors were detected:

Syntax error in 'eval' script for Thing 'raLumDrgFl' (Eval Script '#1') on line 1
-> Invalid use of a reserved word in script

The code remains the same:
if (tagis[Helper.SpcDisable] <> 0)

perform hero.child[xFly].assign[Value.30]
perform hero.child[xFly].assign[Maneuver.Poor]
 
Back
Top