// ─── New Exotic Spell Effects ──────────────────────────────────
// Soul, Time, Plasma spells - Tier 4 exotic elements

import type { EnchantmentEffectDef } from './types';
import { ALL_CASTER } from './types';

export const SOUL_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
  spell_soulPierce: {
    id: 'spell_soulPierce',
    name: 'Soul Pierce',
    description: 'Grants the ability to cast Soul Pierce (350 soul damage, defense bypass)',
    category: 'spell',
    baseCapacityCost: 500,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'soulPierce' }
  },
  spell_spiritBlast: {
    id: 'spell_spiritBlast',
    name: 'Spirit Blast',
    description: 'Grants the ability to cast Spirit Blast (550 soul damage, full defense bypass)',
    category: 'spell',
    baseCapacityCost: 650,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'spiritBlast' }
  },
};

export const TIME_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
  spell_temporalWarp: {
    id: 'spell_temporalWarp',
    name: 'Temporal Warp',
    description: 'Grants the ability to cast Temporal Warp (280 time damage, slow+dodge reduction)',
    category: 'spell',
    baseCapacityCost: 520,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'temporalWarp' }
  },
  spell_chronoStasis: {
    id: 'spell_chronoStasis',
    name: 'Chrono Stasis',
    description: 'Grants the ability to cast Chrono Stasis (500 time damage, mage lock)',
    category: 'spell',
    baseCapacityCost: 680,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'chronoStasis' }
  },
};

export const PLASMA_SPELL_EFFECTS: Record<string, EnchantmentEffectDef> = {
  spell_plasmaBolt: {
    id: 'spell_plasmaBolt',
    name: 'Plasma Bolt',
    description: 'Grants the ability to cast Plasma Bolt (320 plasma damage, raw damage)',
    category: 'spell',
    baseCapacityCost: 510,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'plasmaBolt' }
  },
  spell_plasmaStorm: {
    id: 'spell_plasmaStorm',
    name: 'Plasma Storm',
    description: 'Grants the ability to cast Plasma Storm (600 plasma damage, AoE raw damage)',
    category: 'spell',
    baseCapacityCost: 660,
    maxStacks: 1,
    allowedEquipmentCategories: ALL_CASTER,
    effect: { type: 'spell', spellId: 'plasmaStorm' }
  },
};
