Skip to content

Instantly share code, notes, and snippets.

@AndruC
Last active July 9, 2024 20:08
Show Gist options
  • Save AndruC/454c3242917050a0dadd44956dade699 to your computer and use it in GitHub Desktop.
Save AndruC/454c3242917050a0dadd44956dade699 to your computer and use it in GitHub Desktop.
Macros that I use to improve my D&D games

Macro Must-Haves

These are my must-have macros for running games online. I make full use of the compendium, which gives these macros access to common actions and rolls, saving me time.

Remember to add /w gm or @{selected|wtype} to hide sensitive info from your players. WTYPE is an attribute used in the 5th Edition OGL character sheet, a prerequisite for most of these.

Here's what my bar looks like.

Macro Quickbar

Reference

Quick Reference. You can link to any entry in the Journal. Each of these are clickable. Internal links link to another Roll20 document.

&{template:default} {{name=Quick Lookup}} {{Internal=[Handbook 📗](http://journal.roll20.net/handout/-KoL8P4tMobLWQalET-F)}} {{External=[Conditions  🌀](http://open5e.com/gameplay-mechanics/conditions.html)
[Spells  📓](http://open5e.com/spellcasting/by-class/index.html) 
[Magic Items  🔮](http://open5e.com/equipment/magic-items/index.html)}}

Example

Reference


Status Report. Fill out PC names manually, replacing PC1 with their Character name, as written in Journal.

&{template:default} {{name=Health Check}} {{PC 1= AC @{PC1|ac} - HP @{PC1|hp} / @{PC1|hp|max}}} ...

Example

Status Report

Token Macros

These macros require a token to be selected. They are intended to work with either PC or NPC tokens.

Roll Initiative (target). Check "Show as Token Action" and share with your players to get the most out of this one.

%{selected|npc_init}

Roll Ability Check (prompt)

@{selected|wtype}&{template:default} {{name=Ability Score for @{selected|character_name}}} {{?{Ability Score
  | Strength, Strength +@{selected|strength_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]]
  | Dexterity, Dexterity +@{selected|dexterity_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]]
  | Constitution, Constitution +@{selected|constitution_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]]
  | Intelligence, Intelligence +@{selected|intelligence_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]]
  | Wisdom, Wisdom +@{selected|wisdom_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]]
  | Charisma, Charisma +@{selected|charisma_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]]
}}}

Roll Ability Check (all)

&{template:default} {{name=Ability Checks}} {{Strength = [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]] -  [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]]}} {{Dexterity= [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]]}} {{Constitution= [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]]}} {{Intelligence= [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]]}} {{Wisdom= [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]]}} {{Charisma= [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]]}}

Example

Ability Checks


Roll Skills (prompt for 1)

@{selected|wtype}&{template:default} {{name=Skill Check}} {{?{Skill
  | Acrobatics, Acrobatics =[[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]]]]
  | Animal Handling, Animal Handling =[[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]]]]
  | Arcana, Arcana=[[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]]]]
  | Athletics, Athletics=[[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]]]]
  | Decpetion, Decpetion=[[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]]]]
  | History, History=[[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]]]]
  | Insight, Insight=[[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]]]]
  | Intimidation, Intimidation=[[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]]]]
  | Investigation, Investigation=[[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]]]]
  | Medicine, Medicine=[[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]]]]
  | Nature, Nature=[[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]]]]
  | Perception, Perception=[[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]]]]
  | Performance, Performance=[[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]]]]
  | Persuasion, Persuasion=[[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]]]]
  | Religion, Religion=[[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]]]]
  | Sleight of Hand, Sleight of Hand=[[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]]]]
  | Stealth, Stealth=[[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]]]]
  | Survival, Survival=[[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]]]] - [[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]]]]
}}}

Roll Skills (all)

