System-agnostic trigger automation and condition control for Foundry VTT.
LD Triggerz lets you build reactive rules that watch actor and token data, then automatically apply, remove, or toggle conditions — or run a macro — when the data crosses the threshold you set. No scripting required.
- HP drops below half? Apply Bloodied automatically.
- HP hits zero? Apply Unconscious.
- A stat recovers above a threshold? Remove the condition on its own.
- Need a custom macro? Fire it when a specific value changes.
- Visual GM Hub – build triggers and conditions directly inside Foundry, no JSON editing.
- Condition Builder – create custom conditions with names, icons, descriptions, and Foundry ActiveEffect changes.
- Trigger Builder – watch any actor data path, compare it to a value, percentage, or another path, then fire an action.
- Condition Linking – wire a condition to an Apply Trigger and a Remove Trigger so full workflows run hands-free.
- Foundry ActiveEffect Support – set change keys, modes, values, and priority right from the hub.
- Custom System Builder (CSB) Support – native
system.propspath math is normalized automatically. - Scope Filtering – fire on all actors, PCs only, or NPCs only.
- Percentage Comparisons – trigger when HP drops below 25% of max, not just a raw number.
- Ignore Zero – prevent death-spam loops when a value hits exactly 0.
- Import / Export – back up or share your entire trigger and condition setup as JSON.
- System Agnostic – works with any Foundry game system.
- Download
ld-triggerz.zipfrom the latest release. - In Foundry VTT, go to Add-on Modules → Install Module.
- Paste the manifest URL or upload the zip directly.
- Enable LD Triggerz in your world's Module Management settings.
- Reload when prompted.
Manifest: https://github.com/lisasdungeon/ld-triggerz/releases/latest/download/module.json
Everything runs through the GM Hub. You have two ways to open it:
- Scene Control Button – click the bolt icon in the left scene controls toolbar (labeled Open LD Triggerz). If you don't see it, make sure the scene control is enabled in Configure Settings.
- Configure Settings – open Configure Settings, find the LD Triggerz section, and click Open GM Hub.
The hub header shows a live count of your saved triggers, saved conditions, and currently selected tokens.
A condition is what gets applied to an actor. It can be a native Foundry status effect, a CSB status, or a fully custom homebrew condition.
- Open the GM Hub.
- In the Condition Builder (left side), pick a status from Foundry/CSB Status or leave it on Custom status.
- Enter a Condition ID (lowercase with hyphens, e.g.
bloodied) and a Condition Name (e.g.Bloodied). - Set an Icon Path if you want a specific icon. Default is
icons/svg/aura.svg. - Add a Description if it helps you remember what the condition does.
- Expand Advanced Effect Changes if you want the condition to modify actor data through ActiveEffects.
- Click Save Condition.
A trigger watches a data path and fires when the comparison matches.
- In the Trigger Builder (right side), enter a Trigger Name (e.g.
HP Half Check). - Pick an Actor Path from the dropdown or enter a Custom Path (e.g.
system.hp.value). - Choose an Operator (Equals, Less than, Greater than, etc.).
- Enter a Value to compare against. This can be:
- A raw number (
10) - A percentage (
50%) - Another actor data path (
system.hp.max)
- A raw number (
- Set a Compare Path if you are using a percentage value.
- Choose the Scope (All actors, PC only, NPC only).
- Tick Ignore Zero if you want the trigger to skip when the watched value is exactly 0.
- Choose an Action:
- None – no direct action; use this for linked condition workflows.
- Apply condition – applies a saved condition to the actor.
- Remove condition – removes a saved condition from the actor.
- Toggle condition – toggles a saved condition on the actor.
- Run macro – runs a Foundry macro by ID.
- Click Save Trigger.
- Edit a saved condition.
- In the Apply Trigger dropdown, select the trigger that should apply the condition.
- In the Remove Trigger dropdown, select the trigger that should remove it.
- Save the condition.
Now the full lifecycle runs automatically.
The top-left panel of the GM Hub shows your currently selected tokens. Choose a condition from the dropdown (or type a custom condition ID), then click:
- Assign – tracks the condition on the actor without creating an effect.
- Unassign – removes that tracking.
- Apply – applies the condition as an effect.
- Remove – removes the condition effect.
- Toggle – flips the condition state.
Your triggers and conditions are saved as Foundry world settings. To back them up or share them:
- Open the Advanced Import / Export section at the bottom of the GM Hub.
- Click Export to copy the JSON to your clipboard.
- Click Import to load JSON from the textarea.
- Foundry VTT v13 and v14
- Any game system
- No dependencies
- GitHub: https://github.com/lisasdungeon/ld-triggerz
- Patreon: https://patreon.com/LisasDungeon
- Discord: mystrysslysa_97536
Lisa's Dungeon Proprietary License. All rights reserved.
This package contains no generative AI content. All user-facing prepared content written text, visual media, audio media, software code, and marketing materials was created by a human author without the use of generative AI tools.
This package does not invoke AI generation at runtime and does not ship AI-generated assets or models.
See GENERATIVE_AI_CONTENT_DECLARATION.md for the full declaration.
npm install
npm run check
npm run syntax– syntax checks all JavaScript.npm run validate– validates the manifest, templates, styles, and localization.npm test– runs the test suite with Node's built-in test runner.npm run test:coverage– runs the test suite with coverage gates (requires Node 20+).
To build a release zip:
./scripts/build-release.sh
The zip is written to ../../zips/ld-triggerz-<version>.zip.
To regenerate PDF collateral after editing the script content:
python3 -m venv .pdf-venv
.pdf-venv/bin/pip install reportlab
.pdf-venv/bin/python scripts/generate-pdfs.py
rm -rf .pdf-venv