bc/server/game/logic/index.js
2025-05-18 10:50:38 +03:00

66 lines
1.8 KiB
JavaScript

// /server/game/logic/index.js
// Импортируем функции из всех специализированных логических модулей
const {
performAttack,
applyAbilityEffect,
checkAbilityValidity
} = require('./combatLogic');
const {
processPlayerAbilityCooldowns,
processDisabledAbilities,
setAbilityCooldown,
processBalardSpecialCooldowns
} = require('./cooldownLogic');
const {
processEffects,
updateBlockingStatus,
isCharacterFullySilenced
} = require('./effectsLogic');
const {
decideAiAction
} = require('./aiLogic');
const {
getRandomTaunt
} = require('./tauntLogic'); // Предполагаем, что getRandomTaunt вынесен в tauntLogic.js
const {
checkGameOverInternal, // Внутренняя проверка на HP
getGameOverResult // Определяет победителя и причину для checkGameOver в GameInstance
} = require('./gameStateLogic'); // Предполагаем, что логика завершения игры вынесена
// Экспортируем все импортированные функции, чтобы они были доступны
// через единый объект 'gameLogic' в GameInstance.js
module.exports = {
// Combat Logic
performAttack,
applyAbilityEffect,
checkAbilityValidity,
// Cooldown Logic
processPlayerAbilityCooldowns,
processDisabledAbilities,
setAbilityCooldown,
processBalardSpecialCooldowns,
// Effects Logic
processEffects,
updateBlockingStatus,
isCharacterFullySilenced,
// AI Logic
decideAiAction,
// Taunt Logic
getRandomTaunt,
// Game State Logic (например, для условий завершения)
checkGameOverInternal,
getGameOverResult
};