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

Does Anyone Still Use the 5e Shaped Sheet?

My 3 year old campaign uses the Shaped Sheet, but some change made in the backend this week broke the Shaped Sheet Companion Script which does... A LOT of things that the 5e sheet still doesn't do. Does everybody playing 5e just use the official 5e sheet which looks worse (sorry - nothing like a D&D character sheet) and has less functionality than the Shaped Sheet from 4 years ago? My players and I are wondering if we have to switch over to the generic character sheet, and if so, then maybe we need to do it sooner than later, as the Shaped Sheet is no longer being supported or updated. Anybody out there in the same boat? What are you all doing?
1624719961
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I switched a few years ago. The Shaped Sheet is much more powerful, but the lack of support and development is a serious issue. Even Kryx (the developer) recommended switching. Also, I'm not sure which version of the official sheet you are looking at (it got an optional face lift years ago), but it pretty closely follows the look of the WotC sheet. More closely than the Shaped Sheet.
I use the Shaped Sheet and yeah, the companion script stopped working. I'm running 3 campaigns and it's going to be an issue to convert.
1624844694

Edited 1624845163
Great, just freaking great. This totally screws all the work I have done in my campaign. 
Here is the issue tracker:&nbsp; <a href="https://bitbucket.org/mlenser/5eshapedscript/issues?status=new&amp;status=open" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/issues?status=new&amp;status=open</a> You could create an issue in the slight chance that Kryx or lucian (sp?) would see it and have the motivation to fix what roll 20 broke.
1624859031

Edited 1624859248
Oosh
Sheet Author
API Scripter
I have no way of testing it out, but you can try this modded script - it's too big for Pastebin so it's on GitHub. It has this added at line 18741: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;Oosh&nbsp;modification&nbsp;to&nbsp;try&nbsp;to&nbsp;get&nbsp;script&nbsp;working &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;Try&nbsp;to&nbsp;find&nbsp;a&nbsp;character&nbsp;sheet&nbsp;version&nbsp;on&nbsp;an&nbsp;existing&nbsp;character,&nbsp;make&nbsp;sure&nbsp;it's&nbsp;a&nbsp;string &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;(! version )&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let &nbsp; charArray &nbsp;=&nbsp; findObjs ({ type : &nbsp; 'character' }); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for &nbsp;( let &nbsp; i = 0 ;&nbsp; i &lt; charArray . length ;&nbsp; i ++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version &nbsp;=&nbsp; getAttrByName ( charArray [ i ]. id ,&nbsp; 'version' ); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &nbsp;( version )&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = charArray . length ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version &nbsp;=&nbsp; ` ${ version } ` ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;End&nbsp;of&nbsp;modification Basically just loops through character sheets until it finds a version attribute, as creating a fresh character sheet (the method the script relies on) doesn't seem to initialise with the attribute and needs the sheet to be opened. As I said, I can't test it so I have no idea if it'll still have errors down the line, but that should get around the version issue provided you have at least one character sheet in the Campaign which has been opened at some point.
Switched to 5e by Roll20 a while back, but still miss the shaped sheet and the companion. It was great.&nbsp;
Thanks oosh I will test. &nbsp;Kryx responded to the issue on GitHub and said he may be able to fix it if someone could tell him what roll 20 broke.
I know it might be putting off the inevitable, but it would be amazing if we could find a patch for now. Then I can start emotionally preparing to move to the standard one. I haven't seen the version that looks anything like the WotC sheet. Thanks for the heads up Keith.
Oosh I tested and it seems to work so far!&nbsp; thanks very much.&nbsp; if others could test as well that would be great.
1624896248
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
John P said: I know it might be putting off the inevitable, but it would be amazing if we could find a patch for now. Then I can start emotionally preparing to move to the standard one. I haven't seen the version that looks anything like the WotC sheet. Thanks for the heads up Keith. They each have some changes from WotC (as they should, given the difference in purpose), but Roll20 adheres slightly closer to the WotC design, IMHO:
1624902171

Edited 1624902636
I can confirm that Oosh's solution does indeed work as far as I can tell! Thanks man, was about to shit bricks, trying to wrap my head around forcefully having to switch character sheets 2+ years into a campaign... This saved me a massive headache! EDIT: I have come upon one error (or multiple referring to one aspect). My monsters don't roll for HP when dragged to the map, or when applying Default options (where I have set HP as one of the bars). The error it comes with is this: "5eShapedScript 1624902473189 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1624902473190 ERROR : ReferenceError: sheetInfo is not defined &nbsp;&nbsp;&nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp;&nbsp;&nbsp; at String.replace (&lt;anonymous&gt;) &nbsp;&nbsp;&nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp;&nbsp;&nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp;&nbsp;&nbsp; at Roll20.sendChat (apiscript.js:18990:20) &nbsp;&nbsp;&nbsp; at apiscript.js:23056:43 &nbsp;&nbsp;&nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp;&nbsp;&nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:23052:149) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:22986:28)"
1624902509
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Oosh is the best.
keithcurtis said: Oosh is the best. Yeah I'm really happy that everything more or less seems to be working again. Automatically rolling HP is not a gamebreaker, but if the error can be fixed, that would be great. If not, &lt;shrugs&gt; it's not the end of the world. :D
Kasper N. said: I can confirm that Oosh's solution does indeed work as far as I can tell! Thanks man, was about to shit bricks, trying to wrap my head around forcefully having to switch character sheets 2+ years into a campaign... This saved me a massive headache! EDIT: I have come upon one error (or multiple referring to one aspect). My monsters don't roll for HP when dragged to the map, or when applying Default options (where I have set HP as one of the bars). The error it comes with is this: "5eShapedScript 1624902473189 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1624902473190 ERROR : ReferenceError: sheetInfo is not defined &nbsp;&nbsp;&nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp;&nbsp;&nbsp; at String.replace (&lt;anonymous&gt;) &nbsp;&nbsp;&nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp;&nbsp;&nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp;&nbsp;&nbsp; at Roll20.sendChat (apiscript.js:18990:20) &nbsp;&nbsp;&nbsp; at apiscript.js:23056:43 &nbsp;&nbsp;&nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp;&nbsp;&nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:23052:149) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:22986:28)" Yes it seems the monster importer is completely broken
1624904857
Kryx
Pro
Sheet Author
API Scripter
I have added some code to the script based on Oosh's fix above. I will attempt to release a patch, but working with 3 year old code is a bit difficult.
1624906031

Edited 1624906040
Kryx
Pro
Sheet Author
API Scripter
I'm unsure where this code used to be released. It was removed from 1 click around version 10 so I won't add it back there. 13.9.1 is now available at&nbsp; <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a> If someone can test it, that'd be great. :D If there are other super minor things that I can fix, then I can take a look. Though most will be very difficult to address.
Kryx said: Does anyone know where the code used to be released? It's not available on 1 click for reasons that I forget.. Dunno if this is what you're after, but this is where I used to get it from: <a href="https://app.roll20.net/forum/post/5222093/5e-shaped-script-version-11-plus/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/5222093/5e-shaped-script-version-11-plus/?pagenum=1</a>
Kryx said: 13.9.1 is now available at&nbsp; <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a> If someone can test it, that'd be great. :D I have a game i 5 minutes so can't test until it's done, but will have a look and report back later today/tomorrow.
1624908604
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Kryx is also the best.
Kryx said: I'm unsure where this code used to be released. It was removed from 1 click around version 10 so I won't add it back there. 13.9.1 is now available at&nbsp; <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a> If someone can test it, that'd be great. :D If there are other super minor things that I can fix, then I can take a look. Though most will be very difficult to address. I tried the new 13.9.1 script that Kryx posted and I still get the same error. Can anyone confirm a different result?&nbsp;
1624913119
Kryx
Pro
Sheet Author
API Scripter
I didn't test it myself so it's entirely likely that it doesn't work. I'll try to get it up and running tomorrow to debug.
1624916560

Edited 1624931681
John P
KS Backer
Jeffrey A. said: I tried the new 13.9.1 script that Kryx posted and I still get the same error. Can anyone confirm a different result?&nbsp; First of all - I love you guys. Look at this. People out here helping each other to add more gaming/happiness to peoples' lives. It gives me such happy feels, man. And I appreciate it all so so much. Testing : the 13.9.1 from Kryx still throws the infinite loop for me, too.&nbsp; the mod from Oosh seemed like it worked for a while, but the infinite loop came back and shut down the API... Doh!
I tried the new script, but it couldn't find the Shaped Sheet. I got the following error: "5eShapedScript 1624941981149 ERROR : Couldn’t find Shaped Character Sheet. This Shaped Script requires the Shaped Character Sheet to be installed in the campaign."
1624950239
Kryx
Pro
Sheet Author
API Scripter
I have tested, compiled, and released 13.9.2. It should work properly now:&nbsp;<a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a>
Kryx said: I have tested, compiled, and released 13.9.2. It should work properly now:&nbsp; <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a> It now detects the sheet, and during my 5-minute testing it hasn't gone into the "infinite loop", but when I drag a creature from the Journal into the map, it doesn't roll for HP and prints the following error to the API: "5eShapedScript 1624971520109 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1624971520110 ERROR : ReferenceError: sheetInfo is not defined &nbsp;&nbsp;&nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp;&nbsp;&nbsp; at String.replace (&lt;anonymous&gt;) &nbsp;&nbsp;&nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp;&nbsp;&nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp;&nbsp;&nbsp; at Roll20.sendChat (apiscript.js:7:70024) &nbsp;&nbsp;&nbsp; at apiscript.js:7:222456 &nbsp;&nbsp;&nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp;&nbsp;&nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222083) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218188)" When I drag a creature from the Compendium to the map it come with the following error: "5eShapedScript 1624971442592 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1624971442593 ERROR : ReferenceError: sheetInfo is not defined &nbsp;&nbsp;&nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp;&nbsp;&nbsp; at String.replace (&lt;anonymous&gt;) &nbsp;&nbsp;&nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp;&nbsp;&nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp;&nbsp;&nbsp; at Roll20.sendChat (apiscript.js:7:70024) &nbsp;&nbsp;&nbsp; at apiscript.js:7:222456 &nbsp;&nbsp;&nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp;&nbsp;&nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp;&nbsp;&nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222083) &nbsp;&nbsp;&nbsp; at apiscript.js:7:218095"
1624974046
Kryx
Pro
Sheet Author
API Scripter
Good to know that the main issue is fixed. The other issues seem unrelated. I can spend a few mins looking, but not sure that I'll be able to address them.
Kryx and Oosh. Thank you. Thank you. Thank you!!!!&nbsp; The shaped sheet is great but the Shaped Companion Script is the best.&nbsp; It saves me soooo much time! I'm glad that it wasn't a difficult fix. I started looking at the code myself but haven't coded JavaScript in 20 years and my skills are very rusty. Plus, I had no idea where to test/debug it.&nbsp;
I just tested the monster import. Alas, as King Midnight said above," it seems the monster importer is completely broken" :(
I know it's not a lot of help, but I'm going through some of the functions, essentially doing QA.&nbsp; Shall I log the issues here or in the tracker.&nbsp; I think whatever the change was that broke the sheet in the first place might be causing the problem with monster imports.&nbsp; Until I hear back, I'll post findings here and in the issue tracker.
1624979912
Kryx
Pro
Sheet Author
API Scripter
Issue tracker for the script would work best. Though I want to temper expectations here. The code was not written by me and is 3 years old. It's not easy to work with. I may not be able to fix things.
I totally get it, would love to help since I've got more time on my hands (recently retired) but I don't know where to start.&nbsp; I added a note to the issue in the tracker. Here's what I did (am sure it's not the way anyone wants it reported but hey, I have to research how to do that too!) <a href="https://screencast-o-matic.com/watch/cr1UoxV1kla" rel="nofollow">https://screencast-o-matic.com/watch/cr1UoxV1kla</a> &nbsp;
<a href="https://app.roll20.net/forum/post/10182540/unknown-error" rel="nofollow">https://app.roll20.net/forum/post/10182540/unknown-error</a> Likely that this issue is related.
1625032992

Edited 1625033235
Oosh
Sheet Author
API Scripter
Is the script logging anything else just before that npc drop error? And what happens if you select the just-dropped token and type: %{selected|shaped_npc_hp}
1625066466

Edited 1625067886
For me it throws an error, but the macro correctly rolls hp in chat. _see error below) "5eShapedScript 1625065224997 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1625065225004 ERROR : ReferenceError: sheetInfo is not defined &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp; &nbsp; at String.replace (&lt;anonymous&gt;) &nbsp; &nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp; &nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp; &nbsp; at Roll20.sendChat (apiscript.js:7:70024) &nbsp; &nbsp; at apiscript.js:7:222456 &nbsp; &nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222083) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218188)" Running !shaped-spells (on an allosaurus token) returns another error message: Error: Character Allosaurus is not at the required sheet version [], but instead [19.4.0]. Try opening the character sheet or running !shaped-update-character to update it. Updating the character doesn't fix it.
1625068570
Kryx
Pro
Sheet Author
API Scripter
Hi JP, Someone opened an issue at&nbsp; <a href="https://bitbucket.org/mlenser/5eshapedscript/issues/76/monster-importer-and-spell-importer-both" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/issues/76/monster-importer-and-spell-importer-both</a> &nbsp;for the second issue. The first is seemingly outside the sheet. The sheet has nothing called sheetInfo so I'm unsure how that can be solved.
1625069445
Kryx
Pro
Sheet Author
API Scripter
13.9.3 is released which should fix the required sheet version error: <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a>
1625133782
Oosh
Sheet Author
API Scripter
@JP - I was hoping for anything in the API log *before* the error, not the error itself - as Kryx said, the error isn't immediately from the Shaped Script. Do you have a screenshot of what comes through in chat, and also maybe 20 lines from the API log before the error? @Kryx - Yeah, the sheetInfo thing isn't from the script itself, but it looks like it's throwing an error via something the script is sending to sendChat() .... the console log from immediately before the error could hopefully shed some light on exactly where the issue is... without having to dig through 10,000 lines of code. I'm assuming the sendChat error is stopping the script from applying the HP settings
1625152396

Edited 1625152428
@Oosh Unfortunately nothing else appears to be logged.&nbsp; I tried several times both dragging and dropping new monsters onto the objects layer as well as using the macro with a token selected.&nbsp; The script initiates and then the next thing I see is the error.&nbsp; (sorry this is long but posting for completeness) "5eShapedScript 1625149327901 INFO : Starting configuration state: {\"version\":5.3,\"config\":{\"genderPronouns\":[{\"matchPattern\":\"^f$|female|girl|woman|feminine\",\"nominative\":\"she\",\"accusative\":\"her\",\"possessive\":\"her\",\"reflexive\":\"herself\"},{\"matchPattern\":\"^m$|male|boy|man|masculine\",\"nominative\":\"he\",\"accusative\":\"him\",\"possessive\":\"his\",\"reflexive\":\"himself\"},{\"matchPattern\":\"^n$|neuter|none|construct|thing|object\",\"nominative\":\"it\",\"accusative\":\"it\",\"possessive\":\"its\",\"reflexive\":\"itself\"}],\"logLevel\":\"INFO\",\"tokenSettings\":{\"number\":false,\"bar1\":{\"attribute\":\"HP\",\"max\":true,\"link\":false,\"showPlayers\":false},\"bar2\":{\"attribute\":\"speed\",\"max\":false,\"link\":true,\"showPlayers\":false},\"bar3\":{\"attribute\":\"\",\"max\":false,\"link\":false,\"showPlayers\":false},\"aura1\":{\"radius\":\"\",\"color\":\"#FFFF99\",\"square\":false},\"aura2\":{\"radius\":\"\",\"color\":\"#59e594\",\"square\":false},\"light\":{\"radius\":\"\",\"dimRadius\":\"\",\"otherPlayers\":false,\"hasSight\":true,\"angle\":360,\"losAngle\":360,\"multiplier\":1},\"showName\":true,\"showNameToPlayers\":false,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true,\"monsterTokenName\":\"\"},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"***default***\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"\",\"initiativeToTracker\":0,\"breakInitiativeTies\":false,\"showTargetAC\":false,\"showTargetName\":false,\"autoAmmo\":true,\"autoRevertAdvantage\":false,\"houserules\":{\"mediumArmorMaxDex\":2,\"saves\":{\"useCustomSaves\":false,\"useAverageOfAbilities\":false,\"fortitude\":{\"fortitudeStrength\":false,\"fortitudeDexterity\":false,\"fortitudeConstitution\":false,\"fortitudeIntelligence\":false,\"fortitudeWisdom\":false,\"fortitudeCharisma\":false},\"reflex\":{\"reflexStrength\":false,\"reflexDexterity\":false,\"reflexConstitution\":false,\"reflexIntelligence\":false,\"reflexWisdom\":false,\"reflexCharisma\":false},\"will\":{\"willStrength\":false,\"willDexterity\":false,\"willConstitution\":false,\"willIntelligence\":false,\"willWisdom\":false,\"willCharisma\":false},\"savingThrowsHalfProf\":false},\"baseDC\":\"***default***\",\"expertiseAsAdvantage\":false,\"inspirationMultiple\":false,\"criticalDamageHouserule\":\"***default***\",\"proficiencyDice\":false,\"psionics\":false,\"customClasses\":false,\"honorToggle\":false,\"sanityToggle\":false,\"hitPointsRecoveredOnALongRest\":\"***default***\",\"hitDiceRecoveredOnALongRest\":\"***default***\",\"diceSystem\":\"***default***\",\"deathSavingThrowChances\":\"***default***\",\"proficientArmorWeighs\":\"***default***\",\"hitDiceRecoveredOnAShortRest\":\"***default***\"},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":false,\"abilityChecks\":null,\"advantageTracker\":null,\"savingThrows\":null,\"statblock\":false,\"traits\":null,\"actions\":null,\"reactions\":null,\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":false,\"spells\":false,\"showRecharges\":false,\"classFeatures\":null,\"feats\":null,\"racialTraits\":null,\"offense\":null,\"utility\":null},\"textSizes\":{\"spellsTextSize\":\"text\",\"abilityChecksTextSize\":\"text\",\"savingThrowsTextSize\":\"text\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideContent\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"display\":{\"showPassiveSkills\":false,\"showWeight\":\"***default***\",\"showEmote\":false,\"showFreetext\":false,\"showFreeform\":false,\"showDiceModifiers\":false,\"showCritRange\":false,\"extraOnACrit\":false,\"npcSkillsShow\":\"***default***\"},\"measurementSystems\":{\"distanceSystem\":\"***default***\",\"weightSystem\":\"***default***\"},\"automaticHigherLevelQueries\":\"***default***\",\"automaticallyExpendSpellResources\":true,\"automaticallyRollDamageForAttacks\":\"***default***\",\"automaticallyRollDamageForSavingThrows\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":false,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoTraits\":true,\"turnRecharges\":false,\"ammoRecovery\":false,\"trackSpellComponents\":false},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longRestHDRecovery\":0.5,\"longRestHPRecovery\":1}}}}" "5eShapedScript 1625150151176 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1625150151181 ERROR : ReferenceError: sheetInfo is not defined &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp; &nbsp; at String.replace (&lt;anonymous&gt;) &nbsp; &nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp; &nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp; &nbsp; at Roll20.sendChat (apiscript.js:7:70028) &nbsp; &nbsp; at apiscript.js:7:222509 &nbsp; &nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222136) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218241)" "5eShapedScript 1625150572184 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1625150572185 ERROR : ReferenceError: sheetInfo is not defined &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp; &nbsp; at String.replace (&lt;anonymous&gt;) &nbsp; &nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp; &nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp; &nbsp; at Roll20.sendChat (apiscript.js:7:70028) &nbsp; &nbsp; at apiscript.js:7:222509 &nbsp; &nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222136) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218241)" "5eShapedScript 1625150596433 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1625150596434 ERROR : ReferenceError: sheetInfo is not defined &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp; &nbsp; at String.replace (&lt;anonymous&gt;) &nbsp; &nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp; &nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp; &nbsp; at Roll20.sendChat (apiscript.js:7:70028) &nbsp; &nbsp; at apiscript.js:7:222509 &nbsp; &nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222136) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218241)" "5eShapedScript 1625151975949 ERROR : ReferenceError: sheetInfo is not defined" "5eShapedScript 1625151975949 ERROR : ReferenceError: sheetInfo is not defined &nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:420:35) &nbsp; &nbsp; at String.replace (&lt;anonymous&gt;) &nbsp; &nbsp; at Object.d20.textchat.doChatInput (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:165:1), &lt;anonymous&gt;:369:29) &nbsp; &nbsp; at sendChat (/home/node/d20-api-server/api.js:1879:16) &nbsp; &nbsp; at Roll20.sendChat (apiscript.js:7:70028) &nbsp; &nbsp; at apiscript.js:7:222509 &nbsp; &nbsp; at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1328:7) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as each] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1842:37) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:222136) &nbsp; &nbsp; at NewCharacterConfigurer.value (apiscript.js:7:218241)"
1625508859
Kryx
Pro
Sheet Author
API Scripter
Unfortunately, sheetInfo is somewhere in Roll20's code, not mine. Aaron talked to one of the developers and they said they'd investigate, but that's all I know. Not much I can do. Best to raise this issue with Roll20 devs.
I put a help request in with them to see if they could possibly help with what happened to break the sheet. They responded that they would look into it and I suggested they try to reach out to you Kryx hoping with a little collaboration it would make it easier to figure out what happened. I realize it’s a long shot but I’m holding out hope that it can be fixed b/c otherwise I’m afraid my campaign is ruined.&nbsp;
1625544488

Edited 1625544529
Oosh
Sheet Author
API Scripter
I would imagine it's related to this issue , but not 100% sure. It's a very similar stack though. It looks like an error in one of the @{attribute} lookup/replacer functions might be the culprit, but not having access to the function looking for this "sheetInfo" variable makes it a little difficult to follow. It looks like it's on the API side and not the core Roll20 replacers.
Kryx said: Unfortunately, sheetInfo is somewhere in Roll20's code, not mine. Aaron talked to one of the developers and they said they'd investigate, but that's all I know. Not much I can do. Best to raise this issue with Roll20 devs. Any reason this update or issue might break the following commands and stop them from working? I am getting this error in my chat log: Shaped Scripts Error An error occurred. Please see the log for more details. !shaped-at --advantage !shaped-at --normal !shaped-at --disadvantage and this in the API sandbox "5eShapedScript 1625549664685 ERROR : TypeError: Cannot read property 'logger' of undefined &nbsp; &nbsp; at apiscript.js:782:89977 &nbsp; &nbsp; at Function.map (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1349:24) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as map] (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1849:39) &nbsp; &nbsp; at apiscript.js:782:89756 &nbsp; &nbsp; at reducer (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1368:16) &nbsp; &nbsp; at Function.&lt;anonymous&gt; (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1375:14) &nbsp; &nbsp; at processSelection (apiscript.js:782:89542) &nbsp; &nbsp; at Command.value (apiscript.js:782:93530) &nbsp; &nbsp; at Object.processCommand (apiscript.js:782:95754) &nbsp; &nbsp; at apiscript.js:782:240099"
1625564827

Edited 1625564993
Kryx
Pro
Sheet Author
API Scripter
Oosh said: I would imagine it's related to this issue , but not 100% sure. It's a very similar stack though. It looks like an error in one of the @{attribute} lookup/replacer functions might be the culprit, but not having access to the function looking for this "sheetInfo" variable makes it a little difficult to follow. It looks like it's on the API side and not the core Roll20 replacers. Good to know what the cause is. Seems likely. Hopefully they can look at this. Bran said: Any reason this update or issue might break the following commands and stop them from working? I am getting this error in my chat log: "5eShapedScript 1625549664685 ERROR : TypeError: Cannot read property 'logger' of undefined &nbsp; &nbsp; at apiscript.js:782:89977 &nbsp; &nbsp; at Function.map (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1349:24) &nbsp; &nbsp; at _$1.&lt;computed&gt; [as map] (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1849:39) &nbsp; &nbsp; at apiscript.js:782:89756 &nbsp; &nbsp; at reducer (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1368:16) &nbsp; &nbsp; at Function.&lt;anonymous&gt; (/home/node/d20-api-server/node_modules/underscore/underscore-umd.js:1375:14) &nbsp; &nbsp; at processSelection (apiscript.js:782:89542) &nbsp; &nbsp; at Command.value (apiscript.js:782:93530) &nbsp; &nbsp; at Object.processCommand (apiscript.js:782:95754) &nbsp; &nbsp; at apiscript.js:782:240099" This seems unrelated to the above. A similar issue is documented&nbsp; <a href="https://bitbucket.org/mlenser/5eshapedscript/issues/76/monster-importer-and-spell-importer-both" rel="nofollow">https://bitbucket.org/mlenser/5eshapedscript/issues/76/monster-importer-and-spell-importer-both</a> &nbsp;and I'll try to take some time to look at why it is happening, but my time is quite limited with two young children right now. I'll try my best.
1625569203
Kryx
Pro
Sheet Author
API Scripter
The logger issue should be gone as part of 13.9.4 <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a>
Kryx said: The logger issue should be gone as part of 13.9.4 <a href="https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript" rel="nofollow">https://github.com/mlenser/roll20-api-scripts/tree/master/5eShapedScript</a> Bless you, you beautiful person! It works perfectly! Thank you SO much.
Dropping in here with a weird error I can't seem to resolve. I'm adding the sheet information from here into my campaign as a custom sheet. Then adding this script in as custom API script. But on spinning up the sandbox I am getting a weird version detect error: "5eShapedScript 1625629474729 INFO : -=&gt; ShapedScript v13.9.4 &lt;=-" "5eShapedScript 1625629483115 INFO : Detected sheet version as : 2.7" "5eShapedScript 1625629483118 ERROR : The Shaped Script requires the Shaped sheet to be version 11.5.0 or higher. You're currently using version 2.7. Please install the latest Shaped sheet from github: <a href="https://github.com/mlenser/roll20-character-sheets/tree/master/5eShaped" rel="nofollow">https://github.com/mlenser/roll20-character-sheets/tree/master/5eShaped</a>" Any ideas for how to resolve this? At wit's end here haha Thanks!
1625640692

Edited 1625640708
Kryx
Pro
Sheet Author
API Scripter
The script is now searching through all character sheets for the version field. You have a sheet with a version field of 2.7 somewhere.
Oh okay - so if I am doing this with an existing campaign that has a WotC module running in it, what is it I should be doing to update the existing character sheets in the game?&nbsp;
1625653994
Kryx
Pro
Sheet Author
API Scripter
You'll need to find the verison field on the sheet and change it from 2.7 to the latest shaped version. The API relies on the first sheet it finds. I'm not sure how Roll20 sorts the sheets when I ask for all of them. You'll only need to fix the one sheet though.