// ─── Invoker Discipline Files ─────────────────────────────────────────────────
// Attunement-focused disciplines for Invoker role
// The Invoker forms pacts with guardians and channels their elemental boons.

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

export const invokerDisciplines: DisciplineDefinition[] = [
  {
    id: 'pact-attunement',
    name: 'Pact Attunement',
    attunement: DisciplinesAttunementType.INVOKER,
    manaType: 'raw',
    baseCost: 12,
    description:
      'Deepen your bond with guardian spirits. Reduces pact signing time and amplifies pact power.',
    statBonus: { stat: 'pactAffinityBonus', baseValue: 0.05, label: 'Pact Affinity' },
    difficultyFactor: 150,
    scalingFactor: 80,
    drainBase: 4,
    requires: ['signed_pact'],
    perks: [
      {
        id: 'pact-affinity-scaling',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Unlock pact affinity scaling — pact bonuses grow with XP.',
      },
      {
        id: 'pact-affinity-infinite',
        type: 'infinite',
        threshold: 200,
        value: 100,
        description: 'Every 100 XP: +5% pact affinity',
        bonus: { stat: 'pactAffinityBonus', amount: 0.05 },
      },
      {
        id: 'pact-power-boost',
        type: 'capped',
        threshold: 500,
        value: 200,
        maxTier: 5,
        description: 'Every 200 XP: +3% guardian pact boon strength (max +15%)',
        bonus: { stat: 'guardianBoonMultiplier', amount: 0.03 },
      },
    ],
  },
  {
    id: 'guardians-boon',
    name: "Guardian's Boon",
    attunement: DisciplinesAttunementType.INVOKER,
    manaType: 'raw',
    baseCost: 18,
    description:
      'Channel the unique blessings of every guardian you have bonded with. Amplifies all guardian unique perks.',
    statBonus: { stat: 'guardianBoonMultiplier', baseValue: 0.10, label: 'Guardian Boon Power' },
    difficultyFactor: 200,
    scalingFactor: 100,
    drainBase: 6,
    requires: ['signed_pact'],
    perks: [
      {
        id: 'boon-1',
        type: 'once',
        threshold: 100,
        value: 0,
        description: 'Active guardian boons gain +10% effectiveness',
        bonus: { stat: 'guardianBoonMultiplier', amount: 0.10 },
      },
      {
        id: 'boon-2',
        type: 'capped',
        threshold: 200,
        value: 350,
        maxTier: 5,
        description: 'Every 350 XP: +5% guardian boon effectiveness (max +25%)',
        bonus: { stat: 'guardianBoonMultiplier', amount: 0.05 },
      },
    ],
  },
];
