Rod's D&D 5e Framework

Framework(s) for D&D 5e.

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

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

Updated to 2.4.3 adressing bug reports, performance and quality of life improvements and easier custom class creation, "easier" is relative though, this part is kinda hard to do so I may make a tutorial soon

Download

OokOok
Kobold
Posts: 15
Joined: Wed Nov 13, 2019 12:27 am

Re: Rod's D&D 5e Framework

Post by OokOok »

Love the evolution of this framework - thanks, Rod!

As an aid to others, here are my own observations on 2.4 vs 2.4.3. Having spent significant time with both v2.3 and 2.4, I wanted to take a little time to understand what is changed in 2.4.3 before making my decision on when to migrate my 2.4-based campaign to 2.4.3. I MOSTLY care about Lib:Character and the data in the Compendium (i.e. spells, equipment, feats, additional feats) since I've invested considerable time with these. I'm less concerned about the other Libs. Some changes are no doubt bug fixes - but I've made no attempt to figure out what the bug might have been. Tons are changes are cosmetic only.

Bottom line: 2.4.3 MASSIVELY updates Lib:Character. Class and Subclass-related Feats/Additional Feats now appear to be table-driven which, in turn, appears to impact code run during Welcome and WelcomeUP workflows. Custom work done by me to add Classes, Subclasses, Backgrounds (which are all definitely changed in 2.4.3's logic), and Races (might have changed) has to be re-evaluated. Looking at Rod's Life Domain macro - which looks to be like an incomplete stub - makes me believe that 2.4.3 may still be a WIP with respect to Subclasses (at least). I still have to dig much deeper, but that particular script looks broken to me. (Or maybe the script only looks broken because a lot of the logic has moved internal to other macros?? Not sure.)

The items in the Compendium are also finally fixed: all keys now forced to lower case, all json now includes the {description:...} format that first appeared in 2.4, and all sources: keys are now filled in. I managed to fix all entries that were initially in 2.4 and then added a ton more, so I SHOULD be able to simply export all my 2.4 entries and then re-import them into 2.4.3, overwriting whatever Rod shipped in 2.4.3 and suffering no loss of my additional content. However, anyone who didn't take time to fix entries in 2.4 (or earlier) compendiums should be prepared to start over by implementing the 2.4.3 items as-is and then re-adding new items.

For those who care, here are my more detailed notes. This are my VERY quick evaluations. YMMV. Anyone who REALLY cares should do their own detailed diffs.

Lib:Compendium - no changes
Lib:Welcome - no changes
Light - no changes
Spell - no changes

Lib:Bestiary
* (fix) When viewing an item from character's equipment list or monster w/magic spells, if the item or monster's popup description includes linked spells, now correctly displays those spells if clicked on.
* (ch ange) Changes in d20Roller macro, related to rolling Init. Appears to be related to changes in Gameplay Settings re: auto-add to initiative list.
* (change) Several other non-specific cosmetic fixes and tiny bugfixes.

Lib:Notebook
* (new) Help macro.
* (fix) When viewing an item from character's equipment list or monster w/magic spells, if the item or monster's popup description includes linked spells, now correctly displays those spells if clicked on.
* (change) Several other non-specific cosmetic fixes and tiny bugfixes.

Lib:Tables
* (fix) Lots of updates to ensure consistent forced capitalization across all macros. Completes work started but not completed in 2.4.

Lib:Campaign
* (fix) When viewing an item from character's equipment list or monster w/magic spells, if the item or monster's popup description includes linked spells, now correctly displays those spells if clicked on.
* (fix) No longer chokes when (roll) entries have embedded spaces.
* (fix) Something to do with when to call the ShareRoll macro. Looks like prior version may have shared some rolls when it shouldn't have?
* (new) Json Export All macro added.
* (new) Json Import All macro added.
* (new) onCampaignLoad: loads list of available audio clips
* (new) adds tool tips to Settings menu options
* (new) adds Import/Export Compendium to Settings
* (change) delimiter between entries in Settings/Background MIGHT be changed...at least, the way those values are stored to libProperties has changed.
NOTE: It looks like the old format Background=Feature used in the Settings/Background field is no longer necessary. It looks like you now use just the background name, comma delimited (i.e. WAS:Acolyte=Shelter of the Faithful;Sage=Researcher NOW:Acolyte,Sage. YEAH!!!!)
* (change) Throughout, many small display tweaks to page layouts, colors


Lib:Character
* (new) Looks like Manage Party now lets you swap items around, too.
* (fix) Misspellings of "Exhausted/Exhaustion" fixed
* (fix) Misspelling of "Unconscious" fixed
* (fix) No longer chokes when (roll) entries have embedded spaces.
* (fix) Args Dialog macro has a fix that (I assume) corrects a problem where unidentified utems in equipment were either not marked correctly and/or may have given away what they really were.
* (fix/change) TONS of changes to the Attacks macro. Scope of all this unknown to me, but heavily modified since 2.4
* (fix/change) TONS of changes in the Character Sheet macro. Most appear to be cosmetic, but a few fixes are definitely in there.
* (fix/change) Many changes to Spell List macro.
* (fix/change) Many changes to Spellcasting Sheet macro. Not certain, but it MIGHT now handle cases where Character has a spell assigned that can't be found in the Compendium.
* (fix/change) TONS of changes to the Statblock macro.
* (change) Changes (for unknown results) to Add and Change Form macros: appears to now take into account things about spell levels and equipment
* (change) Add,Change Form, Delete, and Move macros now perform same capitization logic added back in v2.4
* (change) Move macro now calls Get Equipment Info macro - not sure how this changes things.
* (unknown) My diff program is choking on the Metadata macro, so not sure what - if any - changes are here.

Lib:CharacterCreation
* MASSIVE ALTERATIONS: too many to try to understand/summarize at this time.
* In general, looks like lots of modularization added to character creation process. Not yet sure how this plays out in real time and/or how it will affect my auto-background creation code, nor my manual process for adding new Subclasses...but I suspect this is significant. Rod appears to have recognized that the class and subclass macros (i.e. Cleric.mt or Grave Domain.mt) had tons of redundant code, and he's either getting rid of this OR he's building tools that will build all this redundant code automatically while also inserting the specific details that are unique to each Class/Subclass (like I did with Import-Background). Based on the fact that the Life Domain subclass macro appears incomplete, I guess this is still very much WIP. It looks like support may be present for automatically adding Feats/Add'l Feats via table-driven data, but I don't think there's yet support for things like auto-addition of spells at various Subclass levels, nor for table-driven Class or Subclass-based language selection. (I could easily be wrong about this - I haven't tried the new workflows yet nor dug into the code.)
* At minimum, all class/subclasses/races,etc now specified in lower case.

