Vagabond RPG FoundryVTT - Vagabond RPG system for Foundry VTT
Go to file
Cal Corum 8afcf8c07b Implement class feature automation system
- Add _onCreate/_preDelete lifecycle methods to VagabondItem for automatic
  feature application and cleanup when classes are added/removed
- Add updateActor hook to apply new features when character level increases
- Implement applyClassFeatures() with idempotency to prevent duplicate effects
- Add _applyClassProgression() for mana/castingMax from class progression
- Add _applyTrainedSkills() to mark class skills as trained
- Fix getCastingMaxAtLevel() to sum values instead of taking maximum
- Add comprehensive test suite (10 tests) covering unit and integration tests

Effects are tagged with vagabond flags for easy filtering and management.
Methods calculate progression values directly for robustness with embedded items.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 21:19:26 -06:00
.claude/commands Add resource management method tests 2025-12-13 20:44:00 -06:00
.husky Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
lang Implement spell casting system with rulebook-accurate mana costs 2025-12-13 20:22:20 -06:00
module Implement class feature automation system 2025-12-13 21:19:26 -06:00
styles/scss Implement attack and save roll systems with difficulty fix 2025-12-13 19:52:28 -06:00
templates Implement spell casting system with rulebook-accurate mana costs 2025-12-13 20:22:20 -06:00
test_results Implement skill check system with roll dialogs and debug tools 2025-12-13 17:31:15 -06:00
.env.example Initial project setup for Vagabond RPG Foundry VTT system 2025-12-12 14:32:15 -06:00
.eslintrc.json Implement skill check system with roll dialogs and debug tools 2025-12-13 17:31:15 -06:00
.gitignore Initial project setup for Vagabond RPG Foundry VTT system 2025-12-12 14:32:15 -06:00
.prettierignore Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
.prettierrc Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
CLAUDE.md Implement spell casting system with rulebook-accurate mana costs 2025-12-13 20:22:20 -06:00
DEVELOPMENT.md Implement skill check system with roll dialogs and debug tools 2025-12-13 17:31:15 -06:00
docker-compose.yml Initial project setup for Vagabond RPG Foundry VTT system 2025-12-12 14:32:15 -06:00
LICENSE Initial project setup for Vagabond RPG Foundry VTT system 2025-12-12 14:32:15 -06:00
package-lock.json Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
package.json Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
PROJECT_ROADMAP.json Implement class feature automation system 2025-12-13 21:19:26 -06:00
README.md Add development tooling: ESLint, Prettier, Husky, and Quench tests 2025-12-12 14:47:14 -06:00
system.json Add Phase 2 core system logic: document classes, dice rolling, and fixes 2025-12-13 10:21:48 -06:00

Vagabond RPG - Foundry VTT System

A complete Foundry VTT v13 system implementation for Vagabond RPG - Pulp Fantasy Roleplaying.

Features

  • Full character sheet matching the official Hero Record design
  • Dynamic spell casting system with delivery/duration/damage customization
  • Automated skill checks with favor/hinder modifiers
  • Variable crit thresholds per skill (modified by class features and perks)
  • Complete compendiums: 18 classes, 55+ spells, 90+ perks, ancestries, equipment, bestiary
  • NPC/Monster stat blocks with morale system
  • Parchment-themed UI with accessibility (color-blind friendly)

Installation

From Foundry

  1. Open Foundry VTT Setup
  2. Navigate to Game Systems
  3. Click "Install System"
  4. Search for "Vagabond" or paste the manifest URL:
    https://github.com/calcorum/vagabond-rpg-foundryvtt/releases/latest/download/system.json
    

Manual Installation

  1. Download the latest release from GitHub
  2. Extract to Data/systems/vagabond/
  3. Restart Foundry VTT

Development Setup

Prerequisites

  • Node.js 18+
  • Docker & Docker Compose (for local Foundry instance)

Quick Start

# Clone the repository
git clone https://github.com/calcorum/vagabond-rpg-foundryvtt.git
cd vagabond-rpg-foundryvtt

# Install dependencies
npm install

# Start SCSS watcher
npm run watch

# Start local Foundry instance
docker compose up -d

# Access Foundry at http://localhost:30000

Project Structure

vagabond-rpg-foundryvtt/
├── module/                 # JavaScript modules
│   ├── vagabond.mjs       # System entry point
│   ├── documents/         # Actor/Item document classes
│   ├── sheets/            # Sheet classes
│   ├── helpers/           # Utility functions
│   └── dice/              # Roll handling
├── templates/             # Handlebars templates
│   ├── actor/             # Actor sheet templates
│   ├── item/              # Item sheet templates
│   ├── chat/              # Chat message templates
│   └── dialog/            # Roll dialog templates
├── styles/                # SCSS/CSS
│   └── scss/              # SCSS source files
├── lang/                  # Localization files
├── packs/                 # Compendium data
├── assets/                # Images and icons
├── system.json            # System manifest
└── docker-compose.yml     # Local dev environment

Building Styles

# One-time build
npm run build

# Watch for changes
npm run watch

Creating a Release

npm run release

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE for details.

Vagabond RPG is a product of its respective copyright holders. This system implementation is a fan project and is not affiliated with or endorsed by the original game creators.

Acknowledgments

  • Vagabond RPG by [Publisher] for the amazing game system
  • Foundry VTT community for documentation and examples
  • All contributors to this project