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

[Script] WildShape - easy ShapeShift for your PCs and NPCs

1616042570

Edited 1616042626
Snow
Pro
Kraegan Blue Dragon  said: Angelo  said: looks like they finally pushed the latest to the one click and everything is back to normal! If you added the scripts manually during these past weeks you can delete those manual entries for both scripts and install just "WildShape" from the one click (it will automatically install the WildHelpers as a dependency from the library as well) if you then run  !ws  without anything selected you should see " 1.4.2.1 " as a version in the main config (it shows up as 1.4.2 in the one click version dropdown)  Dumb question, if we entered it manually and it's working what is the benefit of reloading from One-Click? With One-Click, if the Creator of the script updates the script then it will auto-update for the user. If you like a certain version of the script and don't want it to auto-update then you put the script in manually. 
1616044300

Edited 1616044309
Angelo
API Scripter
Snow said: Kraegan Blue Dragon  said: Angelo  said: looks like they finally pushed the latest to the one click and everything is back to normal! If you added the scripts manually during these past weeks you can delete those manual entries for both scripts and install just "WildShape" from the one click (it will automatically install the WildHelpers as a dependency from the library as well) if you then run  !ws  without anything selected you should see " 1.4.2.1 " as a version in the main config (it shows up as 1.4.2 in the one click version dropdown)  Dumb question, if we entered it manually and it's working what is the benefit of reloading from One-Click? With One-Click, if the Creator of the script updates the script then it will auto-update for the user. If you like a certain version of the script and don't want it to auto-update then you put the script in manually.  correct. from the one click you also have a drop down where you can decide to "stick to a specific version". at this point unless there is a problem i suggest everyone use the one click, that way whenever i find a bug / fix something you get the updates and new features without doing anything
Is there a way to see a debug code? I've added a custom NPC and have added to wildshape. The shape is added without error. All other shapes shift when prompted. However, the new one does not and does not throw an error. When I press the up arrow to see what the API has done it shows the correct prompt "!ws ---shift ---Flaggenvyper" but, nothing happens. To recap, I made a new NPC character and added it to the shape folder with all of the other shapes. I've tried adding via "Import Folder" and "Add NPC" and both options produced the same results. I see in my journal where WS has created a clone (for lack of better explenation) of this new shape like all of the others. If I delete it manually and try to wildshape into it, wildshape says it can not locate the shape... as it should. I'm stumped to why this new shape isn't working and all the rest are.
1616045365

