// /server/data/dataUtils.js // Импортируем непосредственно определенные статы и способности const { elenaBaseStats, balardBaseStats, almagestBaseStats } = require('./characterStats'); const { elenaAbilities, balardAbilities, almagestAbilities } = require('./characterAbilities'); // const { tauntSystem } = require('./taunts'); // Если нужны утилиты для насмешек /** * Получает полный набор данных для персонажа по его ключу. * Включает базовые статы и список способностей. * @param {string} characterKey - Ключ персонажа ('elena', 'balard', 'almagest'). * @returns {{baseStats: object, abilities: Array}|null} Объект с данными или null, если ключ неизвестен. */ function getCharacterData(characterKey) { if (!characterKey) { console.warn("[DataUtils] getCharacterData_called_with_null_or_undefined_key"); return null; } switch (characterKey.toLowerCase()) { // Приводим к нижнему регистру для надежности case 'elena': return { baseStats: elenaBaseStats, abilities: elenaAbilities }; case 'balard': return { baseStats: balardBaseStats, abilities: balardAbilities }; case 'almagest': return { baseStats: almagestBaseStats, abilities: almagestAbilities }; default: console.error(`[DataUtils] getCharacterData: Unknown character key "${characterKey}"`); return null; } } /** * Получает только базовые статы для персонажа по его ключу. * @param {string} characterKey - Ключ персонажа. * @returns {object|null} Объект базовых статов или null. */ function getCharacterBaseStats(characterKey) { const charData = getCharacterData(characterKey); return charData ? charData.baseStats : null; } /** * Получает только список способностей для персонажа по его ключу. * @param {string} characterKey - Ключ персонажа. * @returns {Array|null} Массив способностей или null. */ function getCharacterAbilities(characterKey) { const charData = getCharacterData(characterKey); return charData ? charData.abilities : null; } /** * Получает имя персонажа по его ключу. * @param {string} characterKey - Ключ персонажа. * @returns {string|null} Имя персонажа или null. */ function getCharacterName(characterKey) { const baseStats = getCharacterBaseStats(characterKey); return baseStats ? baseStats.name : null; } // Можно добавить другие утилитарные функции по мере необходимости, // например, для поиска конкретной способности по ID у персонажа, // или для получения данных для инициализации gameState и т.д. module.exports = { getCharacterData, getCharacterBaseStats, getCharacterAbilities, getCharacterName // ...другие экспортируемые утилиты };