Code Monkey home page Code Monkey logo

5e-framework's Introduction

5e-Framework

A comprehensive 5th Edition Dungeons & Dragons Framework for MapTool with character sheet and character creation tools, a compendium of items, features, spells and creatures and campaign management tools.

screenshot

The framework can also be found at https://forums.rptools.net/viewtopic.php?f=85&t=28435

Versions

The .cmpgn file is all you need to run the framework. Olders versions are still available in case you are facing problems and want to downgrade.

Resources

This folder contains images and tokens that are not framework-specific, that you can use to create your own campaign.

Tutorials

You can check all the framework specific videos in the article about Video Tutorials, as well as generic MapTool tutorials.

Other than that, you can find help on various tools at the wiki.

5e-framework's People

Contributors

rtakehara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

5e-framework's Issues

Opening "Args Dialog" from Spellcasting with source=barbarian causes error

Describe the bug
If you try to see spell details as a barbarian, the system fails

To Reproduce

  1. Create a new PC as a level 1 barbarian
  2. Add spells to barbarian
  3. Click on a spell to launch Args Dialog

Expected behavior
Args Dialog opening normally

Desktop (please complete the following information):

  • OS: MacOS 10.15.5
  • Maptool: 1.7.0
  • Version 2.4.7

Additional context
The error occurs in the Markdown macro in the Renderer group

Toggle Default Opacity & Player Visibility for Bestiary Tokens

Is your feature request related to a problem? Please describe.
When putting out monsters from the bestiary they default to a low opacity and are not player visible. Even with the macro, toggling this for every single one is frustrating.

Describe the solution you'd like
Create setting to toggle the default opacity/visibility of tokens spawned from the bestiary.

Describe alternatives you've considered
Using the macro, saving all the monsters in the bestiary so I can drag/drop without using the bestiary

Additional context
I thought it was a bug when I first tried to use the bestiary in the newer framework, and the tokens were showing up with low opacity. The entries included that have no image (red X or generic token) also made me think that there may be a bug or I needed to redownload the framework.

Export Compendium does not produce json file.

Describe the bug
Export Compendium does not produce json file. It prints an error to the console.

To Reproduce
Steps to reproduce the behavior:

  1. Select"Settings" from the GM menu.
  2. In the "Compendium" section, click "Export Compendium"
  3. Fill in a directory path ("R:"), then a filename ("compendium_exported").
  4. Click Ok.
  5. See error

   Error in body of roll.       Statement options (if any): h       Statement Body : exportData(path+"/"+name+".json",jsonExport,0) Error trace : Json Export All@Lib:Campaign <<< macroLink

Expected behavior
I expect the json file to appear in the specified directory.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • Maptool Version 1.11.5
  • Framework Version 2.5.7

Additional context
Add any other context about the problem here.

Rolling HP for creatures will result in "/" HP

When i select the option for rolling enemy HP in the setting, creating a token from the bestiary will result in a token with "/" HP instead of e.g. "31/31". The dice-rolls for the HP appear in the char correctly but the token is not set to that value. Its always just a Slash. I tryed with version 2.5.6.

Reroll Initiative every round

Is your feature request related to a problem? Please describe.
Many Frameworks include this sort of dynamic initiative, I don't know how to implement it but shouldn't be hard

Describe the solution you'd like
When the round ends, rerooll and sort automatically all initiatives, first roll should be manual though since its fun to roll dice

Describe alternatives you've considered
The ideal would be reroll at the end of the round or beginning of the next as you click "next" but maybe It would only work with a custom macro to pass turns, if that's the only solution, maybe add other bells and whistles like an arrow to display the current round, focus the screen on that token, select it maybe...

Additional context
pretty much described above

Spaces in encoded die rolls

