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

D&D 5E Statblock Macro Mule (v3)

The 'Description' buttons for each of the spells was previously formatted for the whisper setting like this: (!
@{MM|whisper} %{@{selected|character_name}|repeating_spell-cantrip_$0_output}%{MM|SpellLinkStyle} display: inline-block@{selected|repeating_spell-cantrip_$0_spellname|max};" class="showtip" title="Casting Time: @{selected|repeating_spell-cantrip_$0_spellcastingtime}%NEWLINE%Duration: @{selected|repeating_spell-cantrip_$0_spellduration}%NEWLINE%Target: @{selected|repeating_spell-cantrip_$0_spelltarget} )  All I had to do was change the '@' to '@' for each item and it delayed the processing of the {MM|whisper} so that it wouldn't get screwed up if there are any " " in the attribute. (!
@{MM|whisper} %{@{selected|character_name}|repeating_spell-cantrip_$0_output}%{MM|SpellLinkStyle} display: inline-block@{selected|repeating_spell-cantrip_$0_spellname|max};" class="showtip" title="Casting Time: @{selected|repeating_spell-cantrip_$0_spellcastingtime}%NEWLINE%Duration: @{selected|repeating_spell-cantrip_$0_spellduration}%NEWLINE%Target: @{selected|repeating_spell-cantrip_$0_spelltarget} )  I did some pretty thorough testing through several whisper settings with both PCs and NPCs and it looked all good now, but please let me know if you have any other issues!
This is great yet again! Thanks Jarren for this tool. Any chance the future will see a clickable inventory functionality (to post item descriptions to chat by using _itemcontent?)
So forgive this if it's an absolute newb inquiry, but what would I want to use for macros if I wanted to be able to toggle on and off whether an NPC sheet would whisper to the gm? Is there a simple script to use for this?
Teccam said: This is great yet again! Thanks Jarren for this tool. Any chance the future will see a clickable inventory functionality (to post item descriptions to chat by using _itemcontent?) Yeah I can look into adding that.  It'll add 30 more Abilities (just like the 'Desc' abilities for NPC Actions, etc. Roll20 just announced a new character sheet.  I've requested they add 'output' fields for everything, and if that's the case then an updated MacroMule for the new sheet would be a lot simpler to code.
Robin W. said: So forgive this if it's an absolute newb inquiry, but what would I want to use for macros if I wanted to be able to toggle on and off whether an NPC sheet would whisper to the gm? Is there a simple script to use for this? Currently there is nothing built into this MacroMule that will trigger any other scripts.  The Mod script approach only has two features: the first is to automate building the MacroMule character instead of importing it from my game or manually copying all of the attributes and abilities; and the second is the !self command to be used for 'whisper to myself' functionality instead of using Macro Overloading . If you want to toggle on and off whisper settings, then you'll need to use a Mod script such as ChatSetAttr. In order to use Mod scripts, the game creator will need to have a Roll20 Pro subscription (I see that you have a Plus subscription, not a Pro). Here is a ChatSetAttr command to toggle the whisper setting to 'Query Whisper': !setattr {{   --silent   --sel   --replace   --wtype|\ques{Whisper\ques\|Public Roll,\|Whisper Roll,/w gm }|  }}
1707933664

