
So, after watching a few dozen hours of youtube videos of games, DMs, and howto videos, I compiled a list of features/macros that I would want in the games that I play. I was intrigued by the DMs that would put in context sensitive token buttons to provide self-whisper info about that token. Things like saves, init, list of attacks, generic information about each token, so they didn't need to look up stuff and slow the game down. Often the most valuable macro is one that doesn't DO any rolling, but simply provides an extensive list of options. With that in mind my self-imposed limitations are: using a free account (limited to template:default and template:npc) limit use of inline rolls, because I noticed in every video, the DM and players would still need to mouse-over and verify the tooltip for accurate bonuses don't display more information than necessary to make a decision, why roll twice if you rarely have advantage or disadvantage? why show crit damage when you can macro stack instead? So with that in mind here are a few screenshots to grab your attention. This is a list of melee attacks based purely off of the OGL charater sheet where I have updated the Dagger and Warhammer "Range" to "5ft Melee Attack vs AC". Everything in this is dynamic except the target of the whisper: (added returns for readability)
/w MaverickOrig &{template:default} {{name=@{selected|token_name}'s Attacks}}
{{@{selected|repeating_attack_$0_atkname} (@{selected|repeating_attack_$0_atkbonus})
=@{selected|repeating_attack_$0_atkrange}
[Normal](! #OGL_NormalAttack0)
[Advantage](! #OGL_AdvAttack0)
[Disadvantage](! #OGL_DisadvAttack0) }}
{{@{selected|repeating_attack_$1_atkname} (@{selected|repeating_attack_$1_atkbonus})
=@{selected|repeating_attack_$1_atkrange}
[Normal](! #OGL_NormalAttack1)
[Advantage](! #OGL_AdvAttack1)
[Disadvantage](! #OGL_DisadvAttack1) }} Clicking on Normal Dagger and then Normal Damage: (these messages are broadcast like normal actions. Only need to click the damage if the DM says, "yep that hit") From a glance, noone needs to inspect any of the results, the bonuses are spelled out with the roll separated. (Added spaces and returns for readability)
OGL_NormalAttack0
&{template:default} {{name=@{selected|token_name}'s @{selected|repeating_attack_$0_atkname} (@{selected|repeating_attack_$0_atkbonus})}}
{{Range=@{selected|repeating_attack_$0_atkrange}}}
{{bonus=@{selected|repeating_attack_$0_hidden_atkbonus} }}
{{Damage=[Normal](! #OGL_NormalDamage0) [CRIT](! #OGL_CritDamage0)}}
/roll 1d20@{selected|halflingluck}cs>@{selected|repeating_attack_$0_atkcritrange}@{selected|repeating_attack_$0_atkbonus}
OGL_NormalDamage0
&{template:default} {{name=@{selected|token_name}'s @{selected|repeating_attack_$0_atkname} damage }}
{{Damage Type=@{Selected|repeating_attack_$0_hidden_dmg1type}}}
/roll @{Selected|repeating_attack_$0_hidden_dmg1}
Here is the same dagger, but if it was with advantage and it then causes a crit: Same as before: from a glance, noone needs to inspect any of the results, the bonuses are spelled out with the roll separated. Next I wanted to add spells and cantrips to my "list of attacks" However, I was unable to extract many of the spell elements required to create my own block of macros. What I WAS able to add, was a simple button to show the full spell description right in the chat window if someone asked: (only clicking the button, does the description below show) Again, all code is fully dynamic off the OGL character sheet: OGL_Cantrip0
[@{selected|token_name}'s @{selected|repeating_spell-cantrip_$0_spellname} Full Description](! #OGL_CantripDesc0)
%{selected|repeating_spell-cantrip_$0_spell}
OGL_CantripDesc0
&{template:default} {{name=@{selected|repeating_spell-cantrip_$0_spellname}}} {{=@{selected|repeating_spell-cantrip_$0_spellcontent}}}
Here are the spell variables I did find: @{selected|repeating_spell-cantrip_$0_spellcontent}
@{selected|repeating_spell-cantrip_$0_spellname_base}
@{selected|repeating_spell-cantrip_$0_spellrange}
@{selected|repeating_spell-cantrip_$0_spelldamage}
@{selected|repeating_spell-cantrip_$0_spelldamagetype}
@{selected|repeating_spell-cantrip_$0_spelldamage2}
@{selected|repeating_spell-cantrip_$0_spelldamagetype2}
@{selected|repeating_spell-cantrip_$0_spellsave}
@{selected|repeating_spell-cantrip_$0_spellsavesuccess}
@{selected|repeating_spell-cantrip_$0_spellname}
@{selected|repeating_spell-cantrip_$0_prep}
@{selected|repeating_spell-cantrip_$0_spellhealing}
@{selected|repeating_spell-cantrip_$0_spelldmgmod}
@{selected|repeating_spell-cantrip_$0_spellhldietype}
@{selected|repeating_spell-cantrip_$0_spellhldie}
@{selected|repeating_spell-cantrip_$0_spellhlbonus}
@{selected|repeating_spell-cantrip_$0_spelloutput}
@{selected|repeating_spell-cantrip_$0_spelllevel}
But spelldmgmod returns yes/no, and spellsave returns "Dexterity" I need variables to regenerate the full "DC13 vs DEX" the spell dice independently of the spell bonus (for crit)