OokOokToday at 2:19 PM
@takehara: I found a bug - probably a regex issue - in your FW2.3 related to Equipment+Character Sheet. (Just saw you are at 2.4 - haven't DLed/tested that yet.) When equipment has encoded die rolls embedded in it - e.g. includes things like [3d6]("roll 3d6") - the Character sheet will refuse to display and instead show "Dangling meta character '+' near index 0 + ^" in the chat window if there are spaces in "invalid" places. The item still displays OK in the Setting-->Equipment subsystem and can be edited. For an encoded roll in the format [AdB]("roll EdF"), this breaks: 1) space(s) between F and the close quote. For the format AdB+C, these break: 1) space(s) between F and sign; 2) curiously, space(s) between sign and G is OK!; 3) space(s) between G and close quote.

Loading Framework

When I open a server and join my server on a different device, it says 'loading framework' and doesn't load.

  1. Start server and join
  2. Wait for 'loading framework;
  3. It doesn't end (never loads)

Loading Framework, never loads

image

Desktop

  • OS: [Windows]
  • Maptool Version [1.7.0]
  • Framework Version [2.5.6]

Unable to remove buff

Describe the bug
One of my players added a buff via his charactersheet with a duration of 1 minute. We are now unable to remove the buff and receive the following error message: "Argument number 2 "duration" to function "json.get" must be an integer. Error trace : Buffs@Lib:Character <<< macroLink".

To Reproduce
Steps to reproduce the behavior:

  1. Go to the character sheet
  2. Click on Buffs
  3. Add new Buff [name:" +2 AC, +1 Aktion" duration: 1 minute]. Confirm.
  4. click on buffs, no prompt/dialog opens up
  5. See error

Expected behavior
Expected the buff dialog menu to open and be able to remove the buff via the remove tab.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • Maptool Version 1.8.5
  • Framework Version 2.5.6

How to contribute changes and additions

This is mainly a question about contributing. Let's say I find a bug in a macro, or improves a macro. Maybe adds a new function etc.
How would we go about contributing?

Add Dexterity to Initiative

Is your feature request related to a problem? Please describe.
Since that's a popular optional rule, and easy to implement

Describe the solution you'd like
Add a option on the settings to include or not dexterity value to the initiative, exemple, I roll 13+3 and my enemy rolls 14+2, so both initiatives are 16, if you include Dex, It could show up like 16.15 and 16.14. Not sure if the initiative tracker records decimals though...

Describe alternatives you've considered
Don't know, not implementing it is an alternative

Additional context
add it to the Gameplay Settings with Auto Set Initiative and maybe others

Dark Mode Support/Theme

Is your feature request related to a problem? Please describe.
The framework doesn't look good on dark mode

Describe the solution you'd like
Maybe an option on settings to change dark mode theme to the framework, if possible, per player setting.

Describe alternatives you've considered
Auto detecting Dark Mode would be even better but I am happy with a settings option.

Additional context
Maybe some tweaking on CSS should be nessesary since a lot of design elements rely on basic HTML, not elegant at all...

New lines not working properly in text fields

Describe the bug
Every time data is entered into a MarkDown compatible text field entering a new line has unexpected behavior. Instead of the text displaying on a new line, the text is concatenated with the line above.

To Reproduce
Steps to reproduce the behavior:

  1. Create any item that requires you to enter text in a MarkDown compatible text field.
  2. Enter text that spans more than one line without returning more than once.
  3. Save the item and look at the display of the text in the GUI.
  4. The text should be concatenated if you did not return more than one line.

Expected behavior
The text should display on the next line without the use of the two spaces after the line or having to return twice.

Desktop (please complete the following information):

  • OS: Arch Linux
  • Maptool Version 1.8.5
  • Framework Version 2.5.6

Workaround
The solution for this is to put two spaces after a line that follows another.

Druid missing their two skills and weapon proficiencies

Describe the bug
Level 1 Druid starts without their two class skills and their weapon proficiencies (clubs, daggers, darts, javelins, maces, quarterstaffs, scimitars, sickles, slings, spears).

To Reproduce
Steps to reproduce the behavior:

  1. Create a Druid through the Wizard
  2. Notices the Wizard skips the skill selection
  3. Once the character is created, notice the lack of any weapon proficiencies

Expected behavior
The Druid gets his two skills and the weapon proficiencies

Desktop (please complete the following information):

  • OS: Windows 10

Goblin missing in new version's

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Goblin in beastiary or search'

  2. Click on 'Goblin'

  3. See error 'Argument number 2 "status" to function "json.get" must be an integer.'

Expected behavior
A clear and concise description of what you expected to happen.
Goblin statblock should open like other Npc's
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Microsoft
  • Maptool Version 1.7.0
  • Framework Version 2.5.2 and 2.5.1

Additional context
Add any other context about the problem here.
code error from chat window, nothing happens when you click on goblin

+ signs lost when editing Pin GM Notes

Describe the bug
After saving edits to the GM Notes of a pin, any use of the + character is lost.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new pin
  2. Edit the GM notes as follows:

 - Check to see who, if anyone, is surprised. The party cannot surprise the goblins, but the goblins might surprise some or all the characters. Make a [Goblin Dexterity (Stealth) check](roll "1d20 6"), rolling once for all of them. Compare the result to the characters' passive Wisdom (Perception) scores **13**. Any character whose score is lower than the goblins' check result is surprised and loses his or her turn during the first round of combat.
    - Goblins stealth roll **[r:gob_stealth=1d20+6]: [r:if(gob_stealth > 13, "Goblins stay hidden", "Goblins are seen!!")]**
  1. Save the notes and see the macro work for a 1d20+6 roll
  2. Edit the GM Notes
  3. Make any change and hit Save
  4. Notice that the 1d20+6 is now 1d20 6
    - Goblins stealth roll **[r:gob_stealth=1d20 6]: [r:if(gob_stealth > 13, "Goblins stay hidden", "Goblins are seen!!")]**

Expected behavior
+ is maintained as part of the text

Screenshots
N/A

Desktop (please complete the following information):

  • OS: MacOS 12.2
  • Maptool Version 1.11.5
  • Framework Version 2.5.7

Spells that refuse to work

In version 2.4 I cannot seem to be able to open spell links from the character sheet; however this is a minor annoyance because they mostly work fine from the stat block and the spellcasting sheet.

Also spells tend to end up broken if added from the class spell lists. Searching for them in the search menu and adding them from there seems to work better, for whatever reason.

However, one spell so far has proven stubborn and refuses to work: the cantrip Toll the Dead. (there might be more, I did not test them all - simply the ones I chose for the PCs I made)
Here is the JSON:
{"toll the dead":{"description":"necromancy cantrip \n Casting time: 1 Action \nRange: 60 feet \nDuration: Instantaneous \nComponents: V, S\n\n---\n\n You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take [1d8](roll "1d8") necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage. The spell’s damage increases by one die when you reach 5th level ([2d8](roll "2d8") or [2d12](roll "2d12")), 11th level ([3d8](roll "3d8") or [3d12](roll "3d12")), and 17th level ([4d8](roll "4d8") or [4d12](roll "4d12")).","sources":["XGE"]}}

I chose it as the wizard cantrip for a high elf character. However, no matter how many times I add it to the character, it ends up in the missing or broken part of the spellcasting sheet.

I have tried pasting the text in again from the Edit button on the frame opened by the "broken or missing" link in the spellcasting sheet, but to no avail.
The tooltip opens, with all the text displayed correctly. I can roll the dice from the links within.
But the spell is never "fixed" and is not added to the list of cantrips or the stat block, and if I open the Edit form, the text field in there is blank.

In fact when I first made the character and I tried adding the spell 5-6 times (from various menus) it ended up corrupting the entire character sheet which then would not open and I had to remake the character entirely.

Workaround: I can put a link to the spell in the token's Notes, since they are shown on the stat block, and because the tooltip opens, I can use it from there.

Error when attacking or rolling damage

Hi,

I have played a few sessions with my group so far. It seems that some issue causes the characters to 'corrupt'. When i roll Attack or damage with a weapon with some characters i get the following error in the chat:

java.lang.NullPointerException: Cannot invoke "net.rptools.maptool.model.Token.getProperty(String)" because "token" is null Fehler beim Ausführen des Ausdrucks classes=getLibProperty("Class&Level","Lib:"+tokenName).
Error-Trace: Dice Roller process@Lib:Character <<< macroLink

Custom Attacks

Is your feature request related to a problem? Please describe.
Automation is cool and all, but sometimes the best solution is to just make things manually, especially when there is a game breaking bug, alternatives are the solution in those cases

Describe the solution you'd like
Add an option to add custom attacks, right now martial arts are basically weapons and that's kinda weird, keep the automation obviously

Describe alternatives you've considered
I barely know how to design this one, the mechanics are pretty simple but I don't have a clue on how to make it look intuitive

Additional context
no

Split Magic Items from Equipment Object

Describe the bug
I've noticed that once I import a more complete list of magic items into the framework (I'm currently pulling DMG, XGE and TCE), the whole equipment panel gets REALLY SLOW to load. This affects all of the "tabs" (Weapons, Armor, Equipment Packs, etc) but I'm fairly sure it's just because the macro needs to scan the whole "Equipment" JSON, which is HUGE thanks to all the magic items I imported, no matter which tab you're trying to load.

I think performance could be greatly improved if this one giant Equipment JSON could be split in two: Equipment for all the non-magical stuff and Magic Items for all the magic stuff. Maybe also put the Magic Items table in its own window/macro.

I'm not sure how this would impact other places that magic items and non-magic items are mixed though (like the character sheet.)

To Reproduce

  1. Go to Compendium, click one of the Equipment options (Weapons, Armor, etc)
  2. wait for the equipment panel to load
  3. close panel
  4. go to Settings > Equipment
  5. Import a JSON of all magic items from DMG
  6. go back to Compendium and reopen the same tab as before.

Expected behavior
I've noticed that there's not a lot (if any) crossover between magic items and the other equipment sections, so if we could move all the magic items into their own JSON object (and maybe also put the Magic Items "tab" into its own widow) then I suspect the rest of the Equipment windows would load much faster even with a full dataset.

The GM may still need to deal with a long load time on the Magic Items window, but at least it would only be the GM affected, and only when he goes looking for Magic Items.

Desktop (please complete the following information):

  • OS: Windows 10
  • Maptool Version 1.7.0
  • Framework Version 2.5.6

Weapon Proficiency always applied to Attack Bonus

Description
When setting up a weapon on the character sheet, the Atk Bonus field always adds the character's proficiency bonus regardless of whether the character is proficient in the weapon.

Example: A druid with 18 Strength (+4) and +2 proficiency is wielding a warhammer. Their base attack roll without proficiency is 1d20+4. With proficiency, it's 1d20+6. When the "is proficient" checkbox is unchecked, the attack bonus remains at +6 on the character sheet anyway, but pops up with a star to indicate that there's no proficiency.

