Skip to main content
Glama
types.ts2.98 kB
export type EquipmentType = 'weapon' | 'shield' | 'armor' | 'accessory'; export type Rarity = 'common' | 'rare' | 'epic' | 'legendary'; export type ItemType = 'herb' | 'charm'; export interface Stats { attack: number; defense: number; speed: number; luck: number; hitpoint?: number; // モンスター用HP } export interface Equipment { id: string; name: string; type: EquipmentType; rarity: Rarity; stats: Stats; levelRange: [number, number]; // [最小レベル, 最大レベル] 例: [1, 10] } export interface Item { id: string; name: string; type: ItemType; description: string; effect: ItemEffect; levelRange?: [number, number]; // アイテムのレベル範囲(オプション) } export interface ItemEffect { // 薬草用: HP回復 healPercentage?: number; activateAtHpPercentage?: number; // おまもり用: マイナスイベント回避 blockNegativeEvent?: boolean; // 復活用: HP0で復活 revive?: boolean; singleUse?: boolean; } export interface EquipmentSlots { weapon: Equipment | null; shield: Equipment | null; armor: Equipment | null; accessory: Equipment | null; item1: Item | null; item2: Item | null; [key: string]: Equipment | Item | null; } export interface DungeonProgress { dungeonId: string; startTime: number; estimatedEndTime: number; battleLog: BattleLogEntry[]; events: EventLogEntry[]; } export interface BattleLogEntry { floor: number; enemyName: string; victory: boolean; damageDealt: number; damageTaken: number; criticalHits: number; dodges: number; goldEarned: number; itemsDropped: Equipment[]; herbUsed?: boolean; } export type EventType = | 'trap_fall' | 'poison' | 'treasure' | 'healing_fountain' | 'trap_damage' | 'shortcut' | 'ambush' | 'item_drop'; export interface EventLogEntry { floor: number; type: EventType; description: string; effect: { goldChange?: number; itemsGained?: Equipment[]; holdingItemsGained?: Item[]; damageDealt?: number; floorsSkipped?: number; }; charmBlocked?: boolean; } export interface PlayerData { name: string; equipment: EquipmentSlots; inventory: Equipment[]; itemInventory: Item[]; gold: number; hp: number; // 現在のHP maxHp: number; // 最大HP currentDungeon?: DungeonProgress; state: 'idle' | 'exploring'; // プレイヤーの状態 } export interface Enemy { name: string; stats: Stats; goldDrop: [number, number]; // [min, max] equipmentDropRate: number; // 0-1 exclusiveDrops?: Equipment[]; // この敵専用のドロップ装備 } export interface Dungeon { id: string; name: string; level: number; // ダンジョンレベル(1-100) floors: number; baseTime: number; // minutes enemies: Enemy[]; boss: Enemy; rewardPool: Equipment[]; itemRewardPool: Item[]; // 持ち物ドロップテーブル } export interface GameData { player: PlayerData; version: string; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bellsanct/mcp-dungeon-game'

If you have feedback or need assistance with the MCP directory API, please join our Discord server