Edited 1616045423
Angelo
API Scripter
Kraegan Blue Dragon said: Is there a way to see a debug code? I've added a custom NPC and have added to wildshape. The shape is added without error. All other shapes shift when prompted. However, the new one does not and does not throw an error. When I press the up arrow to see what the API has done it shows the correct prompt "!ws ---shift ---Flaggenvyper" but, nothing happens. To recap, I made a new NPC character and added it to the shape folder with all of the other shapes. I've tried adding via "Import Folder" and "Add NPC" and both options produced the same results. I see in my journal where WS has created a clone (for lack of better explenation) of this new shape like all of the others. If I delete it manually and try to wildshape into it, wildshape says it can not locate the shape... as it should. I'm stumped to why this new shape isn't working and all the rest are. yes, if you just run !ws without anything selected there is a new voice in the main config menu at the bottom, something like "Enable Debug Messages" I am not sure what you mean when you say "if i delete it manually"; if you delete those clones the wildshape is just not gonna work anymore. You can move them in their own folders/subfolders if you prefer to not have them out in the journal but you should never delete them or touch those
Angelo said: You can move them in their own folders/subfolders if you prefer to not have them out in the journal but you should never delete them or touch those That is good to know. My OCD likes order. LOL   Yes by "deleting them manually" I do mean selecting them and deleting the character. WildShape still works, but not for those particular entities, understandably. So WS doesn't break entirely, just so you know. I'm still not getting that one new shape to work, It adds to the shapeshifter with the issue and it appears as a button option. The button does the call for the shift but nothing happens. I'm wondering since it is a Home Brew NPC that I entered stats on if there is a stat missing that WS relies on. That's why I wanted to look at the debug to see if it shows something along the lines of "Stat XYZ is missing in..."
1616086406
Angelo
API Scripter
Kraegan Blue Dragon said: Angelo said: You can move them in their own folders/subfolders if you prefer to not have them out in the journal but you should never delete them or touch those That is good to know. My OCD likes order. LOL   Yes by "deleting them manually" I do mean selecting them and deleting the character. WildShape still works, but not for those particular entities, understandably. So WS doesn't break entirely, just so you know. I'm still not getting that one new shape to work, It adds to the shapeshifter with the issue and it appears as a button option. The button does the call for the shift but nothing happens. I'm wondering since it is a Home Brew NPC that I entered stats on if there is a stat missing that WS relies on. That's why I wanted to look at the debug to see if it shows something along the lines of "Stat XYZ is missing in..." Did you enable that option that i was mentioning? It doesn't give you any more info?
Hi everyone! Angelo, thank you very much for this great API! Can't wait to show this to my Druid player. I'm having one small problem, though. When I'm trying to change the Druid back to the original character, the token is not displayed, instead, I see the profile image/picture of the character. Any thoughts on how to fix this? Thank you in advance!
1617553147
Angelo
API Scripter
Iron Legion said: Hi everyone! Angelo, thank you very much for this great API! Can't wait to show this to my Druid player. I'm having one small problem, though. When I'm trying to change the Druid back to the original character, the token is not displayed, instead, I see the profile image/picture of the character. Any thoughts on how to fix this? Thank you in advance! Hi, i haven't heard of that issue before... Could you enable the debug messages in the main config (at the bottom) and let me know what you get?
Ok, weird problem time (I seem to have a lot of these :-): The druid character in my game has 8 shapes plus his normal shape.  He's used all of them in the past without a problem.  Tonight, he was able to change into all but 1 of them - Giant Constrictor Snake.  I was also able to change him into all of the shapes, except the snake.  I deleted the shape and re-added it and it didn't make a difference. When we were playing, I was using a version of wildshape that had been copied from github. After the game was over for the night I, I deleted that version (and the wildhelpers script) and re-installed both of them using the one-click.  Didn't make a difference. Any idea what the problem could be? Thanks.
1617812377
Angelo
API Scripter
Saul J. said: Ok, weird problem time (I seem to have a lot of these :-): The druid character in my game has 8 shapes plus his normal shape.  He's used all of them in the past without a problem.  Tonight, he was able to change into all but 1 of them - Giant Constrictor Snake.  I was also able to change him into all of the shapes, except the snake.  I deleted the shape and re-added it and it didn't make a difference. When we were playing, I was using a version of wildshape that had been copied from github. After the game was over for the night I, I deleted that version (and the wildhelpers script) and re-installed both of them using the one-click.  Didn't make a difference. Any idea what the problem could be? Thanks. Could you please enable the debug messages in the main config (at the bottom) and let me know what info you get from there? That should help understand the issue
All it says is: (From WildShape):  : build target character data: START (From WildShape):  : wait for token image (From WildShape):  : token image found (From WildShape):  : get token size (From WildShape):  : setup senses (From WildShape):  : build target character data: DONE (From WildShape):  : copying druid attributes Everything looks normal to me, and there doesn't seem to be any kind of error.  However, clearly something happens because it differs from the output of a successful change: (From WildShape):  : build target character data: START (From WildShape):  : wait for token image (From WildShape):  : token image found (From WildShape):  : get token size (From WildShape):  : setup senses (From WildShape):  : build target character data: DONE (From WildShape):  : copying druid attributes (From WildShape):  copying druid proficiencies: druid pb: 3 -- stat npc_str_save: 2, npc pb: 0, npc mod 2, druid pb: 0 -- stat npc_athletics: 2, npc pb: 0, npc mod 2, druid pb: 0 -- stat npc_dex_save: 3, npc pb: 0, npc mod 3, druid pb: 0 -- stat npc_acrobatics: 3, npc pb: 0, npc mod 3, druid pb: 0 -- stat npc_sleight_of_hand: 3, npc pb: 0, npc mod 3, druid pb: 0 -- stat npc_stealth: 7, npc pb: 4, npc mod 3, druid pb: 0 -- stat npc_con_save: 1, npc pb: 0, npc mod 1, druid pb: 0 -- stat npc_int_save: -4, npc pb: 0, npc mod -4, druid pb: 3 -- stat npc_arcana: -4, npc pb: 0, npc mod -4, druid pb: 3 -- stat npc_history: -4, npc pb: 0, npc mod -4, druid pb: 0 -- stat npc_investigation: -4, npc pb: 0, npc mod -4, druid pb: 0 -- stat npc_nature: -4, npc pb: 0, npc mod -4, druid pb: 3 -- stat npc_religion: -4, npc pb: 0, npc mod -4, druid pb: 3 -- stat npc_wis_save: 0, npc pb: 0, npc mod 0, druid pb: 3 -- stat npc_animal_handling: 0, npc pb: 0, npc mod 0, druid pb: 0 -- stat npc_insight: 0, npc pb: 0, npc mod 0, druid pb: 0 -- stat npc_medicine: 0, npc pb: 0, npc mod 0, druid pb: 3 -- stat npc_perception: 0, npc pb: 0, npc mod 0, druid pb: 3 -- stat npc_survival: 0, npc pb: 0, npc mod 0, druid pb: 3 -- stat npc_cha_save: -3, npc pb: 0, npc mod -3, druid pb: 0 -- stat npc_deception: -3, npc pb: 0, npc mod -3, druid pb: 0 -- stat npc_intimidation: -3, npc pb: 0, npc mod -3, druid pb: 0 -- stat npc_performance: -3, npc pb: 0, npc mod -3, druid pb: 0 -- stat npc_persuasion: -3, npc pb: 0, npc mod -3, druid pb: 0 (From WildShape):  (GM) Wild Shape left: 0 / 2 (From WildShape):  chatToPlayer: Saul (GM), msg: Wild Shape left: 0 / 2 Root Ben'Grognard: Transforming into Giant Spider So somewhere after it starts copying the druid's attributes, it fails.  Hope this info helps. Angelo said: Saul J. said: Ok, weird problem time (I seem to have a lot of these :-): The druid character in my game has 8 shapes plus his normal shape.  He's used all of them in the past without a problem.  Tonight, he was able to change into all but 1 of them - Giant Constrictor Snake.  I was also able to change him into all of the shapes, except the snake.  I deleted the shape and re-added it and it didn't make a difference. When we were playing, I was using a version of wildshape that had been copied from github. After the game was over for the night I, I deleted that version (and the wildhelpers script) and re-installed both of them using the one-click.  Didn't make a difference. Any idea what the problem could be? Thanks. Could you please enable the debug messages in the main config (at the bottom) and let me know what info you get from there? That should help understand the issue
1617835756

Edited 1617835821
Angelo
API Scripter
looks like it's failing copying the attributes ("intelligence", "wisdom", "charisma" and for each one of them a "_mod" and "_base" version). I found a bug in the latest version of WildHelpers where it might have problems if one of those attributes is not there and it tries to create it Can you can install the WildHelpers script manually (just that one) and then replace the "copyAttribute" block with this one? Even if it doesn't work it should give you more info with all those "sendChat" lines to identify what's happening. copyAttribute(fromId, fromAttrName, toId, toAttrName, defaultValue = null) { this.debugChat("copyAttribute: find attr on src"); let fromAttr = findObjs({type: 'attribute', characterid: fromId, name: fromAttrName})[0]; if (!fromAttr && !defaultValue) { this.chatError("Cannot copy missing attribute " + fromAttrName + " from character " + fromId); return; } let fromAttrCurrent = fromAttr ? fromAttr.get("current") : defaultValue; this.debugChat("copyAttribute: find attr on dest " + toAttrName); let toAttr = findObjs({_type: "attribute", name: toAttrName, _characterid: toId})[0]; if (!toAttr) { this.debugChat("copyAttribute: creating attr " + toAttrName); createObj('attribute', { characterid: toId, name: toAttrName, current: fromAttrCurrent, max: fromAttr ? fromAttr.get("max") : null }); } else { this.debugChat("copyAttribute: set current value " + fromAttrCurrent + " on existing attr "); toAttr.set("current", fromAttrCurrent); } }
Replacing the Wildhelpers script manually, and changing the code as above, it actually works now...  To help debug, here is the output: (From WildShape):  GM OVERRIDE - You have NO WildShape usage left for the day! resource name: Wild Shape (From WildShape):  : build target character data: START (From WildShape):  : wait for token image (From WildShape):  : token image found (From WildShape):  : get token size (From WildShape):  : setup senses (From WildShape):  : build target character data: DONE (From WildShape):  : copying druid attributes (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest intelligence (From WildShape):  : copyAttribute: set current value 16 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest intelligence_base (From WildShape):  : copyAttribute: set current value 16 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest intelligence_mod (From WildShape):  : copyAttribute: set current value 3 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest wisdom (From WildShape):  : copyAttribute: set current value 18 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest wisdom_base (From WildShape):  : copyAttribute: creating attr wisdom_base (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest wisdom_mod (From WildShape):  : copyAttribute: set current value 4 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest charisma (From WildShape):  : copyAttribute: set current value 13 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest charisma_base (From WildShape):  : copyAttribute: set current value 13 on existing attr (From WildShape):  : copyAttribute: find attr on src (From WildShape):  : copyAttribute: find attr on dest charisma_mod (From WildShape):  : copyAttribute: set current value 1 on existing attr (From WildShape):  copying druid proficiencies: druid pb: 3 -- stat npc_str_save: 4, npc pb: 0, npc mod 4, druid pb: 0 -- CHANGING -- npc_str_save from 0 to: 4 -- stat npc_athletics: 4, npc pb: 0, npc mod 4, druid pb: 0 -- CHANGING -- npc_athletics from 0 to: 4 -- stat npc_dex_save: 2, npc pb: 0, npc mod 2, druid pb: 0 -- CHANGING -- npc_dex_save from 0 to: 2 -- stat npc_acrobatics: 2, npc pb: 0, npc mod 2, druid pb: 0 -- CHANGING -- npc_acrobatics from 0 to: 2 -- stat npc_sleight_of_hand: 2, npc pb: 0, npc mod 2, druid pb: 0 -- CHANGING -- npc_sleight_of_hand from 0 to: 2 -- stat npc_stealth: 2, npc pb: 0, npc mod 2, druid pb: 0 -- CHANGING -- npc_stealth from 0 to: 2 -- stat npc_con_save: 1, npc pb: 0, npc mod 1, druid pb: 0 -- CHANGING -- npc_con_save from 0 to: 1 -- stat npc_int_save: -5, npc pb: 0, npc mod -5, druid pb: 3 -- CHANGING -- npc_int_save from 0 to: 6 -- stat npc_arcana: -5, npc pb: 0, npc mod -5, druid pb: 3 -- CHANGING -- npc_arcana from 0 to: 6 -- stat npc_history: -5, npc pb: 0, npc mod -5, druid pb: 0 -- CHANGING -- npc_history from 0 to: 3 -- stat npc_investigation: -5, npc pb: 0, npc mod -5, druid pb: 0 -- CHANGING -- npc_investigation from 0 to: 3 -- stat npc_nature: -5, npc pb: 0, npc mod -5, druid pb: 3 -- CHANGING -- npc_nature from 0 to: 6 -- stat npc_religion: -5, npc pb: 0, npc mod -5, druid pb: 3 -- CHANGING -- npc_religion from 0 to: 6 -- stat npc_wis_save: 0, npc pb: 0, npc mod 0, druid pb: 3 -- CHANGING -- npc_wis_save from 0 to: 7 -- stat npc_animal_handling: 0, npc pb: 0, npc mod 0, druid pb: 0 -- CHANGING -- npc_animal_handling from 0 to: 4 -- stat npc_insight: 0, npc pb: 0, npc mod 0, druid pb: 0 -- CHANGING -- npc_insight from 0 to: 4 -- stat npc_medicine: 0, npc pb: 0, npc mod 0, druid pb: 3 -- CHANGING -- npc_medicine from 0 to: 7 -- stat npc_perception: 2, npc pb: 2, npc mod 0, druid pb: 3 -- CHANGING -- npc_perception from 2 to: 7 -- stat npc_survival: 0, npc pb: 0, npc mod 0, druid pb: 3 -- CHANGING -- npc_survival from 0 to: 7 -- stat npc_cha_save: -4, npc pb: 0, npc mod -4, druid pb: 0 -- CHANGING -- npc_cha_save from 0 to: 1 -- stat npc_deception: -4, npc pb: 0, npc mod -4, druid pb: 0 -- CHANGING -- npc_deception from 0 to: 1 -- stat npc_intimidation: -4, npc pb: 0, npc mod -4, druid pb: 0 -- CHANGING -- npc_intimidation from 0 to: 1 -- stat npc_performance: -4, npc pb: 0, npc mod -4, druid pb: 0 -- CHANGING -- npc_performance from 0 to: 1 -- stat npc_persuasion: -4, npc pb: 0, npc mod -4, druid pb: 0 -- CHANGING -- npc_persuasion from 0 to: 1 Root Ben'Grognard: Transforming into Giant Constrictor Snake
1617841775

Edited 1617842720
Angelo
API Scripter
perfect thank you, glad it fixed it for you, it looks like was missing the attribute " wisdom_base " somehow. I'll check in a new version to the one click so people can get that fix next week as well, thanks for letting me know of this bug!
It's weird that only the one wildshape has that problem and not the others... FWIW, I checked the shape's character sheet and there's a "wisdom" and a "npcd_wis" attribute, but not "wisdom_base". I checked one of the other sheets and that one does have a "wisdom_base" so I don't know why that attribute is missing on the giant constrictor snake... it could be a compendium bug - the original creature's sheet in the compendium may be missing it.
Angelo, I'm sorry I didn't respond back. New job and all. But it looks like Saul J. is having the exact same problem that I had. Thank you both for figuring it out.  I also replaced the WildHelper manually with the patch you posted above and it worked.
1618074100

Edited 1618091435
So, dumb question: Got this all set up, and transformed my druid into a Brown Bear, but the token is "human-sized," not "bear-sized" (medium, not large). Tried dragging the actual brown bear onto the VTT, he's large. Tried dragging the copy of the brown bear that gets created for my druid onto the VTT - he's large too. It's just when I use !ws to shapeshift my druid that the bear shows up as medium. Any suggestions? Am I doing something wrong? Also, !ws works for me as DM, but not for the druid player. Anything I can check to fix that?
1618177633
Angelo
API Scripter
Steven B. said: So, dumb question: Got this all set up, and transformed my druid into a Brown Bear, but the token is "human-sized," not "bear-sized" (medium, not large). Tried dragging the actual brown bear onto the VTT, he's large. Tried dragging the copy of the brown bear that gets created for my druid onto the VTT - he's large too. It's just when I use !ws to shapeshift my druid that the bear shows up as medium. Any suggestions? Am I doing something wrong? Also, !ws works for me as DM, but not for the druid player. Anything I can check to fix that? there is nothing that should prevent your players from using "!ws", as long as that player was added as one of the shapeshifter and has a token selected. The scaling should work just fine, maybe it's something in your page settings? In the main config there is a "enable debug message" that should give you more information on what is and isn't happening.
Angelo said: there is nothing that should prevent your players from using "!ws", as long as that player was added as one of the shapeshifter and has a token selected. The scaling should work just fine, maybe it's something in your page settings? In the main config there is a "enable debug message" that should give you more information on what is and isn't happening. I figured out the first issue. For some reason, all of my scripts were hung. I quit the game, restarted the API sandbox, and reloaded the game, and !ws now works for everyone. Regarding the scaling, I will do some more poking around and see what I can figure out. Thanks for your help!
1618619615
Angelo
API Scripter
the one click has been updated with latest on WildShape and WildHelpers to contain that fix that i had Saul and Kregan install manually. No other outstanding bugs AFAIK. One feature i would like to add is the abiltiy to be independent of the token name moving forward, that way you could have true shapeshifters hiding/being revealed as you please outside of wildshape; you can already do that in a way and add NPC shifters but the name kinds of spoils it if it needs to be a surprise :)
Hi everyone, i'll be leaving roll20 soon (not happy with the way they've been handling UDL and community feedbacks in general). I will be happy to support the script with other bug fixes/feature requests for the next month or so before my subscription ends (~May 20th), but after that there will be no further development from me on this. The fact that so many people found it useful made me really happy, I hope someone else can pick it up and keep expanding it as needed. Good luck to you all and happy gaming!
I'm sorry to hear this but I understand. FWIW, my druid player is VERY happy with the script. I am too. Where are you going?
Sad to hear you're leaving Roll20, this script is amazing. I am wondering if there is a way to get the script to send less whispers unless something goes wrong. I noticed a fix on the first page or so that might help but it seemed you couldn't fully recommend it.
Saul J. said: I'm sorry to hear this but I understand. FWIW, my druid player is VERY happy with the script. I am too. Where are you going? thank you, i am evaluating all options but probably foundry :) Nic O. said: Sad to hear you're leaving Roll20, this script is amazing. I am wondering if there is a way to get the script to send less whispers unless something goes wrong. I noticed a fix on the first page or so that might help but it seemed you couldn't fully recommend it. The is a "Mute Shift Messages" in the main config page for that, it's one of the first options (as a DM just run !ws without anything selected)
1620106528

