D20Plugin

v3.0.2·Updated 2026-08-09

Implements a highly configurable D20 automation ruleset

About this mod Author’s original text

D20 Plugin

This unofficial TaleSpire plugin implements a highly customizable D20 ruleset automation including:

  • Skill checks
  • Opposed skill checks
  • Attacks
  • Damage
  • Healing

Using a distributed system where players only need character sheets for Instigators (PCs taking the action) as long as someone else (such as the GM) has character sheets for the enemies. This means the GM can easily add monster sheets to the game without having to send the sheets to all the players.

Addition features include:

  • Common sheet for multiple instances of a monster (e.g. Goblin1, Goblin2 and so on can all use a single sheet)
  • Multiple Instigator actions (for GM)
  • Multiple Targets actions (for PC)
  • Rolling with advantage or disadvantage

This plugin, like all others, is free but if you want to donate, use:

Install

Use R2ModMan or similar installer to install this plugin.

Note: Shortcut key can be configured in the R2ModMan config for the plugin.

Configuration

Two sample character sheets are provided for reference: Mink and Goblin.

You need a character sheet for each mini, that will use the plugin, in the game. PC sheets should be placed on the PC devices while NPC and monster sheets can be anywhere (typically GMs device). The character sheet files need to be named:

`org.lordashes.plugins.5e.character.#.json`

Where `#` is the mini name (without any trailing integer numbers). For example, "Goblin" not "Goblin01".

The message scripts used to narrate what is happening are contained in:

`org.lordashes.plugins.5e.scripts.json`

Each scenario has multiple messages, one for the gm, one for the instigator (person performing the action), possibly one for the target (for opposed actions), and one for others (all players not gm, instigator or target). Each of these messages can use a number of different place holders to fill in information to make the final messages. Available place holders are:

`instigatorName: Name of the instigator (e.g. Mink`)

`targetName: Name of the target for opposed actions (e.g. Goblin`)

`name: Name of action (e.g. Stealth`)

`formula: The roll or value without any dice rolled or place holders replaced (e.g. 1D20+[WIS]+[PB]`)

`roll: The roll or value with its place holders replaced but dice not rolled (e.g. 1D20+3+2`).

`dice: The roll or value with its place holders replaced and dice rolled (e.g. 17+3+2`).

`total: The total of the roll or value (e.g. 22`).

`opposedName: Name of the opposing action (e.g. Perception`). If more than one was possible this is the chosen one.

`opposedFormula`: The opposed roll or value with its place holders replaced but dice not rolled. This is not a typo. Unlike the original action, the opposing formula starts with its place holders already replaced so opposedFormula and opposedRoll show the same thing.

`opposedRoll`: The opposed roll or value with its place holders replaced but dice not rolled.

`opposedDice`: The opposed roll or value with its place holders replaced and dice rolled.

`opposedTotal`: The total of the opposed roll or value.

`damageType: Type of damage (e.g. Slashing`).

`damageFormula`: The roll or value damage formula without any dice rolled or place holders replaced.

`damageRoll`: The damage roll or value with its place holders replaced but dice not rolled.

`damageDice`: The damage roll or value with its place holders replaced and dice rolled.

`damageTotal`: The total of the damage roll or value before vunerability, resistance and immunity adjustment.

`damageAdjusted`: The total of the damage roll or value after vunerability, resistance and immunity adjustment.

`damageAdjustor: Reason for adjustment. Regular (no adjustment), Immunity, Resistance, or Vulnerability`.

`targetOldHP`: Target's old HP.

`targetHP`: Target's new HP.

`targetMaxHP`: Target's max HP.

`targetState`: Target state based on % of life: Unhurt, Scratched, Wounded, Bloodied, Critical, Dying.

The plugin has a few confi

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

bbepisTaleSpire-BepInExPackbrcoding-SetInjectionFlagPluginLordAshes-AssetDataPluginLordAshes-DeepMenusPluginLordAshes-FileAccessPluginLordAshes-LoggingPluginLordAshes-ProjectilePluginHolloFox_TS-RadialUIPlugin

File & checksum

Filename
D20Plugin-3.0.2.zip
File size
486.7 KiB