D&D 5E MPMB's D&D 5e Character Tools

I've thrown together an alternative way of extracting the .fdf data for those that don't have Acrobat Pro or that don't want Foxit. It is based on linux, the following is for ubuntu, but a cygwin environment should work on Windows.

EDIT: Doh! Newer versions of pdftk make producing an FDF a lot simpler! I've updated the process below. No Perl required.
EDIT2: The Windows version of pdftk is available here: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

1) Install the following package:

Code:
apt-get install pdftk

2) Run the following using your input PDF, the output is the fdf:

Code:
pdftk input.pdf generate_fdf output output.fdf

4) Import the fdf in an updated version of the PDF sheet: Im/Export > Import an .fdf file

5) Profit!

ADDENDUM: You can also transfer data directly to a new version of the PDF with this command:

Code:
pdftk input.pdf generate_fdf output - | pdftk v9.9.9.pdf fill_form - output filled.pdf need_appearances drop_xfa

Where v9.9.9.pdf is the newest sheet from MPMB. Caveats: Since it is directly filled, I do not know if this screws up any data massaging MPMB does with his Import FDF function. Also, javascript calculations seem to be disabled until you save the file from Acrobat Reader DC, so open the file, save it, close it, and open it again; calculations should work then.



Question for MPMB: is there a way to identify which fields are user input fields and which are calculated? I would like to tweak my script so that only the input fields are in the fdf so that any changes you make in the new sheets are not overwritten by the old text. E.g. class feature descriptions, etc.
 
Last edited:

log in or register to remove this ad

On a separate note, I have a friend that has been using the sheet for a while and everything works (he is using 9.9.9 now), except for when he enters a magic weapon, it will not let him enter "+" in the weapon name field. It just beeps. Anyone have an idea why this is happening? The other players don't have an issue with this.
 

A couple more suggestions for page 5 (companion page). The first one is probably not doable without a lot of reformatting the page, but I'll suggest it anyway: Would it be possible to have the page layout like that of a creature stat block?

Now, for more doable suggestions:
* Add a place for alignment.
* Increase the size of the Feature Block so all the features of a creature can be typed in so it can be printed without the little black circle with the + sign. For example, type in all the traits of the Shield Guardian and see what I mean.
* How about renaming "Annotations" to something else, maybe "Actions & Reactions"? I'm not sure what is meant to be put in that block.
 
Last edited:

I apologize for dropping off the face of the Earth, there. At first, I was just finding it hard to get time to do things, and honestly, it was hard to build up the motivation because my previous group died. Then, life hit in a lot of directions, so I had no time to breathe. Anyway, I'm back, this time as the DM of my own tiny group. I have read up thus far and give a universal thumbs-up to the ideas and updates.

I will find time for a full proofreading run, including the SCA content, hopefully within the next couple weeks. Yes, I'm still flooded with a lot to do, but hey, it's better than dropping out of helping entirely.

Custom coding?! Wow. This thing really has it all. I will compose codes for Unearthed Arcana, my wild shape cheat sheet, and custom content. When I get around to all of that, should I upload it to this thread, or where should I put it all?

FAQ 2.8: This still has "attack role" in it.

Code:
"Start/end as bonus action; Lasts 1 min, until unconscious or your turn ends and
you take no damage or do not attack since last turn; Adv. on Strength checks/saves
(not attacks); resistance to bludgeoning/piercing/slashing"
I am not sure how I didn't catch this before. He's mostly right. There should be the Oxford comma after "unconscious" if there is space. The second line should read, "you took no damage and did not attack since last turn; Adv. on Strength checks/saves"; it is important to know that either condition is valid to keep Rage going, and the phrase is in past tense.

@Astromath: "Since I can't use the excel sheet (I don't have excel and it costs too much to purchase)"
What is this nonsense?! Have you not heard of LibreOffice?!
 
Last edited:

