Phase 3: Split constants.ts into domain-specific files
This commit is contained in:
@@ -0,0 +1,826 @@
|
||||
// ─── Spells ────────────────────────────────────────────────────────────────────
|
||||
import type { SpellDef, SpellCost } from '../types';
|
||||
import { rawCost, elemCost } from './elements';
|
||||
|
||||
export const SPELLS_DEF: Record<string, SpellDef> = {
|
||||
// Tier 0 - Basic Raw Mana Spells (fast, costs raw mana)
|
||||
manaBolt: {
|
||||
name: "Mana Bolt",
|
||||
elem: "raw",
|
||||
dmg: 5,
|
||||
cost: rawCost(3),
|
||||
tier: 0,
|
||||
castSpeed: 3,
|
||||
unlock: 0,
|
||||
studyTime: 0,
|
||||
desc: "A weak bolt of pure mana. Costs raw mana instead of elemental."
|
||||
},
|
||||
manaStrike: {
|
||||
name: "Mana Strike",
|
||||
elem: "raw",
|
||||
dmg: 8,
|
||||
cost: rawCost(5),
|
||||
tier: 0,
|
||||
castSpeed: 2.5,
|
||||
unlock: 50,
|
||||
studyTime: 1,
|
||||
desc: "A concentrated strike of raw mana. Slightly stronger than Mana Bolt."
|
||||
},
|
||||
|
||||
// Tier 1 - Basic Elemental Spells (2-4 hours study)
|
||||
fireball: {
|
||||
name: "Fireball",
|
||||
elem: "fire",
|
||||
dmg: 15,
|
||||
cost: elemCost("fire", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 100,
|
||||
studyTime: 2,
|
||||
desc: "Hurl a ball of fire at your enemy."
|
||||
},
|
||||
emberShot: {
|
||||
name: "Ember Shot",
|
||||
elem: "fire",
|
||||
dmg: 10,
|
||||
cost: elemCost("fire", 1),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 75,
|
||||
studyTime: 1,
|
||||
desc: "A quick shot of embers. Efficient fire damage."
|
||||
},
|
||||
waterJet: {
|
||||
name: "Water Jet",
|
||||
elem: "water",
|
||||
dmg: 12,
|
||||
cost: elemCost("water", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 100,
|
||||
studyTime: 2,
|
||||
desc: "A high-pressure jet of water."
|
||||
},
|
||||
iceShard: {
|
||||
name: "Ice Shard",
|
||||
elem: "water",
|
||||
dmg: 14,
|
||||
cost: elemCost("water", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 120,
|
||||
studyTime: 2,
|
||||
desc: "Launch a sharp shard of ice."
|
||||
},
|
||||
gust: {
|
||||
name: "Gust",
|
||||
elem: "air",
|
||||
dmg: 10,
|
||||
cost: elemCost("air", 2),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 100,
|
||||
studyTime: 2,
|
||||
desc: "A powerful gust of wind."
|
||||
},
|
||||
windSlash: {
|
||||
name: "Wind Slash",
|
||||
elem: "air",
|
||||
dmg: 12,
|
||||
cost: elemCost("air", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2.5,
|
||||
unlock: 110,
|
||||
studyTime: 2,
|
||||
desc: "A cutting blade of wind."
|
||||
},
|
||||
stoneBullet: {
|
||||
name: "Stone Bullet",
|
||||
elem: "earth",
|
||||
dmg: 16,
|
||||
cost: elemCost("earth", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 150,
|
||||
studyTime: 3,
|
||||
desc: "Launch a bullet of solid stone."
|
||||
},
|
||||
rockSpike: {
|
||||
name: "Rock Spike",
|
||||
elem: "earth",
|
||||
dmg: 18,
|
||||
cost: elemCost("earth", 3),
|
||||
tier: 1,
|
||||
castSpeed: 1.5,
|
||||
unlock: 180,
|
||||
studyTime: 3,
|
||||
desc: "Summon a spike of rock from below."
|
||||
},
|
||||
lightLance: {
|
||||
name: "Light Lance",
|
||||
elem: "light",
|
||||
dmg: 18,
|
||||
cost: elemCost("light", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 200,
|
||||
studyTime: 4,
|
||||
desc: "A piercing lance of pure light."
|
||||
},
|
||||
radiance: {
|
||||
name: "Radiance",
|
||||
elem: "light",
|
||||
dmg: 14,
|
||||
cost: elemCost("light", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2.5,
|
||||
unlock: 180,
|
||||
studyTime: 3,
|
||||
desc: "Burst of radiant energy."
|
||||
},
|
||||
shadowBolt: {
|
||||
name: "Shadow Bolt",
|
||||
elem: "dark",
|
||||
dmg: 16,
|
||||
cost: elemCost("dark", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 200,
|
||||
studyTime: 4,
|
||||
desc: "A bolt of shadowy energy."
|
||||
},
|
||||
darkPulse: {
|
||||
name: "Dark Pulse",
|
||||
elem: "dark",
|
||||
dmg: 12,
|
||||
cost: elemCost("dark", 1),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 150,
|
||||
studyTime: 2,
|
||||
desc: "A quick pulse of darkness."
|
||||
},
|
||||
drain: {
|
||||
name: "Drain",
|
||||
elem: "death",
|
||||
dmg: 10,
|
||||
cost: elemCost("death", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 150,
|
||||
studyTime: 3,
|
||||
desc: "Drain life force from your enemy.",
|
||||
},
|
||||
rotTouch: {
|
||||
name: "Rot Touch",
|
||||
elem: "death",
|
||||
dmg: 14,
|
||||
cost: elemCost("death", 2),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 170,
|
||||
studyTime: 3,
|
||||
desc: "Touch of decay and rot."
|
||||
},
|
||||
|
||||
|
||||
// Tier 2 - Advanced Spells (8-12 hours study)
|
||||
inferno: {
|
||||
name: "Inferno",
|
||||
elem: "fire",
|
||||
dmg: 60,
|
||||
cost: elemCost("fire", 8),
|
||||
tier: 2,
|
||||
castSpeed: 1,
|
||||
unlock: 1000,
|
||||
studyTime: 8,
|
||||
desc: "Engulf your enemy in flames."
|
||||
},
|
||||
flameWave: {
|
||||
name: "Flame Wave",
|
||||
elem: "fire",
|
||||
dmg: 45,
|
||||
cost: elemCost("fire", 6),
|
||||
tier: 2,
|
||||
castSpeed: 1.5,
|
||||
unlock: 800,
|
||||
studyTime: 6,
|
||||
desc: "A wave of fire sweeps across the battlefield."
|
||||
},
|
||||
tidalWave: {
|
||||
name: "Tidal Wave",
|
||||
elem: "water",
|
||||
dmg: 55,
|
||||
cost: elemCost("water", 8),
|
||||
tier: 2,
|
||||
castSpeed: 1,
|
||||
unlock: 1000,
|
||||
studyTime: 8,
|
||||
desc: "A massive wave crashes down."
|
||||
},
|
||||
iceStorm: {
|
||||
name: "Ice Storm",
|
||||
elem: "water",
|
||||
dmg: 50,
|
||||
cost: elemCost("water", 7),
|
||||
tier: 2,
|
||||
castSpeed: 1.2,
|
||||
unlock: 900,
|
||||
studyTime: 7,
|
||||
desc: "A storm of ice shards."
|
||||
},
|
||||
earthquake: {
|
||||
name: "Earthquake",
|
||||
elem: "earth",
|
||||
dmg: 70,
|
||||
cost: elemCost("earth", 10),
|
||||
tier: 2,
|
||||
castSpeed: 0.8,
|
||||
unlock: 1200,
|
||||
studyTime: 10,
|
||||
desc: "Shake the very foundation."
|
||||
},
|
||||
stoneBarrage: {
|
||||
name: "Stone Barrage",
|
||||
elem: "earth",
|
||||
dmg: 55,
|
||||
cost: elemCost("earth", 7),
|
||||
tier: 2,
|
||||
castSpeed: 1.2,
|
||||
unlock: 1000,
|
||||
studyTime: 8,
|
||||
desc: "Multiple stone projectiles."
|
||||
},
|
||||
hurricane: {
|
||||
name: "Hurricane",
|
||||
elem: "air",
|
||||
dmg: 50,
|
||||
cost: elemCost("air", 8),
|
||||
tier: 2,
|
||||
castSpeed: 1,
|
||||
unlock: 1000,
|
||||
studyTime: 8,
|
||||
desc: "A devastating hurricane."
|
||||
},
|
||||
windBlade: {
|
||||
name: "Wind Blade",
|
||||
elem: "air",
|
||||
dmg: 40,
|
||||
cost: elemCost("air", 5),
|
||||
tier: 2,
|
||||
castSpeed: 1.8,
|
||||
unlock: 700,
|
||||
studyTime: 6,
|
||||
desc: "A blade of cutting wind."
|
||||
},
|
||||
solarFlare: {
|
||||
name: "Solar Flare",
|
||||
elem: "light",
|
||||
dmg: 65,
|
||||
cost: elemCost("light", 9),
|
||||
tier: 2,
|
||||
castSpeed: 0.9,
|
||||
unlock: 1100,
|
||||
studyTime: 9,
|
||||
desc: "A blinding flare of solar energy."
|
||||
},
|
||||
divineSmite: {
|
||||
name: "Divine Smite",
|
||||
elem: "light",
|
||||
dmg: 55,
|
||||
cost: elemCost("light", 7),
|
||||
tier: 2,
|
||||
castSpeed: 1.2,
|
||||
unlock: 900,
|
||||
studyTime: 7,
|
||||
desc: "A smite of divine power."
|
||||
},
|
||||
voidRift: {
|
||||
name: "Void Rift",
|
||||
elem: "dark",
|
||||
dmg: 55,
|
||||
cost: elemCost("dark", 8),
|
||||
tier: 2,
|
||||
castSpeed: 1,
|
||||
unlock: 1000,
|
||||
studyTime: 8,
|
||||
desc: "Open a rift to the void."
|
||||
},
|
||||
shadowStorm: {
|
||||
name: "Shadow Storm",
|
||||
elem: "dark",
|
||||
dmg: 48,
|
||||
cost: elemCost("dark", 6),
|
||||
tier: 2,
|
||||
castSpeed: 1.3,
|
||||
unlock: 800,
|
||||
studyTime: 6,
|
||||
desc: "A storm of shadows."
|
||||
},
|
||||
soulRend: {
|
||||
name: "Soul Rend",
|
||||
elem: "death",
|
||||
dmg: 50,
|
||||
cost: elemCost("death", 7),
|
||||
tier: 2,
|
||||
castSpeed: 1.1,
|
||||
unlock: 1100,
|
||||
studyTime: 9,
|
||||
desc: "Tear at the enemy's soul."
|
||||
},
|
||||
|
||||
// Tier 3 - Master Spells (20-30 hours study)
|
||||
pyroclasm: {
|
||||
name: "Pyroclasm",
|
||||
elem: "fire",
|
||||
dmg: 250,
|
||||
cost: elemCost("fire", 25),
|
||||
tier: 3,
|
||||
castSpeed: 0.6,
|
||||
unlock: 10000,
|
||||
studyTime: 24,
|
||||
desc: "An eruption of volcanic fury."
|
||||
},
|
||||
tsunami: {
|
||||
name: "Tsunami",
|
||||
elem: "water",
|
||||
dmg: 220,
|
||||
cost: elemCost("water", 22),
|
||||
tier: 3,
|
||||
castSpeed: 0.65,
|
||||
unlock: 10000,
|
||||
studyTime: 24,
|
||||
desc: "A towering wall of water."
|
||||
},
|
||||
meteorStrike: {
|
||||
name: "Meteor Strike",
|
||||
elem: "earth",
|
||||
dmg: 280,
|
||||
cost: elemCost("earth", 28),
|
||||
tier: 3,
|
||||
castSpeed: 0.5,
|
||||
unlock: 12000,
|
||||
studyTime: 28,
|
||||
desc: "Call down a meteor from the heavens."
|
||||
},
|
||||
cosmicStorm: {
|
||||
name: "Cosmic Storm",
|
||||
elem: "air",
|
||||
dmg: 200,
|
||||
cost: elemCost("air", 20),
|
||||
tier: 3,
|
||||
castSpeed: 0.7,
|
||||
unlock: 10000,
|
||||
studyTime: 24,
|
||||
desc: "A storm of cosmic proportions."
|
||||
},
|
||||
heavenLight: {
|
||||
name: "Heaven's Light",
|
||||
elem: "light",
|
||||
dmg: 240,
|
||||
cost: elemCost("light", 24),
|
||||
tier: 3,
|
||||
castSpeed: 0.6,
|
||||
unlock: 11000,
|
||||
studyTime: 26,
|
||||
desc: "The light of heaven itself."
|
||||
},
|
||||
oblivion: {
|
||||
name: "Oblivion",
|
||||
elem: "dark",
|
||||
dmg: 230,
|
||||
cost: elemCost("dark", 23),
|
||||
tier: 3,
|
||||
castSpeed: 0.6,
|
||||
unlock: 10500,
|
||||
studyTime: 25,
|
||||
desc: "Consign to oblivion."
|
||||
},
|
||||
deathMark: {
|
||||
name: "Death Mark",
|
||||
elem: "death",
|
||||
dmg: 200,
|
||||
cost: elemCost("death", 20),
|
||||
tier: 3,
|
||||
castSpeed: 0.7,
|
||||
unlock: 10000,
|
||||
studyTime: 24,
|
||||
desc: "Mark for death."
|
||||
},
|
||||
|
||||
// Tier 4 - Legendary Spells (40-60 hours study, require exotic elements)
|
||||
stellarNova: {
|
||||
name: "Stellar Nova",
|
||||
elem: "stellar",
|
||||
dmg: 500,
|
||||
cost: elemCost("stellar", 15),
|
||||
tier: 4,
|
||||
castSpeed: 0.4,
|
||||
unlock: 50000,
|
||||
studyTime: 48,
|
||||
desc: "A nova of stellar energy."
|
||||
},
|
||||
voidCollapse: {
|
||||
name: "Void Collapse",
|
||||
elem: "void",
|
||||
dmg: 450,
|
||||
cost: elemCost("void", 12),
|
||||
tier: 4,
|
||||
castSpeed: 0.45,
|
||||
unlock: 40000,
|
||||
studyTime: 42,
|
||||
desc: "Collapse the void upon your enemy."
|
||||
},
|
||||
crystalShatter: {
|
||||
name: "Crystal Shatter",
|
||||
elem: "crystal",
|
||||
dmg: 400,
|
||||
cost: elemCost("crystal", 10),
|
||||
tier: 4,
|
||||
castSpeed: 0.5,
|
||||
unlock: 35000,
|
||||
studyTime: 36,
|
||||
desc: "Shatter crystalline energy."
|
||||
},
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// LIGHTNING SPELLS - Fast, armor-piercing, harder to dodge
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
// Tier 1 - Basic Lightning
|
||||
spark: {
|
||||
name: "Spark",
|
||||
elem: "lightning",
|
||||
dmg: 8,
|
||||
cost: elemCost("lightning", 1),
|
||||
tier: 1,
|
||||
castSpeed: 4,
|
||||
unlock: 120,
|
||||
studyTime: 2,
|
||||
desc: "A quick spark of lightning. Very fast and hard to dodge.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.2 }]
|
||||
},
|
||||
lightningBolt: {
|
||||
name: "Lightning Bolt",
|
||||
elem: "lightning",
|
||||
dmg: 14,
|
||||
cost: elemCost("lightning", 2),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 150,
|
||||
studyTime: 3,
|
||||
desc: "A bolt of lightning that pierces armor.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.3 }]
|
||||
},
|
||||
|
||||
// Tier 2 - Advanced Lightning
|
||||
chainLightning: {
|
||||
name: "Chain Lightning",
|
||||
elem: "lightning",
|
||||
dmg: 25,
|
||||
cost: elemCost("lightning", 5),
|
||||
tier: 2,
|
||||
castSpeed: 2,
|
||||
unlock: 900,
|
||||
studyTime: 8,
|
||||
desc: "Lightning that arcs between enemies. Hits 3 targets.",
|
||||
isAoe: true,
|
||||
aoeTargets: 3,
|
||||
effects: [{ type: 'chain', value: 3 }]
|
||||
},
|
||||
stormCall: {
|
||||
name: "Storm Call",
|
||||
elem: "lightning",
|
||||
dmg: 40,
|
||||
cost: elemCost("lightning", 6),
|
||||
tier: 2,
|
||||
castSpeed: 1.5,
|
||||
unlock: 1100,
|
||||
studyTime: 10,
|
||||
desc: "Call down a storm. Hits 2 targets with armor pierce.",
|
||||
isAoe: true,
|
||||
aoeTargets: 2,
|
||||
effects: [{ type: 'armor_pierce', value: 0.4 }]
|
||||
},
|
||||
|
||||
// Tier 3 - Master Lightning
|
||||
thunderStrike: {
|
||||
name: "Thunder Strike",
|
||||
elem: "lightning",
|
||||
dmg: 150,
|
||||
cost: elemCost("lightning", 15),
|
||||
tier: 3,
|
||||
castSpeed: 0.8,
|
||||
unlock: 10000,
|
||||
studyTime: 24,
|
||||
desc: "Devastating lightning that ignores 50% armor.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.5 }]
|
||||
},
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// AOE SPELLS - Hit multiple enemies, less damage per target
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
// 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
|
||||
},
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// MAGIC SWORD ENCHANTMENTS - For weapon enchanting system
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
fireBlade: {
|
||||
name: "Fire Blade",
|
||||
elem: "fire",
|
||||
dmg: 3,
|
||||
cost: rawCost(1),
|
||||
tier: 1,
|
||||
castSpeed: 4,
|
||||
unlock: 100,
|
||||
studyTime: 2,
|
||||
desc: "Enchant a blade with fire. Burns enemies over time.",
|
||||
isWeaponEnchant: true,
|
||||
effects: [{ type: 'burn', value: 2, duration: 3 }]
|
||||
},
|
||||
frostBlade: {
|
||||
name: "Frost Blade",
|
||||
elem: "water",
|
||||
dmg: 3,
|
||||
cost: rawCost(1),
|
||||
tier: 1,
|
||||
castSpeed: 4,
|
||||
unlock: 100,
|
||||
studyTime: 2,
|
||||
desc: "Enchant a blade with frost. Prevents enemy dodge.",
|
||||
isWeaponEnchant: true,
|
||||
effects: [{ type: 'freeze', value: 0, chance: 1 }] // 100% freeze = no dodge
|
||||
},
|
||||
lightningBlade: {
|
||||
name: "Lightning Blade",
|
||||
elem: "lightning",
|
||||
dmg: 4,
|
||||
cost: rawCost(1),
|
||||
tier: 1,
|
||||
castSpeed: 5,
|
||||
unlock: 150,
|
||||
studyTime: 3,
|
||||
desc: "Enchant a blade with lightning. Pierces 30% armor.",
|
||||
isWeaponEnchant: true,
|
||||
effects: [{ type: 'armor_pierce', value: 0.3 }]
|
||||
},
|
||||
voidBlade: {
|
||||
name: "Void Blade",
|
||||
elem: "dark",
|
||||
dmg: 5,
|
||||
cost: rawCost(2),
|
||||
tier: 2,
|
||||
castSpeed: 3,
|
||||
unlock: 800,
|
||||
studyTime: 8,
|
||||
desc: "Enchant a blade with void. +20% damage.",
|
||||
isWeaponEnchant: true,
|
||||
effects: [{ type: 'buff', value: 0.2 }]
|
||||
},
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// COMPOUND MANA SPELLS - Blood, Metal, Wood, Sand
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
// ─── METAL SPELLS (Fire + Earth) ─────────────────────────────────────────────
|
||||
// Metal magic is slow but devastating with high armor pierce
|
||||
metalShard: {
|
||||
name: "Metal Shard",
|
||||
elem: "metal",
|
||||
dmg: 16,
|
||||
cost: elemCost("metal", 2),
|
||||
tier: 1,
|
||||
castSpeed: 1.8,
|
||||
unlock: 220,
|
||||
studyTime: 3,
|
||||
desc: "A sharpened metal shard. Slower but pierces armor.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.25 }]
|
||||
},
|
||||
ironFist: {
|
||||
name: "Iron Fist",
|
||||
elem: "metal",
|
||||
dmg: 28,
|
||||
cost: elemCost("metal", 4),
|
||||
tier: 1,
|
||||
castSpeed: 1.5,
|
||||
unlock: 350,
|
||||
studyTime: 5,
|
||||
desc: "A crushing fist of iron. High armor pierce.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.35 }]
|
||||
},
|
||||
steelTempest: {
|
||||
name: "Steel Tempest",
|
||||
elem: "metal",
|
||||
dmg: 55,
|
||||
cost: elemCost("metal", 8),
|
||||
tier: 2,
|
||||
castSpeed: 1,
|
||||
unlock: 1300,
|
||||
studyTime: 12,
|
||||
desc: "A whirlwind of steel blades. Ignores much armor.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.45 }]
|
||||
},
|
||||
furnaceBlast: {
|
||||
name: "Furnace Blast",
|
||||
elem: "metal",
|
||||
dmg: 200,
|
||||
cost: elemCost("metal", 20),
|
||||
tier: 3,
|
||||
castSpeed: 0.5,
|
||||
unlock: 18000,
|
||||
studyTime: 32,
|
||||
desc: "Molten metal and fire combined. Devastating armor pierce.",
|
||||
effects: [{ type: 'armor_pierce', value: 0.6 }]
|
||||
},
|
||||
|
||||
// ─── SAND SPELLS (Earth + Water) ────────────────────────────────────────────
|
||||
// Sand magic slows enemies and deals steady damage
|
||||
sandBlast: {
|
||||
name: "Sand Blast",
|
||||
elem: "sand",
|
||||
dmg: 11,
|
||||
cost: elemCost("sand", 2),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 190,
|
||||
studyTime: 3,
|
||||
desc: "A blast of stinging sand. Fast casting.",
|
||||
},
|
||||
sandstorm: {
|
||||
name: "Sandstorm",
|
||||
elem: "sand",
|
||||
dmg: 22,
|
||||
cost: elemCost("sand", 4),
|
||||
tier: 1,
|
||||
castSpeed: 2,
|
||||
unlock: 300,
|
||||
studyTime: 4,
|
||||
desc: "A swirling sandstorm. Hits 2 enemies.",
|
||||
isAoe: true,
|
||||
aoeTargets: 2,
|
||||
},
|
||||
desertWind: {
|
||||
name: "Desert Wind",
|
||||
elem: "sand",
|
||||
dmg: 38,
|
||||
cost: elemCost("sand", 6),
|
||||
tier: 2,
|
||||
castSpeed: 1.5,
|
||||
unlock: 950,
|
||||
studyTime: 8,
|
||||
desc: "A scouring desert wind. Hits 3 enemies.",
|
||||
isAoe: true,
|
||||
aoeTargets: 3,
|
||||
},
|
||||
duneCollapse: {
|
||||
name: "Dune Collapse",
|
||||
elem: "sand",
|
||||
dmg: 100,
|
||||
cost: elemCost("sand", 16),
|
||||
tier: 3,
|
||||
castSpeed: 0.6,
|
||||
unlock: 14000,
|
||||
studyTime: 28,
|
||||
desc: "Dunes collapse on all enemies. Hits 5 targets.",
|
||||
isAoe: true,
|
||||
aoeTargets: 5,
|
||||
},
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// UTILITY MANA SPELLS - Mental, Transference, Force
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
|
||||
// ─── TRANSFERENCE SPELLS ─────────────────────────────────────────────────────
|
||||
// Transference magic moves mana and enhances efficiency
|
||||
transferStrike: {
|
||||
name: "Transfer Strike",
|
||||
elem: "transference",
|
||||
dmg: 9,
|
||||
cost: elemCost("transference", 2),
|
||||
tier: 1,
|
||||
castSpeed: 3,
|
||||
unlock: 150,
|
||||
studyTime: 2,
|
||||
desc: "Strike that transfers energy. Very efficient.",
|
||||
},
|
||||
manaRip: {
|
||||
name: "Mana Rip",
|
||||
elem: "transference",
|
||||
dmg: 16,
|
||||
cost: elemCost("transference", 3),
|
||||
tier: 1,
|
||||
castSpeed: 2.5,
|
||||
unlock: 250,
|
||||
studyTime: 4,
|
||||
desc: "Rip mana from the enemy. High efficiency.",
|
||||
},
|
||||
essenceDrain: {
|
||||
name: "Essence Drain",
|
||||
elem: "transference",
|
||||
dmg: 42,
|
||||
cost: elemCost("transference", 7),
|
||||
tier: 2,
|
||||
castSpeed: 1.3,
|
||||
unlock: 1050,
|
||||
studyTime: 10,
|
||||
desc: "Drain the enemy's essence.",
|
||||
},
|
||||
soulTransfer: {
|
||||
name: "Soul Transfer",
|
||||
elem: "transference",
|
||||
dmg: 130,
|
||||
cost: elemCost("transference", 16),
|
||||
tier: 3,
|
||||
castSpeed: 0.6,
|
||||
unlock: 13000,
|
||||
studyTime: 26,
|
||||
desc: "Transfer the soul's energy.",
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user