rpt-steve
Kobold
Posts: 13
Joined: Thu Oct 03, 2019 10:42 am

Re: Rod's D&D 5e Framework

Post by rpt-steve »

Hey guys, hi Rod. Loving the new framework, btw.
I've come across a bug in 2.4.3 that didn't happen in the last version I was using (2.3) - When I'm using the "NPC" menu option to convert a token into a monster, not all of the monsters in the compendium are being listed in the drop down for creation.

For example, "Jackal" is listed, but not "Jackalwere." Also, "Gnoll" is listed, but not "Gnoll Pack Lord" or "Gnoll Fang of Yuunowhu" ;)

It looks like it's implementing the same fuzzy matching that's used when printing a monster's name in the Statblock (ie: if the string starts with the exact name of a known monster, it ignores anything thereafter.) In this case, that means it's presumably eliminating what it seees as "duplicates" from the drop down.

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

rpt-steve wrote:
Mon May 25, 2020 9:40 am
I've come across a bug in 2.4.3 that didn't happen in the last version I was using (2.3) - When I'm using the "NPC" menu option to convert a token into a monster, not all of the monsters in the compendium are being listed in the drop down for creation.
Oh! I will look into it!

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

OokOok wrote:
Sun May 24, 2020 6:49 pm
Love the evolution of this framework - thanks, Rod!

As an aid to others, here are my own observations on 2.4 vs 2.4.3. Having spent significant time with both v2.3 and 2.4, I wanted to take a little time to understand what is changed in 2.4.3 before making my decision on when to migrate my 2.4-based campaign to 2.4.3. I MOSTLY care about Lib:Character and the data in the Compendium (i.e. spells, equipment, feats, additional feats) since I've invested considerable time with these. I'm less concerned about the other Libs. Some changes are no doubt bug fixes - but I've made no attempt to figure out what the bug might have been. Tons are changes are cosmetic only.
Waw! amazing job figuring out stuff that even I don't remember I did lol, and very accurate too, lemme just explain the unknowns and complement the knowns.
Lib:Bestiary
* (change) Changes in d20Roller macro, related to rolling Init. Appears to be related to changes in Gameplay Settings re: auto-add to initiative list.
The changes are for a bug and a new feature, the auto-add to initiative is the feature, and the bug was there was some links that should only display when rolls were hidden, but the links was still working so previously if you clicked on an empty space below the roll it would activate the invisible link, this bug was also present in other dice rolls across the fw.
Lib:Notebook
* (new) Help macro.
* (change) Several other non-specific cosmetic fixes and tiny bugfixes.
The help macro displays on all text editing fields, or so they should... And the cosmetic fixes are for better implementation of CSS in case you use Dark Mode or some other theme...
Lib:Tables
* (fix) Lots of updates to ensure consistent forced capitalization across all macros. Completes work started but not completed in 2.4.
Lib:Tables also auto detects classes added from Settings, and other auto detection so it shows custom content without having to manually do everything. Also included a search box, and in the earlier versions the window was a dialog window, now its a frame so you can have all the content of the framework accessible at all times.
Lib:Campaign
* (fix) Something to do with when to call the ShareRoll macro. Looks like prior version may have shared some rolls when it shouldn't have?
Yes, its related to the d20Roller bug.
* (new) Json Export All macro added.
* (new) Json Import All macro added.
BTW it expands on each field on the compendium export/import tools, but also exports class, race, background and feat lists, so it will update the libraries and character creation wizard automatically.
* (change) delimiter between entries in Settings/Background MIGHT be changed...at least, the way those values are stored to libProperties has changed.
NOTE: It looks like the old format Background=Feature used in the Settings/Background field is no longer necessary. It looks like you now use just the background name, comma delimited (i.e. WAS:Acolyte=Shelter of the Faithful;Sage=Researcher NOW:Acolyte,Sage. YEAH!!!!)
* (change) Throughout, many small display tweaks to page layouts, colors
Yes, having the background feature be separated from the background was a bad idea, so its now they are merged, as they should.
Lib:Character
* (fix) Args Dialog macro has a fix that (I assume) corrects a problem where unidentified utems in equipment were either not marked correctly and/or may have given away what they really were.
Yes, although I get the impression it still doesn't work perfectly 100% of the time, but can't confirm, needs more testing.
* (fix/change) TONS of changes to the Attacks macro. Scope of all this unknown to me, but heavily modified since 2.4
Originally, the Attacks macro was reading all equipment, searching for weapons, damage rolls, weapon features like finesse or versatility, then figuring out if it was equipped, proficient, offhand... and all that made loading the character sheet with more than 10 or 15 items to take 5 or more seconds on a good computer, and more than 30 on a crappy laptop, now it offloads to a macro called Get Weapons and an on-demand click on "Attacks & Spellcasting" search all that info and store on a "Weapons" Property in the token, now (in my experience) the computer that took 5 seconds to load now takes just 1 or 2, and the one that took more than 30 now takes around 10, still a 60% speed improvement.




* (fix/change) TONS of changes in the Character Sheet macro. Most appear to be cosmetic, but a few fixes are definitely in there.
* (fix/change) Many changes to Spell List macro.
* (fix/change) Many changes to Spellcasting Sheet macro. Not certain, but it MIGHT now handle cases where Character has a spell assigned that can't be found in the Compendium.
* (fix/change) TONS of changes to the Statblock macro.
All of those are mostly related to how Weapons are detected, as explained before, and a similar change to spells, that I will explain next.
* (change) Changes (for unknown results) to Add and Change Form macros: appears to now take into account things about spell levels and equipment
* (change) Move macro now calls Get Equipment Info macro - not sure how this changes things.
* (unknown) My diff program is choking on the Metadata macro, so not sure what - if any - changes are here.
Also related to how weapons are detected, spells are now not separated by spell level, so the only way for the framework to know is reading it's data, I made a macro that searches for the spell level, and adds stores it with source and prepared, so, most of the changes in Add, Change, Metadata and Move are meant to keep these data intact, and create it in case its missing. So if you update a character from some previous version and equipment weight, weapon damage or spell levels are missing, opening the item popup window, going to the settings and just clicking "OK" with or without any changes would fix the item.
Bottom line: 2.4.3 MASSIVELY updates Lib:Character. Class and Subclass-related Feats/Additional Feats now appear to be table-driven which, in turn, appears to impact code run during Welcome and WelcomeUP workflows. Custom work done by me to add Classes, Subclasses, Backgrounds (which are all definitely changed in 2.4.3's logic), and Races (might have changed) has to be re-evaluated. Looking at Rod's Life Domain macro - which looks to be like an incomplete stub - makes me believe that 2.4.3 may still be a WIP with respect to Subclasses (at least). I still have to dig much deeper, but that particular script looks broken to me. (Or maybe the script only looks broken because a lot of the logic has moved internal to other macros?? Not sure.)
related to:
Lib:CharacterCreation
* MASSIVE ALTERATIONS: too many to try to understand/summarize at this time.
* In general, looks like lots of modularization added to character creation process. Not yet sure how this plays out in real time and/or how it will affect my auto-background creation code, nor my manual process for adding new Subclasses...but I suspect this is significant. Rod appears to have recognized that the class and subclass macros (i.e. Cleric.mt or Grave Domain.mt) had tons of redundant code, and he's either getting rid of this OR he's building tools that will build all this redundant code automatically while also inserting the specific details that are unique to each Class/Subclass (like I did with Import-Background). Based on the fact that the Life Domain subclass macro appears incomplete, I guess this is still very much WIP. It looks like support may be present for automatically adding Feats/Add'l Feats via table-driven data, but I don't think there's yet support for things like auto-addition of spells at various Subclass levels, nor for table-driven Class or Subclass-based language selection. (I could easily be wrong about this - I haven't tried the new workflows yet nor dug into the code.)
* At minimum, all class/subclasses/races,etc now specified in lower case.
Massive changes indeed, though I wished I had the energy/knowledge to change it more... but now (and I am making a video explaining how it works) you can add a Class and Subclass as you could before, but now the Class setup has a couple extra fields, one to edit spell lists for that class (an old feature, but now integrated to the class setup) and a new one similar to the spells, but for class features, just place the class features for each level as a list, and it will auto detect and apply at each level when leveling up, massively facilitating class and subclass creation.

So, the class and subclass macros (like Life Domain) are mostly empty and are not really needed unless you want to automate everything like counters, saves, skills, equipment, witch is nice, but too much work for many people.

In short, these changes to the character creation are intended to make Class macros optional, so if you use the export compendium option on the settings, and import into another campaign, 90% would be imported, only missing non game breaking data.
The items in the Compendium are also finally fixed: all keys now forced to lower case, all json now includes the {description:...} format that first appeared in 2.4, and all sources: keys are now filled in. I managed to fix all entries that were initially in 2.4 and then added a ton more, so I SHOULD be able to simply export all my 2.4 entries and then re-import them into 2.4.3, overwriting whatever Rod shipped in 2.4.3 and suffering no loss of my additional content. However, anyone who didn't take time to fix entries in 2.4 (or earlier) compendiums should be prepared to start over by implementing the 2.4.3 items as-is and then re-adding new items.
Fair warning, I do try to make updating as easy as I can, and since most of the stuff compared to previous version is bug fixing, no data is actually changed, so transition should be ok, but the earlier the version, the harder it will be, to the point it would be more worth to just start from scratch or not update at all

quakemonkey
Kobold
Posts: 2
Joined: Mon Sep 23, 2013 12:14 pm

Re: Rod's D&D 5e Framework

Post by quakemonkey »

Hi Rod,

I just downloaded your Framework and really like it, but I noticed two bugs.

The Aboleth's Tentacle and Tail attacks damage dice are missing the "+" in between the dice and the bonus to damage so they end up rolling "2d65" and 3d65" instead of 2d6+5 and 3d6+5.

