• 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 is horrible and Tutorial*2 bad

Clearing up Umarian's post on the shutdown headers:

On a feat, add this before any code that shouldn't be applied if the feat were disabled for some reason:

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

On a class special, add this before any code that shouldn't be applied if you haven't reached the correct level yet (this also includes code that shouldn't be applied if an archetype replaces this ability):
Code:
doneif (tagis[Helper.ShowSpec] = 0)

If your class special appears at multiple levels - for example, a fighter's armor training, that gets stronger as you level, add this before any code that's level dependant, in addition to the Helper.ShowSpec test:
Code:
doneif (tagis[Helper.FirstCopy] = 0)

By adding that, you make sure that the bonus only gets applied once - not once/copy. For example, an 11th level fighter, with armor training 3, if they didn't have the Helper.FirstCopy test, the copy of that ability at 3rd level would apply a +1, the copy at 7th level would apply a +2, and the copy at 11th level would apply a +3 - for a total of +6.


On any other type of special ability, use this test the same way you use the feat-specific test given above (before any code that shouldn't be applied if the ability were disabled for some reason):

Code:
doneif (tagis[Helper.SpcDisable] <> 0)
 
Last edited:
So I think I have shown that examples can help even those of us who have done things for a while. :) Hope those examples help with getting this started. LOL
 
I think something else that needs to be remembered when considering the initial post of this thread, and at least a couple of others I've seen recently, is that commenting on how hard it is to add a new class is a little nonsensical as a rating of how difficult the editor is to use.

Of everything in the game, classes are probably the most complex individual item, mostly because they are not actually an individual item, they're a (usually large) collection of items under one heading. I don't expect it to be something that I can sit down and do in ten minutes or half an hour as the sheer quantity of material in each class is far too high.

This holds true on the larger scale as well. Yes, the editor is complex and not hugely user-friendly, but if you take the time to consider it I suspect a lot of the reason for this is in the complexity of the d20 & Pathfinder systems, and that's without even taking into account the fact it has to also support a range of other systems that are completely different.

Yes, it would be good to have a reference page for the reference objects, and yes it would be good to have a better search facility in the system, but overall, I've been very impressed in the few months I've been playing about with stuff. A lot of what I've been using it for, especially with d20, has not existed in the system and there's been very little that I've as yet been unable to get to work - I've added a couple of races, some classes and a largely variety of other feats, items, etc and found most of the system very intuitive.

In the end though, I might suggest that if you're not already comfortable with the editor for something like this, such complex items as classes are not really a good starting point...
 
Just to add to the shut-down codes, here is one for the adjustment tab.

On the adjustment, add this before any code so it only applies when the check box is turned on:

Code:
~ If we're not enabled, get out now
    doneif (field[pIsOn].value = 0)
 
Coming back to this threat after seeing many comments and reviewing my options.


I understand that the Editor is not for everyone. I did not take the approach to look at other examples of other classes on how to configure a new class. I ASSUMED(yes that word is awful) that the documentation would guide me through the steps to learn how to create a class. You see, I've finally learned to RTFM when I get stuck. It's invaluable in how to learn how things are supposed to work, occasionally the documentation isn't perfect but it gives good pointers.

I had no idea I could run scripts inside of Hero Lab. That's a new one on me.

I would implore those authors who are good at certain areas be it feats, classes, monsters, etc. to contact Lone Wolf and help update their documentation with their own thoughts. The docs have good principles behind them but they need another pass through.

I know there are lots of people like me who are computer savvy that want to add a class (which apparently is like building a car from spare parts and only a blueprint) that gets frustrated and gives up.

I haven't abandoned ship yet, I finally got my armiger to level 5 and things are starting to click in place but I'm far from finished and I know the abilities are not autoadding correctly.
 
Leopold, you should sign up for the seminar on the 28th. We can go over classes there, if you like.
 
SpcDisable means "we're disabled". SpcReplace shouldn't ever be present unless SpcDisable is also there, since it means "the reason we were disabled is that we're replaced", so you want to test for SpcDisable, not SpcReplace, because there are things that are disabled for reasons other than replacement.
Just wondering when this changed? You have or had LOTS of class abilities that use both. I know as I copied the above from existing things in HL that are both.

I also have both on dozens of classes and it works fine so other than I guess do a wasteful second check whats wrong with using:
Code:
~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~if we've been replaced, get out now
doneif (tagis[Helper.SpcReplace] <> 0)

Also to be clear trying to use the above scripts before Post-Levels/10000 often does not work well as the tags don't get placed until sometime after Post-Levels/1,000 I think...
 
Last edited:
Just wondering when this changed? You have or had LOTS of class abilities that use both. I know as I copied the above from existing things in HL that are both.

I also have both on dozens of classes and it works fine so other than I guess do a wasteful second check whats wrong with using:
Code:
~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~if we've been replaced, get out now
doneif (tagis[Helper.SpcReplace] <> 0)

Also to be clear trying to use the above scripts before Post-Levels/10000 often does not work well as the tags don't get placed until sometime after Post-Levels/1,000 I think...

Yes, unfortunately, when I don't catch a coding style issue (like a redundant test) during my code reviews it then becomes an incorrect example for our users.
 
Yes, unfortunately, when I don't catch a coding style issue (like a redundant test) during my code reviews it then becomes an incorrect example for our users.
Ok this I understand 100%. I do code reviews every Tuesday/Thursday for my current client. Its a very thankless job let me say. :(

So we just need the one Disable test as the Replacement one will disable it anyways. Sigh... Guess I am writing new change grep script to make that change.
 
Last edited:
Back
Top