• 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

Custom Cavalier Order – Need Guidance

Custom Cavalier Order – Need Guidance

Hello!

My name's Alex Augunas, and I'm the publisher of Everyman Gaming, LLC. I recently acquired HeroLab and I'm looking to start fiddling around with custom content. I'd like to start with creating NPCs for a project I'm working on, but long-term it would be pretty neat to get skilled enough to actually convert entire books of my work into Hero Lab files.

That's why I'm here: seeking help.

I wanted to start with creating a new Cavalier Order, so I read through some Hero Lab editors' guides and got to work. I copied an existing cavalier order (the Order of the Cockatrice to be precise) and began fiddling around. Eventually I went to try and test my new order in Hero Lab, but I got the attached error message and couldn't figure out how to resolve it. Any help in this matter (as well as general advice on what to do and what not to do when creating a cavalier order) would be very much appreciated!

Ps Even after this question is answered (I'm hoping it will be), I'm planning on keeping this thread open so I can continue to ask questions on this topic in a consolidated place.
 

Attachments

  • Screen Shot 2015-11-08 at 4.05.36 PM.png
    Screen Shot 2015-11-08 at 4.05.36 PM.png
    252.6 KB · Views: 18
Last edited:
I believe some tabs can cause problems when in a description, so be on the lookout for those.
 
My other suggestion of note is to add a two-digit unique character to the name of all your Things "now". This is VERY important for those that plan to sell or distrubute there work. Because HL has to have that Unique ID be "unique" across all addons. If it does not it will clash and cause HL to fall into safe mode. In example see THIS thread about the FGG Rappan Athuk files that has the same Unique ID of a skill LW added. :(

What exactly does this mean? It means if you where adding the feat "Dodge" it would default to a unique id of "fDodge" "f" means Feat and "Dodge" is well its name. So instead you would do "fEGDodge". Where "EG" means "Everyman Games" and would cause you to have a totally unique ID that LW would never use.

To make this easier the Editor has a new setting. So from inside the editor go to "Tools->Set User Identifier..." and then the HL editor will auto add your two digit values for you. :)

keeping this threat open
Is this a World of Warcraft thing were you have to keep your threat/aggro up so that we don't close the thread? :p :D
 
I believe some tabs can cause problems when in a description, so be on the lookout for those.

Tab as in indentation? Like the "tab" key? There are no indentations in what I'm seeing in the description box, but I did copy/paste my text directly out of my product....

Similar line of questioning, could the fact that I used the enter key to put spaces between items of text cause the issue?
 
Tab as in indentation? Like the "tab" key? There are no indentations in what I'm seeing in the description box, but I did copy/paste my text directly out of my product....
Assuming that it was a "PDF" document you can get strange characters. What I do is copy into TextPad first and then copy out of TextPad and back into HL. This makes sure that all those "invalid" characters get removed.

Similar line of questioning, could the fact that I used the enter key to put spaces between items of text cause the issue?
Nope that should be totally safe. It would be the extra characters from the PDF most likely causing the issue.

Easiest method is to copy everything "out" of HL and into NotePad or TextPad and make sure all "extra" characters are gone.
 
I took the advice given here and copied the order's text out of the description box and into a text file program (I used TextEdit) and back into HeroLab's editor. It worked like a charm; I was able to upload the base cavalier order into HeroLab with no problem!

My next step was to start working on order abilities. I copied a cavalier order ability that was similar to mine (the braggart ability from the Order of the Cockatrice) and got to work. The file appears to be saving correctly, but now I'm having trouble bootstraping my new order ability to my cavalier order; when I scroll through the list of available bootstraps under the base order ability (the custom ability, not the special one), my order ability doesn't show up as an available option.

If anyone has some troubleshooting techniques to help me get these abilities to connect, I'd appreciate it. :D
 
Each time you create a Custom Ability (or Class Special, etc) that you want to add to something else you have created (whether Race/Class/etc) you have to "save" what you have done (or changed) and hit the "Test Now" button. If this works, then HeroLab will let you add your item into something else. Hopefully, that's what was stopping you.
 
Yes, until you hit "Test Now" for a particular thing in the editor or otherwise reload the game system after saving it, the editor doesn't recognize it as an option. You can still use the bootstrap button and your un-integrated pick's unique ID, but it'll show "<thing not found>" as the name. I usually ignore that and do it anyway, and then once I have everything hooked up use Ctrl-R in the program window to reload and test everything at once, but how you do things is your call.
 
Hey, thanks everyone for your help so far! I've got the order in my HeroLab and it appears to be stable.

Next, I'm trying to figure out how to do some of the advanced programing options for two of the order abilities. I'm going to link them below and explain what I'm trying to figure out how to do.

Heroic Resolve (Ex): At 8th level, an order of the dazzling lotus cavalier can shrug off effects that would cripple a lesser hero. The cavalier gains the resolve class feature as the samurai class feature, using half his cavalier level to determine the number of times per day that he can use his resolve. A samurai who belongs to this order can use resolve one additional time per day for every four samurai levels he possesses.

I'm trying to figure out how to have heroic resolve grant the resolve class feature at 1/2 level to cavaliers, or a bonus use of resolve to samurai.

Onward to Victory (Ex): At 15th level, an order of the dazzling cavalier uses his opponents’ weakness to end combats quickly. The cavalier doubles the critical threat range of his weapon when he attacks a shaken, frightened, or panicked opponent. This benefit doesn’t stack with any other effects that expand the threat range of a weapon. In addition, the cavalier gains a morale bonus on critical confirmation rolls against shaken, frightened, and panicked opponents equal to his Charisma bonus (if any).

I'm not entirely sure if there's anything here TO plug into HeroLab. Perhaps a notable about the morale bonuses? Some insight on what stuff should show up on the character sheet would be useful here too.
 
Heroic Resolve
This one is gonna be a bit annoyingly finicky because it reacts differently based on whether it is added to a Samurai or a Cavalier.

So first, we need to know how to tell what class this order is added to. Two ways come to mind. When added to a table, custom specials (cavalier orders, rage powers, rogue tricks, etc) all get a CustTaken tag which matches the class they are added to, so you could check that. Alternately, when added to a class or configurable they also have a table linkage, which you could transition through to check the class. Examples:

Tag check
Code:
if (tagis[CustTaken.cHelpSam] <> 0) then
  ~ Do samurai stuff
else
  ~ Do cavalier or anyone else who gets orders stuff.
  endif

Linkage check
Code:
~ If we don't, for some reason, have a table linkage, we would throw errors if we continued, so stop
doneif (islinkage[table] = 0)

if (linkage[table].tagis[thingid.cHelpSam] <> 0) then
  ~ Do samurai stuff
else
  ~ Do cavalier or anyone else who gets orders stuff.
  endif

Next we need to know how resolve generates its uses per day. Copying and looking at it, we see that it has the "ChargeCalc.CountActiv" tag, which means it counts the number of active copies (as in, we are high enough level to use this copy) of the ability on this class. So we know we're going to have to bootstrap the Resolve ability a certain number of times in one case.

If we're added to a cavalier...
We don't get the ability until 8th, but we count as a 4th level samurai, and at that level we would be able to use Resolve twice (1st and 3rd level). So we should bootstrap it two times at 8th level. The samurai gets another use at 5th, 7th and 9th, so we need to bootstrap more copies at 10th, 14th and 18th.

If we're added to a samurai...
Our extra uses per day are only that. They shouldn't for example bump us into getting the 9th level enhancement where we can negate crits. Since bootstrapping extra copies would push us to that early, we instead just want to prevent those bootstraps, calculate our bonus uses, and add those on top of what the class is already calculating the uses should be.

So, here is the plan:
Bootstrap those class abilities for the cavalier version, but give them bootstrap conditions relying on a 0 in a particular field we aren't using for anything else (I recommend abValue5).
Add 2 eval scripts to the Order. The first should run before the bootstrap condition, determine which class it has been added to, and if that is the samurai set abValue5 to 1 (which prevents the bootstraps). The second should run at the standard timing for class abilities (Post-Level 10000), and does nothing if abValue5 is 0. If it's 1 then it calculates the extra uses, and adds them to the already existing resolve ability of the Samurai.
 
Onward to Victory
I would include a situational on the attack helper for the morale bonus on critical confirmation rolls against shaken, frightened, and panicked foes.

For the other portion about doubling the critical threat range of weapons vs. shaken, frightened, or panicked foes I would give it an activation. You may want to look at the improved critical feat for an example of doubling the crit range in a non-stacking way. Activations are all over the place, I think you should be able to figure that out easy enough.
 
Back
Top