Edited 1620106689
Hello, I love what this API promises to do and would be super excited to have it running in my game. But I'm having a real hard time of it trying to set it up properly. First, I can't quite seem to get the folder function to work. I have a subfolder set up called Wild Shapes with various npc sheets set up with the prefix WS, (WS Cave Bear for example) but when I point the config menu towards it, it says no such folder found. The npcs in the folder are from a transmogripher copy, if that matters. I have added a couple dragged straight from compendium to test if that was the issue as well. But regardless, it doesn't update the shapeshifter list. Secondly, I get this error message for the forms I have manually added to the list " ERROR: chatErrorToPlayer: Shawn (GM), msg: Cannot find wildshape resource attribute on character sheet = Wild Shapes" I don't know if is this an issue with the way I have pc sheets set up, or npc sheets, or maybe cus I am a DM not aplayer. I'm sure theres an easy fix that the dodo bird that is me overlooked, so I'm hopeful someone here can point me in the right direction. Thanks a bunch!
1620149630

Edited 1620149662
Angelo
API Scripter
Shawn said: Hello, I love what this API promises to do and would be super excited to have it running in my game. But I'm having a real hard time of it trying to set it up properly. First, I can't quite seem to get the folder function to work. I have a subfolder set up called Wild Shapes with various npc sheets set up with the prefix WS, (WS Cave Bear for example) but when I point the config menu towards it, it says no such folder found. The npcs in the folder are from a transmogripher copy, if that matters. I have added a couple dragged straight from compendium to test if that was the issue as well. But regardless, it doesn't update the shapeshifter list. Secondly, I get this error message for the forms I have manually added to the list " ERROR: chatErrorToPlayer: Shawn (GM), msg: Cannot find wildshape resource attribute on character sheet = Wild Shapes" I don't know if is this an issue with the way I have pc sheets set up, or npc sheets, or maybe cus I am a DM not aplayer. I'm sure theres an easy fix that the dodo bird that is me overlooked, so I'm hopeful someone here can point me in the right direction. Thanks a bunch! there is an example on how to use the import from folder here   if things still don't work please post some screenshots of your folder setup and the actual Folder path you are using when you using the tool, otherwise it's impossible to help. About the second error, in the main config page (just run !ws without anything selected) there is a "wildshape resource" set, it checks if your character have that and automatically decreases it; if you don't want that feature just clear that field in the config.
First up i'd like to say THANKYOU, this script made handling my Druid player in CoS a breeze, so much work saved. Secondly, I realise this script is designed for players with all the automatic changing of tokens fromk page to page when you drop them in, does this mean that if i want to use it for NPC's (say, archdruids or shifters like dragons/imps) that each sheet has to be unique?
Angelo said: there is an example on how to use the import from folder here   if things still don't work please post some screenshots of your folder setup and the actual Folder path you are using when you using the tool, otherwise it's impossible to help. About the second error, in the main config page (just run !ws without anything selected) there is a "wildshape resource" set, it checks if your character have that and automatically decreases it; if you don't want that feature just clear that field in the config. Thank you so much! I did not know you need to include the parent folder in the set up. That did the trick, and the wild shape error was simply due to the fact I had it as wildshape on the char sheet instead of wild shape. Everything works perfectly now, much appreciated! As I said, I figured it was an easy fix lol. Thats what I get for trying new apis out late at night with a lack of sleep. Cheers!
1620318706

