• 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 Editor - level requirements

TheNewGM

Member
I am making a custom class in Hero Lab (for pathfinder, I don't know if that matters). This class has custom abilities that I'm making and some of them need a minimum number of levels to be available.

I know that things like the barbarian's Battle Roar has a minimum level, so I looked at that, and under Fields, it has "reqLevBbn". I tried to mimic this for my class using "reqLevblk" (the unique id for the class is cHelpblk and the abbreviation is blk) but it tells me that "reqLevblk is referenced but not defined."

Is there some way I can get the level requirement for this ability?
 
use an expr-req of #customlevelcount[*Class Level ID with the c*] >= XXX

I tried that, and now I'm getting an error when I try to compile it (with the "Test Now" button) that says:

"Syntax error in 'pre-requisite rule' script for Thing 'cXXXDFCBS' on line 1 -> Error parsing left-side expression in relational comparison"
(cXXXDFCBS is the custom ability I am working in)

It will compile if I don't use the expr-req you mention, but won't when I type it in. I wrote:
#cutomlevelcount[cBldKnight] >= 15
 
i'm not familiar with that particular macro, but just wondering if you typo'd it here when you wrote it or did you copy paste it and your user file has the typo? (cutom instead of custom)
 
Unless you changed the defaults that were set when you used the class creation wizard, then the tag to use in #customlevelcount[] is the Class Level Unique Id, without the initial "c".

And for custom abilities, our intent was that "XXX" in the Id is replaced with the 3-letter abbreviation of the class that's going to be using this ability, so "blk" in this case. (Because of that, we generally capitalize at least the first letter of the 3-letter abbreviation, because right now, abilities will start off as "cblk" - I'd recommend BlK, since I'm guessing this class' name is "Blood Knight").
 
Unless you changed the defaults that were set when you used the class creation wizard, then the tag to use in #customlevelcount[] is the Class Level Unique Id, without the initial "c".

And for custom abilities, our intent was that "XXX" in the Id is replaced with the 3-letter abbreviation of the class that's going to be using this ability, so "blk" in this case. (Because of that, we generally capitalize at least the first letter of the 3-letter abbreviation, because right now, abilities will start off as "cblk" - I'd recommend BlK, since I'm guessing this class' name is "Blood Knight").

Okay, I've changed all my Custom Ability names appropriately. The relevant Ids are now:
Custom Ability: cBlkBS
Class Level: cBldKnight
Class: cHelpblk (the first few times I tried to make this class I got rid of "Help" and it would not work, so I left it in)

The exact code (copy and pasted) I have written in the Expr-reqs for the Custom Ability is:
#customlevelcount[BldKnight] >= 15

The error I get when I try to test it with the "Test Now!" button is:
Syntax error in 'pre-requisite rule' script for Thing 'cBlkBS' on line 1
-> Error parsing left-side expression in relational comparison

(link takes you to a screenshot of the error)
https://gyazo.com/ace335c24b8d3862167aa0b55de3c008

I also have two other Expr-reqs for this custom ability, but they both work when I do not include this level count, so I don't know if they interfere with this code or not.
 
Sorry, I hadn't thought to double-check AndrewD2's posts - he gave you a test that doesn't exist. Here's what to use:

Code:
#custspeciallevelcount[BldKnight] >= 15
 
Thank you so much, that worked. For some reason, the ability now appears twice in the list of possible abilities when making a character, but it's not a big deal.
 
the ability now appears twice in the list of possible abilities when making a character, but it's not a big deal.
Restart HL. One is the OLD Thing ID and the other is the NEW Thing ID. You can do "CTRL-R" to do quick restart and the 2nd one should be gone.
 
If you changed the Id, and then used Test Now on the new version, then that would not have removed the old one - Hero Lab thinks you created something new.

That'll fix itself next time you start HL (because the database patch that Test Now created is removed and replaced with a proper load of all the content in the data files whenever you switch game systems), or you can go to the main Hero Lab window, and from the Develop menu, choose "quick-reload data files" (make sure Enable Data File Debugging at the top of the Develop menu is turned on, in order to enable quick reload). That quick-reload is also handy as the bulk version of Test Now, if you're adding a lot of things at once.
 
Okay, so I'm having a few other problems...
1) A custom ability I'm making requires a minimum Fortitude modifier, how would I implement this?
2) A different custom ability needs either a minimum dexterity of 13 OR 5 ranks in Perform(Dance). I'm using the Pre-Reqs script:

var total as number
if (aDEX >= 13) then
.....total +=1
endif
if (#skillranks[skPerfDanc] >= 5) then
.....total +=1
endif
validif (total >=1)


This works on some of my other custom abilities where both "if" statements are using skill ranks for their arguments, but it does not work with aDEX. Is there a way to make this work and/or something else that will get the result I'm looking for?

3) Is there somewhere I can look up these different commands and syntax so I don't have to continuously come back here and bug you with my questions all the time?
 
When you rename a "thing"'s ID in the editor, the old copy sticks around in the compiled code until you reload. I'm not sure if you need to do a complete restart of HeroLab or if the Quick Reload will do it, but it will go away on its own. Be careful not to accidentally use the old id, as it won't exist the next time you reload and HeroLab will complain.
 
Last edited:
Back
Top