Roll20 PowerCards Library

Most Recent Update : 2020-08-23 7:19 PM EST

I maintain and update the PowerCards API script for Roll20 (originally authored by Sky/Sky Captain), and am the creator of the PowerCards Macro Helper (PCMHelper) API script. This page is designed to be a repository for sample PowerCards macros that you can use to enhance your Roll20 game.

Submissions are welcome, but please try to keep submissions to cards that are generic enough to be used by almost anyone with little modification. Also, please indicate the game and character sheet your card is compatible with.

Dungeons and Dragons 5E (Roll20 5E/5e OGL Sheet)

The Macros in this section require the Roll20 5E default character sheet (originally knows as the 5E OGL sheet).

All Characters

Saving Throw PowerCard:

This card can be used by both PCs and NPCs, and will prompt for the type of save to be made and advantage type. It uses the ability_save_bonus attritubes, so expertise and proficiency are automatically taken into account.

!power {{
--inlinereplace|SkillName|?{Saving throw type?|Strength|Dexterity|Constitution|Intelligence|Wisdom|Charisma}
--tokenid|@{selected|token_id}
--name|~SkillName$ Saving Throw
--format|@{selected|character_name}
--emote|@{selected|character_name} attempts ~SkillName$ saving throw
--?! "~SkillName$" -eq "Strength" !? Strength|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|strength_save_bonus} ]]
--?! "~SkillName$" -eq "Dexterity" !? Dexterity|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|dexterity_save_bonus} ]]
--?! "~SkillName$" -eq "Constitution" !? Constitution|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|constitution_save_bonus} ]]
--?! "~SkillName$" -eq "Intelligence" !? Intelligence|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|intelligence_save_bonus} ]]
--?! "~SkillName$" -eq "Wisdom" !? Wisdom|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|wisdom_save_bonus} ]]
--?! "~SkillName$" -eq "Charisma" !? Charisma|save result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|charisma_save_bonus} ]]
}}

Ability Check PowerCard:

This card can be used by PCs to make skill checks. Note that it does not work for NPCs since the have different ability modifier attributes:

!power {{
--inlinereplace|SkillName|?{Skill to Use?|Acrobatics|Animal Handling|Arcana|Athletics|Deception|History|Insight|Investigation|Medicine|Nature|Perception|Performance|Persuasion|Religion|Sleight of Hand|Stealth|Survival}
--tokenid|@{selected|token_id}
--name|~SkillName$ Check
--format|@{selected|character_name}
--emote|@{selected|character_name} attempts to use the ~SkillName$ skill
--?! "~SkillName$" -eq "Acrobatics" !? Acrobatics|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|acrobatics_bonus} ]]
--?! "~SkillName$" -eq "Animal Handling" !? Animal Handling|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|animal_handling_bonus} ]]
--?! "~SkillName$" -eq "Arcana" !? Arcana|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|arcana_bonus} ]]
--?! "~SkillName$" -eq "Athletics" !? Athletics|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|athletics_bonus} ]]
--?! "~SkillName$" -eq "Deception" !? Deception|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|deception_bonus} ]]
--?! "~SkillName$" -eq "History" !? History|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|history_bonus} ]]
--?! "~SkillName$" -eq "Insight" !? Insight|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|insight_bonus} ]]
--?! "~SkillName$" -eq "Intimidation" !? Intimidation|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|intimidation_bonus} ]]
--?! "~SkillName$" -eq "Investigation" !? Investigation|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|investigation_bonus} ]]
--?! "~SkillName$" -eq "Medicine" !? Medicine|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|medicine_bonus} ]]
--?! "~SkillName$" -eq "Nature" !? Nature|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|nature_bonus} ]]
--?! "~SkillName$" -eq "Perception" !? Perception|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|perception_bonus} ]]
--?! "~SkillName$" -eq "Performance" !? Performance|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|performance_bonus} ]]
--?! "~SkillName$" -eq "Persuasion" !? Persuasion|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|persuasion_bonus} ]]
--?! "~SkillName$" -eq "Religion" !? Religion|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|religion_bonus} ]]
--?! "~SkillName$" -eq "Sleight of Hand" !? Sleight of Hand|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|sleight_of_hand_bonus} ]]
--?! "~SkillName$" -eq "Stealth" !? Stealth|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|stealth_bonus} ]]
--?! "~SkillName$" -eq "Survival" !? Survival|check result is [[ ?{Advantage?|Normal,1d20|Advantage,2d20kh1|Disadvantage,2d20kl1} + @{selected|survival_bonus} ]]
}}

