66 lines
1.8 KiB
JavaScript
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
|
|
}; |