| Latest version | 5.4.0 |
|---|---|
| Minimum Core | 12.330 |
| Compatible Core | 12.331 |
| Last updated | 1 week ago |
| Created | 2 years ago |
| Authors | |
| Languages |
English Polish Português (Brasil) |
| Systems |
Dnd5e |
| Project source | Project URL |
| Read-me | Readme URL |
A Foundry VTT module to customise the D&D 5e system.

Configure game mechanics and automation of core rules, optional variants and house rules.
For help and advice on gameplay settings, either click the info buttons in the Gameplay window or open the Gameplay journal within the Custom D&D 5e compendium.


Apply Instant Death when a character suffers damage equal to or greater than their remaining HP plus their max HP.


Apply the Unconscious status effect when a PC is reduced to zero HP.


Apply Massive Damage as per the variant rule (DMG pg. 273).




Award Inspiration when a set value is rolled for an ability check, attack roll, saving throw and/or skill check.





Rotate the token when it gains the Prone status effect.

When taking a Long Rest, optionally requires spending Camp Supplies.

Add custom activity types for features, items and spells, and a targeting prompt that ensures targets are selected before activities proceed.

The Macro activity executes a macro when the activity is used. Macros can be configured to run automatically or via a chat card button, and receive context including the actor, token, item, targets and usage configuration.
The Move activity enables forced movement of targeted tokens on the map. Valid movement positions are highlighted based on direction (push, pull, or any) and distance constraints. Supports gridded and gridless scenes, respects wall collision, and handles multiple targets in sequence.
The Swap activity swaps the caster's token position with a target token. Supports range validation, target type restrictions (ally, enemy, willing), size limits, and an optional designated actor. Can be configured as a teleport (instant) or animated movement.
When enabled, the Targeting Prompt intercepts activity usage and prompts the user to select targets on the map before the activity proceeds. A cursor indicator shows the current and required target count. The prompt activates for standard activities with individual target data, as well as Move and Swap activities.
Add counters to character sheets with five types: checkbox, fraction, number, pips and success/failure.

Set triggers to automatically change counter values based on HP thresholds, combat events, or item attack rolls. Triggers can execute macros with custom operators. Counter actions include increasing or decreasing values, destroying items, and reducing item quantities. Counters can also be added to items and group actor sheets, and are compatible with Tidy5e character sheets.

Create event-driven workflows that execute actions in response to triggers. Workflows can be configured at the world level for actors and items, or per individual actor/item.


Triggers define when a workflow fires. Multiple triggers can be added to a single workflow using OR logic. Roll-based triggers support optional value conditions with operators (equal, less than, greater than, not equal) and result conditions (success, failure, success/failure within margin, success/failure by amount). Each trigger can also have per-trigger conditions — additional state checks (e.g. Custom JavaScript formula, Half HP, a specific condition applied, a counter value) that must all be satisfied on the actor for the trigger to fire.
Roll Triggers: Attack Roll, Attack Rolled, Ability Check Rolled, Saving Throw Rolled, Skill Check Rolled, Tool Check Rolled, Initiative Rolled, Concentration Check Rolled, Death Save Rolled, Damage Rolled.
Hit Point Triggers: Drops to Zero HP, Reaches Half HP, Loses HP, Gains HP.
Combat Triggers: Start of Combat, End of Combat, Start of Turn, End of Turn, Zero HP at Combat End.
Rest Triggers: Short Rest, Long Rest.
Condition Triggers: Condition Applied, Condition Removed, Condition Level Changed.
Effect Triggers: Effect Enabled, Effect Disabled.
Item Triggers: Item Equipped, Item Unequipped, Item Used.
Counter Triggers: Counter Value Changed, Counter Value Increased, Counter Value Decreased, Counter Checked, Counter Unchecked, Success Value, Failure Value.
Actions define what happens when a workflow is triggered. Multiple actions can be added to a single workflow.
Counter Actions: Increase Counter, Decrease Counter, Set Counter, Check Counter, Uncheck Counter, Toggle Counter.
Condition Actions: Apply Condition, Remove Condition (supports "All" to remove every condition), Toggle Condition.
General Actions: Macro, Update Actor, Distribute Award, Play Sound, Request Roll, Roll Table, Update Token.
Roll Actions: Add Roll Bonus.
Workflow Actions: Enable Workflow, Disable Workflow, Toggle Workflow.
The Request Roll action prompts a roll with a configurable DC and supports On Success and On Failure sub-actions, allowing different actions to execute based on the roll result.
The Macro action receives an argument object exposing the following properties to the macro script:
actor: The actor the workflow is running on.item: The item the workflow is running on.event: Name of the event that fired the workflow (e.g. counterValueIncrease, zeroHp, attackRolled).userId: ID of the user who triggered the event.data: The raw hook data payload from the underlying Foundry hook.dieTotal: Die total for roll-based events.rolls: Array of Roll instances for roll-based events.counterKey: Counter key for counter events.counterName: Label of the counter for counter events.counterValue: New value of the counter for counter events.Attack Roll (pre-roll) macros additionally receive sourceActor, sourceToken, targetActor, targetToken, rollConfig, and config for inspecting and modifying the roll before it is made.
Item workflows use a subset of triggers (Attack Roll, Item Equipped, Item Unequipped, and Counter triggers) and include additional item-specific actions: Destroy Item, Equip Item, Unequip Item, Update Item and Reduce Quantity.
Workflows can also be configured on individual actors via the Configure Workflows button on the Effects tab of the actor sheet, or on individual items. Per-actor and per-item workflows follow the same trigger and action system as world workflows.
Workflows can be copied and pasted making it easy to duplicate or share workflows.
Customise D&D 5e system configurations. For help and advice on modifying a configuration, either click the info button in the header of the configuration window or open the Configurations journal within the Custom D&D 5e compendium.

Customise encumbrance labels, icons, thresholds and weight modifiers. Includes an optional speed multiplier for encumbrance-based movement reduction.

Group of UI and canvas settings for tokens, canvas overlays, and chat. Includes Token Border Shape, Radial Status Effects, Token HUD Improvements, Token Distance, Apply Elevation to Selected Tokens, Toggle Status Effects on Selected Tokens, Ruler Travel Time, Show Pressed Keys, and Chat Commands.
For help and advice on interface settings, either click the info buttons in the Configure Interface window or open the Interface journal within the Custom D&D 5e compendium.
Customize the base die and roll mode for Ability Checks, Attack Rolls, Concentration Saving Throws, Initiative Rolls, Saving Throws, Skills Checks and Tool Checks.

Customise the actor sheet with client and world settings for characters and NPCs.
Automatically open actor sheets as detached windows or when a token is selected, with options to limit the behaviour to chosen actor types and add toggle buttons to the scene controls.
Set the minimum role required to toggle Identified/Unidentified on the item.
Configure how players exchange items in play. Give items directly to other characters, or drop them onto the canvas to be picked up.
Give an item to another character by dragging it onto their token or using the item's context menu, with optional range limits and acceptance prompts.
Drop items onto the canvas as tokens that other players can pick up, with configurable drop and take ranges, droppable item types, and token appearance.

Select 'Custom D&D 5e Character Sheet' from the Sheet Configuration dialog (cog on the sheet's header) to enable a smaller form character sheet.

Enable additional chat commands to roll an attack, roll damage or request checks and saving throws. For a list of available commands, view the Chat Commands journal within the Custom D&D 5e compendium.

Display an icon near the cursor when the Skip Dialog, Advantage or Disadvantage keys are pressed.

When measuring distances with the ruler tool, travel time estimates are displayed for three D&D 5e travel paces: fast, normal and slow. Times are shown in days, hours and minutes, calculated based on standard 8-hour travel days.
When the ruler is started from a hovered token, the travel time is based on the token's current movement action (Walk, Fly, Swim, etc.) and speed. When started from empty space, the standard 30 feet per round speed is used.

Screen animations can be triggered via the module API or socket events. Available animations include Color Split, Fire, Light Rays, Splatter, and Wave. Animations can also be triggered automatically for events such as Massive Damage and Inspiration.

Display status effects in a circle around the token.
When enabled, allows clicking a radial status effect icon to disable it on a left-click or delete on Shift-click. Conditions are always deleted.

Conditions configured with multiple levels show a clickable level badge on the token, letting you raise or lower the level directly from the Token HUD.
Choose the shape of the token's border when it is selected or hovered.

Display the distance to a token when hovering over it. Hold the configurable keybinding (Alt by default) to show distances to all visible tokens at once.
The source token is the user's currently controlled token, or the first token of their assigned character.
A minimum role can be configured to control which users see distance labels.

Improves the Token HUD with hover-to-open palettes, button styling, and fixed HUD size across zoom levels.
Apply elevation to all selected tokens.

Toggle status effects on all selected tokens.

Custom D&D 5e will defer to the Variant Encumbrance + Midi module for encumbrance configuration when it is active.
For developers, LibWrapper is used to patch:
CONFIG.Actor.documentClass.prototype._prepareMovementAttribution: Patched when 'Show Jump Distance' is enabled. Appends Long Jump and High Jump distances to the movement tooltip for characters.CONFIG.Canvas.rulerClass.prototype._getWaypointLabelContext: Patched when 'Ruler Travel Time' is enabled. Adds travel time estimates to ruler waypoint labels.CONFIG.Dice.D20Die.prototype.applyAdvantage: Patched when at least one roll is configured. Replaces roll formula to allow different numbers and faces of dice.CONFIG.Dice.D20Roll.fromConfig: Patched when at least one roll is configured. Replaces the d20 die formula with the custom die formula.CONFIG.Dice.D20Roll.prototype.configureModifiers: Patched when at least one roll is configured. Adds the custom die formula to the d20 options to make it available to validD20Roll.CONFIG.Dice.D20Roll.prototype.validD20Roll: Patched when at least one roll is configured. Additionally returns true when a custom die exists.dnd5e.applications.actor.BaseActorSheet.prototype._prepareSenses: Patched when senses configuration is enabled. Applies custom senses modifications.dnd5e.applications.actor.BaseActorSheet.prototype._prepareSkillsTools: Patched when skills configuration is enabled. Filters out skills not present in CONFIG.DND5E.skills to prevent errors when skills are injected by the system.dnd5e.dataModels.actor.AttributesFields.prepareEncumbrance: Patched when the D&D 5e's 'Encumbrance Tracking' setting is set to 'Variant'. Avoids recalculating encumbrance as well as issues with encumbrance active effects applied during item updates/deletions.dnd5e.dataModels.actor.AttributesFields.prepareMovement: Patched when encumbrance speed reduction mode is set to 'Multiplier'. Applies multiplier-based speed reductions to movement values.foundry.canvas.placeables.Token.prototype._refreshBorder: Patched when Custom D&D 5e's 'Token Border Shape' setting is enabled.foundry.canvas.placeables.Token.prototype._refreshEffects: Patched when Custom D&D 5e's 'Radial Status Effects' setting is enabled.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: custom-dnd5e 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.
I am trying to get the current value of a Number field in script. The example in the compendium don’t appear to cover this. I can’t believe that this is not possible.