I use OpenOffice (which is supposed to be identical to LibreOffice) and the sheet doesn't open properly. The macros seem to be messed up along with many of the cell references. I used Import and chose Importing from Excel.
 

I've thrown together an alternative way of extracting the .fdf data for those that don't have Acrobat Pro or that don't want Foxit. It is based on linux, the following is for ubuntu, but a cygwin environment should work on Windows.

EDIT: Doh! Newer versions of pdftk make producing an FDF a lot simpler! I've updated the process below. No Perl required.
EDIT2: The Windows version of pdftk is available here: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

1) Install the following package:

Code:
apt-get install pdftk

2) Run the following using your input PDF, the output is the fdf:

Code:
pdftk input.pdf generate_fdf output output.fdf

4) Import the fdf in an updated version of the PDF sheet: Im/Export > Import an .fdf file

5) Profit!

ADDENDUM: You can also transfer data directly to a new version of the PDF with this command:

Code:
pdftk input.pdf generate_fdf output - | pdftk v9.9.9.pdf fill_form - output filled.pdf need_appearances drop_xfa

Where v9.9.9.pdf is the newest sheet from MPMB. Caveats: Since it is directly filled, I do not know if this screws up any data massaging MPMB does with his Import FDF function. Also, javascript calculations seem to be disabled until you save the file from Acrobat Reader DC, so open the file, save it, close it, and open it again; calculations should work then.



Question for MPMB: is there a way to identify which fields are user input fields and which are calculated? I would like to tweak my script so that only the input fields are in the fdf so that any changes you make in the new sheets are not overwritten by the old text. E.g. class feature descriptions, etc.
That looks like a very fast way of updating your character to a new version, once you have the software set up. I'm not sure how many people that use my sheet and that don't already have a way of exporting will be tech-savy enough to use your solution. But I will link to it on the downloads page :) So thank you very much for this addition.

As for telling which fields are user input and which are calculated. This is a double sided question. My sheet has a couple of fields that are truly calculated (such as the ability modifiers, or the proficiency bonus, or the skill modifiers, etc.), but most are not calculated, merely auto-filled. The auto-filling happens when you enter a value into certain other fields (such as the class, race, and level fields), lets call them 'master' fields. Importing a value into one of these 'master' fields will set off the chain reaction of auto-filling. However, because these auto-filled fields are not fixed (i.e. you can edit the text in them), the import might differ from what is auto-filled by the formulas, as people may have changed something.

So regarding your question. If you are asking about the calculated fields that are, as I call them above, 'truly calculated', then you don't need to worry about them when importing. Their values will be replaced at the next calculation cycle (e.g. when opening the sheet). If you are, however, talking about the auto-filled fields, then I have bad news for you, because they are not easily distinguishable from the other fields. The bigger question is, however, if you even should want to exempt them from the export.

Edit: I forgot to reply to the "data massaging". The only thing that the import function does other than importing the fdf file is run a script to reset some field values that change when you make something visible on the sheet that is hidden by default (such as the Adventure League DCI, or the Location column in the equipment section). All those things are minor things that should not greatly affect the sheets functionality if not reset by your script. After this resetting, the import script runs the same things that run at opening of the sheet. So saving it and subsequently opening it will achieve the same goal.


On a separate note, I have a friend that has been using the sheet for a while and everything works (he is using 9.9.9 now), except for when he enters a magic weapon, it will not let him enter "+" in the weapon name field. It just beeps. Anyone have an idea why this is happening? The other players don't have an issue with this.
This is undoubtedly something with your friends software, and not much to do with my sheet, considering he is the only known example of that error :P What it might be? I have no idea! It sounds like Acrobat thinks the field cannot accept the "+". So, just spit-balling here, maybe the field is already too full? or he is running in a language-setting that does not allow a "+"? or his keyboard is dirty and whenever he presses a "+" he presses 5 other keys, which cause an error?

