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

Wild shape script stopped working with "firebase.update failed"

The wildshape script I use in my campaign for druids and a few other shape shifters suddenly stopped working recently. Whenever the druid attempts to transform, it crashes the sandbox with the error reproduced below.  Strangely, sometime the transformation will happen, other times it won't, but it always crashes the sandbox. The !ws command itself does not trigger the crash, just the "!ws ---shift ---Wolf" (for example) command when clicked on in the chat window.  The script hasn't been updated in years, so I think something in the API server might have changed.  Any tips on how to track down with object contains "NaN"? Error: Firebase.update failed: First argument contains NaN in property 'current' Error: Firebase.update failed: First argument contains NaN in property 'current' at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:9:186) at Ba (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:10:207) at Aa (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:8:462) at Ea (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:10:403) at J.update (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:146:318) at Object.update (/home/node/d20-api-server/api.js:1011:31) at J.transaction (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:150:123) at TrackedObj._doSave (/home/node/d20-api-server/api.js:1009:27) at Timeout.later [as _onTimeout] (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1146:37) at listOnTimeout (node:internal/timers:569:17)
I figured this out, so I'll document it here in case anyone else ever runs into this issue. It has nothing to do with recent API changes.  It's because the druid reached level 20.  At that point the charactermancer changed the wild shape resource attribute from 3 to "-" which is clearly not a number.  So when the !ws script tried to get the attribute to subtract 1, it crashed the script. As a workaround to avoid having to fork a new version of the script, I just set the wild shape resource to 999 and now everything works just fine.
1760667729
Andrew R.
Pro
Sheet Author
I suggest you use the Help Center and Send a request to report this bug in the charactermancer. 
I don't know if it is a bug in the charactermancer.  At level 20 a druid has unlimited wild shapes.  Changing the wild shape resource to "-" seems reasonable enough to me.  It's just that this script (unmaintained for 4 years now) didn't handle NaN for that resource gracefully.   If the script were maintained, I would recommend updating it to throw a message if the wild shape resource is not as expected, instead of crashing.
1762618818
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Yeah a change in the script, or the workaround above is the way to go, since scripts are a "third party" item. Nice detective work, mkanoap! Thanks for posting your discovery.