Skip to content

feat(condition-tracker): initial release of Condition Tracker API script#2213

Open
steverobertsuk wants to merge 7 commits intoRoll20:masterfrom
steverobertsuk:sr/condition-tracker-v1
Open

feat(condition-tracker): initial release of Condition Tracker API script#2213
steverobertsuk wants to merge 7 commits intoRoll20:masterfrom
steverobertsuk:sr/condition-tracker-v1

Conversation

@steverobertsuk
Copy link
Copy Markdown
Contributor

@steverobertsuk steverobertsuk commented Apr 28, 2026

Introduces Condition Tracker, a Roll20 API script for managing token conditions and custom effects within the Turn Tracker.

The script offers:

  • Guided GM workflows, including interactive wizard and multi-target application, accessible via chat commands and auto-installed macros.
  • Rich effect modelling for standard D&D conditions and custom types like Spell, Ability, Advantage, Disadvantage, and Other, with duplicate prevention and per-target tracking.
  • Deep Turn Tracker integration with stable custom rows, source-based grouping for advantage/disadvantage, and various duration types (until removed, end-of-turn, numeric rounds).
  • Comprehensive lifecycle management, featuring expiry-based removal, zero-HP cleanup prompts, proactive token-deletion pruning, and manual reconciliation for orphaned entries.
  • A configurable marker system for applying and safely removing status markers from tokens.
  • Internationalization support for chat messages, wizard prompts, and help content across 24 locales.
  • A robust, modular architecture designed for performance and extensibility.

Introduces Condition Tracker, a Roll20 API script for managing token conditions and custom effects within the Turn Tracker.

The script offers:
- Guided GM workflows, including interactive wizard and multi-target application, accessible via chat commands and auto-installed macros.
- Rich effect modelling for standard D&D conditions and custom types like Spell, Ability, Advantage, Disadvantage, and Other, with duplicate prevention and per-target tracking.
- Deep Turn Tracker integration with stable custom rows, source-based grouping for advantage/disadvantage, and various duration types (until removed, end-of-turn, numeric rounds).
- Comprehensive lifecycle management, featuring expiry-based removal, zero-HP cleanup prompts, proactive token-deletion pruning, and manual reconciliation for orphaned entries.
- A configurable marker system for applying and safely removing status markers from tokens.
- Internationalization support for chat messages, wizard prompts, and help content across `en-US`, `fr`, `de`, `es`, `pt-BR`, and `ko` locales.
- A robust, modular architecture designed for performance and extensibility.

Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
- Add Roll20 account language localization for Condition Tracker, including per-locale translation modules, locale metadata, aliases for en/zh/pt, and RTL support for Hebrew.
- Update chat help, generated handout content, documentation, testing notes, and generated Roll20 bundles so the 1.0.0 release includes the expanded translation support cleanly.

Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
…rder detection and CTA to fix tracked entries

- Translated various UI strings and messages in Turkish for the Condition Tracker.
- Added missing translations for Ukrainian, including quick actions and command references.
- Updated Traditional Chinese translations to include new features and commands.
- Enhanced user experience by ensuring all relevant strings are localized for better accessibility.
- Implemented new condition reordering functionality in the state management and turn order logic.

Signed-off-by: Steve Roberts <steve@shadowcomputers.co.uk>
- Added self-referential phrases in all translations.
- Allow the target to be source and enhance clarity in user prompts and descriptions for improved messaging.
- Prettied the `reorderAllConditionRows` function in `turnOrder.js`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant