Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

HeroLab importer

Hello! A few years ago I wrote a program to convert from HeroLab .xml output to MapTools token format. I called it TokenLab; i t's over on github . The basic idea is that it imports all the information it can from HeroLabs (attributes, saves, skills, weapons, special abilities, inventory, etc) and then exposes a bunch of buttons that, when pressed, roll the dice for you for that thing (like a fort save, or an attack, etc). Screenie: It supports the Pathfinder Roleplaying Game format for HeroLab output, but in theory the basic technique (which code generates the HeroLab dtd format into Java classes using JAXB, and then serializes the Herolab output XML into native object space in Java) works for whatever game system format that HeroLab supports. After a hiatus from online play I've decided to switch my on-line GMing over to Roll20. I'm thinking about implementing an analog system in roll20. From what I can tell browsing the API docs, it is doable and frankly probably easier - the scripting language in MapTools is home grown and suffers a bit in the programmer ergonomics department. But before I do that and upgrade to a Mentor account, I wanted to ask this group: 1) Is this the sort of thing that would be useful to this community 2) if so, what would be some requirements for such a system that you would have? For my purposes, something I learned from developing that MapTools version of this program is that a lot of people wanted to basically re-implement the HeroLabs "In Play" interface inside the system. For example, if your character is a barbarian, they'd want a "Raging" button that automagically modifies STR, CON, BAB, HP, etc. While possible, my original design goal was to be as Pathfinder rules agnostic as possible, as the Pathfinder ruleset is quite rich and specific. In my ideal world, HeroLabs would offer up a real-time network API that would allow a client program to synchronize token state (thus allowing the user to manage all the in-game attributes in HeroLab) into roll20. But I could see some people wanting to be able to do everything inside of roll20. For that to happen you really need a Pathfinder rules framework implemented in Javascript, and personally I have no appetite for that sort of endeavor. Thanks in advance for your thoughts, cheers.
Lyle, I created a script that takes the .xml file and imports it into the current Pathfinder Character sheet. It also doesn't handle anything more than simple import, though I personally have a modified script that does some token configuration and for NPC generates some Ability macros automatically (using the format from Honeybadger's awesome Powercard script). Forewarning, I am not a programmer, so generally the code isn't pretty, but it generally functions. Feel free to give it a look here: <a href="https://github.com/beeke01/PathfinderHLImport/blob" rel="nofollow">https://github.com/beeke01/PathfinderHLImport/blob</a>... The Roll20 discussion about it is here: <a href="https://app.roll20.net/forum/post/1072405/script-p" rel="nofollow">https://app.roll20.net/forum/post/1072405/script-p</a>... There are a few people I know using it, but not sure there is a huge following of Hero Labs here on Roll20. I thought about creating some default macro's, but there are limitations based on the structure of the XML vs. the requirements of the Roll20 rolls that makes calculating things on the Pathfinder Character Sheet a bit challenging (I am looking at you weapon damage...). Please let me know if you have any questions or comments, always looking for feedback to try and improve things. Kevin
Hey Kevin! Thank you for the thoughtful reply. Looking at the HP, BAB, saves, and weapon damage bonus limitations listed on the Roll20 discussion page, I might be able to help there, as tokenlab handles all most stuff just fine. One immediate thought on browsing your code is that a lot of that xml parsing good/regular expressions can be refactored out by using dtd code generation / xml serialization. (Here's the equivalent code in TokenLab, as an example.) I'm not really a Javascript programmer though so I'll have to see if something like JAXB exists for Javascript. I guess I'll go for a 1-month subscription and do a little prototyping to see if I reproduce a few basic things using your code as a starting point. Cheers!
Interested to see what you come up with, one thing that I tried to do was work with the existing Pathfinder sheet, so because it is not always a direct mapping there were quite a few ugly workarounds necessary to correlate date from the xml to the sheet.
My instinct is to just ditch the sheet entirely and create a floating tool button bar. stay tuned!
I am not sure I can assits, but I am a big Pathfinder player and I do leverage Hero Lab quite a bit, so my interest in this is rock solid.
I would definitely use this!