Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

5th Edition OGL by Roll20 v1.6

Immediately after I added "The Yawning Portal" to one of my games I found several problems with NPC token actions. Unfortunately for me I added all the Yawning Portal add-ons a few minutes before a the session started. The first encounter was with Stirges in Wave Echo Cave. The second encounter was with skeletons. (Rooms 3 & 4) In the case of the skeletons, the following images might explain better than I can with words. When I clicked on a skeleton token, the token action buttons appeared as normal. The first button I used, which worked normally, was "initiative." The second button I used was an attack button, "Shortsword." You can see the error I got when I used an attack action button.  So I tried briefly to resolve the issue in game, but I was quickly frustrated and didn't want to waste game time on it as it seemed to all be correct in the Attributes & Abilities section of the NPC sheet, as you can see in the following fotos. I was forced to roll all my attacks off the character sheet, which is difficult for me. This is the reason I took the time to create token actions for each and every NPC.  I checked the macro that it hadn't been corrupted. I also copy pasted it there again from a fresh working sheet. Nothing I did resolved the problem. Only the "initiative" and "perception" buttons are working. All the others in the image give a similar error to the attack. By the way, both Skeletons and Stirges were working properly before I added the Yawning Portal modules. I hesitate to explain the problem created by the add-ons with the Stirges because it seems even stranger and I want to resolve the issue of the skeletons first. I guess I can try to explain. My tokens for the Stirges were there, but they didn't work as expected. It seems like the Stirges NPC sheet I made was written over by the add-ons and then I had to dig through the 7 modules and their folders until I found the stirges sheet and roll from it. As the Stirges seems even more strange, I hope to resolve the skeletons first. The 3rd encounter the party had was with a Gelatinous Cube, a dead end, a Ochre Jelly, 4 Gray Oozes, and 2 Trolls. (They made the mistake of spliting up and bringing all the monsters down on them in the same location) I didn't have any further problems with any of those NPC sheets and token action buttons.  Thank you in advance for any aid you can give. Andy
Here's some more info. I hope it will help. I dug into the "Sunless Citadel" folder that had been added by the add-on module and found in the NPC folder another copy of the Skeleton. I dragged it and the Robed Skeleton into my own "Monster" folder and placed them next to my own skeleton NPC sheet. I pulled it out onto the VTT and then added a token bar action to its sheet for the first attack and got the same error as the original fotos. No ability was found for %{Skeleton|1-Shortsword} Andy/DM (GM): Skeleton|1-Shortsword
1492878269

Edited 1492881522
I just found Twig Blight in the same folder from the Sunless Citadel module. I already had a Twig Blight entry in my Monster folder in my Journal. I tried it and it has the same problem the Skeleton does. This, for me at least, confirms that the problem is with the add-ons. Does anyone have a solution? How can I use the add-ons with out ruining the hundreds of hours of work I have in creating my monsters with Token Actions? I feel that I need two solutions. One to keep this from happening when I add the Yawning Portal modules to my two other games and another to resolve the mess that I now have with this game.
Update: I found that my token actions were malfunctioning for my "Ghost" tokens also. I went through all seven modules and eliminated all the Ghost entries in my journal from all NPC folders except my original. This resolved the issue with the Ghost. I did the same with all the skeletons in all seven of the module's NPC folders. This was more difficult because not all modules used the same format. Some have all the Undead grouped together in one folder while others have them in the parent NPC folder. This still didn't resolve the issue with the skeletons though. I then went back through all the folders looking at anything that had the word skeleton in the name. There were several "types" of skeletons and as I checked them one by one, the "Skeleton with Pike" turned out to be listed as simply "Skeleton" on the NPC sheet, while it's name in the folder was "Skeleton with Pike." After changing the name on the sheet, the problem with my skeletons was resolved.  To make this issue even more convoluted there were several entries for the same monster in the modules, like the Gray Ooze, that I already had in my game, yet those multiple entries didn't effect my token actions with my oozes. What is going on? This has left me confused and frustrated. Any help appreciated.  Andy
1493049805
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
We're looking into this. The problem is our macro system is naive assuming the first character it finds with that name is the creature you intended. The work around until we find a better solution is as you discovered, renaming the new copies of the NPCs. 
Thanks for the response Steve,  Is there no way to add just the unique NPC's to a game without having to add 4 copies of the Gray Ooze and all the other generic monsters that I can access through the MM? I don't need 4 copies plus my original of the same creatures. This happens because they appear in several of the Yawning Portal adventures. I only need the unique individuals. I can get the others from the MM if I don't already have them in my journal tab. It took me half a day to resolve the problems and if I add it to my other two games, that's a complete day wasted erasing and organizing. Perhaps there could be an NPC folder with only unique individuals that are important to each module and the "monsters" could be in a separate folder for those who don't have a Monster Manual. Even then I would have to erase individually each unwanted monster. One other thing. If I could have dragged the NPC folder from each module of the Yawning Portal into my own monster folder and then erased the NPC folders causing them to dump their contents into the current folder, the process would have been much easier. But as you know, they dump all their contents onto the root directory. This small change would make the process of cleaning up the mess much easier. I have spoke to other Roll20 users who have purchased the Yawning Portal and they all had similar thoughts to mine.  Any work arounds appreciated. Perhaps selectively adding material from the add-ons? Thanks, Andy
1493078591
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
Andres D. said: Any work arounds appreciated. Perhaps selectively adding material from the add-ons? This issue isn't new. It's existed since the dawn of Roll20. It's only becoming noticable because of the overlap between the compendium and the new 5E content. It will continue to be an issue for any licensed content with a compendium though so we need a long term solution. For the short term, I think the likely fix will be us adding a naming convention to NPCs imported via a game addon so that all content imported will have a unique name and won't overlap with existing content in the game.
Attn: Steve K Can you add a check box on the character sheet spell section for V1.7 called Domain. so we know what spells in the list are from the selected Domain. Please.  
I had to add a spell to character sheet from the players handbook Hail of Thorns. How do i get it to -1 from spell slot?
Craven . said: Brenoxx said: Craven . said: Andres D. said: Sky said: Kyle G. said: Kevin, here is the macro that I use for npc saving throws. It DOES take into account whether the mook has the saving throw set and defaults to the base stat if not set. @{wtype} &{template:default}{{name=Saving Throws}}{{Str Save =[[1d20+[[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]]]]|[[1d20+[[@{npcd_str_mod}*{1@{npcd_str_save}0,0}=10+0@{npcd_str_save}]]]] }} {{Dex Save =[[1d20+[[@{npcd_dex_mod}*{1@{npc_dex_save}0,0}=10+0@{npcd_dex_save}]]]]|[[1d20+[[@{npcd_dex_mod}*{1@{npcd_dex_save}0,0}=10+0@{npcd_dex_save}]]]] }} {{Con Save =[[1d20+[[@{npcd_con_mod}*{1@{npc_con_save}0,0}=10+0@{npcd_con_save}]]]]|[[1d20+[[@{npcd_con_mod}*{1@{npcd_con_save}0,0}=10+0@{npcd_con_save}]]]] }} {{Int Save =[[1d20+[[@{npcd_int_mod}*{1@{npc_int_save}0,0}=10+0@{npcd_int_save}]]]]|[[1d20+[[@{npcd_int_mod}*{1@{npcd_int_save}0,0}=10+0@{npcd_int_save}]]]] }} {{Wis Save =[[1d20+[[@{npcd_wis_mod}*{1@{npc_wis_save}0,0}=10+0@{npcd_wis_save}]]]]|[[1d20+[[@{npcd_wis_mod}*{1@{npcd_wis_save}0,0}=10+0@{npcd_wis_save}]]]] }} {{Cha Save =[[1d20+[[@{npcd_cha_mod}*{1@{npc_cha_save}0,0}=10+0@{npcd_cha_save}]]]]|[[1d20+[[@{npcd_cha_mod}*{1@{npcd_cha_save}0,0}=10+0@{npcd_cha_save}]]]] }} We shouldn't have to make those kinds of macros in the first place. %{selected|npc_str_save} should simply just work out of the box. Kyle G., thank you for the macro. It works great. Developers, I came here today to post exactly what Kevin already posted. Luckily, I read the last couple of pages since I last posted in this thread and found Kevin's question and Kyle's response. I would like to echo Sky's comment, that it would be nice if %{selected|npc_str_save} or some other reference to the sheet could roll saves taking into account both the ability modifier and if the creature has proficiency in the save. Thank you. Andy Working for me. As you can is the Orc War Chief has a +6 Str Save and I rolled a 20. How can I use it in a token/macro bar? If I just paste it as a macro and select a token it says "TypeError: Cannot read property 'substring' of undefined". If I paste it as an ability it works okay, but I'd rather have a generic macro than copy it for each npc sheet. I tried to use "selected|" after each @{ but it won't work. As you can see, I'm not very smart about macro editing! %{selected|npc_str_save} is the only thing you need in the macro and this only works for NPC not the PC sheet. You could make macros called NPCStr NPCDex NPC... then make a nested macro to call the right macro. The save Macro i use works for both NPC and PC so I only have 1 and I set it to show as token and all players so everyone uses it. You can create a second one and add /w GM for your use so player don't see the roll but in my game I let them see most rolls but not all. Remove the spaces in all the & # 125 ; I had to add them so the chat didn't remove them &{template:simple} {{always=1& # 125 ;& # 125 ; ?{Ability| Strength Save, {{rname=Strength Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|strength_save_bonus}]] [Stength Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|strength_save_bonus}]] [Strength Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|strength_save_bonus}]] [Strength Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; | Dexterity Save, {{rname=Dexterity Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|dexterity_save_bonus}]] [Dexterity Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ;{{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|dexterity_save_bonus}]] [Dexterity Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|dexterity_save_bonus}]] [Dexterity Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; |  Constitution Save, {{rname=Constitution Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|constitution_save_bonus}]] [Constitution Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|constitution_save_bonus}]] [Constitution Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|constitution_save_bonus}]] [Constitution Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; | Intelligence Save, {{rname=Intelligence Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|intelligence_save_bonus}]] [Intelligence Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|intelligence_save_bonus}]] [Intelligence Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|intelligence_save_bonus}]] [Intelligence Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; | Wisdom Save, {{rname=Wisdom Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|wisdom_save_bonus}]] [Wisdom Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|wisdom_save_bonus}]] [Wisdom Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|wisdom_save_bonus}]] [Wisdom Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; | Charisma Save, {{rname=Charisma Save& # 125 ;& # 125 ; {{mod=[[ [[@{selected|charisma_save_bonus}]] [Charisma Modifier + Proficency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r1=[[ 1d20@{selected|halflingluck} + [[@{selected|charisma_save_bonus}]] [Charisma Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ; {{r2=[[ 1d20@{selected|halflingluck} + [[@{selected|charisma_save_bonus}]] [Charisma Modifier + Proficiency Bonus]@{selected|globalsavingthrowbonus} ]]& # 125 ;& # 125 ;} @{selected|charname_output}   It worked fine! Thanks, guys!
Craven . said: I had to add a spell to character sheet from the players handbook Hail of Thorns. How do i get it to -1 from spell slot? Currently, you can't. The companion script is looking for a spell level attribute that is imported from the compendium. Short of creating this attribute on your own through the API, you can't specify the spell level attribute required by the script. I believe Steve K. has said that this is something the v1.7 character sheet will address.
Is there any easy way to use Pisonic abilities? Like a way to get ride of most of the spell attributes on a sheet and instead have a psi point cost and description? Or is it something that won't come around till psionics are offically released?
Is there currently any way to add max spell slots to spell levels? Were playing a home-brew game in which I got an extra level 1 spell slot, however any attempt I've made to fix it gets reset every time I close the spell sheet. It's kind of a pain to deal with, and although I can write that I have 5, there seems to be no way to reflect that I actually have 5 maximum.
Click Attibutes and Abilities. Scroll down until you find lvl1_slots_total and change it to 5.
Steve M. said: Click Attibutes and Abilities. Scroll down until you find lvl1_slots_total and change it to 5. The problem with this solution is that when you close the character sheet and reopen it, the value resets itself to the auto-calculated value. Unfortunately, I can't think of any solution that will override the auto-calculation.
1493760464