Potion of Healing

Prompts the user for a potion type and rolls the appropriate number of dice. Two items to note here for those writing their own PowerCards: 1) You can utilize the same roll query value multiple times in your card and only need to include the part before the first choice to get the repeated value. 2) The “basic” potion of healing is just called a “Potion of Healing”, so in order to make everything display properly, that choice results in a space as the roll query value. We need to use and advanced conditional (?! … !?) in order to check for this.

!power {{
--charid|@{selected|character_id}
--emote|@{selected|character_name} drinks a Potion of ?{Potion Type:|Healing, |Greater Healing,Greater|Superior Healing,Superior|Supreme Healing,Supreme} Healing
--name|Potion of ?{Potion Type:} Healing
--?! "?{Potion Type:}" -eq " " !? !Result *1|@{selected|character_name} drinks the potion and is healed for [[ 2d4 + 2 ]] hit points
--?? ?{Potion Type:} == Greater ?? !Result *2|@{selected|character_name} drinks the potion and is healed for [[ 4d4 + 4 ]] hit points
--?? ?{Potion Type:} == Superior ?? !Result *3|@{selected|character_name} drinks the potion and is healed for [[ 8d4 + 8 ]] hit points
--?? ?{Potion Type:} == Supreme ?? !Result *4|@{selected|character_name} drinks the potion and is healed for [[ 10d4 + 20 ]] hit points
}}

Class/Role Specific Cards

Paladin

Divine Smite:

This card will prompt for the spell slot level to be used and if the opponent is an undead or fiend.

!power {{ 
--name|Divine Smite
--format|@{selected|character_name}
--tokenid|@{selected|token_id}
--emote|@{selected|character_name} empowers their blow with divine might!
--Smite|The target takes an additional [[ ?{What level spell slot?|1,2d8|2,3d8|3,4d8|4,5d8} [Spell Slot] ?{Is the target undead or a fiend?|No,[Not undead]|Yes, + 1d8 [Undead]} ]] radiant damage.
}}

Rogue

Sneak Attack:

This card will determine the rogue level of a character (including multi-classed rogues) and display a sneak attack roll:

!power {{
--name|Sneak Attack
--format|@{selected|character_name}
--tokenid|@{selected|token_id}
--?! "@{selected|class}" -eq "Rogue" !? Sneak Attack *1|@{selected|character_name} deals an additional [[ [[ceil(@{selected|base_level}/2)]]d6 ]] sneak attack damage!
--?! "@{selected|multiclass1}" -eq "Rogue" !? Sneak Attack *2|@{selected|character_name} deals an additional [[ [[ceil(@{selected|multiclass1_lvl}/2)]]d6 ]] sneak attack damage!
--?! "@{selected|multiclass2}" -eq "Rogue" !? Sneak Attack *3|@{selected|character_name} deals an additional [[ [[ceil(@{selected|multiclass2_lvl}/2)]]d6 ]] sneak attack damage!
--?! "@{selected|multiclass3}" -eq "Rogue" !? Sneak Attack *4|@{selected|character_name} deals an additional [[ [[ceil(@{selected|multiclass3_lvl}/2)]]d6 ]] sneak attack damage!
--?! "@{selected|class}" -ne "Rogue" -and "@{selected|multiclass1}" -ne "Rogue" -and "@{selected|multiclass2}" -ne "Rogue" -and "@{selected|multiclass3}" -ne "Rogue" !? !NotARogue|@{selected|character_name} attempts a sneaky attack, but alas they aren't a rogue, so they deal no sneak attack damage.
}}

Comments are closed.

  • Advertisement