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

[5e Shaped Script] Version 11+

1505059065

Edited 1505059131
I receive no errors when saving the script, however for some reason now any racial ability or class feature I add only displays the title, no description and any damage or healing are not rolled. I tried with both a new game and in updating a current game, and new features do not work in either. I did notice that existing racial abilities on the current character sheets still function, however any new abilities I add to those same sheets will not function correctly and only display the title.  I am using the current sheet and script. Any ideas?
1505059731
Kryx
Pro
Sheet Author
API Scripter
If you're experiencing an issue check the most recent issues on the  issue tracker and open a new issue if the issue you're experiencing is not listed. Class features are created on the sheet, not the script. Same process ofr the issue tracker there.
Hey, I have an error popping up in my API, it's stopping me from importing monsters, this is what it says, can anyone shine a light on the issue? Many thanks in advance! For reference, the error message generated was: TypeError: Cannot read property 'timeoutId' of undefined TypeError: Cannot read property 'timeoutId' of undefined at resolvePending (apiscript.js:6475:30) at Timeout._onTimeout (/home/node/d20-api-server/node_modules/underscore/underscore.js:768:19) at ontimeout (timers.js:380:14) at tryOnTimeout (timers.js:244:5) at Timer.listOnTimeout (timers.js:214:5)
There's an open issue for this in the issue tracker, Frankaroc. This seems to happen with !shaped-monsters, but !shaped-import-monster still works. Keep in mind there is an issue with created actions because of a breaking change by roll20. Unless you HAVE TO prep now, I'd wait a while until the sheet has been fixed with the roll20 change.
Thank you Thorsten! I will just wait for an update or something to come out, it's been messing with my Macros, if I delete the API script, I can just put the scripting back when things are sorted?
Yeah you can. You can disable the script, or delete it entirely, and bring it back when things have stabilized. roll20 recently pushed a change that broke a lot of functionality on the sheet itself. That said, I haven't had any issues with the API other than monster import. The "companion" functionality works fine.
1505249247
Kryx
Pro
Sheet Author
API Scripter
Indeed, the rest of the Shaped Script beyond the importing of spells and monster should work flawlessly. There is no reason to disable it.
Thank you, I have been seeing an error when I have been looking at the script in the sandbox, it's  Sheet Worker ERROR: Unable to find valid character with ID -KtrqpBeMICYNFUCkowB  I haven't tried the other features, I only went pro for importing of spells and monsters, but I will have a look at the features, my old macros broke as well but I think I need to update them to work with the Companion, as they were set up without the Pro features. I must say though I can not wait to use the importing feature! I am just eternally grateful to you guys for making roll20 so damn good! I have been using your sheet forever and in my opinion, it's the best.  I am still new to being a Pro, so if I should just leave the script and use the other features and keep an eye open for an update by Roll20 or the 5e Shaped Companion. I knew about the Roll20 change, so I'm not stressing, I can see there are lots of people trying to fix the issues and not to point fingers but I feel Roll20 should have done a better job keeping you guys informed with their updates, I can't imagine how frustrating it must be for you guys when your script was working perfectly! 
1505250230
Kryx
Pro
Sheet Author
API Scripter
It's just me updating it all, not a team. I did consider throwing in the towel due to the situation which was quite unprofessional, but hopefully I can dedicate the time and get it all working again.
WHAT?! It's just you, well my apologies, you are the only reason I went Pro, after reading about what your script was able to do I was willing to give Roll20 more money, that is seriously upsetting to me, Roll20 should be making your life easier not harder. All I can say is I hope you can find the time and I really do hope Roll20 get there act together as losing someone like yourself would be a tragedy. The amount of time people spend on Roll20 just updating sheets, monsters, spells and all the rest of it. You making this kind of Companion makes all the difference, so from me personally and everyone I know who uses your sheet, thank you for your time and effort! 
1505252290

Edited 1505252426
Have you ever been offered help by another coder, or even Roll20 itself? Literally, the only reason I'm Pro on this site is exclusively because of the Shaped Sheet + API. I would even offer to help, but I just started to learn HTML/CSS this month and haven't even started learning javascript yet. I'd donate to Patreon, but I'm rather tight on money at the moment. Maybe Roll20 should make certain Sheet Authors "Official" based on how much their sheet/API is used, and provide funding/support to said sheets/authors.
Lucian used to develop the companion script prior to Version 11. Both myself and Thorsten have helped with small code changes, but I know that my Javascript knowledge is very basic so I'm not able to help as much as I would like to.
1505253339

Edited 1505307215
Kryx
Pro
Sheet Author
API Scripter
Aaron K. said: Have you ever been offered help by another coder, or even Roll20 itself? I've received assistance from Lucian (large effort to the script and some assistance on the architecture of the sheet). Some from Thorsten on the script since Lucian retired. Techie has thrown in an idea or two I think. Aaron has helped with some tests for the sheet and is always a good sounding board to talk about stuff. Beyond that just me doing the work of a whole team over the years. Aaron K. said: Literally, the only reason I'm Pro on this site is exclusively because of the Shaped Sheet + API. I hear this a lot. Thanks for the kind words. I know people's money is tight so expecting anything on top of $10/month for roll20 is not possible. Aaron K. said: Maybe Roll20 should make certain Sheet Authors "Official" based on how much their sheet/API is used, and provide funding/support to said sheets/authors. I suggested such an idea a few years back now. I wish roll20 would've gone this route and I even talked to them about it, but it hasn't happened and likely won't. My motivation to continue this project is quite low due to these factors.
Surely they must be aware of just how many people use your sheet, and more importantly how I suspect most Pro users use your sheet. I don't understand why they wouldn't at least be open to making your sheet "Official" obviously I understand they may not want or need any more in-house devs but surely if say 90% of the Pro community use your sheet, then surely you deserve some funding.  Well, if you do stop or throw in the towel, then I will be changing my subscription back to Free as I think it is ridiculous they aren't willing to help someone that makes Roll20 this much better. I know for a fact my friends that use pro only do so because of your sheet and API, so if you did quit they would all go free or plus. I feel it's ridiculous that you may have to do that to actually be heard by Roll20... by the sounds of things.
1505326454

Edited 1505326527
Zym
Sheet Author
Is it at all possible for me to be able to run  !shaped-apply-defaults to all 291 character sheets in one command? Or is this impossible? (unthinkable even)
1505328143
Jakob
Sheet Author
API Scripter
Alex Wilson said: Is it at all possible for me to be able to run  !shaped-apply-defaults to all 291 character sheets in one command? Or is this impossible? (unthinkable even) I don't think !shaped-apply-defaults supports that use (correct me if I'm wrong), but ChatSetAttr (sameless self plug, but that's what it's for) can do it.
Alex Wilson said: Is it at all possible for me to be able to run  !shaped-apply-defaults to all 291 character sheets in one command? Or is this impossible? (unthinkable even) It won't work unfortunately.  But what you can do is create a "token page" and do them in batches of ~10.  Alternatively if you take the time to setup ChatSetAttr macro (as Jakob said) with all of your defaults, I can confirm that works quite nicely.  It's a bit tricky to figure out the right values that you want for what fields, but once you have the macro it's great. The downside is that if you use default token actions then you would need to run equivalent !shaped-abilities command anyway, which also can't handle doing in large numbers due to API timeouts. Enhancing !shaped-apply-defaults to be able to run against all of the characters would indeed be my #1 enhancement request when dealing with OGL conversions (i.e. OGL sheet to Shaped Sheet for Roll20 Modules).
1505330985

Edited 1505331534
Zym
Sheet Author
Thanks for the support. I am trying to convert Tomb of Annihilation to Shaped Sheet. This is really the first hurdle. Because the character sheets have their own defaults set up by roll20. Yet I need to change them, it seems, to access Actions and Spells being displayed in the chat (publicly). Either that or there is a problem I don't understand fully with SS and Roll20 marketplace modules. That being said. I am more than willing to try ChatSetAttr and see if I can set that up. The bonus is the the shaped ability commands are all manually inputted as macros in my Collection. (I think thats what you mean at least). I've had The Aaron help set up a ChatSetAttr previously for a simple task so I will take some time to look over what I can achieve in your APIs information. I did start converting in lines of ten, and found that a lot of Character Sheets were not displaying Actions and Spells as Chat Outputs, I don't know. I wouldn't suppose its possible for either of you to join this game, I'll make you a GM and just tell me what I am doing wrong?
1505501225

