// ─── Elemental Enchantment Effects ─────────────────────────────────────────
// All elemental-related enchantment effects that can be applied to equipment

import type { EquipmentCategory } from '../equipment'
import type { EnchantmentEffectDef } from '../enchantment-types'

// Helper to define allowed equipment categories for each effect type
const CASTER_AND_SWORD: EquipmentCategory[] = ['caster', 'sword']

export const ELEMENTAL_EFFECTS: Record<string, EnchantmentEffectDef> = {
  // ═══════════════════════════════════════════════════════════════════════════
  // MAGIC SWORD ENCHANTMENTS - Elemental weapon effects
  // ═══════════════════════════════════════════════════════════════════════════
  
  sword_fire: {
    id: 'sword_fire',
    name: 'Fire Enchant',
    description: 'Enchant blade with fire. Burns enemies over time.',
    category: 'elemental',
    baseCapacityCost: 40,
    maxStacks: 1,
    allowedEquipmentCategories: CASTER_AND_SWORD,
    effect: { type: 'special', specialId: 'fireBlade' }
  },
  sword_frost: {
    id: 'sword_frost',
    name: 'Frost Enchant',
    description: 'Enchant blade with frost. Prevents enemy dodge.',
    category: 'elemental',
    baseCapacityCost: 40,
    maxStacks: 1,
    allowedEquipmentCategories: CASTER_AND_SWORD,
    effect: { type: 'special', specialId: 'frostBlade' }
  },
  sword_lightning: {
    id: 'sword_lightning',
    name: 'Lightning Enchant',
    description: 'Enchant blade with lightning. Pierces 30% armor.',
    category: 'elemental',
    baseCapacityCost: 50,
    maxStacks: 1,
    allowedEquipmentCategories: CASTER_AND_SWORD,
    effect: { type: 'special', specialId: 'lightningBlade' }
  },
  sword_void: {
    id: 'sword_void',
    name: 'Void Enchant',
    description: 'Enchant blade with void. +20% damage bonus.',
    category: 'elemental',
    baseCapacityCost: 60,
    maxStacks: 1,
    allowedEquipmentCategories: CASTER_AND_SWORD,
    effect: { type: 'special', specialId: 'voidBlade' }
  },
};
