// ─── Equipment Types ─────────────────────────────────────────────────

import type { EquipmentSlot } from '../../types/equipmentSlot';
export type { EquipmentSlot };
export type EquipmentCategory = 'caster' | 'catalyst' | 'sword' | 'head' | 'body' | 'hands' | 'feet' | 'accessory';

// All equipment slots in order
export const EQUIPMENT_SLOTS: EquipmentSlot[] = ['mainHand', 'offHand', 'head', 'body', 'hands', 'feet', 'accessory1', 'accessory2'];

// Human-readable names for equipment slots
export const SLOT_NAMES: Record<EquipmentSlot, string> = {
  mainHand: 'Main Hand',
  offHand: 'Off Hand',
  head: 'Head',
  body: 'Body',
  hands: 'Hands',
  feet: 'Feet',
  accessory1: 'Accessory 1',
  accessory2: 'Accessory 2',
};

export interface EquipmentType {
  id: string;
  name: string;
  category: EquipmentCategory;
  slot: EquipmentSlot;
  baseCapacity: number;
  description: string;
  twoHanded?: boolean;         // If true, weapon occupies both main hand and offhand slots
  stats?: {
    baseDamage?: number;     // Base damage per hit (swords)
    attackSpeed?: number;    // Attacks per in-game hour (swords)
  };
}
