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

Universal Chat Menus DND5e Filtering & Custom Resource help

1705858242

Edited 1705858438
Hi everyone, Could I get your help, please? I am going to be DMing for friends who not only have never played a TTRPG, but any type of RPG period. I am trying to make everything as easy to understand as possible from the the perspective of someone who has zero idea what half these things are. Using the universal chat menu has been a tremendous help but I am running into a problem that I can't seem to solve. I am looking to remove spells from the "Melee" and "Ranged" sections and have them only be displayed under the "Spells" or "Cantrips" section. I am using my version of the code Keith provided in the original thread ( <a href="https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1</a> ) In this example, I want to remove burning hands, cure wounds, healing word, and guiding bolt from both the melee and ranged sections. I also am having problems displaying the custom-made resource "Warding Flare [l]" (It's an L). It just shows up as a broken link? I have Warding Flare set up as an attack that uses the ammo API to automatically deduct the resource and then replenish it on a long rest using the 5E Resting in Style API. It looks like it is breaking because of the [ ] usage. !chatmenu @{selected|character_id} {template:npcaction}{{rname=@{selected|character_name}}}{{name=@{selected|class_display} @{selected|race_display}, @{selected|background} **Jump** - Long [[(@{selected|strength}/2)]] ft. / [[@{selected|strength}]] ft. | High [[((@{selected|strength_mod}+2)/2)]] ft. / [[@{selected|strength_mod}+2]] ft. **HP: **@{selected|hp} / @{selected|hp|max} | ** Armor/AC: ** @{selected|ac} | **Movement: ** @{selected|speed} ft. | **Passive Perception: ** @{selected|passive_wisdom}}}{{description=CHATMENU }}&nbsp; --separator: |&nbsp; &nbsp; --title:Stats (Modifiers) --**Str @{selected|strength}** *(@{selected|strength_mod})* ,strength|**Dex @{selected|dexterity}** *(@{selected|dexterity_mod})*,dexterity|**Con @{selected|constitution}** *(@{selected|constitution_mod})* ,constitution|**Int @{selected|intelligence}** *(@{selected|intelligence_mod})* ,intelligence|**Wis @{selected|wisdom}** *(@{selected|wisdom_mod})*,wisdom|**Cha @{selected|charisma}** *(@{selected|charisma_mod})*,charisma --title:Saving Throws --Strength,strength_save|Dexterity,dexterity_save|Constitution,constitution_save|Intelligence,intelligence_save|Wisdom,wisdom_save|Charisma,charisma_save|Death,death_save&nbsp; --title:Ability Checks --Acrobatics,Acrobatics|Animal Handling,Animal_Handling|Arcana,Arcana|Athletics,Athletics|Deception,Deception|History,History|Insight,Insight|Intimidation,Intimidation|Investigation,Investigation|Medicine,Medicine|Nature,Nature|Perception,Perception|Performance,Performance|Persuasion,Persuasion|Religion,Religion|Sleight of Hand,Sleight_of_Hand|Stealth,Stealth|Survival,survival --title:Melee Attacks --repeating_attack|atkname|attack|atkrange&lt;1 --title:Ranged Attacks --repeating_attack|atkname|attack|atkrange --title:Eldritch Invocations --repeating_traits|name|output|name=Invocation: --title:Cantrips (Unlimited Use) --repeating_spell-cantrip|spellname|spell --title:Level 1 Spells *(@{selected|lvl1_slots_expended}/@{selected|lvl1_slots_total})* --repeating_spell-1|spellname|spell --title:Level 2 Spells *(@{selected|lvl2_slots_expended}/@{selected|lvl2_slots_total})* --repeating_spell-2|spellname|spell --title:Level 3 Spells *(@{selected|lvl3_slots_expended}/@{selected|lvl3_slots_total})* --repeating_spell-3|spellname|spell --title:Level 4 Spells *(@{selected|lvl4_slots_expended}/@{selected|lvl4_slots_total})* --repeating_spell-4|spellname|spell --title:Level 5 Spells *(@{selected|lvl5_slots_expended}/@{selected|lvl5_slots_total})* --repeating_spell-5|spellname|spell --title:Level 6 Spells *(@{selected|lvl6_slots_expended}/@{selected|lvl6_slots_total})* --repeating_spell-6|spellname|spell --title:Level 7 Spells *(@{selected|lvl7_slots_expended}/@{selected|lvl7_slots_total})* --repeating_spell-7|spellname|spell --title:Level 8 Spells *(@{selected|lvl8_slots_expended}/@{selected|lvl8_slots_total})* --repeating_spell-8|spellname|spell --title:Level 9 Spells *(@{selected|lvl9_slots_expended}/@{selected|lvl9_slots_total})* --repeating_spell-9|spellname|spell --title:Short Rest --@{selected|hit_dice} Hit Dice Available,hit_dice --title:Resources --@{selected|class_resource_name} *@{selected|class_resource}/@{selected|class_resource|max}|@{selected|other_resource_name} *@{selected|other_resource}/@{selected|other_resource|max}* --title:Languages --repeating_proficiencies|name|output|prof_type=Language --title:Tools --repeating_tool|toolname|tool&nbsp;
1705859928
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'm guessing those spell attacks show up in the UCM report because they are in the attacks section of the character sheet. When you add an attack spell, it automatically makes an entry there. To remove them from that section would require removing them from that section, which you can do by pressing the lock button under the list and clicking the [#] button on the right (which is actually supposed to look like a trash can, but go fig). It might be possible to filter those out, but honestly I have not looked at that code or script in years. I still use it of course, but once I got the shape I wanted, I closed the lid. I'll try to take a dive later and see if there's an attribute to filter on, though. And yeah, the other script is probably balking on the bracket characters. In general, it's good to avoid "control characters" when naming things, as they can sometimes lead to unpredictable results:"@#$%&amp;(){}[]".
1705860446

