UNPKG

pokemon-pocket-mcp-server

Version:

MCP server for querying Pokemon Pocket TCG cards with DuckDB

48 lines (47 loc) 2.42 kB
/** * Pokemon TCG Pocket Game Rules Constants * * This file contains core game rules and constants for Pokemon TCG Pocket. * Use these for validation and game logic throughout the codebase. */ export declare const GAME_RULES: { readonly DECK_SIZE: 20; readonly MAX_COPIES_PER_CARD: 2; readonly MIN_BASIC_POKEMON: 5; readonly RECOMMENDED_MIN_BASIC: 6; readonly MAX_BENCH_SLOTS: 3; readonly POINTS_TO_WIN: 3; readonly STARTING_HAND_SIZE: 5; readonly MAX_ENERGY_TYPES: 3; readonly RECOMMENDED_ENERGY_TYPES: 2; readonly ENERGY_PER_TURN: 1; readonly RECOMMENDED_POKEMON_MIN: 12; readonly RECOMMENDED_POKEMON_MAX: 15; readonly RECOMMENDED_TRAINERS_MIN: 5; readonly RECOMMENDED_TRAINERS_MAX: 8; readonly REGULAR_POKEMON_POINTS: 1; readonly EX_POKEMON_POINTS: 2; }; export declare const GAME_CONTEXT = "\nPokemon TCG Pocket uses a unique format:\n- 20-card decks with Energy Zone (auto-generates 1 Energy/turn, NOT from deck)\n- 3-point win condition (ex Pokemon = 2 pts, regular = 1 pt)\n- Max 3 bench slots (not 5 like standard TCG)\n- Turn 1 restrictions: no draw, no energy, no attack\n- 1-2 Energy types recommended (3+ types = inconsistent due to random generation)\n- Max 2 copies per card\n"; export declare const IMPORTANT_CARDS: { readonly STAPLES: readonly ["Professor's Research", "Poké Ball", "Sabrina", "Giovanni"]; readonly STAGE_2_ACCELERATION: "Rare Candy"; readonly EVOLUTION_SEARCH: "Pokémon Communication"; readonly HP_BOOST: "Giant Cape"; readonly GRASS_HP_BOOST: "Leaf Cape"; readonly CHIP_DAMAGE: "Rocky Helmet"; }; export declare const ENERGY_CONSISTENCY: { readonly ONE_TYPE: "Always generates that type (100% consistent)"; readonly TWO_TYPES: "Random 50/50 split (good flexibility)"; readonly THREE_TYPES: "Random 33/33/33 split (too inconsistent - avoid)"; }; export declare const COMMON_MISTAKES: readonly ["Running 3 Energy types (too inconsistent)", "Not including enough Basics (5-6 minimum)", "Over-benching (leaves vulnerable to Sabrina/Cyrus)", "Forgetting +10 damage from Giovanni for KO math", "Not including Rare Candy in Stage 2 decks"]; /** * Check if a deck meets basic Pokemon TCG Pocket rules */ export declare function validateDeckRules(deckSize: number, energyTypeCount: number, basicCount: number): { valid: boolean; errors: string[]; warnings: string[]; };