// /server/data/index.js

// Импортируем отдельные части игровых данных
const { elenaBaseStats, balardBaseStats, almagestBaseStats } = require('./characterStats');
const { elenaAbilities, balardAbilities, almagestAbilities } = require('./characterAbilities');
const { tauntSystem } = require('./taunts'); // Предполагается, что taunts.js экспортирует объект tauntSystem

// Собираем все данные в один объект gameData,
// который будет использоваться в других частях серверной логики (например, gameLogic, GameInstance).
// Эта структура аналогична той, что была в вашем исходном большом файле data.js.
const gameData = {
    // Базовые статы персонажей по их ключам для удобного доступа
    // (хотя dataUtils.js теперь предоставляет функции для этого,
    // можно оставить и такую структуру для обратной совместимости или прямого доступа, если нужно)
    baseStats: {
        elena: elenaBaseStats,
        balard: balardBaseStats,
        almagest: almagestBaseStats
    },

    // Способности персонажей по их ключам
    abilities: {
        elena: elenaAbilities,
        balard: balardAbilities,
        almagest: almagestAbilities
    },

    // Система насмешек
    tauntSystem: tauntSystem,


    // Если вы хотите сохранить оригинальную структуру вашего предыдущего data.js,
    // где были прямые ссылки на playerBaseStats, opponentBaseStats и т.д.,
    // вы можете добавить их сюда. Однако, с новой структурой dataUtils.js
    // это становится менее необходимым, так как dataUtils предоставляет
    // функции для получения данных по characterKey.
    // Для примера, если бы playerBaseStats всегда был Елена, а opponentBaseStats всегда Балард:
    // playerBaseStats: elenaBaseStats,      // Обычно Елена
    // opponentBaseStats: balardBaseStats,    // Обычно Балард (AI)
    // almagestBaseStats: almagestBaseStats,  // Для Альмагест (PvP)
    // playerAbilities: elenaAbilities,
    // opponentAbilities: balardAbilities, // Способности Баларда (AI)
    // almagestAbilities: almagestAbilities,

    // Рекомендуемый подход: экспортировать данные, сгруппированные по персонажам,
    // а для получения данных конкретного "игрока" или "оппонента" в игре
    // использовать dataUtils.getCharacterData(characterKey) в GameInstance/GameManager.
    // Это более гибко, так как в PvP Елена может быть оппонентом, а Альмагест - игроком.
};

// Экспортируем собранный объект gameData
module.exports = gameData;

/*
Примечание:
В GameInstance, GameManager, gameLogic и других модулях, где раньше был:
const gameData = require('./data'); // или другой путь к старому data.js

Теперь будет:
const gameData = require('../data'); // или '../data/index.js' - Node.js поймет и так
или
const dataUtils = require('../data/dataUtils');

И если вы используете gameData напрямую:
const elenaStats = gameData.baseStats.elena;
const balardAbils = gameData.abilities.balard;

Если используете dataUtils:
const elenaFullData = dataUtils.getCharacterData('elena');
const balardAbils = dataUtils.getCharacterAbilities('balard');

Выбор зависит от того, насколько гранулированный доступ вам нужен в каждом конкретном месте.
Объект gameData, экспортируемый этим файлом, может быть полезен для gameLogic,
где функции могут ожидать всю структуру данных сразу.
*/