Edited 1505501279
Thorsten
KS Backer
> I did start converting in lines of ten, and found that a lot of Character Sheets were not displaying Actions and Spells as Chat Outputs, You ran into a known problem. roll20 made some breaking changes and Kryx is still working through the resulting issues. If you edit the chat output even slightly, it'll display. That's your best bet until Kryx has caught up with fixes. My recommendation: Convert the minimum you need to play this weekend. Hold off on everything else until there's a fixed sheet / API for this issue.
1505504945

Edited 1505504983
Zym
Sheet Author
Thanks Thorsten...  You have already told me this, its been a busy week at home and work, so I come to the forum a little manic and confused sometime. I apologise (yet appreciate it) for you repeating yourself. I do understand fully now.  Unluckily I imported the game and started adding all the APIs, Character Sheets, etc. Luckily we won't be playing for a little longer and definitely not this week. Thanks for the help, everyone.
1506791002
Kryx
Pro
Sheet Author
API Scripter
11.3.2 Bug fixes Large testing and fixing process which resolves #15: Issues with actions on character import , #16: NPC - API Import , #17: !shaped-expand-spells --all not working , and #20: OGL Conversion: !shaped-update-character . You must use version 15.5.6 of the sheet.
Hello, I am using shaped script version 11.3.2 with shaped sheet version 15.5.7.   I am having problems getting !shaped-at to work.  Any suggestions? Also, how do I rearrange the 3 token bubbles?  
Albert R. said: Hello, I am using shaped script version 11.3.2 with shaped sheet version 15.5.7.   I am having problems getting !shaped-at to work.  Any suggestions? Also, how do I rearrange the 3 token bubbles?   When you have problems, its helpful to give details on the steps you are taking and what error or results are being given that give you the understanding that there is a problem. You cannot rearrange the token's bubbles - you may however change their color and their purpose/linked element.
1507501458

Edited 1507501603
Modnar Wylde said: Albert R. said: Hello, I am using shaped script version 11.3.2 with shaped sheet version 15.5.7.   I am having problems getting !shaped-at to work.  Any suggestions? Also, how do I rearrange the 3 token bubbles?   When you have problems, its helpful to give details on the steps you are taking and what error or results are being given that give you the understanding that there is a problem. You cannot rearrange the token's bubbles - you may however change their color and their purpose/linked element. They mean changing which bubble is set to which default value on the script. Do !shaped-config to bring up the menu, then Token Defaults, then Token Bar Defaults and you can change which bar gets set to which value (Bar 3 is the far left bubble, Bar 1 is the middle and Bar 2 is the right bubble) Regarding !shaped-at, make sure you're adding the argument you want at the end, e.g. !shaped-at --advantage for advantage, etc. Also, make sure the token you have selected when running the command is linked to a character sheet.
1507827412

Edited 1507827537
Hello to all, My D&D group has been considering adopting Roll20 into our face-to-face sessions for quite some time. We've recently decided to run Tomb of Annihilation, and the DM baton has been passed back to me. I spent almost a week researching what Roll20 would have to offer and how best to implement it. Thanks in no small part to this community, I decided to take the plunge and begin preparations. Since making this decision, I've been researching macro syntax, implementing the 5e Shaped Sheet into the game, and slowly adding in API Scripts as I encounter a need and then discover a pre-built solution (you guys are amazing). The issue I'm having this morning is related to the optional "Meat Grinder" rule in Tomb of Annihilation, whereby Death Saves have a DC of 15 rather than 10. My group elected to adopt this rule, but I cannot find a config option or workaround to allow me to implement this rule into the Death Save Manager of the Shaped Script. I've actually found what I believe to be the solution in editing the API Script directly, but am extemely hesitant to do so without at least making this post to request guidance. What I've found, within DeathSaveManager is: switch (result) {       case 1:         failureCount += 2;         break;       case 20:         failureCount = 0;         successCount = 0;         this.roll20.setAttrWithWorker(options.character.id, 'HP', 1);         this.reportResult('Death Saves', `${options.character.get('name')} has recovered to 1 HP`, options);         break;       default:         if (result >= 10) {           successCount++;         }         else {           failureCount++;         }     } My belief is that making the following edit will serve to enable this rule:         if (result >= 15) {           successCount++;         }         else {           failureCount++;         } Could you please confirm this to be the case, or point me towards an alternative method of implementation? I'd hate to edit the code and then have to remember to do so again after implementing any future updates to the API Script. I apologize if this topic has been addressed previously. I made an effort to comb the previous posts and did not encounter a resolution. Thank you for your time!
1507827697
Kryx
Pro
Sheet Author
API Scripter
There is no alternative option, so I'd use that. I don't quite have the time to implement new features for the script, so it's likely your best option to maintain the automation. Though it looks like you're possibly using an old version of the script? It should be quite compiled now. See the OP for the most recent version. You can probably find it in the compiled version as well - just much more difficult to identify.
1507828346

Edited 1507828400
Thank you very much for the lightning-fast reply. I can completely understand not having the time to implement new features, and appreciate the work you've put in to developing the script. I've spent dozens of hours just coming to grips with what you've enabled us to do with the click of the mouse, so you have my heartfelt thanks. I'll be attempting to take up a collection from my players once we begin the campaign in order to donate to your Patreon (newborn at home and money is tight, or I'd already have commited to a donation on their behalf). I did indeed purposefully grab an older version of the script to read through since, as you pointed out, the more recent versions do make it harder to identify individual elements for someone who possesses as rudimentary of an understanding of Javascript as I do. I have the latest version implemented into my game and have indeed located the value that needs to be edited. Thank you again for confirming my assumption!
1507852263
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
There are  online decompilers that can help you see the structure more easily, and find things in the compiled version.
1508027318

Edited 1508028160
Has anyone else encountered something like this before when importing a creature/monster? "TypeError: _constants.SKILLS.indexOf is not a function" "TypeError: _constants.SKILLS.indexOf is not a function\n at Object.process (eval at messageHandler (evalmachine.<anonymous>:282:6), <anonymous>:8:16791)\n at Object.eval [as -KwSLQPV_FHpofgVQXXK//false//0.6559554319760406] (eval at messageHandler (evalmachine.<anonymous>:282:6), <anonymous>:98:2568)\n at _fullfillAttrReq (evalmachine.<anonymous>:257:31)\n at messageHandler (evalmachine.<anonymous>:288:6)\n at process.<anonymous> (/home/node/d20-api-server/node_modules/tiny-worker/lib/worker.js:68:55)\n at emitTwo (events.js:106:13)\n at process.emit (events.js:194:7)\n at process.nextTick (internal/child_process.js:766:12)\n at _combinedTickCallback (internal/process/next_tick.js:73:7)\n at process._tickCallback (internal/process/next_tick.js:104:9)" Occasionally, there will be one additional error that follows such as these: "Hand does not exist in the list of skills"  (Maybe from Sleight of Hand?) "History does not exist in the list of skills" Additionally, this will sometimes occur during an import after an error like the previous occurs: Possible infinite loop detected, shutting down. Otherwise, I often won't notice unless I happen to check the API log or open the sheet and notice many of the skills on the creature are missing. It seems to completely random for me, and when it happens with a specific creature on one attempt, reattempting the import on the same creature after restarting the sandbox usually results in the creature importing correctly. Otherwise, none of the skills import to that creature. * Update: I found a case that repeats 100% of the time, so I'll post it to the issue tracker.
Hello again,  New day and new question. I've enabled Saving Throws as a token ability by following this route: !shaped-config > New Characters > Default Token Actions > Saves (Query). When this token action is used to roll a Death Save, it correctly rolls a death saving throw, outputs to chat the current standing (pre-roll) of the character's death saves, but does not update the death save total with the result of the die roll. Opening the character sheet and Clicking "DEATH SAVES" responds as expected, including updating the death saves on the character sheet. I assume that the two should work exactly the same, without this disconnect. Is this something that has been encountered before? If so, has anyone been able to "fix" it to update the character sheet? It's a pretty minor issue overall but, since my group intends to play face-to-face using a large screen television and tablets for each player to control their character, I'm trying to implement as many token actions as possible. Thank you.
1508169037
Kryx
Pro
Sheet Author
API Scripter
I would recommend not using the query for saving throw or ability checks. The query syntax within roll20 is very very limited. They are only provided for legacy purposes. Chat macros are much more capable.
Awesome and timely reply Kryx. Switching the Saving Throws Token Ability to chatWindow, rather than query, allowed the death saves to work exactly as expected.
So not sure but i am haivng trouble finding the API that is up to date for shaped companion. I looked on the git hub but not getting anything. Sorry i don't have the original link to your github could i get a link to the most up to date one.
1508513948
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Mirror Self said: So not sure but i am haivng trouble finding the API that is up to date for shaped companion. I looked on the git hub but not getting anything. Sorry i don't have the original link to your github could i get a link to the most up to date one. It's in the first post on the first page of this topic.
1508542180

Edited 1508542421
I ran into a problem after updating the html/css/translation and the shaped scripts API. With no scripts running except for the "5e Shaped Script.js" I get this error: Spinning up new sandbox... "Starting webworker script..." SyntaxError: Invalid or unexpected token Anyone have ideas on how to fix this issue or to investigate it further? I tried pasting the new Shaped Script into a new api script and disabling the previous one, but the same error occurs. Shaped Sheet HTML 15.5.7 Shaped Script 11.3.2 ----- I echo the above sentiment from several posters. I'm only a pro member for use of the wonderful Shaped Sheet. Kryx's work has made our games easier and more fun with streamlined, customizable sheets and the added functionality of the companion script.
1508654715

Edited 1508654774
DM
Pro
I'm trying to create a spellbook macro to work with !shaped-spells but it doesn't seem to work. I believe the answer to my problem is "you can't do that" but I wanted to ask.  I created a macro (in bar) called Spells. I created it for my wife (cleric) so she can easily look at her spells that she is allowed to cast. She would first select her token and then click on the Spells button in her macro bar. Here is an example of the command: ?{Pick Spell Level|1, !shaped-spells --lists Cleric --level 1|2, !shaped-spells --lists Cleric --level 2} Again, I'm pretty sure I can't do this, but wanted some insight to make sure.  Thanks Edit: Added clarification
DM said: I'm trying to create a spellbook macro to work with !shaped-spells but it doesn't seem to work. I believe the answer to my problem is "you can't do that" but I wanted to ask.  I created a macro (in bar) called Spells. I created it for my wife (cleric) so she can easily look at her spells that she is allowed to cast. She would first select her token and then click on the Spells button in her macro bar. Here is an example of the command: ?{Pick Spell Level|1, !shaped-spells --lists Cleric --level 1|2, !shaped-spells --lists Cleric --level 2} Again, I'm pretty sure I can't do this, but wanted some insight to make sure.  Thanks Edit: Added clarification Why not just use the macro that is available from the shaped sheet?
1508678053

Edited 1508678448
Kryx
Pro
Sheet Author
API Scripter
Api commands must be at the start. Try something like: !shaped-spells --lists Cleric --level ?{level|1|2|3|4|5|6} I'm not sure what your full intention is, but that should work. I expect she'd be better off by just having a macro that does all the currently available levels and then she can deselect ones that she doesn't want to see currently.
1508690707

Edited 1508705949
DM
Pro
Thanks for the clarification.  The intention is so she can easily swap spells after a long rest.  Edit: Your command works great. Thank you so much
The importer is freaking awesome... Having to build PotA from the ground up is going to take a while to spec out the beastiary.  While most monsters imported fine, some did not.  Not referring to PotA specific.  For example, a Nothic threw the error "Unrecognized or poorly formed option Nothic".  While that one i can just import from LMoP, other basic monsters are having that problem.  Also had some issues like this with some of the spells.  Any suggestions?
Joshua J. said: The importer is freaking awesome... Having to build PotA from the ground up is going to take a while to spec out the beastiary.  While most monsters imported fine, some did not.  Not referring to PotA specific.  For example, a Nothic threw the error "Unrecognized or poorly formed option Nothic".  While that one i can just import from LMoP, other basic monsters are having that problem.  Also had some issues like this with some of the spells.  Any suggestions? The Nothic is not a monster in  the 5e SRD  (see. pp 335-6). Some of what you consider "basic monsters" Wizards has kept as protected content.
Lady Victoria said: Joshua J. said: The importer is freaking awesome... Having to build PotA from the ground up is going to take a while to spec out the beastiary.  While most monsters imported fine, some did not.  Not referring to PotA specific.  For example, a Nothic threw the error "Unrecognized or poorly formed option Nothic".  While that one i can just import from LMoP, other basic monsters are having that problem.  Also had some issues like this with some of the spells.  Any suggestions? The Nothic is not a monster in  the 5e SRD  (see. pp 335-6). Some of what you consider "basic monsters" Wizards has kept as protected content. Wow... The list on !shaped-monsters was pretty massive so I just assumed it had them all. Quickly flipping through my MM, I was seeing a good majority of them... I guess I have never just looked at the SRD full list.  Thanks.
techiecarer said: Modnar Wylde said: Albert R. said: Hello, I am using shaped script version 11.3.2 with shaped sheet version 15.5.7.   I am having problems getting !shaped-at to work.  Any suggestions? Also, how do I rearrange the 3 token bubbles?   When you have problems, its helpful to give details on the steps you are taking and what error or results are being given that give you the understanding that there is a problem. You cannot rearrange the token's bubbles - you may however change their color and their purpose/linked element. They mean changing which bubble is set to which default value on the script. Do !shaped-config to bring up the menu, then Token Defaults, then Token Bar Defaults and you can change which bar gets set to which value (Bar 3 is the far left bubble, Bar 1 is the middle and Bar 2 is the right bubble) Regarding !shaped-at, make sure you're adding the argument you want at the end, e.g. !shaped-at --advantage for advantage, etc. Also, make sure the token you have selected when running the command is linked to a character sheet. Somehow, my use of !shaped-at is automatically creating advantage/disadvantage token action macros for every token I put on the board.  How do I stop it?
So last question and I'll quite down for awhile lol. Is there a way to add my own spells to be imported? I'm not good at programming but if it's just a matter of adding them to the js file I can figure it out if the others are there. While setting up PotA, retyping the same spell OVER AND OVER is getting tedious... I'd love a way to add all of the EE spells. I do own the PotA book if that matters.
Joshua J. said: So last question and I'll quite down for awhile lol. Is there a way to add my own spells to be imported? I'm not good at programming but if it's just a matter of adding them to the js file I can figure it out if the others are there. While setting up PotA, retyping the same spell OVER AND OVER is getting tedious... I'd love a way to add all of the EE spells. I do own the PotA book if that matters. <a href="https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data</a>
I must be blind or I am not finding the answer.&nbsp; I am a lazy DM and I use the Statblock macro to show a creatures statblock in chat instead of opening the sheet itself.&nbsp; I have run into an issue where said statblock never shows resistances and immunites etc.&nbsp; Is there a way to force this or is it a have to open the sheet thing or have it in side notes?
1509081789
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I run into performance problems trying to open too many sheets during a game. I just wish I had a separate GM-only chat window.
Shadowspawn said: Joshua J. said: So last question and I'll quite down for awhile lol. Is there a way to add my own spells to be imported? I'm not good at programming but if it's just a matter of adding them to the js file I can figure it out if the others are there. While setting up PotA, retyping the same spell OVER AND OVER is getting tedious... I'd love a way to add all of the EE spells. I do own the PotA book if that matters. <a href="https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data</a> Thank you so much for this!&nbsp; I looked all over the forums and I saw this mentioned but sadly must have over looked it... There's a few scenarios not covered in the examples.&nbsp; For example if it's a ritual spell, wasn't sure if that had it's own line like "ritual": true or something.&nbsp; And, if the Duration is longer that just a single entry, for example "Concentration, for up to 1 minute" is that how it's entered in?&nbsp; Thanks!
1509215524
Kryx
Pro
Sheet Author
API Scripter
Joshua J. said: Shadowspawn said: <a href="https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/wiki/Adding%20Custom%20Data</a> Thank you so much for this!&nbsp; I looked all over the forums and I saw this mentioned but sadly must have over looked it... There's a few scenarios not covered in the examples.&nbsp; For example if it's a ritual spell, wasn't sure if that had it's own line like "ritual": true or something.&nbsp; And, if the Duration is longer that just a single entry, for example "Concentration, for up to 1 minute" is that how it's entered in?&nbsp; Thanks! I have added detect magic to the list of examples. It covers both ritual and concentration. The format was an agreement between Lucian and I. Neither of us were fully satisfied, but that's how it is.