Edited 1493760523
Kyle G. said: Steve M. said: Click Attibutes and Abilities. Scroll down until you find lvl1_slots_total and change it to 5. The problem with this solution is that when you close the character sheet and reopen it, the value resets itself to the auto-calculated value. Unfortunately, I can't think of any solution that will override the auto-calculation. Exactly! It's the auto-calculation that keeps messing it up, and I don't think it's exactly necessary either if we could just manually input our spell slots. The fact they're calculated doesn't make much sense to me, I wish there were an option to disable spell slot auto calculation, or some method to work around it.
1494249475

Edited 1494249645
Noticed an interesting difference between the atk and atkdmg roll templates while helping someone on  reddit . If there is information in the desc field for the template, atk displays inline rolls in yellow bars that take up the entire width of the template, whereas in the atkdmg template these inline rolls are displayed as a larger number with no yellow bar and are reduced to allow following text to not be separated. The only difference is that for the second picture I changed the character sheet to auto roll damage.
1494258001
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
It's something I'll be fixing in 1.7.
I am dying to see 1.7 with all the polish.
1494261806
vÍnce
Pro
Sheet Author
Craven said: I am dying to see 1.7 with all the polish. ;-P
I think I can get close to what I'm trying to accomplish with the nested Macro approach described by Bronnox above. But I really like on the Pathfinder Character sheet how they have a simple macro you can call that lists all of the macros on the sheet of a certain type. I was wondering if there was a way to achieve this on the DND OGL Character sheet, as it saves me a lot of time having to open the NPC character sheet. For reference the image below better describes what I am trying to accomplish. They have a set of buttons on the character sheet that display all of the actions of a type. These are easy to link to in a macro to show up as a Token Action. The output can be seen in the chat below. Then I can click any of the specific saves, attacks, skills, etc. and get my roll. Today in DND I'm outputting and rolling for everything all at once, but it's not the way I'd really like to do it. Like I don't want to see all of the attack results at once, or roll for every skill.
You certainly could, but it would require a lot of work on your part to do so as you would need to create abilities unique to each NPC. Taking20 has a great collection of these macros that are usable by the 5e OGL sheet.
I don't like the chat macros that pop up all those macro buttons, cause it's too easy for the chat window to scroll up out of sight or something while you're trying to click the one you want.
When I look at the macros created by the NPC sheets, I see the little up carrot (shift+6) in this part of the macro {{rname=^{constitution-save}}}, what does that do?
1494598910
vÍnce
Pro
Sheet Author
Jeremy R. said: When I look at the macros created by the NPC sheets, I see the little up carrot (shift+6) in this part of the macro&nbsp;{{rname=^{constitution-save}}}, what does that do? It's allows for translations within the roll template.&nbsp;<a href="https://wiki.roll20.net/Character_Sheet_i18n#RollTemplates" rel="nofollow">https://wiki.roll20.net/Character_Sheet_i18n#RollTemplates</a>
Kyle G. said: Kevin, here is the macro that I use for npc saving throws. It DOES take into account whether the mook has the saving throw set and defaults to the base stat if not set. @{wtype} &{template:default}{{name=Saving Throws}}{{Str Save =[[1d20+[[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]]]]|[[1d20+[[@{npcd_str_mod}*{1@{npcd_str_save}0,0}=10+0@{npcd_str_save}]]]] }} {{Dex Save =[[1d20+[[@{npcd_dex_mod}*{1@{npc_dex_save}0,0}=10+0@{npcd_dex_save}]]]]|[[1d20+[[@{npcd_dex_mod}*{1@{npcd_dex_save}0,0}=10+0@{npcd_dex_save}]]]] }} {{Con Save =[[1d20+[[@{npcd_con_mod}*{1@{npc_con_save}0,0}=10+0@{npcd_con_save}]]]]|[[1d20+[[@{npcd_con_mod}*{1@{npcd_con_save}0,0}=10+0@{npcd_con_save}]]]] }} {{Int Save =[[1d20+[[@{npcd_int_mod}*{1@{npc_int_save}0,0}=10+0@{npcd_int_save}]]]]|[[1d20+[[@{npcd_int_mod}*{1@{npcd_int_save}0,0}=10+0@{npcd_int_save}]]]] }} {{Wis Save =[[1d20+[[@{npcd_wis_mod}*{1@{npc_wis_save}0,0}=10+0@{npcd_wis_save}]]]]|[[1d20+[[@{npcd_wis_mod}*{1@{npcd_wis_save}0,0}=10+0@{npcd_wis_save}]]]] }} {{Cha Save =[[1d20+[[@{npcd_cha_mod}*{1@{npc_cha_save}0,0}=10+0@{npcd_cha_save}]]]]|[[1d20+[[@{npcd_cha_mod}*{1@{npcd_cha_save}0,0}=10+0@{npcd_cha_save}]]]] }} Kyle G. Can you explain how this voodoo magic works? It's the only method I've gotten to work for NPCs that have some Save Bonus' and some regular roll on the Ability Score Saves.
1494602807