Edited 1707934471
Jarren said: Robin W. said: So forgive this if it's an absolute newb inquiry, but what would I want to use for macros if I wanted to be able to toggle on and off whether an NPC sheet would whisper to the gm? Is there a simple script to use for this? Currently there is nothing built into this MacroMule that will trigger any other scripts.  The Mod script approach only has two features: the first is to automate building the MacroMule character instead of importing it from my game or manually copying all of the attributes and abilities; and the second is the !self command to be used for 'whisper to myself' functionality instead of using Macro Overloading . If you want to toggle on and off whisper settings, then you'll need to use a Mod script such as ChatSetAttr. In order to use Mod scripts, the game creator will need to have a Roll20 Pro subscription (I see that you have a Plus subscription, not a Pro). Here is a ChatSetAttr command to toggle the whisper setting to 'Query Whisper': !setattr {{   --silent   --sel   --replace   --wtype|\ques{Whisper\ques\|Public Roll,\|Whisper Roll,/w gm }|  }} Cool, follow up issue, one of my NPC spellcasters does this when I click spells. I'm assuming I've done something wrong somewhere. Spells: Save DC 13 | Attack +5   -- Cantrips --  |repeating_spell-cantrip_$0_output}" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block;" class="showtip" title="Casting Time: 1 action Duration: 1 round Target: The space of a creature within range ) Chill Touch |repeating_spell-cantrip_$0_spell" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; display: inline-block;) (120 feet)  |repeating_spell-cantrip_$1_output}" style="text-decoration: none; background: none; padding: 0px; font-size: 13px; cursor: text; display:none; cursor: pointer; color: purple; color: purpleselected|repeating_spell-cantrip_$selected|repeating_spell-cantrip_$1_spellpreparedselected|repeating_spell-cantrip_$1_spellprepared1_spellname|max;display: inline-block;" class="showtip" title="Casting Time: 1 action Duration: up to 1 minute Target: ) There's a lot more, and it does this for basically every spell, even spell levels that don't have spells listed. When I click any spell names on it, it says "TypeError: zt is undefined"
Robin W. said: Cool, follow up issue, one of my NPC spellcasters does this when I click spells. I'm assuming I've done something wrong somewhere. There's a lot more, and it does this for basically every spell, even spell levels that don't have spells listed. When I click any spell names on it, it says "TypeError: zt is undefined" Can you post a screenshot?   Does this only happen with one NPC, or several?  If it only happens with a single NPC, then there is something that needs to be fixed on that character; not on the MacroMule.  It’ll probably be easiest for me to troubleshoot if you’re willing to PM me a game invitation and promote me to GM. Feel free to make a game copy first and invite me to that one so we don’t have to test in your regular game. 
Jarren said: Robin W. said: Cool, follow up issue, one of my NPC spellcasters does this when I click spells. I'm assuming I've done something wrong somewhere. There's a lot more, and it does this for basically every spell, even spell levels that don't have spells listed. When I click any spell names on it, it says "TypeError: zt is undefined" Can you post a screenshot?   Does this only happen with one NPC, or several?  If it only happens with a single NPC, then there is something that needs to be fixed on that character; not on the MacroMule.  It’ll probably be easiest for me to troubleshoot if you’re willing to PM me a game invitation and promote me to GM. Feel free to make a game copy first and invite me to that one so we don’t have to test in your regular game.  It does happen to more than one but not all of them. I'll make a copy of the game in just a moment and DM it to you. Here's a screenshot for reference.
Robin W. said: Cool, follow up issue, one of my NPC spellcasters does this when I click spells. I'm assuming I've done something wrong somewhere. For anyone else that has a similar issue (it will also show up on other menus, such as Stats): the problem is  Known Limitation #4 : 4. Characters cannot have any parentheses or quotation marks in their character names. (The name that is displayed in the journal.) HTML replacements won't work either. This limitation also applies to some other fields, such as 'range' for spells and weapons. Other 'control' characters (! @ # $ % ^ & ( ) { } [ ] " ' : ; ,) may cause issues as well. The problem characters in question had parentheses in their names.  Replacing the parentheses with square brackets or a dash should fix the issue.
1710526002

Edited 1710570503
Updated code v3.5 MacroMule Character Vault Game Update:   Lots of changes in this update.  Again, I always suggest renaming/copying your current MacroMule before creating the updated one, just in case you need to revert back. Light / Dark Mode:       A dded 'Color_Mode' attribute to switch between light & dark colors       Updated all 'Style' Abilities update with light/dark friendly colors  Equipment      Added Info description buttons to inventory items PCs      Multiclass descriptions on PCStats and PCBio      Changed Hit Point stat to reference 'hp' instead of 'bar1'  on PCStats Rolls Menu      Added Save modifiers      Added Proficiency and Expertise icons      Adjusted so each line will fit better when not using Stylus      Listing can be toggled between Alphabetical or Sorted by type Spellcasting      Spells 'unprepared' colors no longer apply to Range and Innate      Added Concentration icon       Added Ritual icon  Various      Updated the Menu ability buttons with invisible leading characters to sort them on the Token Action bar      Several minor appearance tweaks       Added attributes to the MacroMule character to show as a 'vehicle' and so the charactermancer prompt does not appear  I've also gone back through this thread and edited/updated all of my initial posts with  new screenshots and  (hopefully)  better descriptions and explanations.
Thank you for this update Jarren.  Really like the icons/sorting on the token action buttons.  Great stuff!
I'm also jumping on this love train!  Thank you so much for this!  Lots of respect and love here, this is now one of my top five dm'ing aids! Cheers! 
Thank you!
Question (and it's likely I just missed it in the finer details):  How can I set it so my players' rolls and such are public, and keep mine whispered?
Eponymous  said: Question (and it's likely I just missed it in the finer details):  How can I set it so my players' rolls and such are public, and keep mine whispered? Whisper settings for rolls are set on the character sheets individually for each character.   The only whisper settings that are controlled by the MacroMule character are for the chat menus and Info description buttons. All of the rolls (skill checks, saving throws, attack rolls, etc.) are controlled by the linked character sheets, and are the exact same roll that would happen if you clicked on the roll from the character sheet itself.  E.g. if you click on the Init [roll] button, that is exactly the same as opening the character sheet and clicking on the Initiative button there. If you wanted the menus and Info descriptions to be set to public (I don't recommend this!), then change the 'PCWhisper' attribute to be blank. To adjust the whisper setting for a character you can follow KeithCurtis' instructions here , or you can use a script such as ChatSetAttr. This ChatSetAttr command will set the Whisper for a character to the 'Query Whisper' settings. !setattr {{   --silent   --sel   --replace   --wtype|\ques{Whisper\ques\|Public Roll,\|Whisper Roll,/w gm}|  }}
Thank you, Jarren.  I just needed confirmation that I should be seeing the rolls.  I don't need the menus and such.   Thanks again!
Hello Jarren, I just started using the Macro Mule and first I just want to say thank you for all your hard work.  This thing is amazing!!!  Second, I can't seem to find how to roll for Hit Dice.  I have tried every macro (Menu, Roll, traits, etc.) but I don't see it.  Is it there? Where is it? Can you add it? Thanks again for all your time working so hard on this!
The roll for Hit Dice is not currently included.  I should be able to add it easily enough. I would add it to the Rolls menu below Initiative and Death Saves, unless there is strong reasoning to include it somewhere else. However, I know there are issues with multiclassed characters.  I haven't played around with it enough to figure out all the details, but I know that how Hit Dice are displayed and rolled gets super weird with multiclassed characters.  I think that was why I didn't include the Hit Dice roll previously.  
Cool.  thanks! Yea, the multiclass issue makes sense.  In my game, we just roll the highest die.  It's usually only a 1 or 2 hp difference anyway.
1713383023

Edited 1713392252
Updated code to 3.5.1 to add 'Hit Dice' rolls to the PC Roll menus. Caveats: I have done very little testing, other than to check and see that it does appear to show up for both single-classed and multi-classed PCs.  Based on how the attributes are written it may be difficult/impossible to add second or third multi-class dice to display. For multi-class characters, the value that is shown is whatever hit dice that is listed for the primary (first) class selected. To make this update manually, just update these two fields: PCRollsList-Alphabetical [**Init.**](%{MM|StatLinkStyle} display: inline-block; ) [roll](~@{selected|character_name}|initiative%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|initiative_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) | [**Hit Die**](%{MM|StatLinkStyle} display: inline-block; ) [roll](~@{selected|character_name}|hit_dice%{MM|RollLinkStyle} display: inline-block; ) ([**d@{selected|hitdietype}**](%{MM|InfoLinkStyle} display: inline-block; ))[ ](" style="height: 0.0px; display: block;) [**Death**](%{MM|StatLinkStyle} display: inline-block; ) [save](~@{selected|character_name}|death_save%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; )[**@{selected|death_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; ))   [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ1}};) [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ2}};) [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ3}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail1}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail2}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail3}};) [ ](%{MM|RedLine};)[**Str**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|strength}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|strength%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_str_negative}}; )[**@{selected|strength_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|strength_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|strength_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|strength_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_str_negative}}; )[**@{selected|strength_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](" style="height: 0.0px; display: block;) [**Dex**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|dexterity}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|dexterity%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|dexterity_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|dexterity_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|dexterity_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|dexterity_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|dexterity_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](" style="height: 0.0px; display: block;) [**Con**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|constitution}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|constitution%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_con_negative}}; )[**@{selected|constitution_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|constitution_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|constitution_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|constitution_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_con_negative}}; )[**@{selected|constitution_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](" style="height: 0.0px; display: block;) [**Int**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|intelligence}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|intelligence%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_int_negative}}; )[**@{selected|intelligence_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|intelligence_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|intelligence_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|intelligence_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_int_negative}}; )[**@{selected|intelligence_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](" style="height: 0.0px; display: block;) [**Wis**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|wisdom}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|wisdom%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_wis_negative}}; )[**@{selected|wisdom_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|wisdom_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|wisdom_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|wisdom_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_wis_negative}}; )[**@{selected|wisdom_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](" style="height: 0.0px; display: block;) [**Cha**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|charisma}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|charisma%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_cha_negative}}; )[**@{selected|charisma_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|charisma_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|charisma_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|charisma_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_cha_negative}}; )[**@{selected|charisma_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|RedLine};)[Acrobatics](~@{selected|character_name}|acrobatics%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|acrobatics_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|acrobatics_prof}};) | [Animal Handling](~@{selected|character_name}|animal_handling%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|animal_handling_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|animal_handling_prof}};) | [Arcana](~@{selected|character_name}|arcana%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|arcana_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|arcana_prof}};) | [Athletics](~@{selected|character_name}|athletics%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|athletics_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|athletics_prof}};) | [Deception](~@{selected|character_name}|deception%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|deception_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|deception_prof}};) | [History](~@{selected|character_name}|history%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|history_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|history_prof}};) | [Insight](~@{selected|character_name}|insight%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|insight_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|insight_prof}};) | [Intimidation](~@{selected|character_name}|intimidation%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|intimidation_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|intimidation_prof}};) | [Investigation](~@{selected|character_name}|investigation%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|investigation_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|investigation_prof}};) | [Medicine](~@{selected|character_name}|medicine%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|medicine_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|medicine_prof}};) | [Nature](~@{selected|character_name}|nature%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|nature_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|nature_prof}};) | [Perception](~@{selected|character_name}|perception%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|perception_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|perception_prof}};) | [Performance](~@{selected|character_name}|performance%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|performance_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|performance_prof}};) | [Persuasion](~@{selected|character_name}|persuasion%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|persuasion_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|persuasion_prof}};) | [Religion](~@{selected|character_name}|religion%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|religion_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|religion_prof}};) | [Sleight Of Hand](~@{selected|character_name}|sleight_of_hand%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|sleight_of_hand_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|sleight_of_hand_prof}};) | [Stealth](~@{selected|character_name}|stealth%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|stealth_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|stealth_prof}};) | [Survival](~@{selected|character_name}|survival%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|survival_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|survival_prof}};) PCRollsList-Sorted [**Init.**](%{MM|StatLinkStyle} display: inline-block; ) [roll](~@{selected|character_name}|initiative%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|initiative_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) | [**Hit Die**](%{MM|StatLinkStyle} display: inline-block; ) [roll](~@{selected|character_name}|hit_dice%{MM|RollLinkStyle} display: inline-block; ) ([**d@{selected|hitdietype}**](%{MM|InfoLinkStyle} display: inline-block; ))[ ](" style="height: 0.0px; display: block;) [**Death**](%{MM|StatLinkStyle} display: inline-block; ) [save](~@{selected|character_name}|death_save%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; )[**@{selected|death_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; ))   [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ1}};) [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ2}};) [](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_succ3}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail1}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail2}};) [❌](%{MM|StatLinkStyle} font-size: 6px; display: inline-block@{MM|at}{MM|show@{selected|deathsave_fail3}};) [ ](%{MM|RedLine};)[**Str**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|strength}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|strength%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_str_negative}}; )[**@{selected|strength_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|strength_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|strength_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|strength_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_str_negative}}; )[**@{selected|strength_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [Athletics](~@{selected|character_name}|athletics%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|athletics_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|athletics_prof}};) [ ](%{MM|RedLine}; opacity: 30%;) [**Dex**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|dexterity}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|dexterity%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|dexterity_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|dexterity_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|dexterity_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|dexterity_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_dex_negative}}; )[**@{selected|dexterity_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [Acrobatics](~@{selected|character_name}|acrobatics%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|acrobatics_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|acrobatics_prof}};) | [Sleight Of Hand](~@{selected|character_name}|sleight_of_hand%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|sleight_of_hand_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|sleight_of_hand_prof}};) | [Stealth](~@{selected|character_name}|stealth%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|stealth_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|stealth_prof}};) [ ](%{MM|RedLine}; opacity: 30%;) [**Con**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|constitution}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|constitution%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_con_negative}}; )[**@{selected|constitution_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|constitution_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|constitution_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|constitution_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_con_negative}}; )[**@{selected|constitution_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|RedLine}; opacity: 30%;) [**Int**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|intelligence}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|intelligence%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_int_negative}}; )[**@{selected|intelligence_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|intelligence_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|intelligence_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|intelligence_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_int_negative}}; )[**@{selected|intelligence_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [Arcana](~@{selected|character_name}|arcana%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|arcana_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|arcana_prof}};) | [History](~@{selected|character_name}|history%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|history_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|history_prof}};) | [Investigation](~@{selected|character_name}|investigation%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|investigation_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|investigation_prof}};) [ ](%{MM|RedLine}; opacity: 30%;) [**Wis**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|wisdom}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|wisdom%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_wis_negative}}; )[**@{selected|wisdom_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|wisdom_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|wisdom_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|wisdom_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_wis_negative}}; )[**@{selected|wisdom_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [Animal Handling](~@{selected|character_name}|animal_handling%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|animal_handling_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|animal_handling_prof}};) | [Insight](~@{selected|character_name}|insight%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|insight_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|insight_prof}};) | [Medicine](~@{selected|character_name}|medicine%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|medicine_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|medicine_prof}};) | [Nature](~@{selected|character_name}|nature%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|nature_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|nature_prof}};) | [Perception](~@{selected|character_name}|perception%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|perception_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|perception_prof}};) | [Religion](~@{selected|character_name}|religion%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|religion_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|religion_prof}};) | [Survival](~@{selected|character_name}|survival%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|survival_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|survival_prof}};) [ ](%{MM|RedLine}; opacity: 30%;) [**Cha**](%{MM|StatLinkStyle} display: inline-block;) [**@{selected|charisma}** ](%{MM|InfoLinkStyle} display: inline-block;) [check](~@{selected|character_name}|charisma%{MM|RollLinkStyle} display: inline-block; ) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_cha_negative}}; )[**@{selected|charisma_mod}**](%{MM|InfoLinkStyle} display: inline-block; )) | [save](~@{selected|character_name}|charisma_save%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|charisma_save_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|charisma_save_prof}};) ([+](%{MM|InfoLinkStyle} display: inline-block; display: none@{MM|at}{MM|show@{selected|npc_cha_negative}}; )[**@{selected|charisma_save_bonus}**](%{MM|InfoLinkStyle} display: inline-block; )) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [Deception](~@{selected|character_name}|deception%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|deception_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|deception_prof}};) | [Intimidation](~@{selected|character_name}|intimidation%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|intimidation_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|intimidation_prof}};) | [Performance](~@{selected|character_name}|performance%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|performance_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|performance_prof}};) | [Persuasion](~@{selected|character_name}|persuasion%{MM|RollLinkStyle} display: inline-block; )[@{MM|at}{MM|at}{MM|show@{selected|persuasion_prof}|max} ](%{MM|InfoLinkStyle} font-size: 10px; display: inline-block@{MM|at}{MM|at}{MM|show@{selected|persuasion_prof}};) Copy/Paste those into your MacroMule (make sure to do a 'Search and Replace' for 'MM' and change it to whatever your MacroMule name is if it's different). 
Awesome!  It worked for me!  I only have one hit die type for my multiclass PC but that's fine.  Not a big deal. Thanks again for doing this!