Planning to play the 5th edition of D&D with some friends through MapTool, I though it would be a good idea for me to finally try my way with MapTool scripting and build a "proper" framework and I thought it would be nice to share it with the community since I myself used some frameworks found here for other games.
First of all I have to warn you all that I am a novice when it comes to coding, so the work will be far from perfect obviously, this is just the beginning of the project right now, but I really want to go further with it ; Little as it is right now, it still took me a lot of hours (think i can count in days now :o) to make it this far and it was everything but easy to be honest, I struggled a lot.
Shoutouts
I would like to give names before introducing the project itself
- DeviantNull: My character sheet design and mechanics were strongly inspired (if not copied for some part) by his work on his D&D 4th framework, so big big props to him.
- aliasmask: For his RPedit without which I would have had ended up bald from constant hair-pulling.
- Raoden: And his Token Manager which helped me a lot since I am not using the token properties from the campaign properties menu, everything is set with setProperty()
Project
Ok, time to talk about the thing itself
So this is a character sheet based framework, everything is done from the sheet and there is no external macro (well there will be none in the end, during the process of building the framework, there might be one or two depending on how far some feature are implemented), the user fill some forms with his character basic information and the framework works as much calculations as possible, hopefully more and more in the future.
Features
Here are some of the features you can find in the framework
- Tooltips: This was one of the main thing I wanted on my framework, when there is a roll, there is a tooltip showing every steps of the calculation, same thing on the sheet where you can see the details of some results displayed there
- Form Checking: Every time (unless a mistake on my part) the user fills a form, each field is individually checked to match with the required information (i.e. Number, String, etc..), if there is a mistake, it is simple skipped and the rest is processed without hindrance, there is no crash, no MapTool errors and the wrong information is not recorded anywhere so a mistake from the user can't mess with the framework (this is how it should be anyway, there is always bugs or mistakes possible scenarios)
- Bonus Interpretation: Most of the time, when you make a check, there is a bonus/malus field ; you can fill it with more than a number, you can use an expression of 4 parts maximum without spaces and the proper syntax (ex: 1d6+4-2d4+8)
- Advantage & Disadvantage: The framework manage entirely the advantage and disadvantage system from the 5th edition
- Equipment Manager: This tool will entirely manage the character equipment within containers (such as bags ; there is a main container called "Character" which you can't edit nor delete : and if you delete a full container containing items, all the items will be tranfered in the main container), for the moment, only containers, armors and shields are implemented and the AC calculator in the Main tab is already using them, later weapon will be used by the Attack calculator which will appear in the Main tab as well, there will be a weight manager as well included
- Stat Sheet: This framework will use its own stat sheet system, the frame already exist but is of no use as of now, will work on it later
- Token self-administration: There is no work to be done on the token itself from the user nor the GM, you put an image token on the board and select it, the option to make it a Character Token or anything else will be prompt in the Sheet, once you chose which one you want to create, the token will be pre-formatted to match any requirement of the framework, character tokens will also be equipped of 2 macros in case the user close the character sheet or the stat sheet
- Monster Parser: Allow the gm and clients to copy/paste the content of the playtest bestiary.pdf into the framework (should also work with some campaign pdf but not 100% trustworthy), doing so will create a monster token "properly" formatted and ready to use.
Screenshots
Sheet Tabs
Monster Parser
Edit Dialogs
Use Dialogs
Some Tooltips
Version
MapTool Version: 1.3.b87 (Stack Size: 3)
Last version is 0.5a (not fully tested)
Version 0.5a
Version 0.5
Maptool: Due to some looping calculation for the parser, you have to set your Maptool stack size to 3 ; otherwise, you will encounter a stack overflow error with certain monsters.
Notes
About the monster parser, you can only paste it from the playtest bestiary.pdf, meaning that any monster not in it and found in campaign for example won't do, because of the peculiar formatting of the pdf, it is too specific to be generic. Also I didn't make the editing possible yet, it will take a bit of work and I want to go back to the character sheet now.
Known monsters that are not correctly parsed :
- Yuan-ti, Halfblood (too much work to do for this one due to its formatting, will see that later)
Next step:
Will now go back to the character sheet, add the weapons in the equip tab and link it to the attack table (not yet showed) in the main tab.