in the stupid roll20 tricks thread, there is a realy nice suite of macro posted by user KC to set up druids wildshape easily. here it is for reference :  KC .  said: Using TokenMod and ChatSetAttr to Set Up Druid Wild Shapes (uses API) TokenMod makes it so that you don't need to bother with rollable tables to create a multi-sided token (as long as all of the images involved are in your user library). !token-mod --set imgsrc|+@{target|token_id} --ids @{selected|token_id} Select your Druid's token, use the macro above and click their token as your target.  They now have a multi-sided token with their base token as side 1.  Put down some beast form tokens and add them to the Druid's token.  Don't forget to save the token as their default token or you won't have any additional sides the next time you drag their token out. !token-mod --set defaulttoken I find this so much faster than creating/updating lots of rollable tables, especially because I tend to add multiple sides to the majority of tokens in my games (variations on appearance whenever I can for enemies, players, etc). I use separate character sheets for all the Wild Shapes that Druids might have (so that I can have appropriate token macros for attacks and such for each).  So if I have two Druids in my game named Bob and Mary Sue and they both like to turn into wolves, then I'll have a Wolf sheet (for use with Conjure Animals and such), a Wolf Bob character sheet with Bob's mental stats/proficiencies/saves, and a Wolf Mary Sue sheet with Mary Sue's mental stats/saves.  Setting up the Druid specific sheets correctly for mental stats/proficiences/saves is easy enough if you have the ChatSetAttr API script. You just need to have the tokens for the Druid and Wild Shape to be modified and then run the following three macros, selecting the appropriate targets as prompted. The first sets up the Wild Shape character sheet with the Druid's mental stats and proficiency bonus: !setattr {{ --charid @{target|Wild Shape|character_id} --evaluate --pb_custom|(%pb_custom% < @{target|Druid|pb}) ? @{target|Druid|pb} : %pb_custom% --intelligence|@{target|Druid|intelligence} --intelligence_mod|@{target|Druid|intelligence_mod} --wisdom|@{target|Druid|wisdom} --wisdom_mod|@{target|Druid|wisdom_mod} --charisma|@{target|Druid|charisma} --charisma_mod|@{target|Druid|charisma_mod} }} The second does a little needed preparation to the Wild Shape character sheet (making sure that all the necessary fields are actually using numbers for the attributes to be evaluated in the next step): !setattr {{ --charid @{target|Wild Shape|character_id} --evaluate --npc_saving_flag|1 --npc_skills_flag|1 --strength_mod|"%strength_mod%" ? "%strength_mod%" : "0" --dexterity_mod|"%dexterity_mod%" ? "%dexterity_mod%" : "0" --constitution_mod|"%constitution_mod%" ? "%constitution_mod%" : "0" --intelligence_mod|"%intelligence_mod%" ? "%intelligence_mod%" : "0" --wisdom_mod|"%wisdom_mod%" ? "%wisdom_mod%" : "0" --charisma_mod|"%charisma_mod%" ? "%charisma_mod%" : "0" --npc_str_save_flag|"%npc_str_save_flag%" ? "%npc_str_save_flag%" : "0" --npc_dex_save_flag|"%npc_dex_save_flag%" ? "%npc_dex_save_flag%" : "0" --npc_con_save_flag|"%npc_con_save_flag%" ? "%npc_con_save_flag%" : "0" --npc_int_save_flag|"%npc_int_save_flag%" ? "%npc_int_save_flag%" : "0" --npc_wis_save_flag|"%npc_wis_save_flag%" ? "%npc_wis_save_flag%" : "0" --npc_cha_save_flag|"%npc_cha_save_flag%" ? "%npc_cha_save_flag%" : "0" --npc_athletics_flag|"%npc_athletics_flag%" ? "%npc_athletics_flag%" : "0" --npc_acrobatics_flag|"%npc_acrobatics_flag%" ? "%npc_acrobatics_flag%" : "0" --npc_sleight_of_hand_flag|"%npc_sleight_of_hand_flag%" ? "%npc_sleight_of_hand_flag%" : "0" --npc_stealth_flag|"%npc_stealth_flag%" ? "%npc_stealth_flag%" : "0" --npc_arcana_flag|"%npc_arcana_flag%" ? "%npc_arcana_flag%" : "0" --npc_history_flag|"%npc_history_flag%" ? "%npc_history_flag%" : "0" --npc_investigation_flag|"%npc_investigation_flag%" ? "%npc_investigation_flag%" : "0" --npc_nature_flag|"%npc_nature_flag%" ? "%npc_nature_flag%" : "0" --npc_religion_flag|"%npc_religion_flag%" ? "%npc_religion_flag%" : "0" --npc_animal_handling_flag|"%npc_animal_handling_flag%" ? "%npc_animal_handling_flag%" : "0" --npc_insight_flag|"%npc_insight_flag%" ? "%npc_insight_flag%" : "0" --npc_medicine_flag|"%npc_medicine_flag%" ? "%npc_medicine_flag%" : "0" --npc_perception_flag|"%npc_perception_flag%" ? "%npc_perception_flag%" : "0" --npc_survival_flag|"%npc_survival_flag%" ? "%npc_survival_flag%" : "0" --npc_deception_flag|"%npc_deception_flag%" ? "%npc_deception_flag%" : "0" --npc_intimidation_flag|"%npc_intimidation_flag%" ? "%npc_intimidation_flag%" : "0" --npc_performance_flag|"%npc_performance_flag%" ? "%npc_performance_flag%" : "0" --npc_persuasion_flag|"%npc_persuasion_flag%" ? "%npc_persuasion_flag%" : "0" }} The final macro compares saves/skills between the Druid and the Wild Shape and adds the newly calculated values to the Wild Shape: !setattr {{ --charid @{target|Wild Shape|character_id} --evaluate --npc_str_save_flag|(@{target|Druid|strength_save_prof}!==0)?1:%npc_str_save_flag% --npc_dex_save_flag|(@{target|Druid|dexterity_save_prof}!==0)?1:%npc_dex_save_flag% --npc_con_save_flag|(@{target|Druid|constitution_save_prof}!==0)?1:%npc_con_save_flag% --npc_int_save_flag|(@{target|Druid|intelligence_save_prof}!==0)?1:%npc_int_save_flag% --npc_wis_save_flag|(@{target|Druid|wisdom_save_prof}!==0)?1:%npc_wis_save_flag% --npc_cha_save_flag|(@{target|Druid|charisma_save_prof}!==0)?1:%npc_cha_save_flag% --npc_athletics_flag|(@{target|Druid|athletics_prof}!==0)?1:%npc_athletics_flag% --npc_acrobatics_flag|(@{target|Druid|acrobatics_prof}!==0)?1:%npc_acrobatics_flag% --npc_sleight_of_hand_flag|(@{target|Druid|sleight_of_hand_prof}!==0)?1:%npc_sleight_of_hand_flag% --npc_stealth_flag|(@{target|Druid|stealth_prof}!==0)?1:%npc_stealth_flag% --npc_arcana_flag|(@{target|Druid|arcana_prof}!==0)?1:%npc_arcana_flag% --npc_history_flag|(@{target|Druid|history_prof}!==0)?1:%npc_history_flag% --npc_investigation_flag|(@{target|Druid|investigation_prof}!==0)?1:%npc_investigation_flag% --npc_nature_flag|(@{target|Druid|nature_prof}!==0)?1:%npc_nature_flag% --npc_religion_flag|(@{target|Druid|religion_prof}!==0)?1:%npc_religion_flag% --npc_animal_handling_flag|(@{target|Druid|animal_handling_prof}!==0)?1:%npc_animal_handling_flag% --npc_insight_flag|(@{target|Druid|insight_prof}!==0)?1:%npc_insight_flag% --npc_medicine_flag|(@{target|Druid|medicine_prof}!==0)?1:%npc_medicine_flag% --npc_perception_flag|(@{target|Druid|perception_prof}!==0)?1:%npc_perception_flag% --npc_survival_flag|(@{target|Druid|survival_prof}!==0)?1:%npc_survival_flag% --npc_deception_flag|(@{target|Druid|deception_prof}!==0)?1:%npc_deception_flag% --npc_intimidation_flag|(@{target|Druid|intimidation_prof}!==0)?1:%npc_intimidation_flag% --npc_performance_flag|(@{target|Druid|performance_prof}!==0)?1:%npc_performance_flag% --npc_persuasion_flag|(@{target|Druid|persuasion_prof}!==0)?1:%npc_persuasion_flag% --npc_str_save|(%pb_custom% + %strength_mod%) --npc_dex_save|(%pb_custom% + %dexterity_mod%) --npc_con_save|(%pb_custom% + %constitution_mod%) --npc_int_save|(%pb_custom% + %intelligence_mod%) --npc_wis_save|(%pb_custom% + %wisdom_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) --npc_athletics|(%pb_custom% + %strength_mod%) --npc_acrobatics|(%pb_custom% + %dexterity_mod%) --npc_sleight_of_hand|(%pb_custom% + %dexterity_mod%) --npc_stealth|(%pb_custom% + %dexterity_mod%) --npc_arcana|(%pb_custom% + %intelligence_mod%) --npc_history|(%pb_custom% + %intelligence_mod%) --npc_investigation|(%pb_custom% + %intelligence_mod%) --npc_nature|(%pb_custom% + %intelligence_mod%) --npc_religion|(%pb_custom% + %intelligence_mod%) --npc_animal_handling|(%pb_custom% + %wisdom_mod%) --npc_insight|(%pb_custom% + %wisdom_mod%) --npc_medicine|(%pb_custom% + %wisdom_mod%) --npc_perception|(%pb_custom% + %wisdom_mod%) --npc_survival|(%pb_custom% + %wisdom_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) }} For the Druid's base form and each Wild Shape, I add a macro as an ability on the Druid's character sheet.  It uses TokenMod to switch their token to the correct side and size for that Wild Shape, links it to the appropriate character sheet, sets the correct (dark)vision, displays speed in bar 1 (sometimes using bar1_value and bar1_max to remind me of multiple speeds like the climbing speed for spiders), displays AC in bar 2, and rolls hit points based on the Wild Shapes hit point formula into bar 3.  A couple of examples below: !token-mod {{ --set currentside|1 height|70 width|70 represents|"Mary Sue" light_radius|12 light_dimradius|=-5 bar1_link|speed bar2_link|ac bar3_link|hp         }} !token-mod {{ --set currentside|6 height|140 width|140 represents|"Giant Spider Mary Sue" light_radius|60 light_dimradius|0 bar1_value|30 bar1_max|30 bar2_value|@{Giant Spider Mary Sue|npc_ac} bar3|[[@{Giant Spider Mary Sue|npc_hpformula}]] }} Finally each Druid gets an ability called "Wild Shapes" which just whispers them a bunch of buttons linked up to the forms they have available.  Select the Show in Macro Bar option for that one so it'll be available no matter what shape they're using.  That macro looks something like this: /w "Mary Sue" [Base](~Mary Sue|BaseForm) [Giant Spider](~Mary Sue|GiantSpider) ... When the Druid gets a new Wild Shape, you just need to click a few macro buttons to add the image to their token, duplicate and rename the shape's character sheet, then set up a new ability for that shape, and finally add a new button to the Wild Shape menu.  It's actually pretty fast using the macros above, but I do still wish someone would make one API to handle all of that. That said, I really feel like this is more towards the stupid end of the spectrum than the clever one, because a clever one wouldn't be quite as resource intensive as requiring all those separate character sheets for each Druid.  I've tinkered around a little bit with a method that makes back up copies of the Druid's base attributes and then overwrites a Wild Shape's attributes on the Druid character sheet as well as adding abilities for the Wild Shape's attacks, but it's so far from being ready that I probably shouldn't even be mentioning it. Now, in the final macro you have those lines :  --npc_str_save|(%pb_custom% + %strength_mod%) --npc_dex_save|(%pb_custom% + %dexterity_mod%) --npc_con_save|(%pb_custom% + %constitution_mod%) --npc_int_save|(%pb_custom% + %intelligence_mod%) --npc_wis_save|(%pb_custom% + %wisdom_mod%) --npc_cha_save|(%pb_custom% + %charisma_mod%) To my understanding that gives proficiency bonus to ALL saves to the selected wildshape. When I try it, it's exactly what happens : my shapeshifted brow bear ends up using the druid's proficiency bonus when making a charisma saving throw even though neither the druid or the bear have charisma saving throw proficiency. That happens when using a save roll macro like this one (didn't make it myself) :  /w gm &{template:default} {{name= @{selected|character_name} Saving Throws}}  {{Str=[[@{selected|d20}+(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_str_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|strength_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_str_save}*@{selected|npc})]]}} {{Dex=[[@{selected|d20}+(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_dex_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|dexterity_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_dex_save}*@{selected|npc})]]}} {{Con=[[@{selected|d20}+(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_con_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|constitution_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_con_save}*@{selected|npc})]]}} {{Int=[[@{selected|d20}+(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_int_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|intelligence_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_int_save}*@{selected|npc})]]}} {{Wis=[[@{selected|d20}+(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_wis_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|wisdom_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_wis_save}*@{selected|npc})]]}} {{Cha=[[@{selected|d20}+(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_cha_save}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|charisma_save_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_cha_save}*@{selected|npc})]]}} If anyone can help me clear this out I'd be very grateful !