// ─── AOE Spells ──────────────────────────────────────────────────────────────
// Hit multiple enemies, less damage per target
import type { SpellDef } from '../../types';
import { elemCost } from '../elements';

export const AOE_SPELLS: Record<string, SpellDef> = {
  // Tier 1 AOE
  fireballAoe: {
    name: "Fireball (AOE)",
    elem: "fire",
    dmg: 8,
    cost: elemCost("fire", 3),
    tier: 1,
    castSpeed: 2,
    unlock: 150,
    studyTime: 3,
    desc: "An explosive fireball that hits 3 enemies.",
    isAoe: true,
    aoeTargets: 3,
    effects: [{ type: 'aoe', value: 3 }]
  },
  frostNova: {
    name: "Frost Nova",
    elem: "water",
    dmg: 6,
    cost: elemCost("water", 3),
    tier: 1,
    castSpeed: 2,
    unlock: 140,
    studyTime: 3,
    desc: "A burst of frost hitting 4 enemies. May freeze.",
    isAoe: true,
    aoeTargets: 4,
    effects: [{ type: 'freeze', value: 0.15, chance: 0.2 }]
  },
  
  // Tier 2 AOE
  meteorShower: {
    name: "Meteor Shower",
    elem: "fire",
    dmg: 20,
    cost: elemCost("fire", 8),
    tier: 2,
    castSpeed: 1,
    unlock: 1200,
    studyTime: 10,
    desc: "Rain meteors on 5 enemies.",
    isAoe: true,
    aoeTargets: 5
  },
  blizzard: {
    name: "Blizzard",
    elem: "water",
    dmg: 18,
    cost: elemCost("water", 7),
    tier: 2,
    castSpeed: 1.2,
    unlock: 1000,
    studyTime: 9,
    desc: "A freezing blizzard hitting 4 enemies.",
    isAoe: true,
    aoeTargets: 4,
    effects: [{ type: 'freeze', value: 0.1, chance: 0.15 }]
  },
  earthquakeAoe: {
    name: "Earth Tremor",
    elem: "earth",
    dmg: 25,
    cost: elemCost("earth", 8),
    tier: 2,
    castSpeed: 0.8,
    unlock: 1400,
    studyTime: 10,
    desc: "Shake the ground, hitting 3 enemies with high damage.",
    isAoe: true,
    aoeTargets: 3
  },
  
  // Tier 3 AOE
  apocalypse: {
    name: "Apocalypse",
    elem: "fire",
    dmg: 80,
    cost: elemCost("fire", 20),
    tier: 3,
    castSpeed: 0.5,
    unlock: 15000,
    studyTime: 30,
    desc: "End times. Hits ALL enemies with devastating fire.",
    isAoe: true,
    aoeTargets: 10
  },
};
