5e D&D Framework

Framework(s) for D&D 5e.

Moderators: dorpond, trevor, Azhrei, giliath, Gamerdude, jay, Mr.Ice

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: 5e D&D Framework

Post by paulstrait »

taladan wrote:maybe I'm not understanding how you're 'starting' with the generic monster token. I tried making a copy of it and modifying it, but...how about a list of steps you do? I'm actually in the middle of a TT game with my wife and kids, using some cobbled macros that I've come up with because I can't get the framework NPC stuff figured out. Once I figure out the framework I can switch up to the framework and it'll make my dm'ing life easier slightly.
First, I copy the token, edit its name, and add appropriate token and portrait images. If the token image is a top-down orientation, I change that setting. I'll also set the vision at this point.

Second, I edit the properties. You could use the 'edit stats' macro but it doesn't cover everything except for the most basic of tokens so I find it quicker to just go into the properties directly and just tab through to edit the ones I want to edit. The key things (off the top of my head, I'll double check this when I'm at home with maptool pulled up): ability scores, hp / max hp, skilldie, hit dice if I want to be able to roll HP, and, for spell casters, spell attack and save DC. Although informational rather than essential to macro functioning, I also edit AC (with the armor type in parentheses), immunities/resistances/vulnerabilities, condition immunities, level (I also put XP in parentheses), passive perception, movement rate, creature type, and alignment. If there is something else important I want a reminder of (e.g., suppose a creature has tremorsense or blindsight), I'll stick it in the 'Note' property.

Third, I add proficiencies/expertises via the appropriate macro.

Fourth, I add languages via the appropriate macro.

Fifth, I make the attack macro. More recently I've been using a new system that is more like the PC system and is a bit more automated, but there are still some problems I need to work out. The old system has every attack launch from the attack macro. If the creature has some special condition or text that goes with the attack, I usually add that to the macro itself rather than to the miscellaneous info box in the attack macro, b/c that makes it easier to actually use, and so if necessary, I'll create multiple versions of the attack macro so the appropriate text is only triggered when the appropriate attack is taken.

Sixth, I add macros for properties and non-attack actions. Examples of all the various kinds are on the NPC spellbook token (and often all I have to do is drag the appropriate macro over from the impersonated window to the selected window). For properties, the tool tip is generally more important than the actual text of the macro b/c I like to be able to see what the property does without having to send text to the chat window. If any of the powers are an aura effect (e.g., 'all creatures who start their turn within 10 feet take damage' or whatever), and the aura isn't meant to be a total surprise to the players, I'll also set an appropriately sized & colored aura in the light sources. (also in the rare event that the creature itself casts out light, like a flameskull, I'll edit that as well).

If the NPC isn't a spellcaster or doesn't have any unusually complicated abilities, I'm generally done at this point, and so I long rest it, test everything once, and then save the token in my library. If it is a spellcaster, a few more things are necessary:

First, the long rest macro has to be edited to fill up the spell slots, which is done by adding lines like

Code: Select all

[h:First=4] [h:Second=3]
etc. If I want to track limited use powers that aren't spells, I'll generally use do something like

Code: Select all

[h:DailyPower1=2]
or whatever.

Second, the Slots property needs to be populated with the all the levels in which the creature has slots (not strictly necessary but useful to help track it just by mousing over the token). So if the creature has up to fourth level slots, I would fill that property with

Code: Select all

{First}/{Second}/{Third}/{Fourth}
which would give me something that looks like this: 4/3/3/2, and those numbers would change as spells are cast.

Third, I'd drag over the appropriate spells. All the spells from the PHB, and most of the non-PHB 5e spells, and even a few third-party spells, are on the NPC spellbook token, so they just need to be dragged over. I usually create a macro group called 'Magic' so that they stick together. If any of the spells are concentration spells, I also drag over the 'End Concentration' macro.

Fourth, I create macros for limited use powers. Generally, I have these things change the color of the macro when they are expired (examples of this on the NPC spellbook token). If so, I'll add a line to the long rest macro that changes the color back. If a power is rechargeable, I copy the recharge macro over and modify it to change the color of the macro back to normal if the target roll is hit. Usually, that's sufficient to track things, but occasionally I'll set it up to prevent the power from working if I try to cast it too many times. In practice, I've found it generally isn't necessary, but the code is already written so it doesn't take much time to set up, and so I'll generally do this if they have multiple (but not infinite) uses of a power, especially if they have multiple powers that borrow from a single pool of uses (e.g., legendary actions -- you can see examples of this on some of the higher level NPC tokens like Strahd or some dragons). It can be a little tricky if they have a limited use power that casts a spell without using a spell slot. There are various ways to deal with this, and I think the easiest thing to do would just be to model one of the tokens I've already created that is like this. Fortunately this is pretty uncommon for 5e monsters.

That's pretty much it. Sometimes I'll also add descriptive text to the description area of the token, but the only thing that really accomplishes is that it allows players to click on the corpse once the NPC/monster dies and is sent to the object layer to read the description and see the token portrait. So I generally only do this if either I want them to see some detail about the corpse, or if the monster is so weird and unusual that I know I will otherwise have to look it up when I use that monster in play in order to accurately describe it.

I think that is everything. Let me know if any of the steps are unclear. It seems like a lot, but honestly, of all these steps, the thing that takes me the longest is finding good art (and, as is often necessary, editing it in GIMP to remove watermarks or other defects). In a pinch, if you need a very quick monster token, all you really need to do is edit the token name and the HP/max HP. You can create the attack macro on the first attack and use other stats directly out of the manual. I avoid this b/c I like to be overprepped, but in emergencies I've found that as long as I've got access to the monster manual or whatever other source has printed the stat sheet, it isn't any less efficient than the old pencil & paper method of tracking that I used back in the stone ages before we had cool VTTs to facilitate play.
Last edited by paulstrait on Fri Jul 28, 2017 10:53 am, edited 2 times in total.

taladan
Kobold
Posts: 5
Joined: Sun Jul 09, 2017 5:14 pm

Re: 5e D&D Framework

Post by taladan »

Okay, this is helping out greatly!

One thing I'm seeing. I'm going through the HotDQ right now with my family and going through setting up a generic 'cultist' token using the online supplement for the statblock located at The wizards site. Okay, looking at examples in the library map, I figured out how the skilldice and such go, however I don't understand the weapons bit. Do I need to hand code weapons into the sheet or is there a macro somewhere that adds weapons with appropriate damage, etc. to the npc token?

I apologize for asking so many questions, but this is helping me out greatly, so I thank you for your time.
Edited to clarify the question

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: 5e D&D Framework

Post by paulstrait »

taladan wrote:Okay, this is helping out greatly!

One thing I'm seeing. I'm going through the HotDQ right now with my family and going through setting up a generic 'cultist' token using the online supplement for the statblock located at The wizards site. Okay, looking at examples in the library map, I figured out how the skilldice and such go, however I don't understand the weapons bit. Do I need to hand code weapons into the sheet or is there a macro somewhere that adds weapons with appropriate damage, etc. to the npc token?

I apologize for asking so many questions, but this is helping me out greatly, so I thank you for your time.
Edited to clarify the question
Just use the attack macro. You can give the attack a name, include it's to hit bonus, it's damage type, damage dice, and critical bonus (the damage dice without modifiers). Btw I've already created all the HotDQ npcs, they are in the token collection, so you don't need to reinvent the wheel unless you are just trying to figure out how it works.

In case you don't have those tokens downloaded, here's the cultist token:
Cultist.rptok
(3.52 MiB) Downloaded 130 times
Take a look at how the attack macro works on it and its properties. It is a good example of the most basic kind of NPC token.

User avatar
esspkay
Kobold
Posts: 5
Joined: Thu Jan 14, 2010 7:21 am

Re: 5e D&D Framework

Post by esspkay »

Hi there! I'm keen to try out this framework, but I'm a bit of a layman when it comes to putting together builds. I've been looking through the github elements without much success. Is there any chance for an older version, compatible with 1.4.0.5? No pressure if it's a hassle, just thought I'd check :)

Thanks again for all the effort!

taladan
Kobold
Posts: 5
Joined: Sun Jul 09, 2017 5:14 pm

Re: 5e D&D Framework

Post by taladan »

You have to download the nerps fork of maptool for this to work. I'm on my age don't have the link, but if you Google nerps maptools it'll be the top result.

TomDrew82
Kobold
Posts: 3
Joined: Sun Aug 20, 2017 8:22 am

Re: 5e D&D Framework

Post by TomDrew82 »

Hey, I really like this framework and I've been playing with it for a few days, testing it out, etc. Something I can't quite figure out is how to get rid of the coding text that appears when casting a cantrip. Any help would be appreciated. I'm fairly new to MapTools, using version 1.4.1.7 and have tried the Nerps version but the output is still the same.
Thanks,
Tom
Attachments
Snipped pic of the output text when casting a cantrip
Snipped pic of the output text when casting a cantrip
cantrip.PNG (21.56 KiB) Viewed 12588 times


TomDrew82
Kobold
Posts: 3
Joined: Sun Aug 20, 2017 8:22 am

Re: 5e D&D Framework

Post by TomDrew82 »

Thanks for the reply and I've actually been looking at the code and trying to compare the code for this section to other sections. What seemed to do the trick was changing the [] into {}, which doesn't make a lot of sense to me, because I thought what I had read (and practiced on my own) was that either of these 2 items would suffice for coding.

It was the same for the spellcast macro (as opposed to this cantripcast macro) and now I'm working on the MonkCast macro. It is reporting a string as an input when it was expecting a number.
Illegal argument type java.lang.String, expecting java.math.BigDecimal
I've narrowed it down to this section of code that is preventing it from continuing (see attached).

And I appreciate all of YOUR coding and I'm still learning how to use MapTools and your stuff. Again, thanks for the help.
Attachments
monkcast.PNG
monkcast.PNG (15.87 KiB) Viewed 12576 times

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: 5e D&D Framework

Post by wolph42 »

first of:
[r:] and {} do exactly the same. However {} goes towards the nesting limit (see link in sig.) and [r:] doesn't hence as good practice do NOT use {}.

as for the coding error...im not sure what you require as you already figured it out: you're doing a compare inside an if statement between a number and a string. Most likely case your doing something like:
if("" == 5): or if(""==5,..,..)
again the most likely case this happens with the json.get(LClass,...) line (where the value can't be found or is "". In both cases the result is: ""). Best way to debug this is to use the pause function (see debug article linked in sig.). After you have installe pause() Then simply do
[test=json.get(LClass...)]
[pause("test")]
you can check the other variables as well ofcourse
[pause("test", "Ki", "sLevel", etc.)]

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: 5e D&D Framework

Post by paulstrait »

The macro works fine on my computer as is. Do you have "Use ToolTips for Inline Rolls" checked in your preferences? I'm not at home but I'm nearly certain that not having that checked is what causes that error. You shouldn't have to change the code.

TomDrew82
Kobold
Posts: 3
Joined: Sun Aug 20, 2017 8:22 am

Re: 5e D&D Framework

Post by TomDrew82 »

The macro works fine on my computer as is. Do you have "Use ToolTips for Inline Rolls" checked in your preferences? I'm not at home but I'm nearly certain that not having that checked is what causes that error. You shouldn't have to change the code.
That did the trick! Thanks for the pro tip. It's taking me a while to learn all the ins and outs of MapTools, so thanks for bearing with me, both you and Wolph42. I have some experience with writing code, but it was 17 years ago in high school and college. I'm trying to pick up some of it but, I'm not gonna lie, I will most likely not learn this MapTools coding any time soon.

So, basically, thanks for putting this together. I'm about to start DMing and I used this for a short one-shot campaign and people loved it. This framework, along with Wolph42's 'Bag of Tricks,' will make it even better. Hopefully, it will be easy to add some spells and stuff, as one of my players wants to play a Sun Soul monk. Oh, and the reason for the monkCast errors was because the monk was only level 1 and had no Ki points. Therefore, the inputs were not correct until reaching the right level to cast that spell/ability.

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: 5e D&D Framework

Post by paulstrait »

No problem. If you want help with the macros, I can work with you most evenings after 7:30 pm central except Monday (our game night). Monks and warlocks tend to have a lot of special-case type options and we usually program those as needed.

User avatar
Damien Granz
Kobold
Posts: 22
Joined: Sun Jun 23, 2013 4:04 pm

Re: 5e D&D Framework

Post by Damien Granz »

I love the framework but one thing that seemed off to me was the sight and light preferences. While there's no real 'wrong' way to do them (your table your rules), they didn't really match rules as written as far as I could read them, so I made a new set, and I thought I'd post it here just in case anybody else wants to use them. I tried to include the new lumens feature but I can't make 'darkvision' dim light because as far as I know you can't color code personal lights.

The default set that Paul has made uses square lighting which works alright for 4e, which does all movement in 'squares' and has no special rules for diagonals, which ignores the fact that the diagonal distance in a square is longer than the vertical or horizontal sides. And so his lighting system seems to still represent that. Which, if that's how you do it, again is fine. But I preferred to do things with the circle system myself, as it better represents what seems to be intended for the lights.

As for personal lights, I gave normal vision a small radius that one can see their token even in pitch black so they can still right click them if need be. This will allow a bit of meta gaming if they have multiple tokens but I thought it was an acceptable break. Unfortunately as there's no way to make separate lumens per vision type or to define them at all (they're always defined as 100), magical darkness will obscure this even. I rounded out each with an extra of 2.5 feet of distance to help completely define the last bit of area. Feel free to change that (or any of it, really).

The order of things is a bit broken because maptool seems to want to define the order itself, and there's no way I know of to fix it, so you'll just have to deal with it.

I don't know if this breaks any spell macros. If I'm missing any light sources (mundane, magical or glowing monster) or magical darkness sources, please let me know. I don't have a complete mastery of the spell effects in 5e or memorization of the monster manual.

These don't have colored lights for bright light because I haven't been able to find a lot of good hex value that are good mood lighting without being eye hurting or jarring. Feel free to change that too (of course).

As to Corona of Light, I'm not sure if it deflects magical darkness or not, so I erred to say it doesn't.

Of course, do it how you want, just figured I'd share what I made.

Sight:
Darkvision 60 ft: circle r62.5
Blind: circle distance=2.5 r2.5
Darkvision 120 ft: circle r122.5
Normal: circle r2.5
Darkvision 30 ft.: circle r32.5

Lights:
Auras
----
Aura 20: aura circle 22.5#0000ff
Aura 30: aura circle 32.5#0000ff
Light Spell - 20: aura circle 22.5 42.5#000000
Aura 10: aura circle 12.5#0000ff
Aura 15: aura circle 17.5#0000ff

Light Sources
----
Torch: circle 22.5 42.5#000000 lumens=20
Lantern, Hooded: circle 32.5 62.5#000000 lumens=20
Lantern, Hooded (Hood Down): circle 7.5#000000 lumens=20
Lantern, Bullseye: cone arc=90 60 120#000000 lumens=20
Candle: circle 7.5 12.5#000000 lumens=20
Lamp: circle 15.5 47.2#000000 lumens=20

Magical Darkness Sources
----
Darkness: circle 17.5#000000 lumens=-120

Magical Light Sources
----
Faerie Fire: circle 12.5#000000 lumens=20
Dancing Lights: circle 12.5#000000 lumens=20
Daylight: circle 62.5 122.5#000000 lumens=200
Light: circle 22.5 42.5#000000 lumens=20
Corona of Light: circle 62.5 92.5#000000 lumens=20

Monster Lights
----
Flame Skull (Bright): circle 17.5 32.5#000000 lumens=20
Flame Skull (Dim): circle 17.5#000000 lumens=20
Giant Fire Beetle: circle 12.5 22.5#000000 lumens=20

User avatar
Damien Granz
Kobold
Posts: 22
Joined: Sun Jun 23, 2013 4:04 pm

Re: 5e D&D Framework

Post by Damien Granz »

What would it take to make a macro that just subtracted a spell per day once hit?

In the older framework each spell level was a separate line in the character sheet so you could make something that was basically like 'first=first-1' or 'first=first+1' but I'm not sure how you'd do so in the more condensed framework as the spells per day seem to be just one line with a lot of variables.

I'd also like to try to make a macro that brings up a text box to add ammo back.

Sorry if this is super obvious. I have no real idea what I'm doing. :D Thanks in advance.

paulstrait
Dragon
Posts: 304
Joined: Mon Mar 23, 2009 4:48 pm

Re: 5e D&D Framework

Post by paulstrait »

Damien Granz wrote:I love the framework but one thing that seemed off to me was the sight and light preferences. While there's no real 'wrong' way to do them (your table your rules), they didn't really match rules as written as far as I could read them, so I made a new set, and I thought I'd post it here just in case anybody else wants to use them. I tried to include the new lumens feature but I can't make 'darkvision' dim light because as far as I know you can't color code personal lights.

The default set that Paul has made uses square lighting which works alright for 4e, which does all movement in 'squares' and has no special rules for diagonals, which ignores the fact that the diagonal distance in a square is longer than the vertical or horizontal sides. And so his lighting system seems to still represent that. Which, if that's how you do it, again is fine. But I preferred to do things with the circle system myself, as it better represents what seems to be intended for the lights.

As for personal lights, I gave normal vision a small radius that one can see their token even in pitch black so they can still right click them if need be. This will allow a bit of meta gaming if they have multiple tokens but I thought it was an acceptable break. Unfortunately as there's no way to make separate lumens per vision type or to define them at all (they're always defined as 100), magical darkness will obscure this even. I rounded out each with an extra of 2.5 feet of distance to help completely define the last bit of area. Feel free to change that (or any of it, really).

The order of things is a bit broken because maptool seems to want to define the order itself, and there's no way I know of to fix it, so you'll just have to deal with it.

I don't know if this breaks any spell macros. If I'm missing any light sources (mundane, magical or glowing monster) or magical darkness sources, please let me know. I don't have a complete mastery of the spell effects in 5e or memorization of the monster manual.

These don't have colored lights for bright light because I haven't been able to find a lot of good hex value that are good mood lighting without being eye hurting or jarring. Feel free to change that too (of course).

As to Corona of Light, I'm not sure if it deflects magical darkness or not, so I erred to say it doesn't.

Of course, do it how you want, just figured I'd share what I made.

Sight:
Darkvision 60 ft: circle r62.5
Blind: circle distance=2.5 r2.5
Darkvision 120 ft: circle r122.5
Normal: circle r2.5
Darkvision 30 ft.: circle r32.5

Lights:
Auras
----
Aura 20: aura circle 22.5#0000ff
Aura 30: aura circle 32.5#0000ff
Light Spell - 20: aura circle 22.5 42.5#000000
Aura 10: aura circle 12.5#0000ff
Aura 15: aura circle 17.5#0000ff

Light Sources
----
Torch: circle 22.5 42.5#000000 lumens=20
Lantern, Hooded: circle 32.5 62.5#000000 lumens=20
Lantern, Hooded (Hood Down): circle 7.5#000000 lumens=20
Lantern, Bullseye: cone arc=90 60 120#000000 lumens=20
Candle: circle 7.5 12.5#000000 lumens=20
Lamp: circle 15.5 47.2#000000 lumens=20

Magical Darkness Sources
----
Darkness: circle 17.5#000000 lumens=-120

Magical Light Sources
----
Faerie Fire: circle 12.5#000000 lumens=20
Dancing Lights: circle 12.5#000000 lumens=20
Daylight: circle 62.5 122.5#000000 lumens=200
Light: circle 22.5 42.5#000000 lumens=20
Corona of Light: circle 62.5 92.5#000000 lumens=20

Monster Lights
----
Flame Skull (Bright): circle 17.5 32.5#000000 lumens=20
Flame Skull (Dim): circle 17.5#000000 lumens=20
Giant Fire Beetle: circle 12.5 22.5#000000 lumens=20
Nice work. Won't break anything. Yeah, I think the vision stuff is just a holdover from our 4e settings years ago. Actually in my game we've been playing with conic vision recently.

Post Reply

Return to “D&D 5e Frameworks”