Edited 1620320108
Angelo
API Scripter
Euphor said: First up i'd like to say THANKYOU, this script made handling my Druid player in CoS a breeze, so much work saved. Secondly, I realise this script is designed for players with all the automatic changing of tokens fromk page to page when you drop them in, does this mean that if i want to use it for NPC's (say, archdruids or shifters like dragons/imps) that each sheet has to be unique? I'm not sure what you mean when you say each sheet needs to be unique? If you mean that you want to have let's say two dragons at the same time on the page and be able to shapeshift one of them, then yes, you will need to make a unique sheet for that so they don't share data Apart from that you can use it for NPCs without problems, the only limitation right now is that the token name has to be kept the same before and after shape shifting , so unfortunately if you are showing that to your players you can't really "hide who they really are" I was planning on removing the name limitation so that you can "hide NPC shifters" but my pro subscription ends in less than two weeks so I'm not sure if I'll get to that
1620764772

Edited 1620767393
Can anyone help me with this issue? Try to edit Shifter: 4:22PM (From WildShape): ERROR: cannot find shifter [Oakleaf] Try to add Shifter: 4:22PM (From WildShape): ERROR: Trying to add ShapeShifter Oakleaf which already exists Try to delete Shifter: 4:22PM (From WildShape): ERROR: Trying to delete ShapeShifter Oakleaf which doesn't exists Something may have gotten messed up when I disabled/reinabled the scripts, but uninstalling/reinstalling didn't help . Nevermind, I fixed that issue with the "Reset" button. My current problem is whenever I shift into a Tiny creature, it stays Normal sized, even if I've edited it in the menu. Normal to Large and Large to Normal works just fine.
1620807906

Edited 1620809005
I'm really sorry to hear you're leaving Roll20. I simply love this script!!! One thing I noticed is that the wild shape resource gets reduced when you revert back to your base form. At least that's what seems to happen. Or have I missed special command to revert that doesn't reduce the resource as !ws does?  I really don't know what happened, but it seems to work properly now, no resource reduction on reverting to base form. My other question would be about adjusting the senses on the UDL tab of the token, but since you're leaving and mostly because of the debacle around UDL, I think it's kind of a moot question. One last question, though: Does the script revert a druid back to base form if HP is down to 0?
1620853105

Edited 1620853125
Angelo
API Scripter
Alryon said: I'm really sorry to hear you're leaving Roll20. I simply love this script!!! One thing I noticed is that the wild shape resource gets reduced when you revert back to your base form. At least that's what seems to happen. Or have I missed special command to revert that doesn't reduce the resource as !ws does?  I really don't know what happened, but it seems to work properly now, no resource reduction on reverting to base form. My other question would be about adjusting the senses on the UDL tab of the token, but since you're leaving and mostly because of the debacle around UDL, I think it's kind of a moot question. One last question, though: Does the script revert a druid back to base form if HP is down to 0? No, it doesn't revert back on 0 HP Danielle said: Can anyone help me with this issue? Try to edit Shifter: 4:22PM (From WildShape): ERROR: cannot find shifter [Oakleaf] Try to add Shifter: 4:22PM (From WildShape): ERROR: Trying to add ShapeShifter Oakleaf which already exists Try to delete Shifter: 4:22PM (From WildShape): ERROR: Trying to delete ShapeShifter Oakleaf which doesn't exists Something may have gotten messed up when I disabled/reinabled the scripts, but uninstalling/reinstalling didn't help . Nevermind, I fixed that issue with the "Reset" button. My current problem is whenever I shift into a Tiny creature, it stays Normal sized, even if I've edited it in the menu. Normal to Large and Large to Normal works just fine. mmmh, weird tiny should work just fine. Which creature are you trying? Can you try to enable the debug messages in the main config and see if you get any errors?
Angelo said: Nic O. said: Sad to hear you're leaving Roll20, this script is amazing. I am wondering if there is a way to get the script to send less whispers unless something goes wrong. I noticed a fix on the first page or so that might help but it seemed you couldn't fully recommend it. The is a "Mute Shift Messages" in the main config page for that, it's one of the first options (as a DM just run !ws without anything selected) The "Mute Shift Messages" just stops the messages sent to players (i.e. " <PC name>:  Transforming into <NPC name>"). I guess Nic was referring to all the whisperred messages the DM get sent showing what the API is doing to effect the changes. Although it is nice to see this the first times you test the API, it creates too much clutter in the chat for actual gameplay. Sure, I'll bear with the clutter if it is needed for the API to work, as this API is one of the reasons I upgraded to Pro. But if it could be hidden, it would be much appreciated.
1621294312

Edited 1621294362
Angelo
API Scripter
Alryon said: Angelo said: Nic O. said: Sad to hear you're leaving Roll20, this script is amazing. I am wondering if there is a way to get the script to send less whispers unless something goes wrong. I noticed a fix on the first page or so that might help but it seemed you couldn't fully recommend it. The is a "Mute Shift Messages" in the main config page for that, it's one of the first options (as a DM just run !ws without anything selected) The "Mute Shift Messages" just stops the messages sent to players (i.e. " <PC name>:  Transforming into <NPC name>"). I guess Nic was referring to all the whisperred messages the DM get sent showing what the API is doing to effect the changes. Although it is nice to see this the first times you test the API, it creates too much clutter in the chat for actual gameplay. Sure, I'll bear with the clutter if it is needed for the API to work, as this API is one of the reasons I upgraded to Pro. But if it could be hidden, it would be much appreciated. my pro subscription ends at the end of this week, i can see if i can add a menu for this, but if i don't make it in time you can install the WildHelpers script manually and then you can edit these functions inside it to remove all type of messages you don't want: chat(msg, callback = null, settings = {noarchive:true}) { sendChat(this.APINAME, "/w gm " + msg, callback, settings); } chatAs(characterId, msg, callback = null, settings = {noarchive:true}) { sendChat("character|" + characterId, msg, callback, settings); } chatToPlayer(who, msg, callback = null, settings = {noarchive:true}) { sendChat(this.APINAME, "/w " + who + " " + msg, callback, settings); this.chat("chatToPlayer: " + who + ", msg: " + msg); } chatError(msg, callback = null, settings = {noarchive:true}) { sendChat(this.APINAME, "/w gm ERROR: " + msg, callback, settings); } chatErrorToPlayer(who, msg, callback = null, settings = {noarchive:true}) { sendChat(this.APINAME, "/w " + who + " ERROR: " + msg, callback, settings); this.chatError("chatErrorToPlayer: " + who + ", msg: " + msg); }
1621372268

Edited 1621372346
Hi Angelo, I hope Im not too late, I love your API wildshape really helped me a lot. I hope you help me. my wildshape is working fine when my character is changing to beast but when I click the base. It just says (From WildShape):  BUILDING TARGET CHARACTER DATA: START (From WildShape):  --- wait for token image and its stuck, does not change back to base, but changing to other beast works fine. please help me. Thank you again for this API
Exelvior said: Hi Angelo, I hope Im not too late, I love your API wildshape really helped me a lot. I hope you help me. my wildshape is working fine when my character is changing to beast but when I click the base. It just says (From WildShape):  BUILDING TARGET CHARACTER DATA: START (From WildShape):  --- wait for token image and its stuck, does not change back to base, but changing to other beast works fine. please help me. Thank you again for this API sorry i responded to you in private, i don't have a pro subscription anymore so i can't test any more changes to the script at all :(
Hey theer Angelo really cool ode! Thank you so much for making it available and providing some support! I think I have roughly the same issue as the one described above: (From WildShape):  cannot find default token image, getting avatar image (From WildShape):  token image found My druid can change into his different animal tokens just fine, but when she changes back, its not the token but instead the character image (the artwork they selected when making their character). Any way I can fix this?
1623028384

Edited 1623033721
Hey, guys! I have run into an issue using this script where after I set up my druid with all her shift shapes, her main character sheet becomes corrupted and cannot accept drag and drops from the compendium. I have had to remake her from scratch twice now. Anyone else experiencing this? I suspect this script is the culprit because both times I rebuilt her, I used the compendium drops exclusively for pretty much everything, and applied her !ws setup as the very last thing, and now I can no longer drop from compendium. Help!?!
To whomever picks up support of this script, I found another bug: When the druid shapechanges into a creature that doesn't have Darkvision, the vision/light is set correctly (at least under Legacy Lighting). However, when the druid changes back, the vision is not reset to what it had been before (again, at least under Legacy Lighting).
Exelvior said: Hi Angelo, I hope Im not too late, I love your API wildshape really helped me a lot. I hope you help me. my wildshape is working fine when my character is changing to beast but when I click the base. It just says (From WildShape):  BUILDING TARGET CHARACTER DATA: START (From WildShape):  --- wait for token image and its stuck, does not change back to base, but changing to other beast works fine. please help me. Thank you again for this API I had this same problem. I removed the token from the character sheet and then added it back again and it resolved the issue. 
Argh. I've just installed this script and love how it works. Sure it has a few glitches, but all in all it's a wonderful piece of work.  For now I'll just drag the character back on the map if they shift back and remove the WS token from the map to make sure I get the dynamic lighting back as needed.  I've made a tiny change to the WildShape script to activate dynamic lighting as a minimum on the new tokens. don't install the wildshape from the library, but instead manually from github as a new Script. then add to line 1371 following code UTILS.chatAs(obj.shifterCharacter.get("id"),'!token-mod --on bright_vision',null, null); My call to doShapeShift now looks like this doShapeShift(obj).then((ret) => {                         if (ret && !config[WS_API.FIELDS.MUTE_SHIFT])                         {                             if (obj.targetShape)                                 UTILS.chatAs(obj.shifterCharacter.get("id"), "Transforming into " + shapeName, null, null);                             else                                 UTILS.chatAs(obj.shifterCharacter.get("id"), "Transforming back into " + obj.shifterId, null, null);                             UTILS.chatAs(obj.shifterCharacter.get("id"),'!token-mod --on bright_vision',null, null);                         }                     }) sure, it's quick and dirty. But before I figure out how to set those token properties directly in-code, I'll just recycle the hard work done by Aaron on token-mod.  I'll still have to add night vision to the tokens that actually have it, but tha'ts easily done manually for now. 
1628193722

Edited 1628193777
Angelo said: Danielle said: Can anyone help me with this issue? Try to edit Shifter: 4:22PM (From WildShape): ERROR: cannot find shifter [Oakleaf] Try to add Shifter: 4:22PM (From WildShape): ERROR: Trying to add ShapeShifter Oakleaf which already exists Try to delete Shifter: 4:22PM (From WildShape): ERROR: Trying to delete ShapeShifter Oakleaf which doesn't exists Something may have gotten messed up when I disabled/reinabled the scripts, but uninstalling/reinstalling didn't help . Nevermind, I fixed that issue with the "Reset" button. My current problem is whenever I shift into a Tiny creature, it stays Normal sized, even if I've edited it in the menu. Normal to Large and Large to Normal works just fine. mmmh, weird tiny should work just fine. Which creature are you trying? Can you try to enable the debug messages in the main config and see if you get any errors? Hello, I do have the same problem. I set up a bat to be set to tiny, the npc sheet only has an avatar. Bat has "tiny" in its settings. As I can see, it tries to set the size to tiny (0,5?) but I still have a normal size token on the map. (From WildShape):  BUILDING TARGET CHARACTER DATA: START (From WildShape):  --- wait for token image (From WildShape):  cannot find default token image, getting avatar image (From WildShape):  token image found (From WildShape):  --- tokenTargetSize: 0.5 (From WildShape):  --- setting up senses (From WildShape):  BUILDING TARGET CHARACTER DATA: DONE (From WildShape):  COPYING DRUID DATA: START (From WildShape):  --- copying attributes (From WildShape):  copyAttribute: setting intelligence, value = 12 (From WildShape):  copyAttribute: setting intelligence_base, value = 12 (From WildShape):  copyAttribute: setting intelligence_mod, value = 1 (From WildShape):  copyAttribute: setting wisdom, value = 18 (From WildShape):  copyAttribute: setting wisdom_base, value = 18 (From WildShape):  copyAttribute: setting wisdom_mod, value = 4 (From WildShape):  copyAttribute: setting charisma, value = 15 (From WildShape):  copyAttribute: setting charisma_base, value = 15 (From WildShape):  copyAttribute: setting charisma_mod, value = 2 (From WildShape):  --- copying proficiencies (From WildShape):  druid pb: 3 (From WildShape):  stat npc_str_save: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_athletics: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_dex_save: 2, npc pb: 0, npc mod: 2, druid pb: 0 (From WildShape):  stat npc_acrobatics: 2, npc pb: 0, npc mod: 2, druid pb: 0 (From WildShape):  stat npc_sleight_of_hand: 2, npc pb: 0, npc mod: 2, druid pb: 0 (From WildShape):  stat npc_stealth: 2, npc pb: 0, npc mod: 2, druid pb: 0 (From WildShape):  stat npc_con_save: -1, npc pb: 0, npc mod: -1, druid pb: 0 (From WildShape):  stat npc_int_save: -4, npc pb: 0, npc mod: -4, druid pb: 3 (From WildShape):  stat npc_arcana: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_history: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_investigation: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_nature: -4, npc pb: 0, npc mod: -4, druid pb: 3 (From WildShape):  stat npc_religion: -4, npc pb: 0, npc mod: -4, druid pb: 0 (From WildShape):  stat npc_wis_save: 1, npc pb: 0, npc mod: 1, druid pb: 3 (From WildShape):  stat npc_animal_handling: 1, npc pb: 0, npc mod: 1, druid pb: 0 (From WildShape):  stat npc_insight: 1, npc pb: 0, npc mod: 1, druid pb: 0 (From WildShape):  stat npc_medicine: 1, npc pb: 0, npc mod: 1, druid pb: 3 (From WildShape):  stat npc_perception: 1, npc pb: 0, npc mod: 1, druid pb: 3 (From WildShape):  stat npc_survival: 1, npc pb: 0, npc mod: 1, druid pb: 3 (From WildShape):  stat npc_cha_save: -3, npc pb: 0, npc mod: -3, druid pb: 0 (From WildShape):  stat npc_deception: -3, npc pb: 0, npc mod: -3, druid pb: 0 (From WildShape):  stat npc_intimidation: -3, npc pb: 0, npc mod: -3, druid pb: 0 (From WildShape):  stat npc_performance: -3, npc pb: 0, npc mod: -3, druid pb: 0 (From WildShape):  stat npc_persuasion: -3, npc pb: 0, npc mod: -3, druid pb: 0 (From WildShape):  COPYING DRUID DATA : DONE
I understand that this script is no longer being updated, however i was wondering if any one had incountered an issue i am having with it and might have a fix for it. In our game, we have the hp bar of our characters visible so that we have a visual representation of how hurt some one is rather then telling people what hp we are on. It is set so that all players can see the bar. (see below) As you can see in the image above, I can see the numbers in the bars of my character. But only the hp bars as a visual guids for my party. The issue i am encountering lies in the fact that when we add our druid to this script it force unchecks the see option for that bar, meaning his bar no longer appears. (See below) If we edit it so that it can be seen again, then re save it to the token, it is removed again the instant he uses the wildshape script. This occurs to each of his shapes. Again, i know that this script is no longer being updated, but i just thought i could drop this here and see if any one stillusing has a fix for this minor thing. Thanks
Can someone help me with this error message, please?  I don’t understand what value "wildeshape resource attribute on character sheet=5" refers to Thanks in advance I take this opportunity to thank Angelo for the fantastic work done, I definitely improved the gaming experience! √ 
@dingo you can edit the function setTokenBarValues, line 782 change that "false" to "true @eryn in the main config page (run !ws without anything selected) there is a setting for the wildshape resource, just clear that out if you don't want to use that feature
Hi all,  I posted this message creating another thread because I didn't see that thread earlier.  Sorry about that  Hi all,  I've started to use the WildShape Script that angelo created a while ago. I know that this script is no longer being maintained, but i would like to ask the community if anyone could help me on a little question on that script.  When i Shapeshift to a new shape, i would like it to set the HP of the shape to the npc_hpformula rather than the average value. I tried to change the npc settings to include that attribute in HP setting, but of course it doesn't work.  Don't know if anyone found a way to do that.  i know i could use token mod after the shapeshifting to reset the bar but it would be cool if this was automated.  thanks I Talked to Angelo and he proposed this solution but I cannot seem to make it work correctly as it crashes my API. unfortunately there is no automatic way of running that formula, but one thing you can do is edit the code if you are familiar with scripting. You could inject some new code in the  getTargetCharacterData  function right before i call  getTokenBarData  on line 940, I have not played around doing rolls from APIs so i am not sure if this would work or not, but your code would probably need to look something like this // randomize HP on NPC shapes if (isTargetNpc && !isTargetDefault) { let runChatInlineRoll = async function(txt){ let rollResult = await new Promise((resolve,reject)=>{ sendChat('',txt,(ops)=>{ resolve(ops[0].inlinerolls[0].results.total); }); }); }; let hpFormula = getAttrByName(shiftData.targetCharacterId, "npc_hpformula"); let hpValue = await runChatInlineRoll(`[[${hpFormula}]]`);; UTILS.setAttribute(shiftData.targetCharacterId, "hp", hpValue, hpValue); } as i said unfortunately i can't test any of this without a pro sub, but let me know how it goes and please share in the wildshape thread if you get it working, i am sure other people will appreciate forgot to add that right before the setAttribute at the end you might wanna check that you got a valid hpValue, something like this if (hpValue) UTILS.setAttribute(shiftData.targetCharacterId, "hp", hpValue, hpValue); else UTILS.chatError("cannot get a valid hpValue from formula " + hpFormula); I couldn't make this work correctly though. Could anyone help me pinpointing the exact line i should insert(?) or replace(?) these lines ? Thank you for your help if you can. Best
1629242114

Edited 1629242131
Angelo
API Scripter
hey Lionel, as i wrote in that message that code should go in WildShape.js inside the  getTargetCharacterData  function right before i call  getTokenBarData  on line 940. The mistake is most likely on my end tho, i wrote that snippet for you in the private message and without a pro sub i am not able to test it so i might have made a mistake with the syntax here and there. hopefully another user with pro and a little bit of coding experience can jump in and figure out exactly what the error is and how to fix it. I wish they would at least let me run the API for myself in a testing environment without pro so i could help you more with this :(