&{template:default} {{name= @{selected|character_name} Skills}}  {{Acrobatics=[[@{selected|d20}+(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_acrobatics}*@{selected|npc})]]}} {{Animal Handling=[[@{selected|d20}+(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_animal_handling}*@{selected|npc})]]}} {{Arcana=[[@{selected|d20}+(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_arcana}*@{selected|npc})]]}} {{Athletics=[[@{selected|d20}+(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_athletics}*@{selected|npc})]]}} {{Deception=[[@{selected|d20}+(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_deception}*@{selected|npc})]]}} {{History=[[@{selected|d20}+(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_history}*@{selected|npc})]]}} {{Insight=[[@{selected|d20}+(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_insight}*@{selected|npc})]]}} {{Intimidation=[[@{selected|d20}+(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_intimidation}*@{selected|npc})]]}} {{Investigation=[[@{selected|d20}+(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_investigation}*@{selected|npc})]]}} {{Medicine=[[@{selected|d20}+(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_medicine}*@{selected|npc})]]}} {{Nature=[[@{selected|d20}+(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_nature}*@{selected|npc})]]}} {{Perception=[[@{selected|d20}+(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_perception}*@{selected|npc})]]}} {{Performance=[[@{selected|d20}+(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_performance}*@{selected|npc})]]}} {{Persuasion=[[@{selected|d20}+(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_persuasion}*@{selected|npc})]]}} {{Religion=[[@{selected|d20}+(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_religion}*@{selected|npc})]]}} {{Sleight of Hand=[[@{selected|d20}+(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]]}} {{Stealth=[[@{selected|d20}+(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_stealth}*@{selected|npc})]]}} {{Survival=[[@{selected|d20}+(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]] | [[@{selected|d20}+(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.1)))+(@{selected|npc_survival}*@{selected|npc})]]}}

Example

Roll Skills


Roll Saving Throws (prompt)

@{selected|wtype}&{template:default} {{name=Saving Throw for @{selected|character_name}}} {{?{Saving Throw
  | Strength, Strength= [[@{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})]]]]
  | Dexterity, Dexterity= [[@{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})]]]]
  | Constitution, Constitution= [[@{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})]]]]
  | Intelligence, Intelligence= [[@{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})]]]]
  | Wisdom, Wisdom= [[@{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})]]]]
  | Charisma, Charisma= [[@{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})]]]]
}}}

Roll Saving Throws (all)

&{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})]]}}    

Example

Saves


Show Miniblock. This will roll the HD in case you want to generate health for your creatures.

&{template:default} {{name=Stats}} {{Armor Class= @{selected|npc_AC} (@{selected|npc_actype})}} {{Hit Dice= @{selected|npc_hpformula} | [[@{selected|npc_hpformula}]]}} {{Speed= @{selected|npc_speed}}} {{Senses=@{selected|npc_senses}}}

Example

Statblock


Show Spellbook (extendible). These are clickable. Make sure you load up your token by dragging spells from the Compendium to their statblock or character sheet.

&{template:default}{{name=@{selected|character_name} Spellcasting
}}{{ Spell DC @{selected|spell_save_dc} = @{selected|spell_attack_bonus} to hit with spell attacks
}}{{ Cantrips = [@{selected|repeating_spell-cantrip_$0_spellname}](~selected|repeating_spell-cantrip_$0_spell)
}}{{ 1st (SLOTS) = [@{selected|repeating_spell-1_$0_spellname}](~selected|repeating_spell-1_$0_spell)
}}{{ 2nd (SLOTS) = [@{selected|repeating_spell-2_$0_spellname}](~selected|repeating_spell-2_$0_spell)
}}{{ 3rd (SLOTS) = [@{selected|repeating_spell-3_$0_spellname}](~selected|repeating_spell-3_$0_spell)
}}

Example

Spellbook


Compendium NPCs

It's recommended to use the following as Token Actions. You can increment the $0 variable to reference additional features. Remember that Multiattack is an action, not a trait.

NPC Action

%{selected|repeating_npcaction_$0_npc_action}

NPC Traits

@{selected|wtype}&{template:npcaction} {{name=@{selected|npc_name}}} {{rname=@{selected|repeating_npctrait_$0_name}}} {{description=@{selected|repeating_npctrait_$0_desc}}}

NPC Reaction

@{selected|wtype}&{template:npcaction} {{name=@{selected|npc_name}}} {{rname=@{selected|repeating_npcreaction_$0_name}}} {{description=@{selected|repeating_npcreaction_$0_desc} }}

Example

TokenMacros

Action


NPC Action Table. These are clickable and roll dice as shown above.

@{selected|wtype}&{template:default}{{name=@{selected|character_name} Actions}} {{ Actions
=[@{selected|repeating_npcaction_$0_name}](~selected|repeating_npcaction_$0_npc_action)
}}

Example

Actions

@{selected|wtype}&{template:npcaction} {{rname=@{selected|character_name}}} {{name=Actions}} {{description=[@{selected|repeating_npcaction_$0_name}](~selected|repeating_npcaction_$0_npc_action)}}

Example

Different Actions


NPC Perception

@{selected|wtype}&{template:npc} {{name=@{selected|npc_name}}} {{rname=Perception}} {{mod=@{selected|npc_perception}}} {{r1=[[@{selected|d20}+@{selected|npc_perception}]]}} @{selected|rtype}+@{selected|npc_perception}]]}}

Requires TokenMod.

Minionify (target). Sets up bars, hides the name, and shows a health bar for the DM only.

!token-mod {{
  --off showname showplayers_bar3
  --on showplayers_name
  --set bar2_value|@{selected|npc_ac} bar3_value|@{selected|hp|max} bar3_max|@{selected|hp|max} bar3_link|
  --set layers|objects
}}

Reveal NPC (target). Same as above but reveals the name to players.

!token-mod {{
  --on showname showplayers_name showplayers_bar3
  --set bar2_link|@{selected|npc_ac} bar2_link|
  --set bar3_value|@{selected|hp|max} bar3_max|@{selected|hp|max} bar3_link| 
  --set layers|objects
}}

Set PC token. This ensures all players can see name and health, and gives everyone a quick reference to Level, AC, and HP. HP is displayed on bar because bar 3 stays inside the token's square.

!token-mod {{
  --on showname showplayers_name  showplayers_bar1 showplayers_bar2 showplayers_bar3
  --on showplayers_aura1 showplayers_aura2
  --set bar1_link|level bar2_link|ac bar3_link|hp
}}

Show/Hide Name

!token-mod --flip showname

Reset Token

!token-mod {{
  --set bar1_link| bar2_link| bar3_link|
  --set bar1_value| bar2_value| bar3_value|
  --set bar1_max| bar2_max| bar3_max|
  --set tint_color|transparent layer|objects
  --on showname showplayers_name showplayers_aura1 showplayers_aura2
  --off light_otherplayers light_hassight
  --set statusmarkers|=blue|-blue
}}

Save as default. Once you set up token macros and run the minionify macro on a creature token, you can prevent the need from setting it up again by saving a token as the default for that character.

!token-mod --set defaulttoken

Conditions

With the exception of Dead, these are all toggles. They can be run from chat by typing #<macro_name> with a token selected, or set up into a prompt or table of macros (see Action Table) instead.

Concentration

!token-mod --set statusmarkers|!overdrive

Prone

!token-mod --set statusmarkers|!back-pain

Grappled

!token-mod --set statusmarkers|!fist

Restrained

!token-mod --set statusmarkers|!fishing-net

Dying

!token-mod --set statusmarkers|!stopwatch

Dead. Removes all other status markers.

!token-mod --set statusmarkers|=dead
@Seud
Copy link

Seud commented Apr 2, 2018

Nice macros !

I just noticed however that the "Ability check" macros do not take into account the "Jack of all trades" class feature which is an option in the sheet (Adds half proficiency bonus to ability checks that don't use it). To fix that, "@{selected|jack_bonus}" must be added immediately after relevant mods.

Here is the fixed code for the Prompt version

@{selected|wtype}&{template:default} {{name=Ability Score for @{selected|character_name}}} {{?{Ability Score
  | Strength, Strength +@{selected|strength_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]]
  | Dexterity, Dexterity +@{selected|dexterity_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]]
  | Constitution, Constitution +@{selected|constitution_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]]
  | Intelligence, Intelligence +@{selected|intelligence_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]]
  | Wisdom, Wisdom +@{selected|wisdom_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]]
  | Charisma, Charisma +@{selected|charisma_mod}@{selected|jack_bonus}=[[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]]
}}}

Here is the fixed code for the All version

&{template:default} {{name=Ability Checks}} {{Strength = [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]] -  [[@{selected|d20}+@{selected|strength_mod}@{selected|jack_bonus}]]}} {{Dexterity= [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|dexterity_mod}@{selected|jack_bonus}]]}} {{Constitution= [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|constitution_mod}@{selected|jack_bonus}]]}} {{Intelligence= [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|intelligence_mod}@{selected|jack_bonus}]]}} {{Wisdom= [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|wisdom_mod}@{selected|jack_bonus}]]}} {{Charisma= [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]] - [[@{selected|d20}+@{selected|charisma_mod}@{selected|jack_bonus}]]}}

@AndruC
Copy link
Author

AndruC commented Apr 3, 2018

Thanks! I've updated the ability score macros to include jack_bonus.

@Orbitalmechanix
Copy link

Is the spellbook macro flexible, or does it have to be changed each time the spellbook spells are prepared?

@AndruC
Copy link
Author

AndruC commented Apr 5, 2018

Is the spellbook macro flexible, or does it have to be changed each time the spellbook spells are prepared?

Unfortunately spells are specific to the character. What you'll want to do is add the spellbook macro as a Token Ability, then save that token as the Default for that character.

@MrFunsocks
Copy link

Trying to get the spellbook/NPC ability ones set up, and it only seems to list the first spell of each level, or the first action on the list, unless I copy/paste the line and increment the number. However, doing this makes it not general use at all, since I'd have to have a customized macro for each NPC, otherwise I get a lot of errors since some don't have 3rd level spells, for example.

Still learning Roll20 and this is my first attempt at macros, so not sure what all the capabilities or commands are. Is there a conditional where it won't try to display a row if that row doesn't exist?

@AndruC
Copy link
Author

AndruC commented Apr 17, 2018

For spells and actions you want to look for these lines

[@{selected|repeating_spell-1_$0_spellname}](~selected|repeating_spell-1_$0_spell)

[@{selected|repeating_npcaction_$0_name}](~selected|repeating_npcaction_$0_npc_action)

$0 is a variable that refers to a single entry in the list of possible spells/actions. Copy and Paste these and change the variable to $1, $2, etc to refer to extra spells/actions.

@Skedasticity
Copy link

Thank you! You just saved me A LOT of time running games!

@spmcdonnell5
Copy link

Hey, thanks so much for these macros!! I'm just learning how this all works. I've set a test character sheet to "Never Roll Advantage", yet the macro for Saving Throws always gives me two rolls. The Initiative macro, on the other hand, always rolls once regardless of whether or not I have advantage on. Any idea what I'm doing wrong?

@AndruC
Copy link
Author

AndruC commented Apr 13, 2020

Hey, thanks so much for these macros!! I'm just learning how this all works. I've set a test character sheet to "Never Roll Advantage", yet the macro for Saving Throws always gives me two rolls. The Initiative macro, on the other hand, always rolls once regardless of whether or not I have advantage on. Any idea what I'm doing wrong?

The Saving Throw explicitly rolls twice and won't respect the "Roll Advantage" selector of the Character. Remove everything from - onward on each line if you only want a single entry.

I'm not sure how to roll initiative with advantage, unfortunately. It's not something I'd looked in to. Does it work if you select "Always Roll Advantage" then click on "Initiative" on the character sheet? This macro should be functionally equivalent to that roll.

@djprice1023
Copy link

djprice1023 commented Jun 21, 2020