Screenshot showing this example:
image

To Reproduce

  1. Create a character token.
  2. Open the Character Sheet.
  3. Click on "Attacks and Spellcasting" to add a weapon or attack to the character.
  4. Add an attack roll formula.
  5. Ensure checkbox that says, "Is Proficient," is unchecked.
  6. Click "OK"
  7. Check the character sheet.

Expected behavior
The character sheet should show an attack bonus of +4, not +6, because there is no proficiency to add to the strength modifier since the character is not proficient with a warhammer.

Software versions:

  • OS: Windows 10
  • MapTool: 1.7.0
  • 5e Framework 2.5

Additional context
This issue was brought up to me by another person in my group running a different computer, and I later replicated it on my machine in versions 2.4.7 and 2.5.

Maptool freezes when I click the Help button

Basically Title.

I'm using the 2.5 version with Maptool 1.7 and everytime I click on the Help button on the Framework's overlay the application freezes and I have to kill it.

I've tried to remove the .maptool-rptools folder (wich restored the aplication to it's default state) but the bug continues happening.

I don't know how I can

Add all saves and skills to statblock

Is your feature request related to a problem? Please describe.
I am playing a bard, and since they have jack of all trades, using the statblock to make skill checks and saving throws is not ideal, even without jack of all trades, having them all is still desirable since not all players are familiar with the roll formulas.

Describe the solution you'd like
Keep just the proficient skills and saves on the statblock, but make the "Skills" and "Saving Throws" titles to be macroLinks that open a window with all rolls

Describe alternatives you've considered
Maybe putting every roll could be more practical since it require less clicks, but it also floods the statblock with information, not the intended use for it.

Additional context
nope

(Bug) Lantern, Hooded does not emanate light when chosen from the Light macro

Describe the bug
The Lantern, Hooded (aka Hooded Lantern ) does not emit light when selected from the other macros panel. It's also one item but shows up twice, technically.

To Reproduce

  1. Select a player character token
  2. Click on "Light" in the Selected window
  3. Selected "Lantern" or "Hooded - 30"
  4. See error

Expected behavior
I expect a light source to emanate from the selected token that casts bright light for 30 ft and dim light for an additional 30 ft

Screenshots
Hooded AND Lantern in code Hooded AND Lantern in code
Twice

Desktop (please complete the following information):

  • Windows 10
  • Maptool Version 1.7.0
  • Framework Version 2.5.3

Additional context
If you right click on a token, select light sources, click on d20, and pick the "lantern, hooded - 30" option - light will be cast from the token

edit: Not sure why the screenshots aren't working and don't want to work. But here's a link to imgur with the screenshot. https://imgur.com/a/vrtom7k

Entering a "," in the name of a new item creates a corrupt entry

As the title says, entering a "," in the name of a new item (or seemingly any new data - spells, feats etc.) seems to create a corrupt entry which then makes it impossible to access anything which has this entry in it (character sheet, equipment list). An error shows in chat: "Parameternummer 2 "description" zur Funktion "json.get" muß eine ganze Zahl sein." (roughly translated: parameter number 2 "description" of function "json.get has to be an Integer).

To Reproduce
Steps to reproduce the behavior:

  1. Go to a character sheet.
  2. Click on Equipment -> Add New.
  3. Enter a name that has a comma in it for the new item and save.
  4. Item will not appear in the equipment list. After closing the character sheet, trying to reopen it will result in the mentioned error.
  5. Trying to open Equipment -> Other in the compendium will result in the same error, as well as trying to access the equipment section in the settings menu.

I have tried to manually delete the corrupt entry in the Lib:compendium token's properties menu, but it did not solve the issue. Manually deleting the corrupt item from the character token's properties allowed me to access the character sheet again, but the other menus remain bugged.

Misspellings

State "uncontious" s/b "unconscious"
State "exausted/exaustion"" s/b "exhausted/exhaustion"

Problem with hit dice in creation wizard

Describe the bug
in the creation wizard when leveling up, in the Details sections triying to roll the hit dice gives the following error.

java.lang.NullPointerException error executing expression classes=getLibProperty("Class&Level","Lib:"+tokenName).

To Reproduce
Steps to reproduce the behavior:

  1. Go to Player Menu
  2. Click on level up
  3. Go throught the wizard up to the details section
  4. Click on the dice (macro link)
  5. See "java.lang.NullPointerException error executing expression classes=getLibProperty("Class&Level","Lib:"+tokenName)" on chat

Expected behavior
See the dice roll on the chat

Desktop (please complete the following information):

  • OS: Win10
  • Maptool Version v1.7.0
  • Framework Version 2.5.3

Explicitly state, or document, which "source book abbreviation"s are supported for imports.

I want to add some monsters to my map. I go to 00.DM and select the "Lib:DDB Importer" token. But if I click the "Import" button in the Selected window, I do not know what I can put into the "Source:" field. actually, I think I can use the string "DDBI" but that is just a guess from following the wiki, which is out of date.
BTW: I just dropped some cash in the Patreon jar, because this project clearly deserves it.

Links no longer working v2.5

Describe the bug
Created links inside a notebook no longer center and focus on Pins.
It worked in the v2.4.7 of the framework.

To Reproduce
Steps to reproduce the behavior:

  1. Placed Token ....Converted to pin via "GM Menu" named it "1" (without the quotes)
  2. Placed 2nd Token .....Converted it to a new Notebook from the create notebook menu item.
  3. Created a new title and edited it with the following
    [Test] (pin "[email protected]")
    without the space between ] and the (
  4. Saved the notebook and reloaded it
  5. Changed my view on the map to test the link
  6. Clicked the link in the notebook nothing happens no error in the chat window or via java popup
  7. Reviewed my code from previous working iteration of the framework (v.2.4.7)
    Expected behavior
    I expected the map to change focus and center on the pin.

Desktop:

  • OS: Windows 10
  • Maptools Version 1.7.0

Aurora Content Importer

Is your feature request related to a problem? Please describe.
D&D Beyond is a great source for importing content, but an additional source for importing content I'd like is the Aurora Builder Content. (since I use that for character creation etc.) https://aurorabuilder.com/ and https://github.com/aurorabuilder/elements

Describe the solution you'd like
A copy-paste into macro that parses and sets up the content as parsed. Would require XML parsing and probably also some manual answering of questions to sort/filter the content correctly.

Describe alternatives you've considered
Manually recreating all the content I use with existing importing functions (and exporting to save it for future campaigns).
Manually copying in the description elements as they're already functional in the Feature description boxes.

Additional context
Even if mechanical data isn't usable, simply importing the names and description of content would be a major step in skipping recreating data.

Saving Throw Double Bonus

In version 2.5, when a player sets a bonus on a saving throw, the saving throw rolls correctly from the character sheet, but adds the bonus twice when rolling from Statblock.
I'm using MapTool version 1.7.0.

Example: A paladin has Aura of Protection and therefore has a +4 (sample CHA modifier) to all saving throws. Therefore, at level 9 they would have a Charisma saving throw of CHA*2+proficiency. I entered proficiency for the saving throw and a +4 bonus. On the character sheet, it said there was a total of +12 to a Charisma save, and the saving throw rolled +12 from the character sheet. However, rolling this from the Statblock gave the character +16 to Charisma because it showed the +12 from the Character sheet and an additional +4 bonus added on.

To Reproduce

  1. Create a PC token.
  2. Open the character sheet.
  3. Select a saving throw for proficiency (I'll use strength as an example here).
  4. Add a bonus to the saving throw.
  5. Roll the saving throw from the character sheet.
  6. Roll the saving throw from the statblock.

For me, this resulted in different saving throws modifiers + bonuses from the character sheet roll versus the statblock roll.

This is from a roll I just did using a +3 bonus for an Intelligence save with INT modifier of -5 and no proficiency:
2 5 Saving Throw Bug
The first roll was from Statblock, the second roll was from the character sheet. The actual correct modifier for the saving throw after the bonus should be -2.

Software

  • OS: Windows 10
  • MapTool: 1.7.0
  • 5e Framework 2.5

Additional context
My group and I have now replicated this problem among at least 3 players on different computers, and I replicated this in 5e Framework 2.4.7 as well, except that one also rolled incorrectly in the same way from the character sheet.

(Overall your framework has been great, thanks for the work you've done putting this together!)

Add half proficiency to ability

Is your feature request related to a problem? Please describe.
Jack of all trades also apply to ability checks

Describe the solution you'd like
Maybe a custom input field to the attribute property to keep track of jack of all trades and remarkable athlete

Describe alternatives you've considered
cant think of a better solution

Additional context
nah

the campaign macro '1d10' doesn't work

It differs from 1d12 (which works) on this line:

(1d12) [macro("Dice Roller@Lib:Campaign"):"text="+text+";color="+color+";value="+diceRoll]
(1d10) [macro("Dice Roller@Lib:Campaign"):"text="+text+";color="+color+";diceRoll="+diceRoll]

(version 2.5.6)

selectedToken@Lib:Overlay errors on macros with leading or trailing spaces

Describe the bug
Macros with leading or trailing spaces cause an error for Lib:Overlay when their containing token is selected. Since the BoT contains such a macro, several users have been running into this problem.

This seems to only happen in newer versions of MapTool,

To Reproduce
Steps to reproduce the behavior:

  1. Make any token in the framework, ensuring that Lib:Overlay is activated.
  2. Add the macro with the label " Starts with a Space" (or "Ends with a Space "), excluding the quotes.
  3. Click on the token.
  4. See error:
Argument number 1 "" to function "getMacroProps" must be an integer.
Error trace : selectedToken@Lib:Overlay <<< OverlaySelected@Lib:Overlay <<< macroLink

Expected behavior
No error should occur.

Workaround
I have found that processing macro names as JSON fixes this issue. This is how I recommended on Discord to fix this issue:

  • Select Lib:Overlay and right click and edit the selectedToken macro.
  • REPLACE Lines 128-138 with the following code (it is a bit shorter than the existing code, so you can expect that it will take fewer lines):
    [h:macros=getMacros("json")]
    [h:json=macros]
    [h,count(json.length(macros)),code:{
        [h:currentMacro=json.get(macros, roll.count)]
        [h:index=listget(getMacroIndexes(currentMacro), 0)]
        [h:props=getMacroProps(index)]
        [h:json=json.set(json,roll.count,json.fromStrProp(props))]
    }]

I'll note that if you follow that thread, at least one person had other errors after my fix (though I suspect those are unrelated to this, except that they are likely new issues due to recent macro performance changes)

Controls macro Focus/Statblock not behaving as expected

Describe the bug
Controls macro Focus/Statblock not behaving as expected

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Campaign' Macros
  2. Click on 'Focus/Statblock' with a NPC token selected

Expected behavior
Selected token is centered and statblock is opened

Screenshots
N/A

Desktop (please complete the following information):

  • OS: MacOS 12.2
  • Maptool Version 1.11.5
  • Framework Version 2.5.7

Additional context
The map moves over 1 pixel the first few times I press the macro or associate hotkey. I may just not understand what the macro is supposed to do but it would be helpful to have a hotkey for opening statblocks on the selected token.

Selected token is a stock goblin

Macro content


[h:info=getInfo("client")]
[h:libtokens=json.get(info,"library tokens")]
[h:libList=json.fields(libtokens)]

[h:list=libList]
[h,count(listcount(libList)),code:{
	[h:currentLib=listget(libList,roll.count)]
	[h:settingsProp=getLibProperty("LibName",currentLib)]
	[h,if(settingsProp==""):list=listdelete(list,listfind(list,currentLib));""]
}]
[h:ListPC=""]
[h:maps=getAllMapNames()]
[h,count(listcount(maps)),code:{

	[h:map=listget(maps,roll.count)]
	[h:ownedtokens=getOwnedNames(getPlayerName(),",",map)]
	
	[h,count(listcount(ownedtokens)),code:{
	
		[h:currentOwned=listget(ownedtokens,roll.count)]
		[h:find=listfind(list,currentOwned)]
		[h,if(find==-1):"";ListPC=listappend(ListPC,currentOwned)]
	}]
}]
[h:ListPC=listsort(ListPC,"N")]




[h,if(isGM()==1),code:{

	[h,macro("Set Map@Lib:Campaign"):""]


};{




	[h,if(ListPC==""),code:{};{
	
	[macro("Open PC@Lib:Overlay"):"Sheet=Statblock;ListPC="+ListPC]
	

	}]

}]

Documentation

Is your feature request related to a problem? Please describe.
There have been things I wasn't sure were functioning as expected and things I could not figure out how to do without doc.

I do not learn well from video tutorials, but I still have been trying my best to use those. The information I need is often not where I expect it to be even with the marked time stamps because sometimes what I am trying to find out is very specific and not sure where if it will be covered. Written doc you can skim, search, or ctrl-f.

For what is written down, it is in a bunch of different spots. The help text in the framework itself has been way too basic to help with anything I couldn't figure out on my own. There's some info in the MapTool forums, GitHub (FAQ, Wiki), and most recently the Discord.

Describe the solution you'd like
I would like written documentation for this Framework in one searchable and scannable text based spot (supported with still images).

Describe alternatives you've considered
Clicking around until I figure it out, assuming I have found all the important features, reading info in different places, asking friends who are using this framework if they know how to X or or how did they do X after playing in their game, posting in Discord or forums to get personalized help

Additional context
I started using this framework when it was pretty new- amazed and impressed at how much it's grown and changed! I am using it to run two campaigns right now. However I don't think I'm using it as well as I could without having doc to refer to.

Player library tokens

Is your feature request related to a problem? Please describe.
when trying to interact with the character sheet on a map where the associated token is not available it displays an error, and having multiple character tokens makes keeping track of the latest version a pain.

Describe the solution you'd like
Making one single character library token (maybe named Lib:Character_[name]) and having other tokens to reference it could solve the problem.

Describe alternatives you've considered
Can't think of any.

Additional context
I think it's pretty clear

dice rolls matches the ADV or DIS everytime

Describe the bug
Anytime you would roll anything that can have ADV or DIS from any character sheet or statblock it matches either the ADV or DIS everytime. So instead of three seperate rolls there is only two with the normal roll matching one of the other two.

To Reproduce
Steps to reproduce the behavior:

  1. Go to token with character sheet or statblock
  2. Click on any roll that can have DIS or ADV
  3. Look at base roll and ADV/DIS
  4. it will match one of the two everytime

Expected behavior
The base roll should roll differently from both of the rolls. (There will of course be circumstances where it will match one or both but it seems unlikely that it will match one or the other everytime)

Screenshots
image

Desktop (please complete the following information):

  • OS: WIN10
  • Maptool Version 1.8.5
  • Framework Version 2.5.6

Extra Info
Any info on what i can change in what macro to fix this issue or at least be able to edit it to where it only does two dice rolls (since you will only ever have Dis or ADV and not both at the same time) or a way to remove both the ADV and DIS so its just a singular roll. I don't know enough about maptools macro language to figure out what i would need to do to edit this.

Thank you in advance!

Add Concentration to Conditions

Is your feature request related to a problem? Please describe.
The current solution to concentration is not great, requires too many steps

Describe the solution you'd like
A one button (or two, just anything that doesn't require typing) to toggle concentration status, with Icon on the token

Describe alternatives you've considered
The alternative is the feature already implemented, its more complete but a little bit impractical so I ended up never using it

Additional context
nah, its pretty simple

Feature: Custom background

Is your feature request related to a problem? Please describe.
Backgrounds other than the Acolyte are not available in the SRD, precluding them from being included in the framework.

However, the rules allow for "custom" backgrounds (2 skills + any 2 languages or tool proficiencies).

Describe the solution you'd like
At character creation, the player should be able to build their own "custom" background.

Describe alternatives you've considered
An easier way to add backgrounds to the character creation wizard.

Better Conditions Input

Is your feature request related to a problem? Please describe.
Setting conditions require too many steps, making the game slow

Describe the solution you'd like
A pretty window with images and text (or maybe tooltips), maybe a macro on the campaign window to apply to every token since its pretty much a global feature for PCs and NPCs.

Or maybe the tooltip shows information about the condition, describing the rules for charmed, petrified, etc... since they are all in the SRD

Describe alternatives you've considered
The current feature is the alternative, or a bunch of macros, but I dont find them elegant, auto applying is also an option but its too much work considering the subjective the nature of RPG rules

Additional context
Nah, pretty simple feature I suppose

Creating Monster/NPC token, list incorrectly filters "duplicates" that are not duplicates

Describe the bug
When creating a new monster token using the "NPC" menu, the drop down of monsters to choose from appears to be eliminating "duplicates" by fuzzy matching anything that starts with a known monster's name.

For example, there are two monsters in the MM named "jackal" and "jackawere." I've imported statblocks for each into the bestiary, but when I go to add an NPC statblock to a new token, only "jackal" appears in the drop down. "Jackalwere" does not.

Likewise, "gnoll" appears, but "gnoll pack lord" does not. And so on. Any monster whose name starts with a string that matches another monster's complete name gets hidden, presumably because the code sees them as duplicates and eliminates the longer one.

To Reproduce
Using Framework v2.4.7

  1. Open Settings > bestiary
  2. Import statblocks for at least two creatures, one of whose name is a subset of the other.
  3. Drag and drop a new token into maptool
  4. Open Menu > NPC
  5. Click "OK" to continue
  6. Open the drop down to choose which monster you want to add to the token
  7. Search for the monsters just imported, whose names are similar

Expected behavior
All monsters should appear in the drop down,

Actual behaviour
Only the first monster appears (eg: "gnoll"). Any additional monsters whose names begin with the same string but are longer (eg: "gnoll pack lord") will not appear.

Desktop (please complete the following information):

  • OS: Windows 10
  • MapTool: 1.7.0
  • 5e Framework v2.4.7

Multiple owners on Lib: token not handled correctly when making regular token

Describe the bug
If multiple owners are assigned to a character's Lib: token, creating a new token for the character will result in the new token having a single owner which is a comma-separated list of the owners on the Lib: token.

To Reproduce
Steps to reproduce the behavior:

  1. Open the Edit Token dialog for a character's Lib: token.
    • Set multiple players as owners of a character's Lib: token (e.g., "player1" and "player2")
  2. Select the character in the compendium and click "Make Token".
  3. Find the newly created character token and edit it.
    • Go to the Ownership tab and see the a single owner whose name is a comma separate list (e.g., "player1,player2").

Expected behavior
All owners on the Lib: token should be copied to the new character token and should not be mangled together.

Screenshots
Here we can see I assigned myself ("kwvanderlinde") and some player ("player") as owners of the Lib: token:
image

And here we can see a brand new owner call "kwvanderlinde,player" has been set on the character token:
image

Desktop (please complete the following information):

  • OS: Linux Mint 20.3
  • Maptool Version 1.11.4
  • Framework Version: 2.5.6, seems to still be present on 2.5.7 as well

Additional context
I've already had to fix this for my own campaign as my players always use different names each time they connect 😅. It's as simple as editing Make Token@Lib:Character to use

getOwners("json",id,start)

instead of

getOwners(",",id,start)

The reason being that setOwner() only accepts JSON arrays if passing multiple owners.

At least that fixes my use case of making tokens via the Compendium. Don't know about other methods of making character tokens.

Issue with adding actions

Describe the bug
Editing actions within either the character sheet or stat sheet does not allow me to delete custom actions. I can only edit pre-existing actions. Is there a problem with my settings? I'm using Maptool v. 1.7.0

Expected behavior
I would like to delete an action.

Desktop (please complete the following information):

  • OS: Windows
  • Browser Chrome

Screenshot of the dialog window that opens: it seems incomplete
Screenshot 2020-08-15 21 58 05

Convert repeated code blocks to User Defined Functions

Is your feature request related to a problem? Please describe.
Some code blocks show up repeatedly throughout the codebase. It creates a cluttered codebase

Describe the solution you'd like
Convert repeated blocks into User Defined Functions.

Describe alternatives you've considered
Doing nothing is a valid option.

Additional context
The capitalize function is the most obvious candidate for conversion. The following code shows up ~50 times

[h:CapitalName=capitalize(subclass)]
[h:CapitalName=replace(CapitalName,"(?<=\\s)Of(?=\\s)","of")]
[h:CapitalName=replace(CapitalName,"(?<=\\s)A(?=n?\\s)","a")]
[h:CapitalName=replace(CapitalName,"(?<=\\s)Th(?=(?:e|at|ose)\\s)","th")]
[h:CapitalName=replace(CapitalName,"'S(?=\\s)","'s")]

https://lmwcs.com/rptools/wiki/defineFunction

Docking frames outside of main windows looks funky

Describe the bug
With a multiple monitor setup, it is possible to place frames etc. outside of the main window for maximizing map viewport.
The result is less than aesthetical pleasing to look at.

I realize it is probably an artifact of the docking system, but hopefully something that can be tweaked by someone than actually understands Java (i.e. not me ;) ).

When two or more frames are docked together outside of the main windows, they are first framed by a Windows XP looking inner window, and then the native window (Windows 10, in my case).

image

To Reproduce
Steps to reproduce the behavior:

  1. Drag two frames outside of the main window
  2. Dock the two frames together.
  3. Observe a funky looking window.

Expected behavior
Basically what happens now, but without the extra Windows XP looking inner window.

Desktop (please complete the following information):

  • OS: Windows 10 Home
  • Maptool Version 1.11.5

5e-Framework as add-on library

I had a look at the new add-on library system for Maptool and I have the feeling that it would be really great to make the migration of the 5e-Framework to it. On of the clear advantages I see is that you can finally fully track with git all the changes and people can more easily contribute to it.
I think that the effort payed in the migration will be soon compensated by community contributions.

NPC Creation Wizard

Is your feature request related to a problem? Please describe.
I would like to have a tool similar to character creation wizard, where you pick a CR, creature type, a couple more features and insta create an NPC

Describe the solution you'd like
Basically having a couple templates with a little randomization to make a quick homebrew monster.

Describe alternatives you've considered
Not really an alternative, but adding a option in the settings to auto detect dice rolls would be cool, an IF > autodetect on > THEN > markdown line should work, then copy pasting monsters from other sources and having it to be functional already would be super quick.

Additional context
...

json.get error in form-submitted items

I have been using the framework to play Dragon of Icespire Keep solo, and test some of the latest UA character options.
For the most part, entering new things from the character sheet works like a charm. But every now and then there is an item that simply refuses to work, and I cannot figure out why.

One such problematic item is the following: sending stones, here it is in JSON format:
{"sending stones":{"description":"Adventuring Gear\n400 gp, 5 lb.\n\n---\n\nWondrous item, minor tier, uncommon\nSending stones come in pairs, with each smooth stone carved to match the other so the pairing is easily recognized. While you touch one stone, you can use an action to cast the [sending](level 3 sending) spell from it. The target is the bearer of the other stone. If no creature bears the other stone, you know that fact as soon as you use the stone and don't cast the spell.\n\nOnce sending is cast through the stones, they can't be used again until the next dawn. If one of the stones in a pair is destroyed, the other one becomes nonmagical.","sources":["DoIP"]}}

I first tried to import it from the form, and under Sources I put DMG. Upon adding it to a character sheet, and then trying to open it, I got the following error:
Argument number 2 "bonusDmg" to function "json.get" must be an integer.

I also get this error if I try placing the item in a pin, and sometimes even when trying to open it in the Equipment manager. I tried importing the item with a different source (DoIP instead of DMG, just in case the acronym was tripping up the parser), both from forms and as a JSON.

I tried setting the first line of the description to Adventuring Gear. I tried removing the line mentioning it is a Wondrous item and its rarity. None of this seemed to help.

I also tried to import it into a "virgin" version ofthe 2.4 framework (one unmodified, freshly downloaded). I keep getting the error there too.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.