Can he past a "+" into the field? Can he enter a "+" in any other fields? Does it work if he changes keyboard or updates his Acrobat Reader? Can you enter a "+" into his sheet after he edited and saved it?



A couple more suggestions for page 5 (companion page). The first one is probably not doable without a lot of reformatting the page, but I'll suggest it anyway: Would it be possible to have the page layout like that of a creature stat block?

Now, for more doable suggestions:
* Add a place for alignment.
* Increase the size of the Feature Block so all the features of a creature can be typed in so it can be printed without the little black circle with the + sign. For example, type in all the traits of the Shield Guardian and see what I mean.
* How about renaming "Annotations" to something else, maybe "Actions & Reactions"? I'm not sure what is meant to be put in that block.
The companion page is definitely something that desires some more attention. Changing it into a monster stat block as in the MM would go against the design philosophy of this sheet. If you want a copy-paste from the MM or another source, I would recommend just making a physical copy or scan of it :P

Adding an alignment is a nice idea. I have changed it so it will be there in the next version. I have also added a "Type" field.

As for features not fitting and the "Annotations" area. It was my intention that both spaces are available for whatever information you want to add to the creature. And if those spaces are not enough, the "Notes" section below it should provide ample extra room for text. The reason it is called "Annotations" is simply because I didn't want to name it like anything else on the page. "Traits" felt to me to be to similar to "Features", and "Notes" would only serve to confuse the two sections.


I apologize for dropping off the face of the Earth, there. At first, I was just finding it hard to get time to do things, and honestly, it was hard to build up the motivation because my previous group died. Then, life hit in a lot of directions, so I had no time to breathe. Anyway, I'm back, this time as the DM of my own tiny group. I have read up thus far and give a universal thumbs-up to the ideas and updates.

I will find time for a full proofreading run, including the SCA content, hopefully within the next couple weeks. Yes, I'm still flooded with a lot to do, but hey, it's better than dropping out of helping entirely.

Custom coding?! Wow. This thing really has it all. I will compose codes for Unearthed Arcana, my wild shape cheat sheet, and custom content. When I get around to all of that, should I upload it to this thread, or where should I put it all?

FAQ 2.8: This still has "attack role" in it.

Code:
"Start/end as bonus action; Lasts 1 min, until unconscious or your turn ends and
you take no damage or do not attack since last turn; Adv. on Strength checks/saves
(not attacks); resistance to bludgeoning/piercing/slashing"
I am not sure how I didn't catch this before. He's mostly right. There should be the Oxford comma after "unconscious" if there is space. The second line should read, "you took no damage and did not attack since last turn; Adv. on Strength checks/saves"; it is important to know that either condition is valid to keep Rage going, and the phrase is in past tense.

@Astromath: "Since I can't use the excel sheet (I don't have excel and it costs too much to purchase)"
What is this nonsense?! Have you not heard of LibreOffice?!
Welcome back Noah! Having you correct all the mistakes in the SCAG additions would be a big help. Although I would like to believe that I made no mistakes, I'm sure you will be able to find some ;)

I will fix the FAQ in the next version, thank you. As for the Barbarian, I have not literally copied the correction put forward by devincutler because the line-breaks were not right (too much text for one line), and it was written in the 2nd person, instead of the 1st person as the rest of the Class Features. So instead I went with:
Code:
Start/end as bonus action; add damage to melee weapon attacks that use Strength
Adv. on Strength checks/saves (not attacks); resistance to bludgeoning/piercing/slashing
Lasts 1 min, until unconscious, not attacked or taken damage since my last turn
I'm fairly sure that my version is not grammatically correct either, but at least it fits ;)

As for Astromath's predicament: my Excel uses Visual Basic, a programming language with Microsoft- and Excel-specific commands. Opening the sheet in openoffice format will render the coding useless. So there is no way to use my Spell Sheet Generator in anything else than Excel, unfortunately.
 
Last edited:

As my last post was about answering your questions, this is with a sneak preview of what is to come. I'm working on a 7th page, a page for those characters of the druidic persuasion. This 7th page will have 4 entries for Wild Shapes. The idea is that you select a creature (e.g. a Brown Bear), and that the sheet fills in the rest. I intent to make a dataset of all the beasts of the Monster Manual (they are in the SRD after all!) and use them to auto-populate the wild shape fields. As an added bonus I should be able to use the same dataset to add a similar feature to the companion page. It might even be possible to have features of familiars, steeds, and the Beast Master's companion auto-completed.

None of the coding has been done for this, however, but I can dream ;)

As for the sneak peak, this is the top entry of the wild shape page as it is now: WildShapes_workinprogress.jpgEverything is a bit smaller than on the first page, but that is just to make four of these entries fit on one page. The "Make a Selection"-dropbox will contain all the different creatures applicable for wild shaping into.
 

This is undoubtedly something with your friends software, and not much to do with my sheet, considering he is the only known example of that error :P What it might be? I have no idea! It sounds like Acrobat thinks the field cannot accept the "+". So, just spit-balling here, maybe the field is already too full? or he is running in a language-setting that does not allow a "+"? or his keyboard is dirty and whenever he presses a "+" he presses 5 other keys, which cause an error?

Can he past a "+" into the field? Can he enter a "+" in any other fields? Does it work if he changes keyboard or updates his Acrobat Reader? Can you enter a "+" into his sheet after he edited and saved it?

I suspected it had nothing to do with your sheet, however I ran out of ideas and decided to ask. :) He can't even paste it in the field, he has the same version of Acrobat Reader DC as mine, he can use "+" elsewhere (he actually put the "+" in the second line description as a work-around, and tweaked the values manually), it's really strange.

He sent me his character, I entered the weapon with the "+" properly, and sent him back the sheet. We won't have to worry about it for a while :)

I still would have liked to know the cause for future reference... Oh well.
 

I suspected it had nothing to do with your sheet, however I ran out of ideas and decided to ask. :) He can't even paste it in the field, he has the same version of Acrobat Reader DC as mine, he can use "+" elsewhere (he actually put the "+" in the second line description as a work-around, and tweaked the values manually), it's really strange.

He sent me his character, I entered the weapon with the "+" properly, and sent him back the sheet. We won't have to worry about it for a while :)

I still would have liked to know the cause for future reference... Oh well.
It is very weird to say the least. I have no idea what might be causing it. Some 'perfect storm' of bugs in Acrobat maybe? A workaround he might try is to put attacks to manual (using the "Manual" button), entering the name of the weapon, and then switching back to automatic. Any name entered into the "manual" version of the attack name field will automatically be put into the "auto" version as well. Hope this helps :)
 

Astromath: Much of OpenOffice's original staff went over to LibreOffice. Enough said, eh?

MPMB: Aye, aye, thanks!

Okay, let me take a crack at that last line of that barbar code. The problem with yours isn't just a grammar error; you're still phrasing something unclearly. When you say "not attacked," you imply that being attacked is enough to prolong rage, but it's not; either you must take damage (a successful attack, not one that whiffed or you were immune to) or you must launch an attack.
Code:
Duration: 1 min/end turn without attacking or taking damage/unconscious
That fits and is clear.

Oh, wow, I do like your Wild Shape addition. Be wary, though: Some monsters have errata, and plenty of them have Expertise that is completely not labeled by anything at all, but is calculated into their bonuses. This has to be noted somewhere for druids, though, as they will get to apply their own proficiencies or the monsters', whichever is higher, and DMs will vary on whether a creature's Expertise should be considered as a part of the original proficiency, a trait that the druid obtains to apply his/her proficiency extra (usu. doubled) whether it's the druid's original or creature's original proficiency, or a feature that should be left out entirely. Sadly, the devs of D&D are notorious for putting a lot of complication and a little sense into polymorphing, hence my house rule suggestion to style it after Pathfinder's version.
 

Remove ads

Top