| Latest version | 0.7.15 |
|---|---|
| Minimum Core | 14 |
| Compatible Core | 14 |
| Last updated | 1 day ago |
| Created | 9 months ago |
| Authors | |
| Languages |
English |
| Systems |
Daggerheart |
| Project source | Project URL |
Essential tools and automations for Daggerheart in Foundry VTT.
This module streamlines the flow of gameplay by putting the most common Daggerheart mechanics — Downtime, Falling Damage, Roll Requests, Loot, Scar Checks, and more — one click away, integrated directly into the Daggerheart system interface.
🪂 Falling & Collision Damage: Instant damage roller for environmental hazards. Supports "Very Close", "Close", "Far/Very Far", and "Collision" tiers, with dice formulas the GM can fully customize.
🎲 Request Roll: Quickly ask one or more players to make a roll. Configure Difficulty, Trait, Advantage/Disadvantage, and a context label. As long as the roll's case has an image assigned (see Cinematic Roll Images below — all nine ship with one), it's sent as a "cinematic" full-screen prompt instead of a plain chat message.
💬 Whisper: Send a private message to any number of connected users, via QuickActions.Whisper(). Pick the recipients from the list (GMs are flagged with a crown), type the message, and hit send — it arrives as a whispered chat card visible only to them. The text is plain: anything you type is delivered literally, so pasted HTML shows up as text instead of being rendered. Ctrl+Enter sends without leaving the keyboard.
🤝 Barter: Trade items and coins, via QuickActions.Barter(). You need a linked character actor. Your inventory shows as an icon grid split into Weapons / Armor / Consumables / Loot tabs — click an icon to put it on the table (selected items get a green border; stacks get a small quantity stepper), and offer coins alongside them in whichever currencies the world has enabled. The "Trade With" list then lets you pick either:
character actor). Hit Start Trade and the same window opens on their screen with your offer already laid out. They can add items and coins of their own or accept as-is; once they confirm, you approve and the swap happens. Any edit after a confirmation cancels it, so nobody can lock in an offer and then quietly change it. A GM must be connected: the actual transfer is written by the GM client in a single batch, so it either goes through completely or not at all.Either way the result is posted to chat as a receipt.
🆙 Level Up: Walk a player character through leveling up directly from the menu.
🎁 Loot & Consumables: Roll loot, consumables, or coins (by tier) and hand out the results — automatically added to the receiving sheet when possible. Loot and consumables are drawn from the Daggerheart system's own roll tables, chosen in Loot & Consumables Configuration. Tap + to stack more d12s and reach rarer entries further down the table (capped at 5d12 — the tables hold 60 rarity-ordered entries). The Mod field beside the stepper covers what the stepper cannot say on its own, since it only moves twelve at a time: type +5 to shift the band, +1d6 for a spread between 1d12 and 2d12, or -2 to pull the band down. The hint underneath always reports what the combined formula reaches — +5 reads "Reaches 6–17", and a formula that overshoots the table reads "Reaches 60–60", which tells you the dice have stopped deciding. Add to Roll stacks several draws — "3d12 loot, then 2d12+5 loot, then Tier 2 coins" — and a single ROLL resolves them all into one chat card. When your character belongs to a party sheet you own, a toggle sends the haul to the party stash instead of your own sheet, and the card records which.
🎲 Custom Tables: Roll the GM's own roll tables — homebrew loot, a third-party adventure's treasure list, a translated table — and hand out what they give. Separate from Loot & Consumables on purpose: that roller reads the Daggerheart tables as one rarity-ordered scale, while this one lets each table roll with its own formula, exactly as its author built it (nested tables are followed too). Pick a table, tap + for more draws, and Add to Roll stacks draws from several tables into one ROLL and one chat card — with the same To Myself / To Party choice. The tables are curated by the GM in Custom Tables Configuration; results that point at an Item land on the sheet, anything else is just reported in the card. Opened with the Custom Tables macro from this module's Macros compendium, or with QuickActions.CustomTables().
✨ Spend Hope: A quick picker for spending 1–6 Hope from the selected token's actor.
📐 Templates: Place attack templates (cone, line, circle, rectangle, and more) on the scene using Daggerheart's @Template[...] chat code syntax.
Available through QuickActions.Features(), meant to be wired up to specific subclass items/macros:
QuickActions.ShowMacros() produces, one click away for every player. The GM can turn the button off entirely.QuickActions.ShowMacros().Most features work out of the box, but a few can be tuned from Configure Settings → Module Settings → Daggerheart: Quick Actions:
QuickActions.LootConsumable() rolls. Table Source picks which Daggerheart roll tables loot and consumables come from — Core Set only, Hope & Fear only, or Core Set + Hope & Fear (default). With both enabled the two books share one rarity scale rather than being chained end to end, so a 1d12 sees 24 common items instead of 12; a visible coin flip then decides which book the entry comes from (tails Core Set, heads Hope & Fear). Coin Tier Ranges customizes the min/max coins rolled for each tier.QuickActions.CustomTables() draws from. Drag tables in from the Rollable Tables directory or from any compendium, and remove the ones you don't want; a table that was deleted or whose compendium is gone is flagged rather than dropped silently. Three things are worth knowing before you add one:
Go to the Daggerheart Menu in the sidebar (a.k.a. "GM Tools"). You will see a Quick Actions section with buttons for:
The whole menu also gets a search bar plus collapsible, alphabetically ordered sections — handy once several modules are contributing to it. Click a section's title to collapse/expand it (remembered per user), or use the search box to jump straight to what you need.
GMs will find a Downtime button on the party sheet's action bar, in place of the default Short Rest / Long Rest buttons. It opens the full Downtime UI for the whole party.
Every character sheet has a Quick Actions button in its header. Clicking it opens a palette with the macros configured in Configure Settings → Daggerheart: Quick Actions → Quick Actions Macros, ready to run. The list starts with the module's own macros; the GM can drag in any world or compendium macro, or switch the button off.
You can trigger any function programmatically or via Foundry Macros using the global QuickActions object:
// Opens the full Downtime UI
QuickActions.DowntimeUI();
// Opens the lightweight "Earn Fear" (Short/Long Rest) dialog
QuickActions.Downtime();
// Opens the Falling Damage calculator
QuickActions.FallingDamage();
// Opens the Roll Request dialog. The cinematic full-screen prompt activates automatically per
// request, based on the images configured in Configure Settings → Cinematic Roll Images.
QuickActions.RequestRoll();
// Opens the Whisper window — pick connected users and send them a plain-text private message.
QuickActions.Whisper();
// Opens the Barter window — trade items and coins with another connected
// player, or with a party stash your character belongs to.
QuickActions.Barter();
// Opens the Loot & Consumables roller
QuickActions.LootConsumable();
// Opens the Custom Tables roller — rolls the roll tables the GM curated in
// Configure Settings → Daggerheart: Quick Actions → Custom Tables Configuration.
// Each table is rolled with its own formula, so any table works, not just SRD-shaped ones.
QuickActions.CustomTables();
// Performs "Help an Ally" on the selected token
QuickActions.HelpAnAlly();
// Performs a "Scar Check" on the selected token
QuickActions.ScarCheck();
// Sets the combat turn to the selected token
QuickActions.SpotlightToken();
// Choose a number of Hope to spend on the selected token
QuickActions.SpendHope();
// Adds a template to the scene
QuickActions.Templates();
// Opens a level-up flow for a player character
QuickActions.LevelUp();
// Rolls a Hope/Fear Duality die with a cinematic animation
// rollType: "hope" or "fear" | mode: "default" (animated), "ask" (choose the die), "system" (use the system's own roll)
QuickActions.Fate("hope");
// Runs one of the built-in class feature macros (e.g. subclass abilities)
// See "Class Feature Macros" above for the available names.
QuickActions.Features("Unleash Chaos");
QuickActions.Features("Chain Lightning");
// Opens a dialog with buttons for specific macros by name
// To use the macro name it requires the macros to exist in the 'daggerheart-quickactions.macros' compendium. You can use the UUID to add any macro from world or any compendium.
//
QuickActions.ShowMacros("Macro Name 1", "Macro Name 2", "Macro.CDcmq4UiZMqs6pbs", "Compendium.daggerheart-quickactions.macros.Macro.5SyMBdCHM5TZXqGz");
// Opens the same palette as the "Quick Actions" button on character sheets,
// listing the macros the GM curated in Configure Settings → Quick Actions Macros.
QuickActions.QuickActionsMenu();
/* WARNING: This will only work if you enable the module setting.
This allows the player to obtain information about a targeted adversary token.
They will be informed about the HP and Stress status without revealing numerical values.
During the game, it is common for players to ask: "I look at the goblin, how does it look?"
The GM usually responds: "He looks quite wounded and exhausted."
This macro aims to give players the autonomy to do this themselves.
Example output:
Physical State: Injured
Mental State: Completely overwhelmed, paralyzed by panic and unable to think clearly
*/
QuickActions.Scan();
| 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 or Hope 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. |
| 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. |
To install this package, open your Foundry Setup screen and navigate to your Module tab and click the Install Module button.
From there, you can either search for the package unique name: daggerheart-quickactions or copy its manifest URL:
And paste it to the input box at the bottom of your window.

You can install this package directly to your Forge account.