Skip to content

Add GameAssist: Modular Roll20 API Automation Framework (Beta)#2062

Merged
Alicekb merged 7 commits intoRoll20:masterfrom
Mord-Eagle:master
May 29, 2025
Merged

Add GameAssist: Modular Roll20 API Automation Framework (Beta)#2062
Alicekb merged 7 commits intoRoll20:masterfrom
Mord-Eagle:master

Conversation

@Mord-Eagle
Copy link
Copy Markdown
Contributor

This pull request adds GameAssist, a modular API loader and automation suite for Roll20. GameAssist is designed for D&D 5E (2014 Character Sheet) but is extensible for other systems. This is the initial beta release.

Features:

  • Modular loader: Enable or disable automation modules in real time.
  • Core modules: CritFumble, NPCManager, ConcentrationTracker, NPCHPRoller (most require TokenMod).
  • Priority-based task queue and watchdog for robust automation.
  • In-chat configuration management (!ga-config), metrics dashboard, and error logging.
  • State isolation per module and built-in compatibility checks.

Installation & Requirements:

  • Requires a Roll20 Pro subscription for API sandbox access.
  • Strongly recommended: Install TokenMod API for full marker automation.
  • See the included README.md or GitHub repo for setup and usage instructions.

script.json and code are fully compliant with the repo’s schema and licensing rules (MIT).

Known issues and limitations:

  • Some modules may conflict with other scripts that modify NPC HP or token markers.
  • Beta status: Please report bugs or feature requests via GitHub Issues or the Roll20 forums.

Thank you for reviewing this submission!

# GameAssist v0.1.1.0 – Initial Beta Release
Release Date: 2025-05-29

## Overview
GameAssist is a modular automation framework for Roll20, designed to streamline session management through robust API scripting, state isolation, and in-chat configuration. This initial beta provides essential modules for handling critical game automation while establishing a stable foundation for future expansion.

## Features
- Modular API Loader: Dynamically registers, enables, or disables automation modules at runtime.
- Core Modules:
  - CritFumble: Automatic critical fumble handling with rollable tables.
  - NPCManager: Death tracking and marker automation for NPCs (requires TokenMod).
  - ConcentrationTracker: Prompts and rolls for spell concentration checks (requires TokenMod).
  - NPCHPRoller: Automated hit point rolling for NPC tokens (requires TokenMod).
- Task Queue and Watchdog: Prevents automation stalls and safely manages asynchronous tasks.
- Centralized Handler Tracking: Unified management of event and command listeners.
- State Auditing: Per-module state isolation with automatic validation and migration safeguards.
- Compatibility Audits: Identifies potential script conflicts and dependencies.
- In-Chat Configuration: Modify module settings and view status directly from the Roll20 chat.

## Improvements
- Per-module state containers for safer updates and easier migration.
- On-the-fly module enable/disable via !ga-enable and !ga-disable.
- In-session metrics dashboard and error logs for diagnostics.
- Compatibility checks for major third-party scripts (TokenMod, StatusInfo, etc).

## Known Issues and Limitations
- Beta Software: Bugs, incomplete features, or script conflicts may occur. Please test before live play.
- Compatibility: Some module features may overlap or conflict with other custom scripts.
- Localization: No multi-language or regional support yet.
- Documentation: See README for usage details; in-depth module documentation is in progress.

## Installation
1. Copy `GameAssist.js` into your Roll20 API Scripts panel.
2. Ensure TokenMod is installed and enabled for full functionality.
3. Reload the API sandbox after saving.
4. Configure modules using the `!ga-config list` chat command or refer to the README.

## Requirements
- Roll20 Pro subscription (API access required).
- TokenMod API (strongly recommended for full marker automation).
- Other modules may require StatusInfo or similar scripts.

## Support and Feedback
For questions, bug reports, or feature requests, please visit the [GitHub Issues page](https://github.com/Mord-Eagle/GameAssist/issues).
Added MIT License Language
@Alicekb Alicekb merged commit b2fa311 into Roll20:master May 29, 2025
1 check passed
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.

2 participants