When rolling an attack (PC or creature) from the Statblock or Character sheet, the roll works, but in addition to the results it also spits out the below text, putting it in between the results box and the "[Share Result][Adv][Dis]" options.
« if(matches(text,"Initiative.*")==1,macroLink("[Set initiative]","Set [email protected]:Character","","tokenName="+tokenName+";value="+formulaNormal),"") =  » « if(matches(text,"Initiative.*")==1,macroLink("[Adv]","Set [email protected]:Character","","tokenName="+tokenName+";value="+adv),"") =  » « if(matches(text,"Initiative.*")==1,macroLink("[Dis]","Set [email protected]:Character","","tokenName="+tokenName+";value="+dis),"") =  » « if(matches(text,"Initiative.*")==1 && output!="all"," ","") =  » [Share Result] [Adv] [Dis]
Image

I'm running Maptool v1.7.0.

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

quakemonkey wrote:
Mon May 25, 2020 1:07 pm
Hi Rod,

I just downloaded your Framework and really like it, but I noticed two bugs.

The Aboleth's Tentacle and Tail attacks damage dice are missing the "+" in between the dice and the bonus to damage so they end up rolling "2d65" and 3d65" instead of 2d6+5 and 3d6+5.
I am not facing this problem at all, Maybe it's something to do with MapTool Version since I am still using 1.6.1, If you edit the creature does the + show up there?
When rolling an attack (PC or creature) from the Statblock or Character sheet, the roll works, but in addition to the results it also spits out the below text, putting it in between the results box and the "[Share Result][Adv][Dis]" options.
« if(matches(text,"Initiative.*")==1,macroLink("[Set initiative]","Set [email protected]:Character","","tokenName="+tokenName+";value="+formulaNormal),"") =  » « if(matches(text,"Initiative.*")==1,macroLink("[Adv]","Set [email protected]:Character","","tokenName="+tokenName+";value="+adv),"") =  » « if(matches(text,"Initiative.*")==1,macroLink("[Dis]","Set [email protected]:Character","","tokenName="+tokenName+";value="+dis),"") =  » « if(matches(text,"Initiative.*")==1 && output!="all"," ","") =  » [Share Result] [Adv] [Dis]
Image

I'm running Maptool v1.7.0.
This is a maptool option that expands hidden GM text, go to Edit>Preferences... and under "Chat", check "Use ToolTips for Inline Rolls"

quakemonkey
Kobold
Posts: 2
Joined: Mon Sep 23, 2013 12:14 pm

Re: Rod's D&D 5e Framework

Post by quakemonkey »

Hi Rob,
I am not facing this problem at all, Maybe it's something to do with MapTool Version since I am still using 1.6.1, If you edit the creature does the + show up there?
Yeah after I edited and saved/updated the Aboleth with the missing "+" it worked fine. The other creatures I looked at weren't missing the "+" so I thought maybe it was a typo or something, but if you aren't seeing the missing "+" than I'm not sure what was going on.
This is a maptool option that expands hidden GM text, go to Edit>Preferences... and under "Chat", check "Use ToolTips for Inline Rolls"
Ah ok, yeah that did the trick. Thanks!

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

I did a quick video (lol, just kidding, it's a 2 hour long video) covering custom class creation since I changed it a lot, hope it help you guys!

https://youtu.be/ve4jUajdD7g

It has time stamps so you can go directly where you need.

DiscoShimmy
Kobold
Posts: 2
Joined: Thu Mar 26, 2020 9:15 pm

Re: Rod's D&D 5e Framework

Post by DiscoShimmy »

Hi Rod,

Excellent Framework. I really like all the changes you've made.

I'm trying to add Eldritch Blast as an attack(one of my players is a warlock) but I have no idea how to actually make it show up in the attack dialogue box.

User avatar
rtakehara
Cave Troll
Posts: 37
Joined: Mon Nov 11, 2019 5:11 pm
Contact:

Re: Rod's D&D 5e Framework

Post by rtakehara »

DiscoShimmy wrote:
Fri May 29, 2020 7:28 pm
Hi Rod,

Excellent Framework. I really like all the changes you've made.

I'm trying to add Eldritch Blast as an attack(one of my players is a warlock) but I have no idea how to actually make it show up in the attack dialogue box.
If the character has an Spellcasting Ability and spells prepared it will show the spells in the attack box, you can also click on Attacks & Spellcasting to create a custom attack and damage

Post Reply

Return to “D&D 5e Frameworks”