Edited 1494603160
Jeremy R. said: Kyle G. Can you explain how this voodoo magic works? It's the only method I've gotten to work for NPCs that have some Save Bonus' and some regular roll on the Ability Score Saves. No problem, in fact I just recently began to understand the voodoo myself. I came across it in a post from Silvyre.&nbsp; [[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]] To show how this works let use two cases: npc d_str_mod npc_str_save calculation of&nbsp;[[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]] 3 blank [[ 3 * {10,0}=10 + 0]] -&gt; [[3 * 10=10 + 0]] -&gt; [[3 * 1 + 0]] -&gt; [[3]] 3 5 [[ 3 * {150,0}=10 + 05]] -&gt; [[3 * 150=10 + 05]] -&gt; [[3 * 0 + 05]] -&gt; [[5]] For a bit more explanation, the main condition of this calculation is the&nbsp;{1@{npc_str_save}0,0}=10. When there is no attribute, it will result in 10=10 and therefore 1. So we will use the npcd_str_mod. The second use of the saving throw attribute in +0@{npc_str_save} will revert to +0. When there is a value in npc_str_save, the comparision&nbsp;{1@{npc_str_save}0,0}=10 will no longer be true, regardless of the value (postive or negative). So in this case we will no longer use the strength modifier. The second use of the saving throw will now result in the attribute as the 0 has no impact on the number anymore (05 is the same as 5 and 0(-1) is the same as -1, for example).
1494611278

Edited 1494611786
Kyle G. said: Jeremy R. said: Kyle G. Can you explain how this voodoo magic works? It's the only method I've gotten to work for NPCs that have some Save Bonus' and some regular roll on the Ability Score Saves. No problem, in fact I just recently began to understand the voodoo myself. I came across it in a post from Silvyre.&nbsp; [[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]] To show how this works let use two cases: npc d_str_mod npc_str_save calculation of&nbsp;[[@{npcd_str_mod}*{1@{npc_str_save}0,0}=10+0@{npcd_str_save}]] 3 blank [[ 3 * {10,0}=10 + 0]] -&gt; [[3 * 10=10 + 0]] -&gt; [[3 * 1 + 0]] -&gt; [[3]] 3 5 [[ 3 * {150,0}=10 + 05]] -&gt; [[3 * 150=10 + 05]] -&gt; [[3 * 0 + 05]] -&gt; [[5]] For a bit more explanation, the main condition of this calculation is the&nbsp;{1@{npc_str_save}0,0}=10. When there is no attribute, it will result in 10=10 and therefore 1. So we will use the npcd_str_mod. The second use of the saving throw attribute in +0@{npc_str_save} will revert to +0. When there is a value in npc_str_save, the comparision&nbsp;{1@{npc_str_save}0,0}=10 will no longer be true, regardless of the value (postive or negative). So in this case we will no longer use the strength modifier. The second use of the saving throw will now result in the attribute as the 0 has no impact on the number anymore (05 is the same as 5 and 0(-1) is the same as -1, for example). I get it sort of now. They're trying to get the bonus to equal zero if there's a save present. I'm assuming they have to add the 1 in front because a nill value wont return zero unless it's trying to be added to an existing value? Regardless, I've gotten these to work in standalone macros and the simple table you showed just fine. I would like to add them to a query now, and I'm running into another host of issues. First nesting this calculation in a query causes the curly braces to end the query, so I'm using the "& # 125 ;" (spaced added so it shows up) html code for the curly brace. However, this then causes the calculation to not work specifically where highlighted in bold and underlined below. So what I'm getting at is I can't get it to work in a query with a curly brace, and it doesn't work with the "& # 125 ;" In this case I just abbreviated the html text to avoid adding all the spaces, etc. @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} ?{Save Roll|Strength,{{rname=Strength Save}} {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npcd_str_save}0,0 125 =10+0@{selected|npcd_str_save}]] [STR SAVE]]]125125 |Dexterity, {{rname=Dexterity Save125125 ; {{r1=Test125125}
Jeremy R. said: I get it sort of now. They're trying to get the bonus to equal zero if there's a save present. I'm assuming they have to add the 1 in front because a nill value wont return zero unless it's trying to be added to an existing value? Regardless, I've gotten these to work in standalone macros and the simple table you showed just fine. I would like to add them to a query now, and I'm running into another host of issues. First nesting this calculation in a query causes the curly braces to end the query, so I'm using the "& # 125 ;" (spaced added so it shows up) html code for the curly brace. However, this then causes the calculation to not work specifically where highlighted in bold and underlined below. So what I'm getting at is I can't get it to work in a query with a curly brace, and it doesn't work with the "& # 125 ;" In this case I just abbreviated the html text to avoid adding all the spaces, etc. @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} ?{Save Roll|Strength,{{rname=Strength Save}} {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npcd_str_save}0,0 125 =10+0@{selected|npcd_str_save}]] [STR SAVE]]]125125 |Dexterity, {{rname=Dexterity Save125125 ; {{r1=Test125125} Try this. I believe that the only thing you forgot was the change the 0,0 to 0&amp;44;0. Otherwise it looked good. I did simplify it a little bit by moving the {{rname= and the closing }} of r1 outside of the query to make it a little easier to read. I went ahead and added the remaining stats for you. But if you want further clarification, please feel free to send me a PM. (Also, you can show &amp;#XXX by changing the & to &amp;amp;) @{selected|wtype}&amp;{template:npc} {{normal=1}} {{name=@{selected|token_name}}} {{rname=?{Save Roll |Strength,Strength Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_str_save}]]]] |Dexterity,Dexterity Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_dex_save}]]]] |Constitution,Constitution Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_con_save}]]]] |Intelligence,Intelligence Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_int_save}]]]] |Wisdom,Wisdom Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_wis_save}]]]] |Charisma,Charisma Save&amp;#125;&amp;#125; {{r1=[[1d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_cha_save}]]]] }}}
Kyle G. said: Jeremy R. said: I get it sort of now. They're trying to get the bonus to equal zero if there's a save present. I'm assuming they have to add the 1 in front because a nill value wont return zero unless it's trying to be added to an existing value? Regardless, I've gotten these to work in standalone macros and the simple table you showed just fine. I would like to add them to a query now, and I'm running into another host of issues. First nesting this calculation in a query causes the curly braces to end the query, so I'm using the "& # 125 ;" (spaced added so it shows up) html code for the curly brace. However, this then causes the calculation to not work specifically where highlighted in bold and underlined below. So what I'm getting at is I can't get it to work in a query with a curly brace, and it doesn't work with the "& # 125 ;" In this case I just abbreviated the html text to avoid adding all the spaces, etc. @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} ?{Save Roll|Strength,{{rname=Strength Save}} {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npcd_str_save}0,0 125 =10+0@{selected|npcd_str_save}]] [STR SAVE]]]125125 |Dexterity, {{rname=Dexterity Save125125 ; {{r1=Test125125} Try this. I believe that the only thing you forgot was the change the 0,0 to 0&44;0. Otherwise it looked good. I did simplify it a little bit by moving the {{rname= and the closing }} of r1 outside of the query to make it a little easier to read. I went ahead and added the remaining stats for you. But if you want further clarification, please feel free to send me a PM. (Also, you can show &#XXX by changing the & to &amp;) @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} {{rname=?{Save Roll |Strength,Strength Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&#44;0&#125;=10+0@{selected|npc_str_save}]]]] |Dexterity,Dexterity Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&#44;0&#125;=10+0@{selected|npc_dex_save}]]]] |Constitution,Constitution Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&#44;0&#125;=10+0@{selected|npc_con_save}]]]] |Intelligence,Intelligence Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&#44;0&#125;=10+0@{selected|npc_int_save}]]]] |Wisdom,Wisdom Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&#44;0&#125;=10+0@{selected|npc_wis_save}]]]] |Charisma,Charisma Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&#44;0&#125;=10+0@{selected|npc_cha_save}]]]] }}} I didn't realize the commas were causing me grief too! Thanks so much!
Jeremy R. said: Kyle G. said: Jeremy R. said: I get it sort of now. They're trying to get the bonus to equal zero if there's a save present. I'm assuming they have to add the 1 in front because a nill value wont return zero unless it's trying to be added to an existing value? Regardless, I've gotten these to work in standalone macros and the simple table you showed just fine. I would like to add them to a query now, and I'm running into another host of issues. First nesting this calculation in a query causes the curly braces to end the query, so I'm using the "& # 125 ;" (spaced added so it shows up) html code for the curly brace. However, this then causes the calculation to not work specifically where highlighted in bold and underlined below. So what I'm getting at is I can't get it to work in a query with a curly brace, and it doesn't work with the "& # 125 ;" In this case I just abbreviated the html text to avoid adding all the spaces, etc. @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} ?{Save Roll|Strength,{{rname=Strength Save}} {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npcd_str_save}0,0 125 =10+0@{selected|npcd_str_save}]] [STR SAVE]]]125125 |Dexterity, {{rname=Dexterity Save125125 ; {{r1=Test125125} Try this. I believe that the only thing you forgot was the change the 0,0 to 0&44;0. Otherwise it looked good. I did simplify it a little bit by moving the {{rname= and the closing }} of r1 outside of the query to make it a little easier to read. I went ahead and added the remaining stats for you. But if you want further clarification, please feel free to send me a PM. (Also, you can show &#XXX by changing the & to &) @{selected|wtype}&{template:npc} {{normal=1}} {{name=@{selected|token_name}}} {{rname=?{Save Roll |Strength,Strength Save}} {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0,0}=10+0@{selected|npc_str_save}]]]] |Dexterity,Dexterity Save}} {{r1=[[1d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0,0}=10+0@{selected|npc_dex_save}]]]] |Constitution,Constitution Save}} {{r1=[[1d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0,0}=10+0@{selected|npc_con_save}]]]] |Intelligence,Intelligence Save}} {{r1=[[1d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0,0}=10+0@{selected|npc_int_save}]]]] |Wisdom,Wisdom Save}} {{r1=[[1d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0,0}=10+0@{selected|npc_wis_save}]]]] |Charisma,Charisma Save}} {{r1=[[1d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0,0}=10+0@{selected|npc_cha_save}]]]] }}} I didn't realize the commas were causing me grief too! Thanks so much! Is there anyway to keep the macro tool from overwriting the &amp#XXX; ? I thought it was the copied text from this page, but even when I manually add it, once I save the macro, all the html tags get converted to characters.
1494617415

Edited 1494618169
never mind, I got what you meant by adding the &amp now. Edit, nope, then when I edit it, the editor is still replacing all the characters &gt;.&lt;
Jeremy R. said: never mind, I got what you meant by adding the &amp now. Edit, nope, then when I edit it, the editor is still replacing all the characters &gt;.&lt; Unfortunately if you edit a global macro it will replace any &#XXX with the character(s) that it represents when you open the macro. There is nothing you can do about that short of pasting the code back into the macro. You can either do the editing for the macro in a separate text editor and paste in the changes, or you can create the macro as a character&nbsp; Ability instead.
Aren't special characters within Attributes supposed to solve correctly as shown in&nbsp; Advanced Roll Usage Queries at the bottom of the page? I've been now expanding on the above trying to leverage @{selected|rtype} (which contains depending on the settings on the character sheet something like {{always=1}} {{r2=[[1d20 However when I run my query it appears to stop at the end of {{always=1 in this example. For now I'll just set the {{always=1}} at the beginning and just set these to always as I'm the only one seeing them. Though it would be nice to honor the sheet setting where you can set advantage / disadvantage at the sheet level. So for clarity, here's what I'm doing that works, but below is how I'd really like them to work in each query. @{selected|wtype}&{template:npc} {{always=1}} {{name=@{selected|token_name}}} {{rname=?{Save Roll |Strength,Strength Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&#44;0&#125;=10+0@{selected|npc_str_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&#44;0&#125;=10+0@{selected|npc_str_save}]]]] |Dexterity,Dexterity Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&#44;0&#125;=10+0@{selected|npc_dex_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&#44;0&#125;=10+0@{selected|npc_dex_save}]]]] |Constitution,Constitution Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&#44;0&#125;=10+0@{selected|npc_con_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&#44;0&#125;=10+0@{selected|npc_con_save}]]]] |Intelligence,Intelligence Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&#44;0&#125;=10+0@{selected|npc_int_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&#44;0&#125;=10+0@{selected|npc_int_save}]]]] |Wisdom,Wisdom Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&#44;0&#125;=10+0@{selected|npc_wis_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&#44;0&#125;=10+0@{selected|npc_wis_save}]]]] |Charisma,Charisma Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&#44;0&#125;=10+0@{selected|npc_cha_save}]]]]&#125;&#125; {{r2=[[d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&#44;0&#125;=10+0@{selected|npc_cha_save}]]]] }}} But this is how I'd like to call them @{selected|wtype}&{template:npc} {{always=1}} {{name=@{selected|token_name}}} {{rname=?{Save Roll |Strength,Strength Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&#44;0&#125;=10+0@{selected|npc_str_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&#44;0&#125;=10+0@{selected|npc_str_save}]]]] |Dexterity,Dexterity Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&#44;0&#125;=10+0@{selected|npc_dex_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&#44;0&#125;=10+0@{selected|npc_dex_save}]]]] |Constitution,Constitution Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&#44;0&#125;=10+0@{selected|npc_con_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&#44;0&#125;=10+0@{selected|npc_con_save}]]]] |Intelligence,Intelligence Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&#44;0&#125;=10+0@{selected|npc_int_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&#44;0&#125;=10+0@{selected|npc_int_save}]]]] |Wisdom,Wisdom Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&#44;0&#125;=10+0@{selected|npc_wis_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&#44;0&#125;=10+0@{selected|npc_wis_save}]]]] |Charisma,Charisma Save&#125;&#125; {{r1=[[1d20+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&#44;0&#125;=10+0@{selected|npc_cha_save}]]]]&#125;&#125; @{selected|rtype}+[[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&#44;0&#125;=10+0@{selected|npc_cha_save}]]]] }}}
1494621057
Silvyre
Forum Champion
Jeremy R. said: Aren't special characters within Attributes supposed to solve correctly as shown in&nbsp; Advanced Roll Usage Queries at the bottom of the page? HTML entities are not reverted within Abilities , but they are within Attributes as well as Macros.
1494622331

Edited 1494622438
Silvyre
Forum Champion
Jeremy R. said: Though it would be nice to honor the sheet setting where you can set advantage / disadvantage at the sheet level. Try this out: @{selected|wtype}&amp;{template:npc} {{name=@{selected|token_name} }} @{selected|rtype} + ?{Save Roll| &nbsp;&nbsp; Strength, [[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_str_save}]] ]]&amp;#125;&amp;#125; {{rname=Strength Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_str_mod}*{1@{selected|npc_str_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_str_save}]] | &nbsp;&nbsp; Dexterity, [[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_dex_save}]] ]]&amp;#125;&amp;#125; {{rname=Dexterity Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_dex_mod}*{1@{selected|npc_dex_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_dex_save}]] | &nbsp;&nbsp; Constitution, [[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_con_save}]] ]]&amp;#125;&amp;#125; {{rname=Constitution Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_con_mod}*{1@{selected|npc_con_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_con_save}]] | &nbsp;&nbsp; Intelligence, [[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_int_save}]] ]]&amp;#125;&amp;#125; {{rname=Intelligence Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_int_mod}*{1@{selected|npc_int_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_int_save}]] | &nbsp;&nbsp; Wisdom, [[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_wis_save}]] ]]&amp;#125;&amp;#125; {{rname=Wisdom Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_wis_mod}*{1@{selected|npc_wis_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_wis_save}]] | &nbsp;&nbsp; Charisma, [[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_cha_save}]] ]]&amp;#125;&amp;#125; {{rname=Charisma Save&amp;#125;&amp;#125; {{r1=[[1d20 + [[@{selected|npcd_cha_mod}*{1@{selected|npc_cha_save}0&amp;#44;0&amp;#125;=10+0@{selected|npc_cha_save}]] } ]] }}
1494627336

Edited 1494627356
Both of you are ninjas..
1494635984

Edited 1494636026
I used evernote to save the macros. I open a table with 2 columns. I paste a screenshot of the macro in one and the text of the macro in the other like so. Very easy to keep track of and its free.
1494845760
Silvyre
Forum Champion
Fealindale said: I am having a similar issue. I am the DM for a game and one of my players is a Fighter (arcane) 4 / Barbarian 3. Because she only has one spell-casting class, that should treat her as a level 2 spellcaster (per the arcane fighter table). However, the system is treating her as a multiclass spellcaster, which takes her fighter level / 3 rounded down, or 1 in this case. As a result, it is showing the wrong number of spell slots and we can't change it. This is definitely unintended behaviour. Steps to reproduce: Create a new Character. Set the first class to Fighter 4 Check the 'Arcane Fighter' class option Observe that lvl1_slots_total is correctly set to 3 Check the '2nd Class: Barbarian' multiclass option Observe that lvl1_slots_total is incorrectly set to 2
1494862235
Stephen Koontz
Forum Champion
Marketplace Creator
Sheet Author
API Scripter
Compendium Curator
Silvyre said: Fealindale said: I am having a similar issue. I am the DM for a game and one of my players is a Fighter (arcane) 4 / Barbarian 3. Because she only has one spell-casting class, that should treat her as a level 2 spellcaster (per the arcane fighter table). However, the system is treating her as a multiclass spellcaster, which takes her fighter level / 3 rounded down, or 1 in this case. As a result, it is showing the wrong number of spell slots and we can't change it. This is definitely unintended behaviour. Steps to reproduce: Create a new Character. Set the first class to Fighter 4 Check the 'Arcane Fighter' class option Observe that lvl1_slots_total is correctly set to 3 Check the '2nd Class: Barbarian' multiclass option Observe that lvl1_slots_total is incorrectly set to 2 Thanks for the step by step. I'll look into it.
Hi! Really delving into the gears of this sheet for the first time, and I apologize if this question has been asked a million times. I'm assuming the answer is no, but I'm wondering if there's a way to create a macro that would add a record to the repeating attack table on a character's sheet. The reason I'm asking is I'm running an all Mystic game (using the class from the UA) and making custom spell cards for the Disciplines and Talents. And while I can certainly use the atkdmg template for any associated rolls, it's not quite as nice as rolling the attack (and waiting to see if it hits before rolling damage) right from the table. Thanks for your hard work dev team and in advance to anyone else for any advice!
1494950630
Silvyre
Forum Champion
Pete C. said: I'm wondering if there's a way to create a macro that would add a record to the repeating attack table on a character's sheet. You can use the API Script ChatSetAttr to create entries in the Attacks & Spellcasting block.
Silvyre said: Pete C. said: I'm wondering if there's a way to create a macro that would add a record to the repeating attack table on a character's sheet. You can use the API Script ChatSetAttr to create entries in the Attacks & Spellcasting block. Thank you so much!
I think I stumbled upon a slight bug with the ammunition tracking. I tried to reproduce the usage specified at the end of this document&nbsp;<a href="https://wiki.roll20.net/OGL_5e_DnD:_How_to_setup_Ammunition_and_Resource_tracker" rel="nofollow">https://wiki.roll20.net/OGL_5e_DnD:_How_to_setup_Ammunition_and_Resource_tracker</a> to track a cleric's wrath of the storms. However I found that the resource would only be decreased if the action has the "attack" checkbox checked. Everything is setup just like the example. Could you please look into it? Thank you.
This is the current functionality for the companion. Ammunition is only tracked when it is an attack.
Is the wiki outdated then? The example specifically shows the wrath of the storm with the attack box unchecked and implies that it would work.
Apparently yes