/w Daniel &{template:default}{{name=@{selected|character_name} Spellcasting
}}{{ Spell DC @{selected|spell_save_dc} = @{selected|spell_attack_bonus} to hit with spell attacks
}}{{ Cantrips = [@{selected|repeating_spell-cantrip_$0_spellname}](~selected|repeating_spell-cantrip_$0_spell)[@{selected|repeating_spell-cantrip_$1_spellname}](~selected|repeating_spell-cantrip_$1_spell)[@{selected|repeating_spell-cantrip_$2_spellname}](~selected|repeating_spell-cantrip_$2_spell)[@{selected|repeating_spell-cantrip_$3_spellname}](~selected|repeating_spell-cantrip_$3_spell)[@{selected|repeating_spell-cantrip_$4_spellname}](~selected|repeating_spell-cantrip_$4_spell)}}
}}{{ 1st (SLOTS) = [@{selected|repeating_spell-1_$0_spellname}](~selected|repeating_spell-1_$0_spell)

Im trying to get this macro to work but when i do it im not able to goto 1st level spells

@AndruC
Copy link
Author

AndruC commented Jun 24, 2020

/w Daniel &{template:default}{{name=@{selected|character_name} Spellcasting
}}{{ Spell DC @{selected|spell_save_dc} = @{selected|spell_attack_bonus} to hit with spell attacks
}}{{ Cantrips = [@{selected|repeating_spell-cantrip_$0_spellname}](~selected|repeating_spell-cantrip_$0_spell)[@{selected|repeating_spell-cantrip_$1_spellname}](~selected|repeating_spell-cantrip_$1_spell)[@{selected|repeating_spell-cantrip_$2_spellname}](~selected|repeating_spell-cantrip_$2_spell)[@{selected|repeating_spell-cantrip_$3_spellname}](~selected|repeating_spell-cantrip_$3_spell)[@{selected|repeating_spell-cantrip_$4_spellname}](~selected|repeating_spell-cantrip_$4_spell)}}
}}{{ 1st (SLOTS) = [@{selected|repeating_spell-1_$0_spellname}](~selected|repeating_spell-1_$0_spell)

Im trying to get this macro to work but when i do it im not able to goto 1st level spells

It looks like you're missing the last closing set of }} brackets

@DiscoPumpe
Copy link

I'm putting myself on the list of people who want to find out how to create the action macro without slots filled with errors.

So, in the end the reason why i want to use macros is because i want to save work. That also means, that i don't really want to spend a lot of work preparing them. Doing so once, being able to copy them from game to game would be fine. But if i have to specifically set up macros for each creature and NPC i have in the game would mean to much workload for the effect.

Cutting it down, my favorite approach actually is your first picture of the Action Token Macros, which gives each different attack as a button on top of the character token. That is awesome! I really wonder how it is done, since having the specific action names in the buttons must mean, that you created specific action tokens for those actions. That brought me, after thinking about going through the effort of creating a token macro for EVERY action, to the following question. If i actually do create all actions as token macros, how would it be possible to filter for each token which macro shows up in the bar on top?! I have the feeling that this is not possible, so while this method serves with the most beautiful outcome and has the most efficient way of dealing with actions on first sight, it also brings in the most workload of preparing coupled with actually not such a beautiful outcome.

That brings me to trying out the other method, one button which brings up the actions in the chat. Still really nice and helpful and way more universal since it looks like i don't need to make several specific macros for each single character. The No Error Code from the comments already deletes the errors in textform in the chat, but it still would be nice to somehow leave out a row if there is no more actions coming. That made me think about creating a few different macros which would bring out lists with a different amount of items. So i could connect a list with 2 actions with a token that only has two actions and so on. That brings back the problem of my actually favored method, which is that still all of the lists would show up on all of the tokens, demanding me to know how many actions each specific token has or checking in the character sheet which makes the whole thing useless.

I bet i can live with 2 or 3 items in the chat menu that show up with errors. But if there is a solution for this, it would be nice to know!!

Anyways i thank the creator and the people in the comments for this!!

@AndruC
Copy link
Author

AndruC commented Aug 27, 2020

Cutting it down, my favorite approach actually is your first picture of the Action Token Macros, which gives each different attack as a button on top of the character token. That is awesome! I really wonder how it is done

I've been working on this, and the best approach I've found so far is to create a single Template token that you duplicate when you want to add a new creature type.

This token has Token Actions (defined in its Abilities) for 3 actions, a reaction, and a trait (as defined under Compendium NPC) and the Initiative, Saving Throws, and Miniblock macros above:

Screen Shot 2020-08-27 at 2 08 37 PM

The number of steps to create a creature token now are significantly reduced. First I duplicate the template. Then I open the character sheet and drag the creature from the compendium into the NPC OPTIONS character sheet. Then I rename and remove any macros as needed for that particular creature.

For a more detailed reference, this is all heavily inspired by Taking20's MM video: https://youtu.be/rrbqdkGIa00?t=450

@Epigan
Copy link

Epigan commented Sep 6, 2020

Excellent macros, only missing for the attacks with the weapons and the calculation of damage of the weapons of the characters, I could support you with that please

@Epigan
Copy link

Epigan commented Sep 7, 2020

&{template:default}{{name=@{selected|character_name} Attack
}}{{Attack=[@{selected|repeating_attack_$1_attackname}](~selected|repeating_attack_$1_attack)
}}

I do not know what is wrong or why the name of the attack is not put

@AndruC
Copy link
Author

AndruC commented Sep 29, 2020

I do not know what is wrong or why the name of the attack is not put

Sorry, I can't really help. These macros are for working with NPCs.

@Hafficci
Copy link

Thank you so much for your sharing, AndruC!!
Playing is now easier for us!!

Any chance to get the "Show Spellbook" Macro elegible for "only to GM"?? If I add @{selected|wtype} at the beginning, I am asked if I want to whisper or not. If I choose "no", it works properly, but if choose "yes" something is wrong, and I get the next:
"Unable to find a player or character with name: gm{{name=xxxx"

Can you guys help me??

Thank you in advance!!

@Hafficci
Copy link

Good afternoon!!
Problem solved used typing "/w gm" instead of "@{selected|wtype}" ;)
It is better for me indeed, because the information contained in an NPC Spellbook is never intended for PCs.

Cheers!!

@Dragonwolf25
Copy link

Dragonwolf25 commented Aug 13, 2021

I have been researching and reading as many Macros as I could for my current campaign, and here is what I have found...

&{template:default}  {{name=Healing Potion}} {{
 ?{Potion|
 Regular, **Healing Potion Used:** [[2d4+2]]
HP recovered[image](https://i.ibb.co/DfRMpdP/healing-potion.png)|
 Greater, **Greater Healing Potion Used:** [[4d4+4]]
HP recovered[image](https://i.ibb.co/4NH9qQj/greater-healing.png)|
 Superior, **Superior Healing Potion Used:** [[8d4+8]]
HP recovered
[image](https://i.ibb.co/DpTStzq/superior-healing.png)|
 Supreme, **Supreme Healing Potion Used:** [[10d4+20]]
HP recovered[image](https://i.ibb.co/47csqM2/supreme-healing.png)
} 
}}
/fx bubbling-holy @{target|token_id}

Initiative
%{selected|Initiative}

Long-Rest

/w @{selected|character_name} &{template:default} {{name=**Upon Long Rest Completion**
**(8 Hours) **}} {{Current HP:=**[[@{selected|hp|max}]] / [[@{selected|hp|max}]]**}} {{Hit Dice:=**[[{[[@{selected|hit_dice}+{[[floor(@{selected|hit_dice|max} /2)]],1}kh1]],[[@{selected|hit_dice|max}]]}kl1]] / [[@{selected|hit_dice|max}]]**}}

Short-Rest

&{template:default} {{name=Short Rest}} {{HP Restored=[[?{Spend up to @{selected|hit_dice} HD|0}d@{selected|hitdietype}+@{selected|constitution_mod}]]}} {{Activity=?{Activity|none}}}

Skill-Check

@{selected|wtype}&{template:simple} @{selected|rtype}?{Skill |Acrobatics,+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]]}} {{rname=^{acrobatics-u}}} {{mod=[[ [[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|acrobatics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_acrobatics}*@{selected|npc})]][ACRO] ]] |Animal Handling,+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]]}} {{rname=^{animal_handling-u}}} {{mod=[[ [[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|animal_handling_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_animal_handling}*@{selected|npc})]][ANIM] ]] |Arcana,+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARC] ]]}} {{rname=^{arcana-u}}} {{mod=[[ [[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARCA] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|arcana_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_arcana}*@{selected|npc})]][ARCA] ]] |Athletics,+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ARC] ]]}} {{rname=^{athletics-u}}} {{mod=[[ [[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ATHL] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|athletics_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_athletics}*@{selected|npc})]][ATHL] ]] |Deception,+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][ARC] ]]}} {{rname=^{deception-u}}} {{mod=[[ [[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][DECE] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|deception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_deception}*@{selected|npc})]][DECE] ]] |History,+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][ARC] ]]}} {{rname=^{history-u}}} {{mod=[[ [[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][HIST] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|history_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_history}*@{selected|npc})]][HIST] ]] |Insight,+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][ARC] ]]}} {{rname=^{insight-u}}} {{mod=[[ [[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][INSI] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|insight_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_insight}*@{selected|npc})]][INSI] ]] |Intimidation,+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][ARC] ]]}} {{rname=^{intimidation-u}}} {{mod=[[ [[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][INTI] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|intimidation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_intimidation}*@{selected|npc})]][INTI] ]] |Investigation,+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][ARC] ]]}} {{rname=^{investigation-u}}} {{mod=[[ [[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][INVE] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|investigation_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_investigation}*@{selected|npc})]][INVE] ]] |Medicine,+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][ARC] ]]}} {{rname=^{medicine-u}}} {{mod=[[ [[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][MEDI] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|medicine_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_medicine}*@{selected|npc})]][MEDI] ]] |Nature,+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][ARC] ]]}} {{rname=^{nature-u}}} {{mod=[[ [[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][NATU] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|nature_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_nature}*@{selected|npc})]][NATU] ]] |Perception,+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][ARC] ]]}} {{rname=^{perception-u}}} {{mod=[[ [[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][PERC] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|perception_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_perception}*@{selected|npc})]][PERC] ]] |Performance,+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][ARC] ]]}} {{rname=^{performance-u}}} {{mod=[[ [[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][PERF] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|performance_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_performance}*@{selected|npc})]][PERF] ]] |Persuasion,+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][ARC] ]]}} {{rname=^{persuasion-u}}} {{mod=[[ [[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][PERS] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|persuasion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_persuasion}*@{selected|npc})]][PERS] ]] |Religion,+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][ARC] ]]}} {{rname=^{religion-u}}} {{mod=[[ [[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][RELI] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|religion_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_religion}*@{selected|npc})]][RELI] ]] |Sleight of Hand,+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][ARC] ]]}} {{rname=^{sleight_of_hand-u}}} {{mod=[[ [[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][SLEI] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|sleight_of_hand_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_sleight_of_hand}*@{selected|npc})]][SLEI] ]] |Stealth,+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][ARC] ]]}} {{rname=^{stealth-u}}} {{mod=[[ [[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][STEA] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|stealth_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_stealth}*@{selected|npc})]][STEA] ]] |Survival,+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][ARC] ]]}} {{rname=^{survival-u}}} {{mod=[[ [[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][SURV] ]]}} {{r1=[[@{selected|d20}+[[(@{selected|survival_bonus}@{selected|pbd_safe}*(1-ceil((@{selected|npc})*0.00001)))+(@{selected|npc_survival}*@{selected|npc})]][SURV] ]] }}} @{selected|global_skill_mod} @{selected|charname_output}

