Register

Daggerheart: Distances

An Add-on Module for Foundry Virtual Tabletop

Author: Mestre Digital Project: Source Foundry Version 14 (Verified 14) Last Updated 2 weeks ago

Daggerheart: Distances

A visual and intuitive utility for the Daggerheart system in Foundry VTT. It automatically displays distance rings (Melee, Very Close, Close, Far) around tokens and calculates distances between characters instantly, helping players and GMs visualize combat ranges without needing to measure manually.

 

 demo.mp4 

 

Buy Me a Coffee More Modules

Leia em Português do Brasil

🌟 Key Features

📏 For Everyone (Players & GM)

  • Visual Range Rings: Instantly see the 4 main range bands of Daggerheart:

    • Melee: 5 ft.

    • Very Close: 15 ft.

    • Close: 30 ft.

    • Far: 60 ft.

  • Smart Hover: Hover your mouse over any token to see exactly how far it is from your character. No ruler needed!

  • Easy Toggle: Turn the rings on or off quickly using a button in the Token HUD or a keyboard shortcut.

  • Smart Edge Detection: Accurate for tokens of all sizes! The system measures distance from edge-to-edge rather than center-to-center. It also checks visual coverage: a token is only considered "in range" if a specific percentage of its body (configurable) is physically inside the ring, ensuring that what you see matches the rules.

Set how much of a token must be inside the circle to be considered in range.

The system accounts for token size when calculating range.

  • Mass Measurement: Select multiple tokens and use the macro DHDistances.MassMeasurement(); to generate distance rings from the center of the group.

  • Target Highlighting: Valid targets within range rings now glow with the ring's color.

  • Ghost Preview: Range rings now follow the token preview while dragging to test positions.

📡 Broadcast — Share Rings with Everyone

The GM can show distance rings to all connected players at once. When you broadcast, the rings appear on every player's screen and disappear automatically after a configurable duration (default: 7 seconds).

This is perfect for highlighting a threat's reach during combat so the whole table is on the same page — no need to describe distances verbally.

Three ways to broadcast:

  • Keyboard: Select a token and press Shift+R
  • Macro: DHDistances.Toggle({ remote: true });
  • Hover Broadcast Mode: Enable it in settings and every token you hover will automatically broadcast to players (see Operation Mode below)

Note: Only the GM can broadcast. Players pressing Shift+R have no effect.

🎮 Operation Mode — How Rings Are Triggered

You can change how rings appear by selecting an Operation Mode in the Module Settings:

Mode What it does
Manual (default) Rings only appear when you press R or click the HUD button
Hover Mode (GM) Rings appear automatically as the GM hovers over tokens — locally only
Hover Mode (Broadcast) Same as above, but each hover broadcasts the rings to all players

You can also temporarily override the active mode using hold-keys — useful when you're in Manual mode but want a quick broadcast without changing settings:

  • Hold Shift+H — activates Hover Mode (GM) while the key is held
  • Hold Shift+B — activates Hover Mode (Broadcast) while the key is held

Release the key and the mode returns to normal.

🎨 Customization

  • Beautiful Themes: Choose from pre-made color palettes like "Traffic Light", "Neon Cyberpunk", or "Warm Sunset".

  • Visual Styles: Configure the rings to have solid, dotted, or dashed lines, and adjust their thickness.

  • Immersive Effects: Enable animated gradient fills that pulse gently, or keep it simple with static colors.

⚙️ How to Use

Toggling Rings

You have many easy ways to show or hide the range rings around a token:

  1. Token HUD: Right-click a token to open the HUD, then click the Circle icon ().

  2. Keyboard Shortcuts:

Shortcut Action
R Toggle rings on/off (local, just for you)
Shift+R Broadcast rings to all players (GM only)
M Mass Measurement from selected tokens
Shift+Delete Clear all active rings at once
Hold Shift+H Temporarily enable Hover Mode (GM)
Hold Shift+B Temporarily enable Hover Mode (Broadcast)

All keybindings can be reassigned in Foundry Settings → Configure Controls.

  1. You can also use macros:
DHDistances.Toggle();              // Toggle rings for selected/hovered token
DHDistances.Toggle({ remote: true }); // Broadcast rings to all players (GM only)
DHDistances.MassMeasurement();     // Mass Measurement from selected tokens
DHDistances.ClearAll();            // Remove all active rings (respects Clear All Mode setting)
 
DHDistances.Toggle({mode: '2d'}); // Calculates distance ignoring elevation.
 
DHDistances.Toggle({mode: '3d'}); // Calculates distance accounting for elevation.
 
DHDistances.Toggle({mode: 'both'}); // Shows both 3D and 2D distances.
 
// GM only: explicit scope override (takes precedence over the Clear All Mode setting)
DHDistances.ClearAll({ scope: 'all' });  // Remove rings for all connected players
DHDistances.ClearAll({ scope: 'self' }); // Remove rings for the GM only
 

Configuration

Go to the Module Settings tab in Foundry VTT to customize the look and feel:

 
 
 

🌍 Translations

Want to translate this module into your language? Here's how:

  1. Download the English translation file: languages/en.json
  2. Translate the values (keep the keys unchanged)
  3. Submit your translation at GitHub Issues — attach the translated file and mention the target language
 

 

🧰 My Daggerheart Modules

Module Description
💀 Adversary Manager Scale adversaries instantly and build balanced encounters.
🖼️ Art Mapper Automatically assigns artwork to system compendiums, actors, tokens, and custom module content — keeping your visuals organized and up to date.
🐉 Colossus Manage massive multi-part boss encounters with independent HP per part and a single shared stress pool.
📦 Containers Group inventory items into collapsible containers — pouches, chests, backpacks — to declutter character sheets.
💥 Critical Animated criticals.
💠 Custom Stat Tracker Add custom trackers to actors.
☠️ Death Moves Enhances the Death Move moment with a dramatic interface and full automation.
📏 Distances Visualizes combat ranges with customizable rings and hover calculations.
📦 Extra Content Homebrew content pack.
😱 Fear Tracker Adds an animated slider bar with configurable fear tokens to the UI.
🧟 Horde Explode single horde tokens into dozens of individual tokens and manage their movement and stats automatically.
🎁 Mystery Box Introduces mystery box mechanics for random loot and surprises.
⚡ Quick Actions Quick access to common mechanics like Falling Damage, Downtime, etc.
📜 Quick Rules Fast and accessible reference guide for the core rules.
🤖 Resource Macros Automatically executes macros when the Fear, Hope, Stress, HP, or Armor resources change.
🎲 Stats Tracks dice rolls from GM and Players.
🧠 Stats Toolbox Import actors using a statblock.
🛒 Store A dynamic, interactive, and fully configurable in-game store.
🔍 Unidentified Obfuscates item names and descriptions until they are identified by the players.
🌌 Void Unofficial module that brings The Void playtesting content — experimental classes, subclasses, ancestries, communities, adversaries, loot, weapons, and more.

🗺️ Adventures

Adventure Description
✨ I Wish A wealthy merchant is cursed; one final expedition may be the only hope.
💣 Suicide Squad Criminals forced to serve a ruthless master in a land on the brink of war.



Supported Game Systems

  1. Daggerheart

    Latest Version: Version 2.9.3 Last Updated 2 days, 13 hours ago

Categories

Available Versions

  1. Version 0.2.7

    2 weeks ago
    Foundry Version 14 - 14 (Verified 14) Manifest URL Read Notes
  2. Version 0.2.6

    2 months, 2 weeks ago
    Foundry Version 14 - 14 (Verified 14) Manifest URL Read Notes