// ─── Elemental Variant Golems ───────────────────────────────────

import type { GolemDef } from './types';
import { elemCost } from './types';

export const ELEMENTAL_GOLEMS: Record<string, GolemDef> = {
  // ─── ELEMENTAL VARIANT GOLEMS ────────────────────────────────────────
  
  // Steel Golem - Metal mana variant
  steelGolem: {
    id: 'steelGolem',
    name: 'Steel Golem',
    description: 'Forged from metal, this golem has high armor piercing.',
    baseManaType: 'metal',
    summonCost: [elemCost('metal', 8), elemCost('earth', 5)],
    maintenanceCost: [elemCost('metal', 0.6), elemCost('earth', 0.2)],
    damage: 12,
    attackSpeed: 1.2,
    hp: 60,
    armorPierce: 0.35,
    isAoe: false,
    aoeTargets: 1,
    unlockCondition: {
      type: 'mana_unlocked',
      manaType: 'metal',
    },
    tier: 2,
  },
  
  // Crystal Golem - Crystal mana variant
  crystalGolem: {
    id: 'crystalGolem',
    name: 'Crystal Golem',
    description: 'A prismatic construct that deals high damage with precision.',
    baseManaType: 'crystal',
    summonCost: [elemCost('crystal', 6), elemCost('earth', 3)],
    maintenanceCost: [elemCost('crystal', 0.4), elemCost('earth', 0.2)],
    damage: 18,
    attackSpeed: 1.0,
    hp: 40,
    armorPierce: 0.25,
    isAoe: false,
    aoeTargets: 1,
    unlockCondition: {
      type: 'mana_unlocked',
      manaType: 'crystal',
    },
    tier: 3,
  },
  
  // Sand Golem - Sand mana variant
  sandGolem: {
    id: 'sandGolem',
    name: 'Sand Golem',
    description: 'A shifting construct of sand particles. Hits multiple enemies.',
    baseManaType: 'sand',
    summonCost: [elemCost('sand', 8), elemCost('earth', 3)],
    maintenanceCost: [elemCost('sand', 0.5), elemCost('earth', 0.2)],
    damage: 6,
    attackSpeed: 2.0,
    hp: 35,
    armorPierce: 0.1,
    isAoe: true,
    aoeTargets: 2,
    unlockCondition: {
      type: 'mana_unlocked',
      manaType: 'sand',
    },
    tier: 2,
  },
};
