// ─── Enchanter Spell Disciplines ───────────────────────────────────────────────
// Disciplines for unlocking spell enchantment effects on casters

import { DisciplinesAttunementType } from '../../types/disciplines';
import type { DisciplineDefinition } from '../../types/disciplines';

export const enchanterSpellDisciplines: DisciplineDefinition[] = [
  {
    id: 'study-basic-spell-enchantments',
    name: 'Study Basic Spell Enchantments',
    attunement: DisciplinesAttunementType.ENCHANTER,
    manaType: 'transference',
    baseCost: 18,
    description: 'Learn to enchant casters with basic spell effects.',
    statBonus: { stat: 'enchantPower', baseValue: 4, label: 'Enchantment Power' },
    difficultyFactor: 160,
    scalingFactor: 100,
    drainBase: 3,
    perks: [
      {
        id: 'spell-mana-bolt',
        type: 'once',
        threshold: 50,
        value: 0,
        description: 'Unlock Mana Bolt spell enchant',
        unlocksEffects: ['spell_manaBolt'],
      },
      {
        id: 'spell-fireball',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Fireball spell enchant',
        unlocksEffects: ['spell_fireball'],
      },
      {
        id: 'spell-water-jet',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Water Jet spell enchant',
        unlocksEffects: ['spell_waterJet'],
      },
      {
        id: 'spell-gust',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Gust spell enchant',
        unlocksEffects: ['spell_gust'],
      },
      {
        id: 'spell-stone-bullet',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Stone Bullet spell enchant',
        unlocksEffects: ['spell_stoneBullet'],
      },
      {
        id: 'spell-light-lance',
        type: 'once',
        threshold: 150,
        value: 0,
        description: 'Unlock Light Lance spell enchant',
        unlocksEffects: ['spell_lightLance'],
      },
      {
        id: 'spell-shadow-bolt',
        type: 'once',
        threshold: 150,
        value: 0,
        description: 'Unlock Shadow Bolt spell enchant',
        unlocksEffects: ['spell_shadowBolt'],
      },
      {
        id: 'spell-drain',
        type: 'once',
        threshold: 150,
        value: 0,
        description: 'Unlock Drain spell enchant',
        unlocksEffects: ['spell_drain'],
      },
    ],
  },
  {
    id: 'study-intermediate-spell-enchantments',
    name: 'Study Intermediate Spell Enchantments',
    attunement: DisciplinesAttunementType.ENCHANTER,
    manaType: 'transference',
    baseCost: 25,
    description: 'Learn to enchant casters with intermediate and compound spell effects.',
    statBonus: { stat: 'enchantPower', baseValue: 6, label: 'Enchantment Power' },
    difficultyFactor: 250,
    scalingFactor: 150,
    drainBase: 5,
    requires: ['study-basic-spell-enchantments'],
    perks: [
      {
        id: 'spell-inferno',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Inferno spell enchant',
        unlocksEffects: ['spell_inferno'],
      },
      {
        id: 'spell-tidal-wave',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Tidal Wave spell enchant',
        unlocksEffects: ['spell_tidalWave'],
      },
      {
        id: 'spell-earthquake',
        type: 'once',
        threshold: 120,
        value: 0,
        description: 'Unlock Earthquake spell enchant',
        unlocksEffects: ['spell_earthquake'],
      },
      {
        id: 'spell-chain-lightning',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Chain Lightning spell enchant',
        unlocksEffects: ['spell_chainLightning'],
      },
      {
        id: 'spell-metal-shard',
        type: 'once',
        threshold: 80,
        value: 0,
        description: 'Unlock Metal Shard spell enchant',
        unlocksEffects: ['spell_metalShard'],
      },
      {
        id: 'spell-sand-blast',
        type: 'once',
        threshold: 80,
        value: 0,
        description: 'Unlock Sand Blast spell enchant',
        unlocksEffects: ['spell_sandBlast'],
      },
    ],
  },
  {
    id: 'study-advanced-spell-enchantments',
    name: 'Study Advanced Spell Enchantments',
    attunement: DisciplinesAttunementType.ENCHANTER,
    manaType: 'transference',
    baseCost: 35,
    description: 'Learn to enchant casters with master and exotic spell effects.',
    statBonus: { stat: 'enchantPower', baseValue: 10, label: 'Enchantment Power' },
    difficultyFactor: 350,
    scalingFactor: 200,
    drainBase: 7,
    requires: ['study-intermediate-spell-enchantments'],
    perks: [
      {
        id: 'spell-pyroclasm',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Pyroclasm spell enchant',
        unlocksEffects: ['spell_pyroclasm'],
      },
      {
        id: 'spell-tsunami',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Tsunami spell enchant',
        unlocksEffects: ['spell_tsunami'],
      },
      {
        id: 'spell-meteor-strike',
        type: 'once',
        threshold: 120,
        value: 0,
        description: 'Unlock Meteor Strike spell enchant',
        unlocksEffects: ['spell_meteorStrike'],
      },
      {
        id: 'spell-heaven-light',
        type: 'once',
        threshold: 100,
        value: 0,
        description: "Unlock Heaven's Light spell enchant",
        unlocksEffects: ['spell_heavenLight'],
      },
      {
        id: 'spell-oblivion',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Oblivion spell enchant',
        unlocksEffects: ['spell_oblivion'],
      },
      {
        id: 'spell-furnace-blast',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Furnace Blast spell enchant',
        unlocksEffects: ['spell_furnaceBlast'],
      },
      {
        id: 'spell-dune-collapse',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock Dune Collapse spell enchant',
        unlocksEffects: ['spell_duneCollapse'],
      },
      {
        id: 'spell-stellar-nova',
        type: 'once',
        threshold: 200,
        value: 0,
        description: 'Unlock Stellar Nova spell enchant',
        unlocksEffects: ['spell_stellarNova'],
      },
      {
        id: 'spell-void-collapse',
        type: 'once',
        threshold: 180,
        value: 0,
        description: 'Unlock Void Collapse spell enchant',
        unlocksEffects: ['spell_voidCollapse'],
      },
      {
        id: 'spell-crystal-shatter',
        type: 'once',
        threshold: 160,
        value: 0,
        description: 'Unlock Crystal Shatter spell enchant',
        unlocksEffects: ['spell_crystalShatter'],
      },
    ],
  },
];
