One of the most satisfying spells to use in D&D is Toll the Dead. Haunting bells sound across the battlefield, as necrotic damage washes over your enemy. But setting it up as a macro in Roll20 can be tricky because of its conditional damage: It does d8 normally, d12 if the target isn’t at full health. Higher levels bring additional damage dice. It’s a fun problem to solve!
The Frosty Familiar solved it with this useful macro. This guide breaks it down.
(Map by Advanced Battle Maps)
THE MACRO
For those that just want to copy and paste it right now, here it is. 2014 and 2024 templates still work slightly differently (something we’re unifying right now), so here’s a version to get the most out of each sheet depending which you’re using.
2014 Character Sheet Version
&{template:dmg} {{rname=Toll the Dead}} {{range=60ft}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[[[floor((@{selected|level}+1)/6)+1]]d[[ {{ @{target|token|bar1},0 }>@{target|token|bar1|max}}*(8-12) + 12 ]]]]}} {{dmg1type=Necrotic}} {{save=1}} {{saveattr=Wisdom}} {{savedesc=Save for no damage}} {{savedc=@{selected|spell_save_dc}}} {{hldmg=hldmg}} {{spelllevel=spelllevel}} {{ammo=ammo}} {{spelldesc_link=[Show Spell Description](`%NEWLINE%&{template:spelloutput} {{level=necromancy cantrip}} {{name=Toll the Dead}} {{castingtime=1 action}} {{range=60 feet}} {{target=One creature you can see within range}} {{v=1}} {{s=1}} {{material=}} {{duration=Instantaneous}} {{description=You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage. The spell's damage increases by one die when you reach 5th level (2d8 or 2d12), 11th level (3d8 or 3d12), and 17th level (4d8 or 4d12).}}{{athigherlevels=}}{{innate=}} {{savedc=@{selected|spell_save_dc}}`)}}{{charname=@{selected|character_name}}}
2024 Character Sheet Version
&{template:dmg} {{rname=Toll the Dead}} {{damage=0}} {{save=1}} {{saveattr=Wisdom}} {{savedesc=Save for no damage. You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage. The spell's damage increases by one die when you reach 5th level (2d8 or 2d12), 11th level (3d8 or 3d12), and 17th level (4d8 or 4d12).}}{{savedescription= Range:60ft}} {{savedc=@{selected|spell_save_dc}}} {{spelllevel=Necromancy Cantrip}}
&{template:dmg} {{rname=Toll the Dead}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[[[floor((@{selected|level}+1)/6)+1]]d[[ {{ @{target|token|bar1},0 }>@{target|token|bar1|max}}*(8-12) + 12 ]]]]}} {{dmg1type=Necrotic}}
Need help adding your macro? Learn how here.
CONTINGENCIES
In order for this macro to work, a few things need to be true! If you’re troubleshooting, make sure all this is in order:
- The macro pulls your level and spell save DC from your character sheet.
- Selected tokens need linked character sheets.
- For the HP detection enemy tokens must have HP represented by the numbers in Bar 1.
OPTIONAL ADDITIONS
Roll the Target’s Save
Want the macro to also roll the target’s Wisdom save? Add the following in the first save description section; {{savedesc=ADD-IT-HERE}}
**@{target|token|token_name}** saves: [[1d20cs>[[@{selected|spell_save_dc}-@{target|token|wisdom_save_bonus}]]+@{target|token|wisdom_save_bonus} Save for no Damage]] Save for no damage.
Two notes:
- Target Tokens need to be linked to character sheets for the optional save roll to work.
- This does mean the save will roll publicly on the template.
Add Visual FX
Want a fun necrotic visual to show up on the screen? Add this fx line to the bottom of your macro!
/fx nova-death @{target|Foe|token_id}
Play Bells with Mod Scripts
If you’re a Pro subscriber you’ll have mod script access, and can automate bells sounding across your digital battlefield!
- Install Mod Script: Simple Sound (details here)
- Download this bell audio file (or use your own), upload it to your jukebox and add it to your game.
- Add
!splay tollto the bottom of your macro.
Bringing it All Together
In the 2024 sheet, all of these options together would look like this!
&{template:dmg} {{rname=Toll the Dead}} {{damage=0}} {{save=1}} {{saveattr=Wisdom}} {{savedesc=**@{target|token|token_name}** saves: [[1d20cs>[[@{selected|spell_save_dc}-@{target|token|wisdom_save_bonus}]]+@{target|token|wisdom_save_bonus} Save for no Damage]] Save for no damage. You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage. The spell's damage increases by one die when you reach 5th level (2d8 or 2d12), 11th level (3d8 or 3d12), and 17th level (4d8 or 4d12).}} {{savedescription= Range:60ft}} {{savedc=@{selected|spell_save_dc}}} {{spelllevel=Necromacy Cantrip}}
&{template:dmg} {{rname=Toll the Dead}} {{damage=1}} {{dmg1flag=1}} {{dmg1=[[[[floor((@{selected|level}+1)/6)+1]]d[[ {{ @{target|token|bar1},0 }>@{target|token|bar1|max}}*(8-12) + 12 ]]]]}} {{dmg1type=Necrotic}}
/fx nova-death @{target|Foe|token_id}
!splay toll
HOW IT WORKS
Want to better understand macro creation and logic? We break this down below!
Spell Reference
First, it helps to have all the spell details in front of us, so we can reference what each part of the macro is attempting to do. Here’s the spell:
Toll the Dead (available in Player's Handbook (2024) and Xanathar's Guide to Everything)
Necromancy Cantrip
Casting Time: 1 action
Range: 60 feet
Components: V, S
Duration: Instantaneous
You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage.
The spell's damage increases by one die when you reach 5th level (2d8 or 2d12), 11th level (3d8 or 3d12), and 17th level (4d8 or 4d12).
Cantrip Damage Scaling
Getting different dice to roll at different levels is tricky, but Frosty came up with a reliable formula.
[[floor((@{selected|level}+1)/6)+1]]
Why This Works: The +1 at the beginning and ÷6 creates breakpoints at exactly the right levels.
| Level | +1 | ÷6 | floor | +1 | Dice |
| 1 | 2 | 0.33 | 0 | 1 | 1d |
| 4 | 5 | 0.83 | 0 | 1 | 1d |
| 5 | 6 | 1.00 | 1 | 2 | 2d |
| 10 | 11 | 1.83 | 1 | 2 | 2d |
| 11 | 12 | 2.00 | 2 | 3 | 3d |
| 17 | 18 | 3.00 | 3 | 4 | 4d |
This matches the standard cantrip progression at levels 5, 11, and 17!
Testing it, Step by Step
- Let’s say you’re level 11. @{selected|level} would return 11.
- Add 1: 11 + 1 = 12
- Divide by 6: 12 ÷ 6 = 2
- Round down. This is done with the floor command. This would return 2
- Add 1: 2 + 1 = 3
- Result: 3 dice
The d8 vs d12 Logic

[[ {{ @{target|token|bar1},0 }>@{target|token|bar1|max}}*(8-12) + 12 ]]
Frosty cleverly solves when to roll which dice. The spell deals d12 if the target is missing HP, or d8 if they’re at full health. Here’s how the math works:
- @{target|token|bar1} = Target’s current HP
- @{target|token|bar1|max} = Target’s maximum HP
The comparison returns 1 if current HP or equal to max HP (rare), or 0 otherwise
- 1 × (8-12) + 12 = 8 → d8
- 0 × (8-12) + 12 = 12 → d12
Template Fields Explained
- {{rname=}} The spell name displayed at the top
- {{damage=1}} Flag to show damage section
- {{dmg1flag=1}} Enables the first damage line
- {{dmg1type=}} The damage type (Necrotic)
- {{save=1}} Indicates a saving throw is required
- {{saveattr=}} Which ability save (Wisdom)
- {{savedesc=}} What happens on a successful save
- {{savedc=}} Your spell save DC from your character sheet
- {{charname=}} Displays the caster’s name
Roll Template Design Updates
We’ve gotten loads of feedback about Roll Templates, so we’re also updating the designs! Here’s a sneak peak at updated work-in-progress designs. Expect to see updates within the next few weeks!


FIND MORE OF FROSTY’S WORK!
You can purchase Frosty’s Macro Suite on Roll20 right here! https://marketplace.roll20.net/browse/publisher/2624/the-frosty-familiar
See even more of his great work, and follow him here: www.thefrostyfamiliar.com
