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 toll to 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÷6floor+1Dice
120.33011d
450.83011d
561.00122d
10111.83122d
11122.00233d
17183.00344d

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

Happy spellcasting!

Dean Bigbee Director of Operations

Dean has been an integral part of Roll20 since its early days, playing a key role in driving business growth and fostering strong publishing partnerships. Outside of Roll20, Dean is deeply involved in creative projects and animal activism. As a co-founder of New Orleans’ Human Horse Races and other community-driven events, they are committed to raising awareness and inspiring change through innovative community initiatives.

Discover more from Roll20 Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading