Pathfinder Hero Labs to Roll20 Character Importer
The purpose of this script is to import Pathfinder characters created in Hero Labs (www.wolflair.com) into Roll20. This is accomplished by parsing the xml output generated by Hero Lab, then creating this journal entry in Roll20.
- Open the Hero Lab portfolio that you wish to import and from the File pull down menu select "Save Custom Output".
- In the next menu, choose "Generate XML File" making sure to output only the current hero.
- Copy the contents of the xml file to your clipboard using a standard text editor like notepad (Do not use Wordpad!!).
- In Roll20, place a token down that represents this hero, then edit the token and paste the contents of the xml file to the GMNotes section of the token.
- As there are several required inputs (due to limitations in the xml), I suggest creating a Roll20 macro using the following syntax:
!import ?{Melee Stat?|str} ?{Ranged Stat?|dex} ?{CMB Stat?|str} ?{Caster Class 0 Stat?|none} ?{Caster Class 1 Stat?|none}
This will pass the 5 required arguments to the script.
- Melee Stat = The ability score responsible for Melee attacks
- Ranged Stat = The ability score responsible for Ranged attacks
- CMB Stat = The ability score responsible for determining Combat Maneuvers.
- Caster Class 0 Stat = The ability score responsible for determining bonus spells for this class.
- Caster Class 1 Stat = The ability score responsible for determining bonus spells for this class.
NOTE: This sheet will only work with Sam's Pathfinder v2.0 style of sheet.
Please be aware that the Hero Lab XML does not directly include all data required to fill out the sheet in the xml file, however with that said, I tried to make sure to cover as much of the information as possible. There simply are some things that were difficult/impossible to import into Roll20.
- Cannot break down HP, BAB, and Base Saves by class in the class information section, so all information added to class-0 line.
- Cannot determine any Favorite Class bonuses because they are not reported in the xml.
- Cannot handle skill replacement rolls such as the Bard's Versatile Performance, these skills should be updated manually.
- Many bonuses, including but not limited to traits, magic items, or feats are not specified in the xml, therefore all bonuses are entered as misc bonuses.
- Cannot determine accurate HP formula, if you play a class or archetype that does not use CON for HP you will need to manually modify HP and/or the formula.
- Temporary Hit Points (such as via spell adjustments like false life) are calculated based on Con.
- Cannot populate the Next Level XP field as this information is not present in the xml file.
- Cannot set the Armor Type (Light, Medium, Heavy) as this information is not present in the xml file.
- Currently the Roll20 Sheet does not have a space for the Burrow Speed attribute, therefore I am saving it as a misc speed.
- Currently the Roll20 Sheet does not have a space for the Fly maneuverability category.
- Many "Special Abilities" do not have a proper classification, doing a random sample, it seemed that the majority were Racial Traits, therefore if you are missing a class ability, you might want to check the Racial Traits area to see if it was copied there. This is a limitation of the sheet.
- There was no simple way to calculate ability uses or wand charges, so while this information is often in the name of the ability/item, the appropriate fields on the sheet will need to be updated manually.
- There is no accurate way to calculate Class Skills per level as this information is not in the xml, therefore it should be manually updated.
- Cannot determine the source of miscellaneous spells that exceed the amount of spells known.
- Spells Known is populated on spontaneous casters purely based on the spells in their known list, this may not accurately represent the rulebook chart in cases where bonus spells are added for various reasons.
- Cleric Domain Spells, Wizard School Specialization Spells, and other areas where Bonus Spells are gained (favored class bonuses) are not reported the xml, therefore you should double check to make sure that spells per day is set properly. Often Domain spells and Specialization spells need to be added manually.
- Weapons, there is no way to properly determine the damage bonus of a weapon, the information needed is not in the xml. So, I import the weapons with a note to check the accuracy of the weapon.
- After many, many imports I decided to set "@{repeating_weapon_X_damage-ability}" to STR and then calculate @{repeating_weapon_X_damage} from there, hopefully this will speed up npc imports. It's still not perfect, but hopefully will be a bit easier.
- Weapons, the only way to identify "Masterwork" and enhancement bonus (i.e. +1) is if the weapons start with these field, therefore weapons made from special materials that are automatically masterwork may not be identified, as well as weapon enhancement bonuses that don't precede the weapon.
- If Spellbook Casters (i.e. Wizards) memorize spells prior to import, it can lead to duplicate spells. Unfortunately I haven't figured a good way around this limitation due to challenges involving multi-classing. I recommend that you import with no spells memorized to avoid duplicate entries.
- If an NPC is imported, I do not import their spellbook to avoid duplicates, only memorized spells are imported.
- Reminder, do not use Wordpad for copying and pasting the xml files, it causes strange characters throughout the xml.
- Homeland field
- Occupation field
- Hero Points
- Prestige/Fame