Edited 1705860789
I tried that just now but when I remove the attack from the "Attacks and Spellcasting" section the spell stops working entirely. After it is removed if you click on the spell from the spell list nothing happens. I think I might be out of luck. edit:&nbsp; Oh, I think I see what is happening. When it gets removed it changes the spell to "OUTPUT: SPELLCARD" instead of attack for some reason. C hanging it back to attack brings it back to the attacks and spellcasting list. Ugh.
1705861477
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
There may not be a viable option then. I'll still look at the filter solution, but my hopes are not high.
I've just made an update to my Universal D&amp;D 5E Statblock MacroMule , which may be an alternative that is useful for your players. It provides pre-made chat menus that show PC Stats, Rolls, Attacks, Equipment, etc.&nbsp; You as GM can also use it for NPCs to make rolls and check stats without having to open character sheets. Since you have a Roll20 Pro subscription, it'll only take about a minute to load the Mod script and have it set up to try out.&nbsp;&nbsp; One nice aspect about the MacroMule approach is that it'll work even if you downgrade from Pro later on.
1705863787

Edited 1705864180
No problem, thanks Keith!&nbsp; That's awesome Jarren! I saw your thread floating around a few times when researching so I'll totally check it out. I appreciate your help, everyone.&nbsp; edit: my god I cannot imagine how much time went into making the MacroMule API. Incredible!
1705865034

Edited 1705865123
Gauss
Forum Champion
Chad/Pyrias said: I tried that just now but when I remove the attack from the "Attacks and Spellcasting" section the spell stops working entirely. After it is removed if you click on the spell from the spell list nothing happens. I think I might be out of luck. edit: Oh, I think I see what is happening. When it gets removed it changes the spell to "OUTPUT: SPELLCARD" instead of attack for some reason. Changing it back to attack brings it back to the attacks and spellcasting list. Ugh. This is a known issue with the D&amp;D 5e by Roll20 sheet.&nbsp; When you delete the Spell from the Attack section it switches the spell to Spellcard, but it doesn't do it completely. You have to manually switch it back to Attack, then back to Spellcard.&nbsp; Additionally, when you do switch it to Spellcard when you edit or open the Spell (Cog or Info button) it will repopulate the Attack section with the spell. The Devs are aware of the issue.
Gauss said: This is a known issue with the D&amp;D 5e by Roll20 sheet.&nbsp; When you delete the Spell from the Attack section it switches the spell to Spellcard, but it doesn't do it completely. You have to manually switch it back to Attack, then back to Spellcard.&nbsp; Additionally, when you do switch it to Spellcard when you edit or open the Spell (Cog or Info button) it will repopulate the Attack section with the spell. The Devs are aware of the issue. Oh wow! Yup that fixed it. Thank you so much! Geeze I never would have guessed that.
Jarren said: I've just made an update to my Universal D&amp;D 5E Statblock MacroMule , which may be an alternative that is useful for your players. It provides pre-made chat menus that show PC Stats, Rolls, Attacks, Equipment, etc.&nbsp; You as GM can also use it for NPCs to make rolls and check stats without having to open character sheets. Since you have a Roll20 Pro subscription, it'll only take about a minute to load the Mod script and have it set up to try out.&nbsp;&nbsp; One nice aspect about the MacroMule approach is that it'll work even if you downgrade from Pro later on. I got MacroMule all set up and wow it's great! As you said it meets all the needs for what I was looking for and the layout avoids the ugly pink buttons! (I am not going to ask people doing a one-shot to install stylus changes lol) I wish I would've just started there instead of spending HOURS on making Universal Chat Menu. Oh well! Is there any way&nbsp; to change the name of the buttons? For example, changing "Rolls" to "Ability Checks" or something like that? I tried digging around but couldn't find anything. &nbsp;
Chad/Pyrias said: I got MacroMule all set up and wow it's great! As you said it meets all the needs for what I was looking for and the layout avoids the ugly pink buttons! (I am not going to ask people doing a one-shot to install stylus changes lol) I wish I would've just started there instead of spending HOURS on making Universal Chat Menu. Oh well! Is there any way&nbsp; to change the name of the buttons? For example, changing "Rolls" to "Ability Checks" or something like that? I tried digging around but couldn't find anything. For the footer, each of the items is listed in the 'MenuList' Ability, and the visible button name is what is listed in brackets, such as [Stats], [Rolls], etc.&nbsp;&nbsp; The names are hard-coded (so there's no Attribute to adjust the names like there is for the Inspiration icon or Description buttons), but if you just want to change the footer so that 'Rolls' is 'Ability Checks' then you would need to adjust the 'MenuList' Ability on the MacroMule character.&nbsp; Replace [Rolls] with [Ability Checks] or maybe [Checks / Saves] (it's easiest if you have an external notepad where you can just do a Search &amp; Replace).&nbsp; If your MacroMule is named 'MM', then this will work to change it to 'Ability Checks': [Stats](~MM|Stats%{MM|StatLinkStyle} cursor: pointer; %{MM|FooterLinkStyle}display: inline-block; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} display: inline-block;)[Ability Checks](~MM|Rolls%{MM|RollLinkStyle} %{MM|FooterLinkStyle}display: inline-block; )[ ](%{MM|BreakLinkStyle} margin-top: -2px; display: block;)[Attacks](~MM|PCAttacks%{MM|ActionLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[Traits](~MM|PCTraits%{MM|TraitLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[Proficiencies](~MM|PCProficiencies%{MM|ReactionLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[Equipment](~MM|PCEquipment%{MM|ItemLinkStyle} cursor: pointer; %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[Bio](~MM|PCBio%{MM|LegendaryLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|PC@{selected|npc}}; )[Abilities](~MM|NPCAbilities%{MM|LinkStyle} color: #7e2d40; cursor: pointer; %{MM|FooterLinkStyle}display: inline-block@{MM|at}{MM|at}{MM|NPC@{selected|npc}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction_$0_name|max}; )[Action](~MM|NPCActions%{MM|ActionLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction_$0_name|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcbonusaction_$0_name|max}; )[Bonus](~MM|NPCBonusActions%{MM|BonusActionLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcbonusaction_$0_name|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npctrait_$0_name|max}; )[Trait](~MM|NPCTraits%{MM|TraitLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npctrait_$0_name|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcreaction_$0_name|max}; )[React](~MM|NPCReactions%{MM|ReactionLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcreaction_$0_name|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction-l_$0_name|max}; )[Legend](~MM|NPCLegendarys%{MM|LegendaryLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction-l_$0_name|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction-m_$0_name|max}; )[Mythic](~MM|NPCMythics%{MM|MythicLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_npcaction-m_$0_name|max};)[ ](%{MM|BreakLinkStyle} margin-top: -2px; display: block;)[Spells](~MM|Spells%{MM|SpellLinkStyle} cursor: pointer; %{MM|FooterLinkStyle}display: none; display: inline-block@{MM|at}{MM|at}{MM|spellcaster@{selected|npcspellcastingflag}}; display: inline-block@{MM|at}{MM|at}{MM|spellcaster@{selected|caster_level}}; )[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-cantrip_$0_spellname|max}; )[C](~MM|Cantrips%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-cantrip_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-1_$0_spellname|max}; )[1](~MM|Lvl1%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-1_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-2_$0_spellname|max}; )[2](~MM|Lvl2%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-2_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-3_$0_spellname|max}; )[3](~MM|Lvl3%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-3_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-4_$0_spellname|max}; )[4](~MM|Lvl4%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-4_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-5_$0_spellname|max}; )[5](~MM|Lvl5%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-5_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-6_$0_spellname|max}; )[6](~MM|Lvl6%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-6_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-7_$0_spellname|max}; )[7](~MM|Lvl7%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-7_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-8_$0_spellname|max}; )[8](~MM|Lvl8%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-8_$0_spellname|max};)[&amp;nbsp;|&amp;nbsp;](%{MM|InfoLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-9_$0_spellname|max}; )[9](~MM|Lvl9%{MM|SpellLinkStyle} %{MM|FooterLinkStyle}display: inline-block@{selected|repeating_spell-9_$0_spellname|max};) If you want the PCRolls and NPCRolls sections to be a little more streamlined without using Stylus, then you can swap in this code: [**Initiative**](%{MM|StatLinkStyle} display: inline-block; ) [**(+@{selected|initiative_bonus})**](~@{selected|character_name}|initiative%{MM|RollLinkStyle} display: inline-block; ) &amp;nbsp;[**Death Save**](%{MM|StatLinkStyle} display: inline-block; ) [💾 ](~@{selected|character_name}|death_save%{MM|RollLinkStyle} display: inline-block; ) &amp;nbsp;[🔴](%{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}};)[ ](#" style="border: 1px solid #7e2d40; margin: 1px; display: block;")[**Str**](%{MM|StatLinkStyle} display: inline-block; ) &amp;nbsp; [**@{selected|strength}** *(@{selected|strength_mod})*](~@{selected|character_name}|strength%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|strength_save%{MM|RollLinkStyle} display: inline-block; ) &amp;nbsp;[**Int**](%{MM|StatLinkStyle} display: inline-block; ) &amp;nbsp; [**@{selected|intelligence}** *(@{selected|intelligence_mod})*](~@{selected|character_name}|intelligence%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|intelligence_save%{MM|RollLinkStyle} display: inline-block; ) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [**Dex**](%{MM|StatLinkStyle} display: inline-block; ) [**@{selected|dexterity}** *(@{selected|dexterity_mod})*](~@{selected|character_name}|dexterity%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|dexterity_save%{MM|RollLinkStyle} display: inline-block; ) &amp;nbsp;[**Wis**](%{MM|StatLinkStyle} display: inline-block; ) &amp;nbsp;[**@{selected|wisdom}** *(@{selected|wisdom_mod})*](~@{selected|character_name}|wisdom%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|wisdom_save%{MM|RollLinkStyle} display: inline-block; ) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;) [**Con**](%{MM|StatLinkStyle} display: inline-block; ) [**@{selected|constitution}** *(@{selected|constitution_mod})*](~@{selected|character_name}|constitution%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|constitution_save%{MM|RollLinkStyle} display: inline-block; ) &amp;nbsp;[**Cha**](%{MM|StatLinkStyle} display: inline-block; )&amp;nbsp;[**@{selected|charisma}** *(@{selected|charisma_mod})*](~@{selected|character_name}|charisma%{MM|RollLinkStyle} display: inline-block; ) | [💾 ](~@{selected|character_name}|charisma_save%{MM|RollLinkStyle} display: inline-block; ) [ ](%{MM|StatLinkStyle} height: 0.0px; display: block;)[ ](#" style="border: 1px solid #7e2d40; margin: 1px; display: block;")[Acrobatics](~@{selected|character_name}|acrobatics%{MM|RollLinkStyle} display: inline-block; ) | [Animal Handling](~@{selected|character_name}|animal_handling%{MM|RollLinkStyle} display: inline-block; ) | [Arcana](~@{selected|character_name}|arcana%{MM|RollLinkStyle} display: inline-block; ) | [Athletics](~@{selected|character_name}|athletics%{MM|RollLinkStyle} display: inline-block; ) | [Deception](~@{selected|character_name}|deception%{MM|RollLinkStyle} display: inline-block; ) | [History](~@{selected|character_name}|history%{MM|RollLinkStyle} display: inline-block; ) | [Insight](~@{selected|character_name}|insight%{MM|RollLinkStyle} display: inline-block; ) | [Intimidation](~@{selected|character_name}|intimidation%{MM|RollLinkStyle} display: inline-block; ) | [Investigation](~@{selected|character_name}|investigation%{MM|RollLinkStyle} display: inline-block; ) | [Medicine](~@{selected|character_name}|medicine%{MM|RollLinkStyle} display: inline-block; ) | [Nature](~@{selected|character_name}|nature%{MM|RollLinkStyle} display: inline-block; ) | [Perception](~@{selected|character_name}|perception%{MM|RollLinkStyle} display: inline-block; ) | [Performance](~@{selected|character_name}|performance%{MM|RollLinkStyle} display: inline-block; ) | [Persuasion](~@{selected|character_name}|persuasion%{MM|RollLinkStyle} display: inline-block; ) | [Religion](~@{selected|character_name}|religion%{MM|RollLinkStyle} display: inline-block; ) | [Sleight Of Hand](~@{selected|character_name}|sleight_of_hand%{MM|RollLinkStyle} display: inline-block; ) | [Stealth](~@{selected|character_name}|stealth%{MM|RollLinkStyle} display: inline-block; ) | [Survival](~@{selected|character_name}|survival%{MM|RollLinkStyle} display: inline-block; )
Thank you SO much! Everything is exactly the way I want. All the API I use is geared toward never having to open the character sheet and this was the final piece of the puzzle. I truly appreciate your help, your time, and your effort on such a fantastic contribution to the community.