export const GAME_CONFIG = { player: { initialStats: { maxHp: 20, hp: 20, attack: 5, defense: 2, level: 1, exp: 0, expToNextLevel: 10, statPoints: 0, skillPoints: 0, strength: 10, dexterity: 10, intelligence: 10, // Offensive critChance: 5, critMultiplier: 150, accuracy: 90, lifesteal: 0, // Defensive evasion: 5, blockChance: 0, // Utility luck: 0, passiveNodes: [] as string[] }, speed: 100, viewRadius: 8 }, map: { width: 60, height: 40, minRooms: 8, maxRooms: 13, roomMinWidth: 5, roomMaxWidth: 12, roomMinHeight: 4, roomMaxHeight: 10 }, enemies: { rat: { baseHp: 8, baseAttack: 3, baseDefense: 0, minSpeed: 80, maxSpeed: 110, expValue: 5 }, bat: { baseHp: 6, baseAttack: 4, baseDefense: 0, minSpeed: 110, maxSpeed: 140, expValue: 8 } }, enemyScaling: { baseCount: 3, baseCountPerFloor: 3, hpPerFloor: 5, attackPerTwoFloors: 1, }, leveling: { baseExpToNextLevel: 10, expMultiplier: 1.5, hpGainPerLevel: 5, attackGainPerLevel: 1, statPointsPerLevel: 5, skillPointsPerLevel: 1 }, rendering: { tileSize: 16, cameraZoom: 2, wallColor: 0x2b2b2b, floorColor: 0x161616, exitColor: 0xffd166, playerColor: 0x66ff66, enemyColor: 0xff6666, pathPreviewColor: 0x3355ff, expOrbColor: 0x33ccff, expTextColor: 0x33ccff, levelUpColor: 0xffff00, fogAlphaFloor: 0.15, fogAlphaWall: 0.35, visibleMinAlpha: 0.35, visibleMaxAlpha: 1.0, visibleStrengthFactor: 0.65 }, terrain: { empty: 1, wall: 4, water: 63, emptyDeco: 24, wallDeco: 12, exit: 8 }, ui: { minimapPanelWidth: 340, minimapPanelHeight: 220, minimapPadding: 20, menuPanelWidth: 340, menuPanelHeight: 220 }, gameplay: { energyThreshold: 100, actionCost: 100 }, assets: { spritesheets: [ { key: "warrior", path: "assets/sprites/actors/player/warrior.png", frameConfig: { frameWidth: 12, frameHeight: 15 } }, { key: "rat", path: "assets/sprites/actors/enemies/rat.png", frameConfig: { frameWidth: 16, frameHeight: 15 } }, { key: "bat", path: "assets/sprites/actors/enemies/bat.png", frameConfig: { frameWidth: 15, frameHeight: 15 } }, { key: "tiles0", path: "assets/tilesets/dungeon.png", frameConfig: { frameWidth: 16, frameHeight: 16 } }, ], images: [ { key: "splash_bg", path: "assets/ui/splash_bg.png" } ] } } as const; export type GameConfig = typeof GAME_CONFIG;