• 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

How to build a custom class?

coastiemike

Active member
I bought a copy of the Hero Lab at Gencon this weekend. I have it installed and am trying to tweak it by creating a custom character class. I have a player who has a Beguiler in my Pathfinder campaign. Beguiler is not a class in the Pathfinder system so I would like to "build" or copy the beguiler class from 3.5 rules set and make some changes to reflect the Pathfinder rules.

How do I get to the create custom class screen? Is there a way to import my created custom beguiler class to my Pathfinder licensed Hero Lab?
 
I think custom file creation has not yet been implemented for Pathfinder yet. It should be finished within a week or two. Once that is done it should be accessable through "Tools" -> and "Editor" if it is like the normal 3.5 data set
 
Under 3.5, I go to Tools Menu and choose Launch Editor. I then get a pop up menu. It advises me:

"To start editing a new file, click on the "File" menu and select "New Data File." But, I don't get that option. The only options under File menu are:

New Portfolio
Open Portfolio
Save Portfolio
Save Portfolio As

Where the heck is the Create Custom Class at tab at?
 
I think you may be confused about what popped up. It isn't just a message, that should be the editor program.

After Launch Editor, there should be 2 windows open now, one is the Hero Lab program, and under that "File" menu there are the options you listed, having to do with portfolios.

The other window (the one with the message you are reading saying click on New Data File) should also have 4 menues at the top "file" "view" "tools" and "help". Under this file menu you should see Data File options.
 
I'm having the same questions, though in my case the difficulty isn't finding the tabs, it's not being clear on how to use them. Adding a Feat or a Spell is nice and simple, but adding in an entire Class still has me confused. I see the "class" tab, and it's clearly how one would start. But there seems like there should be more to it, and what about the "Class level" and "class special" tabs, what's the difference there?
 
Last edited:
Ah, I am learning! Learned a few things by browsing other parts of the forum, and that helped me figure some out myself, especially the "Class" tab even if I'm still not sure how some parts of it are working. Green Ronin's old "Master Class" of "Avatar" doesn't seem to be able to prompt me to learn spells of higher level than zero, even with some showing up on the drop down menu. Hmmm. I'm sure it'll come as I keep working at the puzzle, but any hints are much appreciated!
 
A good place to start is with the tutorial, which you can find under the help menu in the editor. It will walk you through the basics, and if you have any questions (which I am sure you will) feel free to ask here in the forums. Mgehl is the master, but I can probably help you with simple things.
 
I've figured out a fair amount at this point, pretty much have the basics. It's oddball, special things that a class can do or gets as a benefit at a given level that I'm most interested in learning right now. Say, for example, the "Grace" class feature of the Completer Warrior's "Swashbuckler". It's a bonus to Reflex saves gained at 2, and improves at 11 and 20. It only applies when wearing light or no armor with light or no load. I see the Special Ability Info button, and it should obviously be put there, but it doesn't show up on the Character Sheet and clearly I wish it would. Presumably the "Special" tab is what I need, but looking at it, I don't see how to go about it.
 
Well actually, since it is something you get from a class, "class special" would probably be the more appropriate tag. Oftentimes you can see how to do things by looking at eval scripts already programmed things in HL, for example, the ranger's Evasion requires being in light armor for it to work. You can access the SRD classes through the editor through Open File -> Source folder -> appropriate class or you can just New (Copy) the appropriate special and look at the evals there.

From the ranger's class special evasion I see:

~ If we're wearing medium or worse armor, get out
if (hero.tagis[Hero.MedArmor] + hero.tagis[Hero.HeavyArmor] <> 0) then
var result as number
result = delete[Helper.ShowSpec]
done
endif

Barbarian's Fast movement requires you not be heavily encumbered. I would use Monk's fast movement, but it seems to have dissappeared from the program mysteriously.... Anyway from that eval script I pull:

var result as number
~ If we fail the test for being speedy, get out
if (hero.tagis[Encumbered.Light] + hero.tagis[Encumbered.Medium] = 0) then
result = assign[Helper.SpcDisable]
done
elseif (hero.tagis[Hero.HeavyArmor] <> 0) then
result = assign[Helper.SpcDisable]
done
endif

And finally, adding a bonus based on level requires you to first get your level, and determine the bonus based on that. There are many abilities you can copy to see how to program a variable bonus, and to see how to add to reflex saves, look at the Lightning Reflexes feat. Here is some code I pulled:

~ Get the bonus based on our level
var bonus as number
var level as number
level = field[xTotalLev].value
if (level < 5) then
bonus = -2
elseif (level < 9) then
bonus = -1
else
bonus = 0
endif

container.child[vRef].field[Bonus].value = container.child[vRef].field[Bonus].value + 2

Now you just have to combine the pieces you have gathered and test the code. It may take a little bit of fiddling. I have found that the hardest thing is often getting the right timing for it to work. Here is the final code I would try testing.

var result as number
~ If we fail the test for being speedy, get out
~ Note that I switched this around a little, due to personal preference
if (hero.tagis[Encumbered.Medium] + hero.tagis[Encumbered.Heavy] <> 0) then
result = assign[Helper.SpcDisable]
done
elseif (hero.tagis[Hero.MedArmor] + hero.tagis[Hero.HeavyArmor] <> 0) then
result = assign[Helper.SpcDisable]
done
endif

~ Get the bonus based on our level
var bonus as number
var level as number
level = field[xTotalLev].value
if (level >= 20) then
bonus = 3
elseif (level >= 11) then
bonus = 2
else
bonus = 1
endif

~ Note that the bonus is a Competence bonus, so I have changed what was previously .field[Bonus] to .field[BonComp]
container.child[vRef].field[BonComp].value = container.child[vRef].field[BonComp].value + bonus

Feel free to ask any questions about other class specials and whatnot. You may also want to talk to chiefweasel about posting your finished file for the community to share, he is setting up a website where I am planning to post mine at least.
 
The Ninja's AC bonus works almost exactly the same as the monk's AC bonus, I would look there for inspiration for your eval script. Note that since they do not stack, you'll have to add an if-then statement to eliminate overlaps.
 
You'll have to be more specific about how you implemented your AC bonus; what does your script say? What timing does it use?
 
Nothing came up? What do you mean? You copied it through the editor and there was no Eval Script?

If that is the case, you probably copied one of the later Monk AC bonus specials. Generally the very first special has all the coding included in it, and the rest are merely placeholders. The correct one should be named "Improved Armor Class" and the unique ID should be "cMnkAC".

If you copy this one, there should be a button on the upper right that says "Eval Scripts", click on that to see the coding. Did that help you find it?
 
Back
Top