// ─── Upgrade Effect System ────────────────────────────────────────────────────────
// This module handles applying skill upgrade effects to game stats
// Note: Skill evolution paths have been removed. Upgrade effects now return
// base/default values with no skill-dependent modifications.

import type { ActiveUpgradeEffect, ComputedEffects } from './upgrade-effects.types';

// ─── Upgrade Definition Cache ───────────────────────────

// No-op: skill evolution paths have been removed
function _buildUpgradeCache(): void {
  // No-op: no upgrade definitions to cache
}

// ─── Helper Functions ──────────────────────────────

/**
 * Get all selected upgrades with their full effect definitions.
 * Since skills are removed, always returns empty array.
 */
export function getActiveUpgrades(): ActiveUpgradeEffect[] {
  return [];
}

/**
 * Compute all active effects from selected upgrades.
 * Since skills are removed, returns base values with no upgrades applied.
 */
export function computeEffects(): ComputedEffects {
  return {
    maxManaMultiplier: 1,
    maxManaBonus: 0,
    regenMultiplier: 1,
    regenBonus: 0,
    clickManaMultiplier: 1,
    clickManaBonus: 0,
    meditationEfficiency: 1,
    spellCostMultiplier: 1,
    conversionEfficiency: 1,
    baseDamageMultiplier: 1,
    baseDamageBonus: 0,
    attackSpeedMultiplier: 1,
    critChanceBonus: 0,
    critDamageMultiplier: 1.5,
    elementalDamageMultiplier: 1,
    studySpeedMultiplier: 1,
    studyCostMultiplier: 1,
    progressRetention: 0,
    instantStudyChance: 0,
    freeStudyChance: 0,
    elementCapMultiplier: 1,
    elementCapBonus: 0,
    perElementCapBonus: {},
    perElementRegenBonus: {},
    conversionCostMultiplier: 1,
    doubleCraftChance: 0,
    permanentRegenBonus: 0,
    specials: new Set<string>(),
    activeUpgrades: [],
    skillLevelMultiplier: 1,
    enchantmentPowerMultiplier: 1,
  };
}