Skill-Save

&{template:simple} ?{Save|STR, {{rname=Strength}} {{mod=@{selected|strength_save_bonus}}} {{r1=[[1d20+@{selected|strength_save_bonus}]]}} {{r2=[[1d20+@{selected|strength_save_bonus}]]}}{{always=1}}|DEX, {{rname=Dexterity}} {{mod=@{selected|dexterity_save_bonus}}} {{r1=[[1d20+@{selected|dexterity_save_bonus}]]}} {{r2=[[1d20+@{selected|dexterity_save_bonus}]]}} {{always=1}}|CON, {{rname=Constitution}} {{mod=@{selected|constitution_save_bonus}}} {{r1=[[1d20+@{selected|constitution_save_bonus}]]}} {{r2=[[1d20+@{selected|constitution_save_bonus}]]}}{{always=1}}|INT, {{rname=Intelligence}} {{mod=@{selected|intelligence_save_bonus}}} {{r1=[[1d20+@{selected|intelligence_save_bonus}]]}} {{r2=[[1d20+@{selected|intelligence_save_bonus}]]}} {{always=1}}|WIS, {{rname=Wisdom}} {{mod=@{selected|wisdom_save_bonus}}} {{r1=[[1d20+@{selected|wisdom_save_bonus}]]}} {{r2=[[1d20+@{selected|wisdom_save_bonus}]]}} {{always=1}}|CHA, {{rname=Charisma}} {{mod=@{selected|charisma_save_bonus}}} {{r1=[[1d20+@{selected|charisma_save_bonus}]]}} {{r2=[[1d20+@{selected|charisma_save_bonus}]]}}{{always=1}}} {{charname=@{selected|token_name}}}

Whisper
/w @{target| Whisper to whom? |character_name} ***?{"What"|You notice...}***

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment