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 .
×
We're investigating unusual elevated traffic on voice and video servers that is affecting connectivity. We are working towards a solution as quickly as possible! Sorry for the trouble!
Create a free account

D&D 5th Edition by Roll20

Gauss, happy to invite you to my game if you want to poke around. I'm around, let me know.
1700327095

Edited 1700327766
Gauss
Forum Champion
Confirmed with my free account. (Forum Champion accounts are a bit different when it comes to the Compendium.) I am letting the Devs know. I suggest everyone file a bug report via the Help Center .  Edit: In the meantime, I suggest using the old Compendium. It does not appear to be having an issue. 
Gauss said: I suggest everyone file a bug report via the Help Center .  Done, thank you!
Howdy folks! Worry not, the tigers are not out of the cage. After some investigating, we're realizing that in the new compendium UI some entries are showing incorrect sources. We're looking into it now!
1700426617
Redd Killian
Pro
Marketplace Creator
I'm unable to share my compendiums with any of my games.  Currently I have 10 players and/or 3 games (Plus) I see three slots to share compendium, but I'm not allowed to select any game (I get the red circle with slash), not allowed to share my compendiums with any game, I only need to share with 1 and can't even do that...
1700427689
Gauss
Forum Champion
Hi Redd Killian,  How many players are in each game?  How many games are you currently sharing with?  Could you supply a screenshot of the Compendium setting where you are seeing the red circle with slash?
1700435179

Edited 1700435213
Redd Killian
Pro
Marketplace Creator
Hi Gauss, The screenshot is attached here.  When I hover over any of the available slots, I only get a red circle denying.  I own several of the D&D 5th edition compendiums and was previously using it on the regular.  Suddenly a player was unable to access them, which started my investigation.  When I took the screenshot isn't showing my mouse pointer (windows 11 defaults to snipping tool I guess).
1700452179
Gauss
Forum Champion
Redd Killian, based on that I feel your account has an error in it. I would file a bug report with the Devs via the Help Center . Make sure you tell them that you have slots available, make sure you tell them that you are not over on the number of players. 
1700576423

Edited 1700576497
I'm experiencing similar problems when searching - getting items from books that are not shared. While I am not getting Pathfinder entries, I am getting entries for books that I own that I'm not sharing in my game. For example, I own Tasha's Cauldron of Everything, but I'm not sharing it, yet I still get some entries from that book when I do a search.
1700577786
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Saul J. said: I'm experiencing similar problems when searching - getting items from books that are not shared. While I am not getting Pathfinder entries, I am getting entries for books that I own that I'm not sharing in my game. For example, I own Tasha's Cauldron of Everything, but I'm not sharing it, yet I still get some entries from that book when I do a search. I believe a fix was announced on this yesterday. Try clearing your browser cache and see if the problem continues.
1701020986

Edited 1701021438
I just tried to replicate the "pot" search, but could not (5E OGL and several 5E books of content). All of my results were correctly attributed to books I owned and had permitted to the game. There was one oddity: "Potters Tools", which is a PHB and SRD item, was attributed to the Esper Genesis Core Guide, which was apparently a freebie I got at some point, and appears on the list permitted to the game.  I'd have expected 5E core content like the PHB or SRD to take preference over some other source, but perhaps the rule is "newer first" or something, although SRD always shows up in place of the later core books where applicable. Removing Esper Genesis from the list caused in-game caused the reference to change to D&D 5th Edition SRD. So, this is probably "working as designed", but it's not clear (to me, anyway) how precendence works for overlapping content.  Note that search did not turn up both references when Esper Genesis was enabled, only one.
I don't know if this is the place to post, so please let me know which community to post if not. However ever since the change Roll20 has done, I have been unable to update my character sheet in my Vault or Character's page for my DND 5e. I am being forced to stay in-game to make any updates before importing it into my Character's page or vault. Because of this, I am having multiple copies of my character sheet especially when I forget to add or do something. Because I am unable to view my characters outside the game now which I was able to do before the changes, I am having to guess which character sheet to import and pray it is the correct one. Any suggestions on how I can view my sheets outside of a game so I can delete my older ones. Thanks in advance.
1701492053
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Princess Brekke! Your best bet for this issue to be seen by the right folks would be either a  Help Center Request  (which will create a ticket to be forwarded to the proper team, or, to post in the Characters feedback thread , which is monitored by the concerned team members.
I believe I'm in the right place, but could there be a way to toggle on/off the calculations of coins in encumbrance?
1701977538
Gauss
Forum Champion
Michael P. said: I believe I'm in the right place, but could there be a way to toggle on/off the calculations of coins in encumbrance? No way I can think of other than not using the provided coins section. I suggest listing the currency on your Bio tab in Treasure. 
1701980171
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
You can hack this by putting a non-numeric alphabet character at the beginning of the value. "100" gp weighs 2 lbs. "g100" gp weighs 0 lbs.
I'm curious as to if I can restore a variable amount of resources on a rest. I have a Hunter's Coat  that recharges a 1d3 at dawn. Is there a way to automate that in the sheet in the repeating resources?
1702259644
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I think there are som e rest and recovery scripts in the repo that will do this, but I don't think the sheet will accept a formula.
1703974091

Edited 1703975144
All of my non-SRD owned content isn't showing up in my compendium in-game, even though it has previously. My Compendium Settings for the game have everything green. Any ideas? Edit: I haven't changed my character sheet or anything else like that Edit: turning off "New Compendium" seems to bring back my content...
1703975385

Edited 1703975418
Gauss
Forum Champion
Hi Avery,  The new compendium still has some issues that need to resolved. You can keep up on the new compendium news HERE . You can also post any issues you have with the new compendium there as well. 
I am seeing some inconsistency between repeating_inventory weapons dropped from the compendium versus manually creating a new weapon. When dropping a weapon from the compendium, like a Greataxe or Greatsword it comes in with Has an Attack and populates the repeating_attack section as expected with itemid attributes that match the ID of the repeating_inventory. This all matches as I'd expect. However when I make a new weapon in the inventory and populate the itemmodifications and itemproperties attributes and check the Has an attack checkbox, it will create the attack in the repeating_attack section but it seems to run the itemid value through a tolowercase function or something so the itemid property doesn't match the actual ID of the inventory. Are these using different sheet workers or something? It makes some automation of matching attacks to weapon properties difficult to impossible with that sort of inconsistency. In this particular case they match on itemname and atkname but that's not always the case with things like versatile weapons that get (One Handed) and (Two Handed) appended to their atknames. Just looking for some help here or if the custom inventory sheet worker can not lowercase the itemid. I've tried this in multiple characters in multiple games and it was like this each time. This is the ScriptCard I was using to produce those examples in case it helps anyone reproduce this: !script {{ --&WeaponName|NewWeapon --#sourceToken|@{selected|token_id} --Rfind|[*S:character_id];[&WeaponName];repeating_attack;atkname --&weaponItemId|[*R:itemid] --+[*R:atkname]|[&weaponItemId] --Rfind|[*S:character_id];[&WeaponName];repeating_inventory;itemname --+[*R:itemname]|[*R>itemname] --Rbysectionid|[*S:character_id];repeating_inventory;[&weaponItemId] --+[*R:itemname]|[*R:itemmodifiers] }} Just change the &WeaponName to match whatever it is you want grab.
Is there a 5e Character Sheet that allows you to use a custom spellcasting stat or custom spell schools?
1706452011
Brian C.
Pro
Marketplace Creator
Compendium Curator
Nicola B. said: Is there a 5e Character Sheet that allows you to use a custom spellcasting stat or custom spell schools? Expand the spell on the character sheet and then click the cog. One of the entries lets you set the spellcasting ability for the spell.
1706503602

Edited 1706504008
Were the "next page" and "previous page" buttons removed from Compendium entries recently, or am I experiencing a bug? A few weeks ago when my current campaign group was making characters, if I searched for "Equipment" it took me to the first page of the chapter, and then I could click the links on each page to skip forward until I got to the page/part I needed. Today that isn't working, as there's no way to get past the first page of the chapter in-app. I see there was an update a few days ago, so I'm curious if this functionality was removed on purpose or not. As for why you'd want to be able to page forward like this... let's say I want to buy antitoxin for my character in D&D. If I search for Antitoxin, the page it brings up tells me how it works, but does not tell me how much it costs. That information only exists on the equipment chart, but it's not on the first page of the equipment chapter, which is all that comes up in a search. It is specifically only on the page labeled "Adventuring Gear", several pages into the chapter. If you don't remember what the exact title of that page is, it can be very tricky to find. Being able to page ahead in the chapter (like I could previously do quite easily) is a huge help when you don't know exact titles of a chart.
Rolfe B. said: Were the "next page" and "previous page" buttons removed from Compendium entries recently, or am I experiencing a bug? A few weeks ago when my current campaign group was making characters, if I searched for "Equipment" it took me to the first page of the chapter, and then I could click the links on each page to skip forward until I got to the page/part I needed. Today that isn't working, as there's no way to get past the first page of the chapter in-app. I see there was an update a few days ago, so I'm curious if this functionality was removed on purpose or not. As for why you'd want to be able to page forward like this... let's say I want to buy antitoxin for my character in D&D. If I search for Antitoxin, the page it brings up tells me how it works, but does not tell me how much it costs. That information only exists on the equipment chart, but it's not on the first page of the equipment chapter, which is all that comes up in a search. It is specifically only on the page labeled "Adventuring Gear", several pages into the chapter. If you don't remember what the exact title of that page is, it can be very tricky to find. Being able to page ahead in the chapter (like I could previously do quite easily) is a huge help when you don't know exact titles of a chart. We pushed an update to make the Compendium pages in the VTT lighter weight and load faster. As part of that these accidentally got removed. Working on a fix for it now, hopefully later this week. 
Rolfe B. said: Were the "next page" and "previous page" buttons removed from Compendium entries recently, or am I experiencing a bug? A few weeks ago when my current campaign group was making characters, if I searched for "Equipment" it took me to the first page of the chapter, and then I could click the links on each page to skip forward until I got to the page/part I needed. Today that isn't working, as there's no way to get past the first page of the chapter in-app. I see there was an update a few days ago, so I'm curious if this functionality was removed on purpose or not. As for why you'd want to be able to page forward like this... let's say I want to buy antitoxin for my character in D&D. If I search for Antitoxin, the page it brings up tells me how it works, but does not tell me how much it costs. That information only exists on the equipment chart, but it's not on the first page of the equipment chapter, which is all that comes up in a search. It is specifically only on the page labeled "Adventuring Gear", several pages into the chapter. If you don't remember what the exact title of that page is, it can be very tricky to find. Being able to page ahead in the chapter (like I could previously do quite easily) is a huge help when you don't know exact titles of a chart. Thanks for bringing this up! I even tried toggling back to the "old compendium" to see if that fixed this bug. Now I see this is an error and they are going to try to fix it. I guess it's back to doing google searches in a different window again until they fix it.
1706570926
Gauss
Forum Champion
Mark P. said: Thanks for bringing this up! I even tried toggling back to the "old compendium" to see if that fixed this bug. Now I see this is an error and they are going to try to fix it. I guess it's back to doing google searches in a different window again until they fix it. Hi Mark,  Rather than googling you can use the Roll20's website compendium . It still has the Previous and Next buttons. 
I'm not sure what happened so I can't give steps to reproduce, but last week all of my player's spells that are linked to 'attacks' in the sheet (e.g. Healing Word, Fire Bolt) suddenly stopped working. I checked the spell output and they are set to Attack as they have been before. If I toggle the output to Spellcard then back to Attack, that seems to recreate the linked Attack in the attack section, and things started working again. Now I'm fixing the spells manually by doing the above, toggling each spell to force re-create the Attack link. Has this happened to anyone else before? I remember this happening to me every now and then. Any tips to prevent this from happening in the future?
Erudo said: I'm not sure what happened so I can't give steps to reproduce, but last week all of my player's spells that are linked to 'attacks' in the sheet (e.g. Healing Word, Fire Bolt) suddenly stopped working. When you say 'stopped working', what does that look like? No output at all? Error messages in chat?  Is this only for spells, or for other attack rolls (weapons)? How are you calling the spell attacks? Clicking on the attack button from the character sheet, or some other way? What Mod scripts do you have loaded in your game?  Are you using any browser extensions?  Do you have more than one character sheet with the same name as the character's that you are having issue with? (Check your archived Journal items as well) If you select the character's token and paste this macro into chat, you should get a list of all the character's attacks.  Can you click on the spell attacks from that list and have them work? /w gm &{template:npcaction} &{noerror} {{rname=@{selected|token_name}}}{{description=[@{selected|repeating_attack_$0_atkname} ](~@{selected|character_name}|repeating_attack_$0_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$0_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$0_atkname|max};)[@{selected|repeating_attack_$1_atkname} ](~@{selected|character_name}|repeating_attack_$1_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$1_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$1_atkname|max};)[@{selected|repeating_attack_$2_atkname} ](~@{selected|character_name}|repeating_attack_$2_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$2_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$2_atkname|max};)[@{selected|repeating_attack_$3_atkname} ](~@{selected|character_name}|repeating_attack_$3_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$3_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$3_atkname|max};)[@{selected|repeating_attack_$4_atkname} ](~@{selected|character_name}|repeating_attack_$4_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$4_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$4_atkname|max};)[@{selected|repeating_attack_$5_atkname} ](~@{selected|character_name}|repeating_attack_$5_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$5_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$5_atkname|max};)[@{selected|repeating_attack_$6_atkname} ](~@{selected|character_name}|repeating_attack_$6_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$6_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$6_atkname|max};)[@{selected|repeating_attack_$7_atkname} ](~@{selected|character_name}|repeating_attack_$7_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$7_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$7_atkname|max};)[@{selected|repeating_attack_$8_atkname} ](~@{selected|character_name}|repeating_attack_$8_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$8_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$8_atkname|max};)[@{selected|repeating_attack_$9_atkname} ](~@{selected|character_name}|repeating_attack_$9_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$9_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$9_atkname|max};)[@{selected|repeating_attack_$10_atkname} ](~@{selected|character_name}|repeating_attack_$10_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$10_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$10_atkname|max};)[@{selected|repeating_attack_$11_atkname} ](~@{selected|character_name}|repeating_attack_$11_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$11_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$11_atkname|max};)[@{selected|repeating_attack_$12_atkname} ](~@{selected|character_name}|repeating_attack_$12_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$12_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$12_atkname|max};)[@{selected|repeating_attack_$13_atkname} ](~@{selected|character_name}|repeating_attack_$13_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$13_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$13_atkname|max};)[@{selected|repeating_attack_$14_atkname} ](~@{selected|character_name}|repeating_attack_$14_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$14_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$14_atkname|max};)[@{selected|repeating_attack_$15_atkname} ](~@{selected|character_name}|repeating_attack_$15_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$15_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$15_atkname|max};)[@{selected|repeating_attack_$16_atkname} ](~@{selected|character_name}|repeating_attack_$16_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$16_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$16_atkname|max};)[@{selected|repeating_attack_$17_atkname} ](~@{selected|character_name}|repeating_attack_$17_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$17_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$17_atkname|max};)[@{selected|repeating_attack_$18_atkname} ](~@{selected|character_name}|repeating_attack_$18_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$18_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$18_atkname|max};)[@{selected|repeating_attack_$19_atkname} ](~@{selected|character_name}|repeating_attack_$19_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$19_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$19_atkname|max};)[   More Attacks Not Shown ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;color: black; color: red; font-weight: bold; display: inline-block@{selected|repeating_attack_$20_atkname|max}; )}} {{name=@{selected|character_name}}} &{noerror}
What is the most up to date version of the 5e character sheet that can be edited to add in modifications for a 5e variant?
1707193075
Gauss
Forum Champion
Hi Nicola B.,  The D&D 5e by Roll20 sheet is proprietary and the code cannot be viewed or modified into another sheet.  However, some years ago there was the original version that I *think* you can still get the code for. But I doubt it has been modified in many years. 
1707194228
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
HI Nicola! That would be theD&D 5th Edition by Roll20 Legacy Sheet sheet, but I don't see it in the sheet repo. I'm checking to see if it has been removed.
I've found the following 5e sheets..... DnD_5e:  roll20-character-sheets/DnD_5e at master · Roll20/roll20-character-sheets (github.com) DD5thEditionLegacy:   roll20-character-sheets/DD5thEditionLegacy at master · Roll20/roll20-character-sheets (github.com) 5eShaped:  roll20-character-sheets/5eShaped at master · Roll20/roll20-character-sheets (github.com) Would any of those be a good base to work from?
1707206563

Edited 1707232011
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Ah, you found the legacy sheet. It was not named like I expected. It is likely very out of date, but may still work with the charactermancer. Though it doubtless will have some issues. It is the closest to the published Roll20 sheet. 5eShaped is still used by many people. It is a very powerful (and complex) sheet, but is not charactermancer-compatible. AFAIK, it still is compendium-compatible. I can't answer to the other one, not knowing anything about it. My suggestion would be to post this as its own thread, with a subject line that most closely expresses your question. Also, a brief summary of the sorts of changes you are looking to make.* This may attract the question of more sheet authors, who may not frequent this thread. Keep in mind that the two I did have some knowledge of are among the most complex sheets out there. You will likely need a fairly strong knowledge of html, javascript, and CSS to approach them. EDIT: There's also a good chance that whatever you work on concerning compendium or charactermancer access may be broken when Project Jumpgate is fully realized. *This is likely critical. what you intend might range from being easily done with an existing sheet, to necessitating building a whole new sheet from scratch. And the nature of the changes might suggest one over another
Jarren said: Erudo said: I'm not sure what happened so I can't give steps to reproduce, but last week all of my player's spells that are linked to 'attacks' in the sheet (e.g. Healing Word, Fire Bolt) suddenly stopped working. When you say 'stopped working', what does that look like? No output at all? Error messages in chat?  Is this only for spells, or for other attack rolls (weapons)? > No output at all, no error messages. Only for spells that is usually linked to an attack, e.g. Fire Bolt. Other attack rolls are not affected. How are you calling the spell attacks? Clicking on the attack button from the character sheet, or some other way? > Multiple ways. Notably clicking the spell from the Spell tab doesn't work. Calling from macro / script also doesn't work. If there is an Attack with the same name, clicking directly on those attacks in the Attack section will work. What Mod scripts do you have loaded in your game?  Are you using any browser extensions?  > No browser extensions. Mods: ScriptCards, TokenMod, Token Action Maker, libInline, ChatSetAttr, 5E OGL Companion. Do you have more than one character sheet with the same name as the character's that you are having issue with? (Check your archived Journal items as well) > No, I checked. And 4 characters are affected at around the same time. If you select the character's token and paste this macro into chat, you should get a list of all the character's attacks.  Can you click on the spell attacks from that list and have them work? /w gm &{template:npcaction} &{noerror} {{rname=@{selected|token_name}}}{{description=[@{selected|repeating_attack_$0_atkname} ](~@{selected|character_name}|repeating_attack_$0_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$0_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$0_atkname|max};)[@{selected|repeating_attack_$1_atkname} ](~@{selected|character_name}|repeating_attack_$1_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$1_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$1_atkname|max};)[@{selected|repeating_attack_$2_atkname} ](~@{selected|character_name}|repeating_attack_$2_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$2_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$2_atkname|max};)[@{selected|repeating_attack_$3_atkname} ](~@{selected|character_name}|repeating_attack_$3_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$3_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$3_atkname|max};)[@{selected|repeating_attack_$4_atkname} ](~@{selected|character_name}|repeating_attack_$4_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$4_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$4_atkname|max};)[@{selected|repeating_attack_$5_atkname} ](~@{selected|character_name}|repeating_attack_$5_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$5_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$5_atkname|max};)[@{selected|repeating_attack_$6_atkname} ](~@{selected|character_name}|repeating_attack_$6_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$6_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$6_atkname|max};)[@{selected|repeating_attack_$7_atkname} ](~@{selected|character_name}|repeating_attack_$7_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$7_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$7_atkname|max};)[@{selected|repeating_attack_$8_atkname} ](~@{selected|character_name}|repeating_attack_$8_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$8_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$8_atkname|max};)[@{selected|repeating_attack_$9_atkname} ](~@{selected|character_name}|repeating_attack_$9_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$9_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$9_atkname|max};)[@{selected|repeating_attack_$10_atkname} ](~@{selected|character_name}|repeating_attack_$10_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$10_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$10_atkname|max};)[@{selected|repeating_attack_$11_atkname} ](~@{selected|character_name}|repeating_attack_$11_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$11_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$11_atkname|max};)[@{selected|repeating_attack_$12_atkname} ](~@{selected|character_name}|repeating_attack_$12_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$12_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$12_atkname|max};)[@{selected|repeating_attack_$13_atkname} ](~@{selected|character_name}|repeating_attack_$13_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$13_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$13_atkname|max};)[@{selected|repeating_attack_$14_atkname} ](~@{selected|character_name}|repeating_attack_$14_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$14_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$14_atkname|max};)[@{selected|repeating_attack_$15_atkname} ](~@{selected|character_name}|repeating_attack_$15_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$15_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$15_atkname|max};)[@{selected|repeating_attack_$16_atkname} ](~@{selected|character_name}|repeating_attack_$16_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$16_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$16_atkname|max};)[@{selected|repeating_attack_$17_atkname} ](~@{selected|character_name}|repeating_attack_$17_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$17_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$17_atkname|max};)[@{selected|repeating_attack_$18_atkname} ](~@{selected|character_name}|repeating_attack_$18_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$18_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$18_atkname|max};)[@{selected|repeating_attack_$19_atkname} ](~@{selected|character_name}|repeating_attack_$19_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$19_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$19_atkname|max};)[   More Attacks Not Shown ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;color: black; color: red; font-weight: bold; display: inline-block@{selected|repeating_attack_$20_atkname|max}; )}} {{name=@{selected|character_name}}} &{noerror} > Yes, clicking on the actual attacks themselves work. It's only when clicking from the Spell itself. Given that toggling to spellcard and attack output fixes the issue (as I noted in my original post), seems like the spells somehow lost its link to the attacks.
Erudo  said: How are you calling the spell attacks? Clicking on the attack button from the character sheet, or some other way? > Multiple ways. Notably clicking the spell from the Spell tab doesn't work. Calling from macro / script also doesn't work. If there is an Attack with the same name, clicking directly on those attacks in the Attack section will work. Ok, that narrows things down a little. What macro/script are you using to call them?  TokenActionMaker Token Actions? A universal macro? Combatmaster or some other script? What Mod scripts do you have loaded in your game?  Are you using any browser extensions?  > No browser extensions. Mods: ScriptCards, TokenMod, Token Action Maker, libInline, ChatSetAttr, 5E OGL Companion. How are you adding those spells to the character sheet?  Are you dragging them from the Compendium?  Are you creating them manually?  Are you using a script to import the spell data (such as ChatSetAttr)? If you select the character's token and paste this macro into chat, you should get a list of all the character's attacks.  Can you click on the spell attacks from that list and have them work? /w gm &{template:npcaction} &{noerror} {{rname=@{selected|token_name}}}{{description=[@{selected|repeating_attack_$0_atkname} ](~@{selected|character_name}|repeating_attack_$0_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$0_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$0_atkname|max};)[@{selected|repeating_attack_$1_atkname} ](~@{selected|character_name}|repeating_attack_$1_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$1_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$1_atkname|max};)[@{selected|repeating_attack_$2_atkname} ](~@{selected|character_name}|repeating_attack_$2_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$2_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$2_atkname|max};)[@{selected|repeating_attack_$3_atkname} ](~@{selected|character_name}|repeating_attack_$3_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$3_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$3_atkname|max};)[@{selected|repeating_attack_$4_atkname} ](~@{selected|character_name}|repeating_attack_$4_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$4_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$4_atkname|max};)[@{selected|repeating_attack_$5_atkname} ](~@{selected|character_name}|repeating_attack_$5_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$5_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$5_atkname|max};)[@{selected|repeating_attack_$6_atkname} ](~@{selected|character_name}|repeating_attack_$6_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$6_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$6_atkname|max};)[@{selected|repeating_attack_$7_atkname} ](~@{selected|character_name}|repeating_attack_$7_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$7_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$7_atkname|max};)[@{selected|repeating_attack_$8_atkname} ](~@{selected|character_name}|repeating_attack_$8_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$8_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$8_atkname|max};)[@{selected|repeating_attack_$9_atkname} ](~@{selected|character_name}|repeating_attack_$9_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$9_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$9_atkname|max};)[@{selected|repeating_attack_$10_atkname} ](~@{selected|character_name}|repeating_attack_$10_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$10_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$10_atkname|max};)[@{selected|repeating_attack_$11_atkname} ](~@{selected|character_name}|repeating_attack_$11_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$11_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$11_atkname|max};)[@{selected|repeating_attack_$12_atkname} ](~@{selected|character_name}|repeating_attack_$12_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$12_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$12_atkname|max};)[@{selected|repeating_attack_$13_atkname} ](~@{selected|character_name}|repeating_attack_$13_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$13_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$13_atkname|max};)[@{selected|repeating_attack_$14_atkname} ](~@{selected|character_name}|repeating_attack_$14_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$14_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$14_atkname|max};)[@{selected|repeating_attack_$15_atkname} ](~@{selected|character_name}|repeating_attack_$15_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$15_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$15_atkname|max};)[@{selected|repeating_attack_$16_atkname} ](~@{selected|character_name}|repeating_attack_$16_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$16_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$16_atkname|max};)[@{selected|repeating_attack_$17_atkname} ](~@{selected|character_name}|repeating_attack_$17_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$17_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$17_atkname|max};)[@{selected|repeating_attack_$18_atkname} ](~@{selected|character_name}|repeating_attack_$18_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$18_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$18_atkname|max};)[@{selected|repeating_attack_$19_atkname} ](~@{selected|character_name}|repeating_attack_$19_attack" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;cursor: pointer; color: red; display: inline-block@{selected|repeating_attack_$19_atkname|max};)[ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;height: 0.0px; display: block@{selected|repeating_attack_$19_atkname|max};)[   More Attacks Not Shown ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none;color: black; color: red; font-weight: bold; display: inline-block@{selected|repeating_attack_$20_atkname|max}; )}} {{name=@{selected|character_name}}} &{noerror} > Yes, clicking on the actual attacks themselves work. It's only when clicking from the Spell itself. Given that toggling to spellcard and attack output fixes the issue (as I noted in my original post), seems like the spells somehow lost its link to the attacks. Is this happening with all characters, just specific characters, only PCs, or some other identifiable pattern? Were those characters built manually, using the charactermancer, imported from the Character Vault, or Transmogrified into the game? Does this happen if you copy the character and try on the copy?  What about if you transmogrify the character into a different game? Here's another couple macros to try (for cantrips and level 1 spells). What happens if you click on any of the spells that should have an attack output from these chat menus? /w gm &{template:npcaction} {{rname=@{selected|token_name}}}{{description=[@{selected|repeating_spell-cantrip_$0_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$0_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$0_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$0_spellname|max};) [@{selected|repeating_spell-cantrip_$1_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$1_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$1_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$1_spellname|max};) [@{selected|repeating_spell-cantrip_$2_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$2_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$2_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$2_spellname|max};) [@{selected|repeating_spell-cantrip_$3_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$3_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$3_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$3_spellname|max};) [@{selected|repeating_spell-cantrip_$4_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$4_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$4_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$4_spellname|max};) [@{selected|repeating_spell-cantrip_$5_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$5_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$5_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$5_spellname|max};) [@{selected|repeating_spell-cantrip_$6_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$6_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$6_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$6_spellname|max};) [@{selected|repeating_spell-cantrip_$7_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$7_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$7_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$7_spellname|max};) [@{selected|repeating_spell-cantrip_$8_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$8_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$8_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$8_spellname|max};) [@{selected|repeating_spell-cantrip_$9_spellname} ](~@{selected|character_name}|repeating_spell-cantrip_$9_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-cantrip_$9_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-cantrip_$9_spellname|max};)}} {{name=@{selected|character_name}}} &{noerror} /w gm &{template:npcaction} {{rname=@{selected|token_name}}}{{description=[@{selected|repeating_spell-1_$0_spellname} ](~@{selected|character_name}|repeating_spell-1_$0_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$0_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$0_spellname|max};) [@{selected|repeating_spell-1_$1_spellname} ](~@{selected|character_name}|repeating_spell-1_$1_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$1_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$1_spellname|max};) [@{selected|repeating_spell-1_$2_spellname} ](~@{selected|character_name}|repeating_spell-1_$2_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$2_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$2_spellname|max};) [@{selected|repeating_spell-1_$3_spellname} ](~@{selected|character_name}|repeating_spell-1_$3_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$3_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$3_spellname|max};) [@{selected|repeating_spell-1_$4_spellname} ](~@{selected|character_name}|repeating_spell-1_$4_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$4_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$4_spellname|max};) [@{selected|repeating_spell-1_$5_spellname} ](~@{selected|character_name}|repeating_spell-1_$5_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$5_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$5_spellname|max};) [@{selected|repeating_spell-1_$6_spellname} ](~@{selected|character_name}|repeating_spell-1_$6_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$6_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$6_spellname|max};) [@{selected|repeating_spell-1_$7_spellname} ](~@{selected|character_name}|repeating_spell-1_$7_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$7_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$7_spellname|max};) [@{selected|repeating_spell-1_$8_spellname} ](~@{selected|character_name}|repeating_spell-1_$8_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$8_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$8_spellname|max};) [@{selected|repeating_spell-1_$9_spellname} ](~@{selected|character_name}|repeating_spell-1_$9_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block@{selected|repeating_spell-1_$9_spellname|max};) [ ](" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; height: 0.0px; display: block@{selected|repeating_spell-1_$9_spellname|max};)}} {{name=@{selected|character_name}}} &{noerror} Lastly, if you 'fix' the issue by switching to 'Spellcard' and back to 'Attack', does the problem reoccur, or is it fixed for good?   I'm wondering if this is related to a bug I found earlier when using ChatSetAttr to change spell attributes.
I have seen a similar, possibly the same, issue as Erudo with spells linked to Attacks breaking. This happens with charactermancer and Transmogrified characters. At first I thought it was related to me cleaning up duplicate attacks and removing the wrong one. However it can break without removing any attacks. This happened even in games where ChatSetAttr wasn't run on spell attributes and ones where it was. The repeating_attack portion continues to work but the spell no longer works. Deleting the attack and spell and dragging from the Compendium will get things working again at least for some period of time but things can then break again. I have noticed that when this happens the spellid property of the repeating_attack looks like it was run through a tolowercase but that is possibly a red herring. No browser extensions. This happens in at least 3 of my D&D 5e games as well.
1707253494

Edited 1707253586
Gauss
Forum Champion
Regarding Attacks and Spells: There are a number of situations (bugs) which breaks the connection between Attacks and Spells.  1) You have duplicate Attacks and then delete the wrong Attack it will break the Spell.  Sometimes the Attacks section duplicates itself. We have never been able to figure out why or how it does this. But when it does the solution is to go through and delete the duplicates. Unfortunately sometimes that is not the duplicate that gets deleted, thus it breaks the spell.  How it breaks it:  When you delete a Spell's Attack it switches the Spell to Spellcard. However, the switch is incomplete. Instead of popping a spellcard nothing happens.  2) Switching an Attack spell to Spellcard:  If you switch a spell with an Attack to Spellcard, and then later edit the spell or "red dot" it, then the Attack will reappear, even though the Spell is still on Spellcard.  There are others iirc, but those are two of the major ones I can think of right now. One of them may be related to the problem above. 
Are the differences (list of updates?) between the D&D 5e SRD legacy sheet and the current D&D 5e by Roll20 sheet recorded anywhere?
Nicola B. said: Are the differences (list of updates?) between the D&D 5e SRD legacy sheet and the current D&D 5e by Roll20 sheet recorded anywhere? No. Once the D&D 5E by Roll20 sheet became proprietary, there is no way to know what changes were made to the code. There could be many changes to sheetworkers or other aspects that are not visibly apparent while using the sheet, so there would be no way of knowing which changes had occurred. 
Thanks Jarren, Joshua, and Gauss. Seems like it's a mysterious bug that's hard to reproduce, similar to the duplicating attack issue. Probably not much can be done but just answering the last of Jarren's questions to wrap this up and possibly help others: I use many macros to call the spells including ScriptCards, but as noted it doesn't work even when clicking directly on the sheet Spell tab. Spells were added directly from Compendium or via Charmancer level ups. No scripts were used to import / create them. In this occurrence, the issue happened to all spellcasting PCs (although strangely some spells were spared). No discernible pattern. In this occurrence, the toggle fix seems to fix it for good. Of course, it might happen again in the future.
A small but annoying issue I'm having with the 5e sheet is that when I have a multi-class PC, I can't easily see the levels of secondary classes because they get clipped as in the attached image. I may be overlooking something, but in the case of this character, if I want to see how many levels of warlock they have, then I have to open the charactermancer, which feels clunky.
1707328081

Edited 1707328551
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hi Ken, EDIT: Triple click on class display on the character sheet (not on the Attributes Tab). This will select the entire contents. Copy and paste somewhere where the whole string will display. Old Answer: There is a horribly clunky workaround for this. You can go to the Attributes and Abilities tab of the sheet and look for the  class_display  attribute. Copy the contents of the field and paste them somewhere where you can read the whole entry.
To Keith's point, I used to have a macro to whisper the classes in chat for me. /w gm @{selected|class_display} It's basic but worked for me when I needed it.
Thanks, Keith and Josh! appreciate the tips.
Unwanted skill modifiers.  I got back to creating a game in Roll20 that I started prior to the new Character Vault sheet changes.  Now whenever I create an NPC sheet or add a monster from the compendium, there are automatic Bless and Guidance modifiers plugged into the global_mod fields.  Anyone know how I stop this from happening so I don't have to strip it out every time?
1707592141

Edited 1707592184
Gauss
Forum Champion
Hi Trey, The answer is on the PC side of the character sheet.  Switch the character sheet to PC, then in the settings you can turn off the Global Modifiers.  Alternately you can delete the Global Modifiers from the PC side on the Core page.  With that said, it is my experience that the NPC side ignores the Global modifiers. Is that not the case for you? 
Gauss said: With that said, it is my experience that the NPC side ignores the Global modifiers. Is that not the case for you?  I've had it happen several times where an NPC had the bless and guidance mods included. I had to switch the affected sheet to PC, get rid of the modifiers, then switch back. It happens so inconsistently that I haven't been able to file a meaningful bug report.
1707598568
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Rick A. said: Gauss said: With that said, it is my experience that the NPC side ignores the Global modifiers. Is that not the case for you?  I've had it happen several times where an NPC had the bless and guidance mods included. I had to switch the affected sheet to PC, get rid of the modifiers, then switch back. It happens so inconsistently that I haven't been able to file a meaningful bug report. This has happened to me as well. With the same reaction and conclusion.
1707669087

Edited 1707669345
When using this sheet from Roll20Characters, If I expand a spell to view the information on that spell, it will sometime create a new empty spell at the same time. In this example, I expanded Lesser Restoration using the i button and the empty spell above it was created before it opened the spell. EDIT: I can't seem to replicate it on level 1 spells, but for sure it happens on Level 2 spells.