Skip to main content
Glama
equipment.ts6.54 kB
import type { Equipment } from '../types.js'; export const STARTER_EQUIPMENT: Equipment[] = [ // コモン武器 { id: 'rusty_sword', name: '錆びた剣', type: 'weapon', rarity: 'common', stats: { attack: 5, defense: 0, speed: 0, luck: 0 }, levelRange: [1, 15] }, { id: 'wooden_staff', name: '木の杖', type: 'weapon', rarity: 'common', stats: { attack: 4, defense: 0, speed: 1, luck: 0 }, levelRange: [1, 15] }, { id: 'iron_dagger', name: '鉄の短剣', type: 'weapon', rarity: 'common', stats: { attack: 3, defense: 0, speed: 3, luck: 1 }, levelRange: [1, 15] }, // コモン盾 { id: 'wooden_shield', name: '木の盾', type: 'shield', rarity: 'common', stats: { attack: 0, defense: 5, speed: -1, luck: 0 }, levelRange: [1, 15] }, // コモン防具 { id: 'leather_armor', name: '革の鎧', type: 'armor', rarity: 'common', stats: { attack: 0, defense: 3, speed: 0, luck: 0 }, levelRange: [1, 15] }, // コモンアクセサリ { id: 'copper_ring', name: '銅の指輪', type: 'accessory', rarity: 'common', stats: { attack: 1, defense: 1, speed: 0, luck: 0 }, levelRange: [1, 15] } ]; export const EQUIPMENT_POOL: Equipment[] = [ ...STARTER_EQUIPMENT, // レア武器 (Lv 10-30) { id: 'steel_sword', name: '鋼の剣', type: 'weapon', rarity: 'rare', stats: { attack: 12, defense: 0, speed: 0, luck: 0 }, levelRange: [10, 30] }, { id: 'magic_wand', name: '魔法の杖', type: 'weapon', rarity: 'rare', stats: { attack: 10, defense: 0, speed: 2, luck: 3 }, levelRange: [10, 30] }, // レア盾 (Lv 10-30) { id: 'iron_shield', name: '鉄の盾', type: 'shield', rarity: 'rare', stats: { attack: 0, defense: 10, speed: -1, luck: 0 }, levelRange: [10, 30] }, // レア防具 (Lv 10-30) { id: 'chainmail', name: '鎖帷子', type: 'armor', rarity: 'rare', stats: { attack: 0, defense: 8, speed: -2, luck: 0 }, levelRange: [10, 30] }, // レアアクセサリ (Lv 10-30) { id: 'silver_ring', name: '銀の指輪', type: 'accessory', rarity: 'rare', stats: { attack: 2, defense: 2, speed: 1, luck: 2 }, levelRange: [10, 30] }, { id: 'lucky_charm', name: '幸運のお守り', type: 'accessory', rarity: 'rare', stats: { attack: 0, defense: 0, speed: 0, luck: 10 }, levelRange: [10, 30] }, // エピック武器 (Lv 25-60) { id: 'flame_sword', name: '炎の剣', type: 'weapon', rarity: 'epic', stats: { attack: 25, defense: 0, speed: 3, luck: 0 }, levelRange: [25, 60] }, // エピック盾 (Lv 25-60) { id: 'tower_shield', name: 'タワーシールド', type: 'shield', rarity: 'epic', stats: { attack: 0, defense: 20, speed: -3, luck: 0 }, levelRange: [25, 60] }, // エピック防具 (Lv 25-60) { id: 'plate_armor', name: 'プレートアーマー', type: 'armor', rarity: 'epic', stats: { attack: 0, defense: 18, speed: -3, luck: 0 }, levelRange: [25, 60] }, // エピックアクセサリ (Lv 25-60) { id: 'gold_ring', name: '金の指輪', type: 'accessory', rarity: 'epic', stats: { attack: 5, defense: 5, speed: 2, luck: 5 }, levelRange: [25, 60] }, // レジェンダリ武器 (Lv 50-100) { id: 'excalibur', name: 'エクスカリバー', type: 'weapon', rarity: 'legendary', stats: { attack: 50, defense: 5, speed: 5, luck: 10 }, levelRange: [50, 100] }, // レジェンダリ盾 (Lv 50-100) { id: 'aegis', name: 'イージスの盾', type: 'shield', rarity: 'legendary', stats: { attack: 0, defense: 40, speed: 0, luck: 10 }, levelRange: [50, 100] }, // レジェンダリ防具 (Lv 50-100) { id: 'dragon_armor', name: '竜鱗の鎧', type: 'armor', rarity: 'legendary', stats: { attack: 5, defense: 35, speed: -1, luck: 5 }, levelRange: [50, 100] }, // レジェンダリアクセサリ (Lv 50-100) { id: 'philosophers_stone', name: '賢者の石', type: 'accessory', rarity: 'legendary', stats: { attack: 10, defense: 10, speed: 5, luck: 20 }, levelRange: [50, 100] } ]; // ボス・特定敵専用装備 export const BOSS_EXCLUSIVE_EQUIPMENT: Equipment[] = [ // ゴブリンキング専用(初級ボス Lv 5) { id: 'goblin_crown', name: 'ゴブリンの王冠', type: 'accessory', rarity: 'rare', stats: { attack: 3, defense: 3, speed: 2, luck: 5 }, levelRange: [5, 20] }, // ダークエルフクイーン専用(中級ボス Lv 20) { id: 'dark_elf_bow', name: '闇エルフの弓', type: 'weapon', rarity: 'epic', stats: { attack: 20, defense: 0, speed: 8, luck: 3 }, levelRange: [20, 40] }, // ストーンゴーレム専用(上級ボス Lv 40) { id: 'golem_core', name: 'ゴーレムの核', type: 'accessory', rarity: 'epic', stats: { attack: 8, defense: 15, speed: -2, luck: 0 }, levelRange: [40, 70] }, // 魔王専用(最終ボス Lv 80) { id: 'demon_lord_sword', name: '魔王の剣', type: 'weapon', rarity: 'legendary', stats: { attack: 45, defense: 5, speed: 8, luck: 8 }, levelRange: [80, 100] }, { id: 'demon_lord_armor', name: '魔王の鎧', type: 'armor', rarity: 'legendary', stats: { attack: 3, defense: 30, speed: 0, luck: 7 }, levelRange: [80, 100] } ]; export function getEquipmentById(id: string): Equipment | undefined { return EQUIPMENT_POOL.find(eq => eq.id === id); } export function getEquipmentByRarity(rarity: string): Equipment[] { return EQUIPMENT_POOL.filter(eq => eq.rarity === rarity); } /** * ダンジョンレベルに応じた装備ドロップテーブルを生成 * @param dungeonLevel ダンジョンのレベル (1-100) * @param margin レベル範囲の余裕 (デフォルト: 10) * @returns ドロップ可能な装備の配列 */ export function getEquipmentByLevel(dungeonLevel: number, margin: number = 10): Equipment[] { return EQUIPMENT_POOL.filter(eq => { const [minLevel, maxLevel] = eq.levelRange; // ダンジョンレベル ± margin の範囲内の装備を含める return dungeonLevel >= minLevel - margin && dungeonLevel <= maxLevel + margin; }); }

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