Thanks for the high praise, I appreciate it! This project was something totally different from what I usually cobble together, which are often arcade-like games. It was a ton of fun to make so I wish you the best with your own project!
Recent community posts
Hi! I'm guessing all of this is homebrew content?
- The race name itself should be imported no matter what, the converter reads the RACE field at the top of the first page
- Racial traits are read from the RACIAL TRAITS text of the second page. The format is as follows:
RACE NAME (+X Ability, +X Ability) TRAIT NAME: TRAIT DESCRIPTION TRAIT NAME: TRAIT DESCRIPTION
Bugbear (+2 Strength, +1 Dexterity) Powerful Build: I count as one size larger when determining my carrying capacity and the weight I can push, drag, or lift. Long-Limbed: I have an additional 5 feet reach with melee attacks that I make on my turn. Surprise Attack: If I hit a surprised creature on my first turn in combat, that attack deals an extra 2d6 damage. I can do this only once per combat.
The race name and every trait with its description goes on a new line.
- For other house rule changes, it highly depends on what exactly. Class features for example need to be added to the CLASS FEATURES text on the second page. Those are in this format:
Druid (Circle of the Moon), level 5: ◆ Druidic (Druid 1, PHB 66) I know Druidic; Hidden messages with it can only be understood by who know Druidic ◆ Spellcasting (Druid 1, PHB 66) [3 cantrips known] I can cast prepared druid cantrips/spells, using Wisdom as my spellcasting ability I can use a druidic focus as a spellcasting focus for my druid spells I can cast my prepared druid spells as rituals if they have the ritual tag
Those ◆ symbols are very important to mark where a feature begins. All text on the lines below that are the feature description.
- The converter doesn't support wild shapes at this time as I'm not sure how to handle them. One way could be creating a separate actor for every wild shape creature, but I haven't looked into it yet due to the increased complexity. For now, your best bet is to create the custom wild shape creatures in Foundry and then dragging the beast onto your character sheet to perform the wild shape.
This is yet another fix update. This release fixes the converting several subclasses and backgrounds. In addition, importing tool type items in FoundryVTT will now work and won't prevent importing the character.
I was able to create a solution for the tool type items. I'll spare you the technical details, but it involved having to have to introduce a dynamic data type for item proficiency that can be true, false, and any number. The fix for tool items will be included in v1.1.5, which I'm planning to release soon.
I can confirm there's was something wrong with some classes, including Pirate. I'm working on v1.1.5, which will fix that issue.
Here's the JSON for Graven: https://pastebin.com/bup18Te
Unfortunately, I haven't been able to fix all issues I've found just yet, so I've had to fix the output by hand. The export from the converter works just fine now, but Foundry doesn't accept the JSON. There's something strange going on with the way the new dnd5e system in Foundry processes tool items like "Smith's Tools" for example. It expects some peculiar values that aren't used in other places...
At any rate, I'll get to the bottom of it and I'll let you know when I found a permanent solution.
Can you send me the XFDF after correcting the class name? I can't seem to reproduce the issue after manually changing the class name in the XFDF you linked.
I found a bug in my subclass parsing code causing this error. I also bumped into some other issues, which I'll address as well. Once I got a working, I'll give you the working Actor JSON for Graven. After that I'll publish a new bugfix release ASAP. Thanks for your patience!
Hi, it seems to be an issue with the class name. The class name is set as "Atrificer - Armorer 5, while the correct spelling is "Artificer". The converter reads this name and tries to match it to a database of known classes, that's why it's failing.
Can you correct the class name and let me know if the issue persists? Thanks!
Hi! Thanks for reporting this bug, I'll take a look and try to resolve the issue as fast as possible.
Thanks for reporting this bug, I'll take a look and try to resolve the issue as fast as possible.
I've released version 1.1.4, which includes several fixes that should prevent the errors you were getting in the converter and in Foundry. Let me know if the new version works better for you.
This release fixes a few minor import issues:
- The converter fails when the History field is empty: https://itch.io/t/2758196/conversion-errors
- The converter fails when a class doesn't have all of its properties filled in: : https://itch.io/t/2758196/conversion-errors
- Lack of hit dice made importing in FoundryVTT fail
I've managed to convert Bob. The issue was that his History field was empty causing it throw an exception. I've made the Bio converting more lenient to fix this issue. I've tested the JSON export and it seems to be working as intended in FoundryVTT. I'll include the fix in version 1.1.4.
In the meantime, you can download the JSON for Bob here: https://pastebin.com/qjbY2SB
I'll try to fix the import error soon as well, I think I might have enough info with just the JSON and the stack trace you provided, but if you do have the XFDF, that's welcome too.
I'll close this issue for now. Let me know if you want to reopen it if the issue still persists.
Thanks for creating this bug report. I'll troubleshoot as soon as possible and I'll let you know my findings. I can already tell from the Foundry stack trace some values for a tool are missing, causing the import to fail.
The new 1.1.3 version of the application should fix all compatibility issues with the new dnd 5e system. Please let me know if it that resolves the issue.
This release changes a ton of small things under the hood to make it compatible with DnD5e Fifth Edition System v2.1.5. That new system version made it so almost all fields have to have a default value now, whether it's null, empty or otherwise.
As a result, I had to change, tweak and improve just about every step of the conversion. This in turn means a that there's a huge chance for new bugs to creep in, so I did a lot of testing with dozens of characters and variations to try and squash them all. If you get any errors in the application or Foundry, let me know and I'll do my best to get things sorted.
Aside from compatibility change, I've made some general improvements like handling multi-classing better and making the code more lenient to homebrew texts in some places. I hope you enjoy this new release!
Compatibility with dnd5e 2.1.5 is not working. I'm working on a fix, please use 2.0.3 or lower for now.
A quick update: I found the issue.
The new version of the dnd5e system hasn't changed its format as far as I can tell, but it does a TON of checks now for missing and empty values which it didn't care about before. This means a lot of changes under the hood of the converter for just about all conversion stages.
I'll have to implement the fix in a few stages:
- Add lots of empty strings and null values all over the place as placeholders until the import in Foundry works for a single character.
- Create 10+ characters and test if the import works correctly while finetuning and rewriting parts of the converter
As this touches upon most of the converter code, it will take me a while to get the converter to a semi-stable state again and I have a feeling it will introduce some bugs here and there. I'll create a post to warn people not to update to 2.1.5 for now.
I created a new world as well and I'm now able to reproduce the errors. Seems like the dnd5e system does something to new worlds that causes this. I'll look into it and do some more extensive testing. Once I've found a solution, I'll let you know and create a new release with a fix.
Are you getting those errors after trying to import an actor? I can't reproduce it in my test world.
Can you create an empty world without modules for me and import the character in there? It might be a module issue, but I'm not sure at this point. I'll do some more testing.
This is another bugfix release that
adds compatibility with dnd5e system 2.1.5 and fixes converter errors when custom class features are defined in the MPMB pdf.
I've tested an additional 10 characters, including the one you linked in the first post: Braiden 'Brey' Sparrow. The characters seem to be importing fine now. You can get the json for Braiden here: https://pastebin.com/UGnivaur
Keep a look out for v1.1.2, the application should inform you when it's online. I'll try to get it online today.
I did some more testing with exports and it seems the changes the dnd 5e 2.1.5 were trivial. Even exports made by v1.1.1 of the converter work, even though they throw some errors in the console.
I've updated the FoundryVTT template file the application uses, this seemed to have fixed the errors. I'll do some more testing before releasing v1.1.2, which should fix both issues mentioned here.
I've successfully squashed the class feature bug. You can download the json for Tekken here: https://pastebin.com/gjcKtRHq
This fix will be included in v1.1.2.
For the first issue:
Looks like the dnd 5e system in FoundryVTT has been updated recently, with some breaking changes to its actor format. I can confirm character imports don't work with MBPMB to FoundryVTT 1.1.1 and dnd5e 2.1.5. I'll look into this, this might take some time depending on the severity of the changes.
As a workaround, use dnd5e 2.0.3 for now.
As for the second issue:
It seems one of the class features isn't formatted as expected:
- Martial Arts (Monk 1, SRD 26) [1d4]
- Unarmored Defense (Monk 1, SRD 26)
- If I wear armor/shield, I lose Unarmored Defense, Martial Arts, and Unarmored Movement
The application expects the format FEATURE (CLASS CLASS_LEVEL, SOURCE SOURCE_PAGE) while the third class feature seems to be a custom one. I'll adjust the class feature logic so it's less strict about the format and can fall back on a simpler way of adding class features if needed. Expect a fix for this in v1.1.2.
Interesting idea. Getting data back in the MPMB sheet will prove technically difficult, if not impossible however.
The only supported way of importing data into the PDF is by importing data from another PDF, as a way of updating to a newer version. The way I extract the data from the PDF is via its XFDF data, which isn't even officialy supported.
I've experimented with feeding the XFDF data back into the sheet, but it always resulted in missing fields and other weirdness. It might be possible with a custom script for the MPMB sheet, but I have no experience with that.
This is a small bugfix release that solves the converter failing to convert some character classes that don't have a subclass defined.
Thanks for reporting this bug. I've looked into it and it was a subclass parsing error, where the converter expected a subclass but none could be found. In other words, a mistake on my part!
I'll release a fix later today with version 1.1.1. If you need the character json before that, here's the result: https://pastebin.com/88gdwRVk
I've been quite busy the last couple weeks and I'm proud to announce a new big version of MPMB to FoundryVTT. From 1.1.0 onwards you can merge a MPMB character with a FoundryVTT one. This means you can do the following:
- Create a character with the PDF
- Export it with this application
- Play with it in Foundry
- Level the character up in the MPMB PDF
- Merge the levelled MPMB data with the existing Foundry character to keep your items, gold and other stuff, hassle-free
This is a feature I've been looking forward to using myself, so I hope you guys and gals wil find it useful as well.
Apart from that major feature, this release now includes a small update check so you'll never have to wonder if there's a new version available, the application will tell you. There's isn't a nag screen or anything either, it's a subtle text at the bottom left, next to the version number.
As always, I've improved the application by improving its logic. Some spells like Magic Missle have improved rolls in Foundry now and some subclasses with variants like Soldier now load correctly.
You can find the full changelog here: https://itch.io/t/2431344/changelog
Keep being awesome and may the dice be ever in your favor.
This is a quick fix for variant backgrounds and unarmored defense. I'm still working on the merging feature, which will be included in v1.1.0.
- Variant backgrounds such as Gladiator, which is a variant of Entertainer, will now be converted correctly. Before this version, trying to import a character with a variant background would result in an error.
- Unarmored defense "armor" is now processed more correctly. More complex armor formulas than "10 + con" won't work though.
- Don't try to process the XFDF if the field is empty