Jason H. said: bunch of Hero Lab stuff None of that is really a bug, per se. The classes are entered in the
order they are listed in the XML; if Medium shows up first on the
character sheet, it's because it appears first in the XML; my guess is
that Hero Lab saved them in alphabetical order. As to the info on the second class line not being filled in, that's because Hero Lab does not break any info down by class in the XML; heck, it doesn't store any info at all
about favored class bonuses. Since there's no way to tell where these
bonuses come from, it's all entered on the table under the first class.
Hit points are simply stored as max HP (current HP is in there, but I
didn't consider it worth importing), so I have to calculate how much
came from your Con mod and pull that out; again, there's no way of
knowing how much came from what class, or if any of it came from an FCB,
so I simply have it entered under your first class. Even the base
saving throw bonuses are lumped together under the first class (which is
why the totals end up being accurate on the Defenses tab). Heck, there's a lot of info Hero Lab doesn't put in the XML. Where I can find work-arounds to get the info, I will (I have to guess
at which ability score a class uses for spellcasting, by using the
"basespelldc" entry on the class; subtract 10, then try matching it up
against the character's ability mods to find a match), but for some
things, there's just no good way for me to get that data (like how many
skill points a class gives per level, or per-class breakdowns of
bonuses). To your "other" points: The script does not yet import attacks; it does ,
however, import stats for any inventory item that matches up to an
attack listed in the XML. If you find a weapon in the Inventory tab and
look under the "Weapon Attributes", it should have the enhancement
bonus (if part of the name), damage dice, crit profile, range, and
damage type already filled in. Select the attack type from the
drop-down, then click "Create Atk", and it'll create a new attack with
that info; you'll have to fill in things like miscellaneous
attack/damage mods (such as Weapon Focus/Specialization/Training) as
well as what ability mod to add to damage (if any), but setting up the
attacks based on weapons should be fairly quick. Hero Lab
doesn't do a good job of listing where various special abilities come
from, so the script has to make its best guess. If it's wrong (like it is with your Elf Blood racial trait), you can
manually change that, and the script won't change it back if you import
again to update the character. This one is odd, seeing as I just
updated my own level 15 warlock, and Arcane Striker does indeed show up
under Class Features. To test this, I created a new level 2 warlock
with Arcane Striker; it appears that Hero Lab doesn't include Arcane
Striker in the XML until level 12, when Arcane Striker gains the ability
to add weapon special abilities to your attacks. If it isn't included
in the XML, there's nothing I can really do about it; in this case,
Arcane Striker isn't going to be in the data until it does more than
just give you Arcane Strike. Although the spell entries in the XML do
include a "castsleft" value to indicate how many times you have it
prepared, that value is only correct for spells in the "spellsmemorized"
node, and the script lumps those together with the spells in the
"spellsknown" and "spellbook" nodes; spells in the "spellbook" node, at
least, always have "castsleft" set to 0, even if it's a spell you have
memorized. I could import memorized spells separately so I can get that
data reliably, but that would be extra code, would make the script take
longer, and is something I judged players may wish to handle themselves
(especially since, for whatever reason, some classes don't seem to have
their spellbook's contents in the XML, meaning they have to import
spells via memorizing all of them before exporting the XML). Hopefully this will give you a bit more insight as to why the script does some of what it does. If you have any other questions, don't hestitate to ask.