Skip to content

animenerdfreddurst/ptu

Repository files navigation

PTU System - Pokemon Tabletop United

(Eventually to be Pokemon Carbon)

A modernized Pokemon Tabletop TTRPG system for FoundryVTT

Contributors

Quick Start

For GMs (Just Using the System)

If you just want to use the system in your Foundry game:

  1. Install from Release:
    Install the latest release

  2. Install from Source:
    See build instructions below

For Developers

Prerequisites

  • Node.js (version 16 or higher)
  • FoundryVTT installed locally

Build from source

When you just want the latest features.

  1. Clone the repository:
    Important: You must clone this repo to somewhere other than your foundry systems folder.

    git clone https://github.com/animenerdfreddurst/ptu
    cd ptu
    
  2. Install dependencies:

    npm install
    
  3. Build the System This will build the complete system. The output will be in dist/.

    npm run build
    
  4. Add the System to Foundry VTT
    Copy the contents of dist/ into a folder named ptu and move this to your foundry install systems folder (ex. C:\Users\<UserName>\AppData\Local\FoundryVTT\Data\systems). Start foundry VTT.

Development Setup

For making changes and running a dev vite server.

  1. Clone the repository:
    Important: You must clone this repo to somewhere other than your foundry systems folder or step 3 will not work.

    git clone https://github.com/animenerdfreddurst/ptu
    cd ptu
    
  2. Install dependencies:

    npm install
    
  3. Initial setup:
    Set up the dev environment:

    npm run dev-setup
    

    This builds the system in dist/ and creates a symlink from dist Foundry VTT systems folder.

  4. Start development server:

    npm run dev
    

    This starts the vite dev server at localhost:300001.

  5. Start Foundry VTT
    Access the vite dev server by going to localhost:30001 (instead of localhost:30000 for direct access to foundry). This url will direct all calls to the ptu system to the vite dev server, otherwise they will be passed to foundry.

Notes
  • The dev setup utilizes vite to allow for a basic level of hot-reloading during development. CSS changes occur immediately, changes to any js files typically require a dev server restart (r followed by enter in the console running the dev server) and a page refresh, template changes (*.hbs) just require a page refresh. Changes to packs require a full restart of foundry and a page reload. Ideally this will be improved in future.
  • Use npm run build if you just want to build the system and use it
  • DO NOT edit any files in dist/. Any edits you make here will be overwritten. To make changes edit the respective files in src/ or public/.

Available NPM Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build production version to dist/
npm run build-watch Build in watch mode (rebuilds on changes)
npm run preview Preview production build
npm run link-system Create symlink to Foundry systems folder
npm run dev-setup Build and link system (one-time setup)

Project Structure

  • Any edits to files in src/ will be hot-reloaded by vite
  • Any edits to files in public/ require a rebuild (or use of npm run build-watch)
├── src/                        # Source files (main development area)
│   ├── main.js                 # Main entry point
│   ├── css/                    # Stylesheets
│   └── module/                 # Core system modules
│       ├── actor/             # Actor classes and sheets
│       ├── item/              # Item classes and sheets
│       ├── combat/            # Combat system
│       ├── data/              # Static data (species, moves, etc.)
│       ├── forms/             # Dialog forms and UI
│       ├── utils/             # Utility functions
│       └── api/               # API and components
├── public/                     # Static assets
│   ├── assets/                # Images, sounds, fonts
│   │   ├── images/           # System artwork
│   │   ├── sounds/           # Audio files
│   │   └── fonts/            # Custom fonts
│   ├── data/                  # JSON data files
│   ├── lang/                  # Localization files
│   ├── packs/                 # Compendium databases
│   └── templates/             # Handlebars templates
├── dist/                      # Built system (auto-generated)
├── scripts/                   # Build scripts
└── docs/                      # Documentation

Making Changes

  • Actor/Character sheets: Edit files in src/module/actor/
  • Items and equipment: Edit files in src/module/item/
  • Combat mechanics: Edit files in src/module/combat/
  • UI and forms: Edit files in src/module/forms/
  • Styling: Edit .less files in src/css/
  • Templates: Edit .hbs files in public/templates/
  • Static data: Edit JSON files in public/data/

Development Workflow

  1. Make changes to files in src/
  2. Vite will automatically rebuild and reload in browser
  3. Test changes in your local Foundry instance
  4. Commit changes when ready

Building for Release

  1. Build production version:

    npm run build
    
  1. The dist/ folder contains the complete system ready for distribution

Features

Features may or may not include:

  • SwSh Inspired Character Sheets
  • Combat Support with automated calculations
  • Drag & Drop support for all item types
  • Custom species and typing editors
  • Automated stat calculation
  • Movement tracking and initiative automation
  • Sound effects and Pokemon cries
  • Single-language support

Current System Features

  • Combat Automation: Initiative tracking, map movement, automated temp HP, to-hit & damage rolls
  • Character Management: Automated stat calculation based on species base stats
  • Content Creation: Custom species editor and custom typing editor
  • Item Support: Full drag & drop for Abilities, Capabilities, Dex Entries, Edges, Features, Moves & Poké Edges
  • Audio: Pokemon cries and battle sound effects
  • Localization: Multi-language support

Compatibility

  • Foundry VTT: v10 (minimum) - v10.312 (verified)
  • Node.js: v16+ for development

Original Project Information

This section contains information from the original forked repository:

foundry-shield Forks Stargazers Issues All Release Downloads

PTR System (Original)

The Pokemon Tabletop Reunited system for FoundryVTT is a continuiation of the Pokemon Tabletop United system, with balance changes, and new content, created with FoundryVTT in mind.

For any questions, feel free to open an issue or message me on Discord: AsheEon#0380. You can also join our Discord Server for any questions & feedback: https://discord.gg/ZTFfKYDxZf

Original Installation

Release Build

If you would like to use the latest stable build, just import the following manifest into foundry: https://github.com/dylanpiera/Foundry-Pokemon-Tabletop-United-System/releases/latest/download/system.json

Beta Build

If you would like to have the latest features, or would like to help find us any bugs in the system, you can also try out Beta version by instead using the following manifest: https://github.com/dylanpiera/Foundry-Pokemon-Tabletop-United-System/raw/development/system.json

Images

Player Character Sheet character sheet image

Pokemon Sheet pokemon sheet image

Custom Species Editor (V1, UI WIP) custom species editor image

Drag & Drop Support Example drag & drop support

Links & Recommendations

Special Thanks

Copyright

Pokémon © 2002-2023 Pokémon. © 1995-2023 Nintendo/Creatures Inc./GAME FREAK inc. TM, ® and Pokémon character names are trademarks of Nintendo. No copyright or trademark infringement is intended in using Pokémon content for the PTU for FoundryVTT System.

foundry-shield Forks Stargazers Issues All Release Downloads

PTR System

The Pokemon Tabletop Reunited system for FoundryVTT is a continuiation of the Pokemon Tabletop United system, with balance changes, and new content, created with FoundryVTT in mind.

For any questions, feel free to open an issue or message me on Discord: AsheEon#0380. You can also join our Discord Server for any questions & feedback: https://discord.gg/ZTFfKYDxZf

How to Install

Release Build

If you would like to use the latest stable build, just import the following manifest into foundry: https://github.com/dylanpiera/Foundry-Pokemon-Tabletop-United-System/releases/latest/download/system.json

Beta Build

If you would like to have the latest features, or would like to help find us any bugs in the system, you can also try out Beta version by instead using the following manifest: https://github.com/dylanpiera/Foundry-Pokemon-Tabletop-United-System/raw/development/system.json

Current Features

  • SwSh Inspired Character Sheets
  • Combat Support
  • Including: Initative Tracker, Map Movement Rules, Automated Temp HP, Automated To-Hit & Damage Rolls
  • Automated stat calculation based on species base stats
  • Custom species editor
  • Drag & Drop support for Abilities, Capabilities, Dex Entries, Edges, Features, Moves & Poké Edges and much more...

Images

Player Character Sheet character sheet image Pokemon Sheet pokemon sheet image Custom Species Editor (V1, UI WIP) custom species editor image Drag & Drop Support Example drag & drop support

Links & Recommendations

Special Thanks

Copyright

Pokémon © 2002-2023 Pokémon. © 1995-2023 Nintendo/Creatures Inc./GAME FREAK inc. TM, ® and Pokémon character names are trademarks of Nintendo. No copyright or trademark infringement is intended in using Pokémon content for the PTU for FoundryVTT System.

About

PTU code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •