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

5e Shaped Companion v6+

1487894959
Lucian
Pro
API Scripter
This script is designed to enhance the 5e Shaped Character sheet by Kryx. It provides a variety of import methods, token & character configuration services, and dynamic sheet enhancements (ammo, death save, HD processing etc). Full details of the functionality can be found in the documentation available on github , along with a changelog listing fixes and features for each version. Installation You can find the latest script from my github - you can also see the latest changelog and up-to-date documentation there as well.Copy the raw text of 5eShapedCompanion.js into a new script in your API settings (or paste it over your previous version if updating). Please note that installation by 1-Click is not particularly recommended because you will have no control how and when the script updates, which could cause you unexpected problems just before game night. You have been warned! Usage Please see the Github Documentation for full details on available command and other functionality. Problems and Bugs If you're having trouble getting set up, don't understand something, or just need a bit of guidance, post here in this thread and I or someone else will try to help you. Please note that everyone here volunteers their time freely and without compensation; it is a basic courtesy to ensure that you have familiarised yourself with the available documentation for Roll20 in general and the script in particular before asking for help. You may feel like you don't have time to read everything and just want a quick answer; and you might get lucky and find someone in a patient mood who is willing to copy and paste the relevant section of the docs back to you; but remember that not having time to be courteous and respectful can cut both ways ;-) If you read the docs and don't understand them, that's a bug with the docs - so please let me know and I will try to make them clearer. If you believe you've found a bug, the preferred method of reporting it is to create a GitHub issue. First of all, please check the issue list to see if the bug in question has already been reported. If you don't see an existing report, you can add a new one by clicking the "New Issue" button on the issue list page. Please try to be as detailed as possible when reporting bugs; a bug which just says "Import Doesn't Work" will most likely just be ignored. As a minimum you should include with you report: The complete and exact steps you took to produce the problem, including the full API commands that you ran - ideally you will have tried these again to ensure that they reliably reproduce it. If I can't reproduce your problem I can't fix it. Any messages that were generated in your API log when the problem occurred + any API crash error (also reported on the API script page) The exact version of the script that you are running (printed in the API log when the API starts up) and the exact version of the character sheet you are using (displayed on the sheet itself) For statblock import problems, please also include the complete text of the statblock, exactly as it appears in the GM notes of the token Feature Requests If you have a suggestion for a feature or an enhancement, you can post it here or you can submit it as a Github issue (see above). Please note that this script is designed to be a support script for the 5e Shaped Sheet, not a "Run your whole Campaign" UberScript - so if your request is something that isn't specific to the sheet I'm likely to suggest you put a separate script request out on the API forum rather than including it in this script.
1487895264
Lucian
Pro
API Scripter
6.0.0 (2017-02-24) Bug Fixes import: Import wasn't whispering to GM/player ( 1977527 ) import: Workaround roll20 bug with max values under API sheetworkers ( d9c7292 ), closes #317 spell-import: Fix crash bug with !shaped-import-spell ( 4ae2344 ) spell-slots: Fix problem with Cantrips ( 36df7ca ) uses: Fix crash when per_use is a non-integer value ( 19aeb05 ) Features config: Add all latest 9.x options to !shaped-config ( d226e04 ), closes #298 import: Add command that imports based on token names ( f03c5a8 ), closes #311 import: Support API sheetworkers for cleaner import ( beacb13 ) rests: Support new recharge field for use recovery ( 4864c10 ), closes #264 spell-import: Add command to expand empty spells ( f20b305 ) spell-slots: Auto-decrement spell slots ( 4516bd6 ), closes #16 token-actions: Add option for showing recharge on token actions ( c5c3648 ), closes #272 upgrade: Script-driven sheet update for all character sheets ( 5401c56 ), closes #300 uses: Decrement legendary points + restore on turn recharge ( d451c2a ), closes #312 uses: Use uses for everything that has them ( e123718 ), closes #260 BREAKING CHANGES This script no longer works correctly with version of the sheet below 9.2.0 (only just released on Github), you have been warned! This is a major overhaul of the script that introduces some significant improvements. Importing is massively improved - you no longer have to open each character and click the overlay to finish the import.  Spell slot decrementing works again. There's a command !shaped-update-character that will run all pending sheet updates for the selected characters - useful for bulk updating characters without having to open them all and wait for the update to finish! Also check out the new !shaped-import-by-token - see the documentation for more details on this Enjoy!
1487895386
Lucian
Pro
API Scripter
I guess it was a moderator who closed my old thread having seen this new one. Any chance that a mod could quickly reopen it and post a link to this thread so that everyone following it can see there's a new thread/new release? Cheers.
9.2.0 is already out? *rushes to get it*
1487896471
Kryx
Pro
Sheet Author
API Scripter
Lucian said: There's a command !shaped-update-character that will run all pending sheet updates for the selected characters - useful for bulk updating characters without having to open them all and wait for the update to finish! Is it possible to do this type of command, but for all sheets, not just those selected? Could be quite useful.
1487897112

Edited 1487897192
Silvyre
Forum Champion
Lucian said: Any chance that a mod could quickly reopen it and post a link to this thread so that everyone following it can see there's a new thread/new release? Cheers. Done.
1487897401

Edited 1487897546
Checking the documentaion !shaped-update-character --all should update all - and without the paramater does "selected characters". I have no idea how to select characters, except by opening them? Using 9.2.0 of sheet If I use the --all I get an error, and log shows :- "5eShapedCompanion 1487896897740 INFO : -=> ShapedScripts v6.0.0 <=-" "5eShapedCompanion 1487896897742 INFO : Checking config for upgrade, starting state: {\"version\":3.6,\"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\":true,\"showPlayers\":true},\"bar2\":{\"attribute\":\"ac\",\"max\":false,\"link\":true,\"showPlayers\":false},\"bar3\":{\"attribute\":\"perception_passive\",\"max\":false,\"link\":true,\"showPlayers\":false},\"aura1\":{\"radius\":\"\",\"color\":\"#FFFF99\",\"square\":false},\"aura2\":{\"radius\":\"\",\"color\":\"#59e594\",\"square\":false},\"light\":{\"radius\":\"\",\"dimRadius\":\"\",\"otherPlayers\":false,\"hasSight\":false,\"angle\":360,\"losAngle\":360,\"multiplier\":1},\"showName\":true,\"showNameToPlayers\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"/w GM\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":false,\"showTargetAC\":true,\"showTargetName\":true,\"autoAmmo\":true,\"autoRevertAdvantage\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":null,\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacks\",\"statblock\":true,\"traits\":\"traits\",\"actions\":\"actions\",\"reactions\":\"reactions\",\"legendaryActions\":\"legendaryActions\",\"lairActions\":\"lairActions\",\"regionalEffects\":\"regionalEffects\",\"rests\":true,\"spells\":true,\"showRecharges\":false,\"racialFeatures\":null,\"classFeatures\":null,\"feats\":null},\"textSizes\":{\"spellsTextSize\":\"text\",\"abilityChecksTextSize\":\"text\",\"savingThrowsTextSize\":\"text\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":true,\"hitDiceOutput\":\"***default***\",\"display\":{\"showPassiveSkills\":false,\"showWeight\":\"***default***\",\"showEmote\":false,\"showFreetext\":false,\"showFreeform\":false,\"showDiceModifiers\":false,\"showCritRange\":false,\"extraOnACrit\":false,\"showRests\":\"***default***\"},\"measurementSystems\":{\"distanceSystem\":\"***default***\",\"weightSystem\":\"***default***\",\"encumbranceMultiplier\":1},\"automaticHigherLevelQueries\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"whisper\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "Error: No attribute or sheet field found for character_id -JQ44lYXPW6iPuqoGFFe named sheet_opened" "5eShapedCompanion 1487896905263 ERROR : TypeError: Cannot read property 'stream' of undefined" "5eShapedCompanion 1487896905267 ERROR : TypeError: Cannot read property 'stream' of undefined\n at Importer.runImportStage (apiscript.js:18005:19)\n at apiscript.js:18249:15\n at process._tickCallback (node.js:406:9)" I'm gonna try in a new, nearly empty, campaign before I log it
1487897619

Edited 1487897696
Jim, just as a first check, did you update your sheet to 9.2.0? It's only compatable with the very newest sheet on Github EDIT: Also, regarding selecting characters to update, you can drag the sheet's token out onto the tabletop without opening the sheet, then run the command after selecting the token/tokens you've dragged out
1487898273

Edited 1487898704
Yes and edited to include that in my post to make it clear.  The campaign has a variety of versions of char sheets as some updated to 9.2 and others to older versions.  Also has other scripts hence trying a new camaign to see if issues remain, etc. As for your edit - erm... that might work but is not something I do.  Edit: OK drag and drop does work, once I work out how to do it.  Thanks.
1487898656

Edited 1487899962
Ok so test with new campaign - drag and drop Abjurer from VG1 - and converts to 9.2.0 Close sheet Run !shaped-update-character --all&nbsp; error message API Log: "5eShapedCompanion 1487898476159 ERROR : TypeError: Cannot read property 'stream' of undefined\n at Importer.runImportStage (apiscript.js:6745:19)\n at apiscript.js:6989:15\n at process._tickCallback (node.js:406:9)" Logged issue : <a href="https://github.com/symposion/roll20-shaped-scripts/issues/321" rel="nofollow">https://github.com/symposion/roll20-shaped-scripts/issues/321</a>
You're the man, Lucian!
Having a problem with multiple ammo objects being created: Logged an issue on github.
1487921795

Edited 1487921808
Lucian
Pro
API Scripter
6.0.1 (2017-02-24) Bug Fixes update-character: Fix bug on update character ( cf625cd ), closes #321 Sorry, this was a total oversight, the command completely didn't work on 6.0.0 because I change the output code at the last minute without testing. That'll teach me to release at gone midnight :-/ Will check out the ammo thing a bit later.
Thank you so much for that sheet update command! Made updating all my sheets to 9.2.0 a breeze
Thanks Lucian.&nbsp; I'll test it after the game I'm just running...oops should have started 2 minutes ago lol.
1487933368
Lucian
Pro
API Scripter
6.1.0 (2017-02-24) Bug Fixes import: Make lair actions import properly again ( 49a42b3 ), closes #313 Features import: Add option to use same label for all tokens ( 89ed6b8 ), closes #276
Finally able to sit and play around with 9.2 sheet and 6.1, really great so far, opening one issue, but also have one question. I noticed that if you have a multi-class Warlock/Spellcaster, if automatically tracking spells, the Warlock slots are used first. &nbsp;I assume that this is by design given that Warlock spell slots recharge on a short rest, but just wanted to confirm.
1487943780
Lucian
Pro
API Scripter
Kevin said: Finally able to sit and play around with 9.2 sheet and 6.1, really great so far, opening one issue, but also have one question. I noticed that if you have a multi-class Warlock/Spellcaster, if automatically tracking spells, the Warlock slots are used first. &nbsp;I assume that this is by design given that Warlock spell slots recharge on a short rest, but just wanted to confirm. Yes, this is by design. In theory, it might be possible to construct convoluted scenarios in which it makes sense to use normal spell slots first, but I think it's such a rare edge case that it's not worth bothering with. There are limitations with the system at the moment in that there are various situations in which casting a spell shouldn't decrement slots - racial spells and other special powers. Kryx has plans to include uses and recharges to spells in future to model this but until then people will just have to make do with manually fiddling or not using the feature. I'll try and fix the Scorching Ray case if I have enough information from the roll template to do so, otherwise I may need to ask Kryx to modify it.
Thanks Lucian! &nbsp;Makes complete sense to me and figured this was the case. As far as the Scorching Ray use case (along with quite a few others) it's definitely tough to handle. &nbsp;My hope was that there was something from the roll template link that would hopefully be picked up from the script to prevent auto decreasing the spell slot, but if not, it's no big deal.
I tried to do an "update all" on my copied campaign, and got this error: "5eShapedCompanion 1487945414616 ERROR : TypeError: Cannot read property 'stream' of undefined\n at Importer.runImportStage (apiscript.js:6745:19)\n at apiscript.js:6989:15\n at process._tickCallback (node.js:406:9)"
1487946525

Edited 1487948207
Gozer the Gozerian said: I tried to do an "update all" on my copied campaign, and got this error: "5eShapedCompanion 1487945414616 ERROR : TypeError: Cannot read property 'stream' of undefined\n at Importer.runImportStage (apiscript.js:6745:19)\n at apiscript.js:6989:15\n at process._tickCallback (node.js:406:9)" Have you updated to the 6.1.0 script as this error occurred in 6.0.0 and was fixed. Edit: Tested and runs under 6.1.0 - just waiting on the long list! Edit 2: 34th character failed: "5eShapedCompanion 1487947652799 ERROR : Error: Asked for a single attribute but more than 1 was found matching attributes: {\"characterid\":\"-KZCGnrriyI3ESZFC0TH\",\"name\":\"processing\"}" "5eShapedCompanion 1487947652800 ERROR : Error: Asked for a single attribute but more than 1 was found matching attributes: {\"characterid\":\"-KZCGnrriyI3ESZFC0TH\",\"name\":\"processing\"}\n at Roll20Wrapper.getOrCreateObj (apiscript.js:11408:16)\n at Roll20Wrapper.getOrCreateAttr (apiscript.js:11436:18)\n at Roll20Wrapper.setAttrWithWorker (apiscript.js:11526:24)\n at apiscript.js:18034:28\n at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:158:9)\n at apiscript.js:18033:16" Sadly I cannot work out which character this is. It's probbaly related to the mismatch of versions and testing, or is two with same public name? Edit 3: Deleted a half-dozen or so duplicate named characters [copy of commoner etc] and reran - crashed on #34 again!
1487949768

Edited 1487949816
@Jim W. - So not a perfect solution, but to debug further on your own, you could pull out suspected tokens, select them then run&nbsp;@{selected|character_id} and compare it with the one that is failing. &nbsp;This will at least help you identify the sheet. &nbsp;Would be easier though to write a small api script that took the character_id as a parameter and spit out the name.
1487949980

Edited 1487949996
Thanks Kevin but not every Character has a Token - or is that the issue?
No not necessarily... it was just a way to try to figure out which character was causing the failure.
1487951564

Edited 1487952026
OK so logic must dictate an order of processing, so I checked the order of characters processd against the transmogrifier and same order. Checked next two characters, and no issues. Then I tried the last character converted - and this is the one reporting the error.. even though says completed.&nbsp; Also it does have a token on current map. Sheet shows 9.2.0 when opened, but also converts.. from 9.1.2 and seems to just 'hang' Edit: deleted processing field and all seems ok now.&nbsp; All 127 now done! Edit 2: Issues with a few sheets already known still exist - but good news is that these did not stop/break the --all run
1487952017
Lucian
Pro
API Scripter
Ok, so this is an issue that other people are running into as well: <a href="https://github.com/symposion/roll20-shaped-scripts" rel="nofollow">https://github.com/symposion/roll20-shaped-scripts</a>... It appears that in some situations duplicate attributes are being created, and this is causing the script to bug out. It's not clear yet whether this is a script bug, a sheet bug or a Roll20 bug. What is clear is that it's non-deterministic and very hard to test. Sigh.
1487955504
Lucian
Pro
API Scripter
Hey guys, I need your help! Several people have run across a somewhat non-deterministic bug where the script fails when it finds duplicate attributes. It seems like most commonly it happens with the 'processing' attribute (used for the processing overlay) and the edit_mode attribute. On the face of it, this should be impossible, and I suspect that there's some oddness going on with Roll20s API sheetworker implementation. What I need you guys to do is to install version 6.1.1 (release post to follow very shortly) from github, and then run the following command in your campaign: !logLevel 5eShapedCompanion DEBUG This will turn on debug logging. Now go about your business, importing, updating, creating, editing, chopping, changing and whatever else it is that you good people do :-) If you get an error about 'Asked for a single attribute but more than 1 was found', could you copy and paste the entire contents of your API console output into the bug here: <a href="https://github.com/symposion/roll20-shaped-scripts" rel="nofollow">https://github.com/symposion/roll20-shaped-scripts</a>... . Hopefully I'll be able to get enough evidence together to track down what causes this to happen! Cheers, Lucian
1487955771
Lucian
Pro
API Scripter
6.1.1 (2017-02-24) Bug Fixes logging: Improve logging output to track down odd bugs ( 4162fba ) Ok guys, if you could install this and do some testing and try and reproduce this, that would be great. I'd guess that big batches of !shaped-update-character or !shaped-expand-spells on characters with lots of spells may well be the most likely things to show it up. Cheers,
Gah!&nbsp; seems the log is too big to copy and paste! I've had to restart, so will do some more targetted testing!
1487957910
Lucian
Pro
API Scripter
Jim W. said: Gah!&nbsp; seems the log is too big to copy and paste! I've had to restart, so will do some more targetted testing! So in this case one thing you can do is just to copy from the bottom up to the last "API Sandbox Restarting" message (in white, so it's easy to spot). That will reduce the amount of log you have to copy.
1487958374

Edited 1487959943
By then it was too late - had to restart laptop! Anyway targetted what I thought was the characters, but no help That's gonna be way too big still, as would be 99% of the text.&nbsp; I copied a block and adding to the bug sheet, and even this was enough to cause my PC to freeze for 20 seconds!
1487959438

Edited 1487959892
Error when trying to create token action buttons using a macro; Shaped Scripts Error Unrecognised or poorly formed option initiative Macro code: !shaped-config --initiative !shaped-config --attacksMacro !shaped-config --traitsMacro !shaped-config --savingThrows !shaped-config --abilityChecks !shaped-config --spells !shaped-config --statblock I ran the debug command first and the API output is "5eShapedCompanion 1487958611399 DEBUG : Matching options: {} against triggerFields [\"character\",\"spell\",\"castAsLevel\"]" Sheet: 9.2.1 Script: 6.1.1 Steps to reproduce: Create new character, add class and levels to populate class features Drag weapon from SRD Link sheet to token via Represents Character Select token and run macro EDIT: I cleared my cache, restarted sandbox, ran the macro again and got three errors (the first three commands in the macro) and this API output; "5eShapedCompanion 1487959606814 DEBUG : {\"content\":\" {{title=Shaped Scripts Error}}{{content=Unrecognised or poorly formed option traitsMacro}}\",\"playerid\":\"API\",\"rolltemplate\":\"5e-shaped\",\"target\":\"-KFFEoWEtEUkUfSQZ0tg\",\"target_name\":\"Doug E.\",\"type\":\"whisper\",\"who\":\"\"}"
1487959937
Lucian
Pro
API Scripter
@Doug !shaped-config is the wrong command. You want !shaped-abilities.
1487960380

Edited 1487982680
D'OH! With all my cutting and pasting... Thanks Lucian EDIT: works now. Except only created the first two, init and Attacks. It coughed up&nbsp; Traits: Not present for character &nbsp;&nbsp;Traits does not capture Class features nor Race nor Feats. Is there a separate command option for these not in the documentation? Development: I put something in Traits and it was happy but stopped this time at the saving throws. It did not generate abilities button or any of the ones after, but there is no indication in chat as to why. I have run the macro a few times, running the DELETE option first each time to start fresh. It seems to randomly pick token actions to create (but always init - the first on the list). Update: The commands work individually, just not in one big macro calling all the commands. But, after playing with config, running these commands is not necessary. Applying defaults to token works great.
1488010561
Lucian
Pro
API Scripter
@Doug E You can ask for multiple abilities in one command: !shaped-abilities --traits --attacks --saves --abilChecks
1488010770
Lucian
Pro
API Scripter
Hey Testing Army! Thanks to all who have posted on the weird import/update bug - that's great! I have enough data now, so you can stop posting new dumps on the bug thread. The bad news is that I have a strong suspicion that this is a Roll20 bug; the good news is that I think I have a workaround; the other bad news is that the workaround will make things a bit slower for updating lots of characters with !shaped-update-character. Hopefully it's something that Riley can track down and nail fairly quickly. Cheers,
1488048327
Lucian
Pro
API Scripter
6.2.0 (2017-02-25) Bug Fixes import: Attempt to dedup attributes more aggressively. ( 4da25ce ) slots: Don't decrement for repeat casts (requires 9.2.2) ( 53314f7 ), closes #329 spell-import: Importing Spell List gives an error ( 88019de ), closes #12 #334 Features slots: Handle spell points as well ( 696a269 ) I'm hoping that this release will fix the problems people have been seeing with duplicate attributes. I've also introduce some checking that prevents you from running commands other than !shaped-update-character on character that are not already up to date with the latest sheet. This should prevent people have odd issues with commands expecting a certain data structure and not finding it.
1488048477
Lucian
Pro
API Scripter
EEEEK. Don't install 6.2.0! Something get merged out just before I released! 6.2.1 will be here in a few minutes.
Now he tells us!&nbsp; :)&nbsp; Hopefully it won't do anything game destroying?
Gozer the Gozerian said: Now he tells us!&nbsp; :)&nbsp; Hopefully it won't do anything game destroying? We should always make a backup game before a new release anyway..... Also... with the amount of work these guys are doing.. for free... we can forgive a few hiccups? I know you smiling when you say that... Gozer.... just some might not&nbsp; realize ;)
Yes, was just kidding.&nbsp; I actually have this script and the latest shaped sheet installed on a copy campaign for now, until they settle down a bit.&nbsp; Sorry if anyone took it another way.&nbsp; Definitely very appreciative of all the work both Lucian and Kryx are doing.
1488065836
Lucian
Pro
API Scripter
6.2.1 (2017-02-25) Bug Fixes spell-import: Added changes that got merged out before last release ( c40c952 ) Sorry for the delay - got a bit distracted!
Shaped sheet version 9.2.2 Just tried to update companion script and getting following error with 6.2 and 6.2.1 6.1.1 Works fine. Any advice? "5eShapedCompanion 1488067317447 INFO : -=&gt; ShapedScripts v6.2.1 &lt;=-" "5eShapedCompanion 1488067317448 INFO : Checking config for upgrade, starting state: {\"version\":3.7,\"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\":\"***default***\",\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":false,\"abilityChecks\":null,\"advantageTracker\":null,\"savingThrows\":null,\"attacks\":null,\"statblock\":false,\"traits\":null,\"actions\":null,\"reactions\":null,\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":false,\"spells\":false,\"showRecharges\":false,\"racialFeatures\":null,\"classFeatures\":null,\"feats\":null},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"text\",\"savingThrowsTextSize\":\"text\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"{{hide_ability_checks=1}}\",\"hideSavingThrows\":\"{{hide_saving_throws=1}}\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"display\":{\"showPassiveSkills\":false,\"showWeight\":\"***default***\",\"showEmote\":false,\"showFreetext\":false,\"showFreeform\":false,\"showDiceModifiers\":false,\"showCritRange\":false,\"extraOnACrit\":false,\"showRests\":\"***default***\"},\"measurementSystems\":{\"distanceSystem\":\"***default***\",\"weightSystem\":\"***default***\",\"encumbranceMultiplier\":1},\"automaticHigherLevelQueries\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":false,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "ERROR: You cannot set the imgsrc or avatar of an object unless you use an image that is in your Roll20 Library. See the API documentation for more info." "ERROR: You cannot set the imgsrc or avatar of an object unless you use an image that is in your Roll20 Library. See the API documentation for more info." "initialize.sheetOpened" "abilities.update" "abilityChecks.updateInitiative" "savingThrows.updateMacro" TypeError: Cannot read property 'attribs' of undefined TypeError: Cannot read property 'attribs' of undefined &nbsp; &nbsp; at correctRepeatingFieldCase (/home/node/d20-api-server/api.js:2665:22) &nbsp; &nbsp; at /home/node/d20-api-server/api.js:2701:29 &nbsp; &nbsp; at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:158:9) &nbsp; &nbsp; at Worker.onmessage (/home/node/d20-api-server/api.js:2680:13) &nbsp; &nbsp; at ChildProcess.&lt;anonymous&gt; (/home/node/d20-api-server/node_modules/tiny-worker/lib/index.js:39:21) &nbsp; &nbsp; at emitTwo (events.js:100:13) &nbsp; &nbsp; at ChildProcess.emit (events.js:185:7) &nbsp; &nbsp; at handleMessage (internal/child_process.js:695:10) &nbsp; &nbsp; at Pipe.channel.onread (internal/child_process.js:440:11)
Thanks for the great work, Lucian. Here is my log after installing 6.2.1 on 9.2.2. Note the two ERROR lines; doesnt seem to hurt anything, looks to be working fine. These errors might not even be from your script, can't really tell... if not, please disregard. Cheers! Spinning up new sandbox... "Starting webworker script..." "Loading 873 translation strings to worker..." "It's A Trap!: Registered TrapTheme - default." "5eShapedCompanion 1488067380445 INFO : -=&gt; ShapedScripts v6.2.1 &lt;=-" "5eShapedCompanion 1488067380448 INFO : Checking config for upgrade, starting state: {\"version\":3.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\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":\"***default***\",\"showTargetAC\":true,\"showTargetName\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":\"advantageTracker\",\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacksMacro\",\"statblock\":true,\"traits\":\"traitsMacro\",\"actions\":\"actionsMacro\",\"reactions\":\"reactionsMacro\",\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":true,\"spells\":true},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"***default***\",\"savingThrowsTextSize\":\"***default***\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"showRests\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "5eShapedCompanion 1488067380449 INFO : Upgrading schema to version 3.4" "5eShapedCompanion 1488067380449 INFO : Upgrade initiative settings" "5eShapedCompanion 1488067380450 INFO : Post-upgrade state: {\"version\":3.4,\"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\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":false,\"showTargetAC\":true,\"showTargetName\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":\"advantageTracker\",\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacksMacro\",\"statblock\":true,\"traits\":\"traitsMacro\",\"actions\":\"actionsMacro\",\"reactions\":\"reactionsMacro\",\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":true,\"spells\":true},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"***default***\",\"savingThrowsTextSize\":\"***default***\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"showRests\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "5eShapedCompanion 1488067380450 INFO : Upgrading schema to version 3.5" "5eShapedCompanion 1488067380450 INFO : Adding property config.newCharSettings.tokenActions.showRecharges with value false" "5eShapedCompanion 1488067380451 INFO : Post-upgrade state: {\"version\":3.5,\"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\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":false,\"showTargetAC\":true,\"showTargetName\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":\"advantageTracker\",\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacksMacro\",\"statblock\":true,\"traits\":\"traitsMacro\",\"actions\":\"actionsMacro\",\"reactions\":\"reactionsMacro\",\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":true,\"spells\":true,\"showRecharges\":false},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"***default***\",\"savingThrowsTextSize\":\"***default***\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"showRests\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "5eShapedCompanion 1488067380451 INFO : Upgrading schema to version 3.6" "5eShapedCompanion 1488067380452 INFO : Adding new properties for 9.x sheet settings" "5eShapedCompanion 1488067380452 INFO : Moving property from config.newCharSettings.showRests to config.newCharSettings.display.showRests" "5eShapedCompanion 1488067380454 INFO : Post-upgrade state: {\"version\":3.6,\"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\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":false,\"showTargetAC\":true,\"showTargetName\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":\"advantageTracker\",\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacksMacro\",\"statblock\":true,\"traits\":\"traitsMacro\",\"actions\":\"actionsMacro\",\"reactions\":\"reactionsMacro\",\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":true,\"spells\":true,\"showRecharges\":false,\"racialFeatures\":null,\"classFeatures\":null,\"feats\":null},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"***default***\",\"savingThrowsTextSize\":\"***default***\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"display\":{\"showPassiveSkills\":false,\"showWeight\":\"***default***\",\"showEmote\":false,\"showFreetext\":false,\"showFreeform\":false,\"showDiceModifiers\":false,\"showCritRange\":false,\"extraOnACrit\":false,\"showRests\":\"***default***\"},\"measurementSystems\":{\"distanceSystem\":\"***default***\",\"weightSystem\":\"***default***\",\"encumbranceMultiplier\":1},\"automaticHigherLevelQueries\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "5eShapedCompanion 1488067380454 INFO : Upgrading schema to version 3.7" "5eShapedCompanion 1488067380454 INFO : Adding property config.tokenSettings.monsterTokenName with value " "5eShapedCompanion 1488067380455 INFO : Post-upgrade state: {\"version\":3.7,\"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\":true,\"showAura1ToPlayers\":true,\"showAura2ToPlayers\":true,\"monsterTokenName\":\"\"},\"newCharSettings\":{\"sheetOutput\":\"***default***\",\"deathSaveOutput\":\"***default***\",\"initiativeOutput\":\"***default***\",\"showNameOnRollTemplate\":\"{{show_character_name=1}}\",\"rollOptions\":\"***default***\",\"initiativeRoll\":\"***default***\",\"initiativeToTracker\":\"***default***\",\"breakInitiativeTies\":false,\"showTargetAC\":true,\"showTargetName\":true,\"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},\"tab\":\"***default***\",\"tokenActions\":{\"initiative\":true,\"abilityChecks\":\"abilityChecksQuery\",\"advantageTracker\":\"advantageTracker\",\"savingThrows\":\"savingThrowsQuery\",\"attacks\":\"attacksMacro\",\"statblock\":true,\"traits\":\"traitsMacro\",\"actions\":\"actionsMacro\",\"reactions\":\"reactionsMacro\",\"legendaryActions\":null,\"lairActions\":null,\"regionalEffects\":null,\"rests\":true,\"spells\":true,\"showRecharges\":false,\"racialFeatures\":null,\"classFeatures\":null,\"feats\":null},\"textSizes\":{\"spellsTextSize\":\"***default***\",\"abilityChecksTextSize\":\"***default***\",\"savingThrowsTextSize\":\"***default***\"},\"hide\":{\"hideAttack\":\"***default***\",\"hideDamage\":\"***default***\",\"hideAbilityChecks\":\"***default***\",\"hideSavingThrows\":\"***default***\",\"hideSavingThrowDC\":\"***default***\",\"hideSpellContent\":\"***default***\",\"hideSavingThrowFailure\":\"***default***\",\"hideSavingThrowSuccess\":\"***default***\",\"hideRecharge\":\"***default***\",\"hideFreetext\":\"***default***\",\"hideCost\":\"***default***\"},\"applyToAll\":false,\"hitDiceOutput\":\"***default***\",\"display\":{\"showPassiveSkills\":false,\"showWeight\":\"***default***\",\"showEmote\":false,\"showFreetext\":false,\"showFreeform\":false,\"showDiceModifiers\":false,\"showCritRange\":false,\"extraOnACrit\":false,\"showRests\":\"***default***\"},\"measurementSystems\":{\"distanceSystem\":\"***default***\",\"weightSystem\":\"***default***\",\"encumbranceMultiplier\":1},\"automaticHigherLevelQueries\":\"***default***\"},\"advTrackerSettings\":{\"showMarkers\":true,\"ignoreNpcs\":false,\"advantageMarker\":\"green\",\"disadvantageMarker\":\"red\",\"output\":\"silent\"},\"sheetEnhancements\":{\"rollHPOnDrop\":true,\"autoHD\":true,\"autoSpellSlots\":true,\"autoTraits\":true},\"defaultGenderIndex\":2,\"variants\":{\"rests\":{\"longNoHpFullHd\":false}}}}" "ERROR: You cannot set the imgsrc or avatar of an object unless you use an image that is in your Roll20 Library. See the API documentation for more info." "ERROR: You cannot set the imgsrc or avatar of an object unless you use an image that is in your Roll20 Library. See the API documentation for more info." "Starting Fumbler v0.2.0" "-=&gt; TokenMod v0.8.25 &lt;=- [Sat Feb 11 2017 05:03:11 GMT+0000 (UTC)]" "It's A Trap!: Registered TrapTheme - 5E-Shaped." "initialize.sheetOpened" "abilities.update" "abilityChecks.updateInitiative" "savingThrows.updateMacro" "initialize.generateSkills" "abilityChecks.updateMacro" "☒☠☒ Initialized It's A Trap! using theme '5E-Shaped' ☒☠☒" "abilityChecks.updateSkill" "abilityChecks.updateMacro" "5eShapedCompanion 1488067381974 INFO : Detected sheet version as : 9.2.2"
1488067776

Edited 1488067795
Lucian
Pro
API Scripter
Urgh. This is the API sheetworker callback randomly getting called too early. I'll have to workaround this with a timeout. Not going to be before tomorrow now though.
No worries; as I said it doesnt seem to affect anything (that I have noticed so far).
1488069077
Lucian
Pro
API Scripter
Hi Gerry, My message was directed at Roman - your message crossed with mine. The two errors in your log are from Roll20 and aren't really errors at all. Unfortunately I can't suppress them but you can ignore them safely. Roman's error is more serious but is non-deterministic and will only happen sometimes to some people. I'm going to workaround it by putting an extra delay in on startup until Riley can really fix the problem.
Right on, thanks again!
Thanks Lucian. I'll keep checkng the thread and let you know if my issue is fixed or not with the next update.
1488104329

Edited 1488104485
Lucian
Pro
API Scripter
6.3.0 (2017-02-26) Bug Fixes startup: Introduce delay to workaround Roll20 bug causing crash at startup Features config: Check against sheet version on startup ( 35ba538 ), closes #12 Ok guys, I'm hoping that this will fix a number of the outstanding problems with 6.2.2. I've done some fairly substantial refactoring as part of this release; I did check most of the functionality quickly, but there may be some things that slipped through. I'd treat this as potentially a little unstable until more people have tested it.
Roman said: Thanks Lucian. I'll keep checkng the thread and let you know if my issue is fixed or not with the next update. Unfortunatelly error is still there... "initialize.sheetOpened" "abilities.update" "abilityChecks.updateInitiative" "savingThrows.updateMacro" "initialize.generateSkills" "abilityChecks.updateMacro" "5eShapedCompanion 1488116909744 INFO : Detected sheet version as : 9.2.3" "abilityChecks.updateSkill" "abilityChecks.updateMacro" TypeError: Cannot read property 'attribs' of undefined TypeError: Cannot read property 'attribs' of undefined &nbsp; &nbsp; at /home/node/d20-api-server/api.js:2714:22 &nbsp; &nbsp; at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:158:9) &nbsp; &nbsp; at Worker.onmessage (/home/node/d20-api-server/api.js:2680:13) &nbsp; &nbsp; at ChildProcess.&lt;anonymous&gt; (/home/node/d20-api-server/node_modules/tiny-worker/lib/index.js:39:21) &nbsp; &nbsp; at emitTwo (events.js:100:13) &nbsp; &nbsp; at ChildProcess.emit (events.js:185:7) &nbsp; &nbsp; at handleMessage (internal/child_process.js:695:10) &nbsp; &nbsp; at Pipe.channel.onread (internal/child_process.js:440:11)