// ─── 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: 'guardian-invocation', name: 'Guardian Invocation', attunement: DisciplinesAttunementType.INVOKER, manaType: 'raw', baseCost: 20, description: 'Channel the power of pacted guardians in combat. Faster invocation charge, cheaper invocation spells, longer-lasting charge.', statBonus: { stat: 'invocationChargeRateBonus', baseValue: 0.10, label: 'Invocation Charge Rate' }, difficultyFactor: 250, scalingFactor: 120, drainBase: 8, requires: ['signed_pact'], perks: [ { id: 'invocation-efficiency', type: 'once', threshold: 100, value: 0, description: 'Invocation spells cost 20% less mana (cost multiplier 0.1 → 0.08)', bonus: { stat: 'invocationCostReduction', amount: 0.02 }, }, { id: 'invocation-speed', type: 'infinite', threshold: 200, value: 150, description: 'Every 150 XP: +0.05 invocation charge rate bonus', bonus: { stat: 'invocationChargeRateBonus', amount: 0.05 }, }, { id: 'invocation-sustain', type: 'capped', threshold: 400, value: 200, maxTier: 3, description: 'Every 200 XP: drain rate multiplier −0.1 (minimum 0.7)', bonus: { stat: 'drainRateMultiplier', amount: -0.1 }, }, { id: 'invocation-mastery', type: 'capped', threshold: 500, value: 250, maxTier: 3, description: 'Every 250 XP: cost multiplier −0.01 (minimum 0.05)', bonus: { stat: 'invocationCostReduction', amount: 0.01 }, }, ], }, { 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 }, }, ], }, ];