{
  "version": "1.0.0",
  "generated": "2026-08-22T06:18:05.083Z",
  "description": "Play caster spell book — STAFF / TOME / WAND skills from master-weaponSkills.json plus caster VFX from vfx-spells.json. Do not invent rows.",
  "source": {
    "skills": "/api/v1/master-weaponSkills.json",
    "vfx": "/api/v1/vfx-spells.json",
    "browseSkills": "/WEAPON_SKILLS.html",
    "browseVfx": "/spell-vfx-library.html",
    "browseBook": "/SPELL_BOOK.html"
  },
  "weaponTypes": [
    "STAFF",
    "TOME",
    "WAND"
  ],
  "totalCasterSkills": 70,
  "totalVfxSpells": 26,
  "classRestrictions": {
    "Mage": [
      "STAFF",
      "TOME",
      "WAND"
    ],
    "Priest": [
      "STAFF",
      "TOME",
      "WAND"
    ],
    "Worge": [
      "STAFF",
      "TOME"
    ],
    "Verduror": [
      "STAFF",
      "TOME"
    ]
  },
  "casterWeaponTypes": [
    {
      "id": "STAFF",
      "name": "Staff",
      "icon": "/icons/pack/weapons/staff_1.png",
      "classes": [],
      "totalSkills": 13,
      "slots": [
        {
          "type": "primary",
          "label": "PRIMARY",
          "unlockTier": 1,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-000049-41DF348E",
              "id": "staff_fire_bolt",
              "name": "Fire Bolt",
              "description": "Single-target, builds Burn stack",
              "icon": "/icons/spells/fire-arrows-royal-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/fire-arrows-royal-1.png",
              "tier": 1,
              "damage": 50,
              "cooldown": 1.1,
              "castTime": 0.85,
              "range": 16,
              "damageType": "fire",
              "effects": [
                "Builds Burn Stack"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-20260604081946-00004A-32A83EAF",
              "id": "staff_frost_bolt",
              "name": "Frost Bolt",
              "description": "Single-target, builds Chill",
              "icon": "/icons/skills_rpg/skill_ice_mastery.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_ice_mastery.png",
              "tier": 2,
              "damage": 45,
              "cooldown": 1.2,
              "castTime": 0.9,
              "range": 14,
              "damageType": "frost",
              "effects": [
                "Slow 30%"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-20260604081946-00004B--6FF342E",
              "id": "staff_holy_light",
              "name": "Holy Light",
              "description": "Heal single ally",
              "icon": "/icons/abilities/ability_rejuvenate.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_rejuvenate.png",
              "tier": 3,
              "damage": -60,
              "cooldown": 2,
              "castTime": 0.9,
              "range": 14,
              "damageType": "holy",
              "effects": [
                "Heal Ally"
              ],
              "animation": "magic/standing 1h cast spell 01"
            }
          ]
        },
        {
          "type": "secondary",
          "label": "SECONDARY",
          "unlockTier": 2,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-00004C-6807F9E0",
              "id": "staff_flame_wave",
              "name": "Flame Wave",
              "description": "Cone AoE DoT",
              "icon": "/icons/spells/fire-arrows-sky-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/fire-arrows-sky-1.png",
              "tier": 1,
              "damage": 60,
              "cooldown": 8,
              "castTime": 0.9,
              "range": 10,
              "damageType": "fire",
              "effects": [
                "Cone",
                "Burn 4s"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-20260604081946-00004D-4239C6C3",
              "id": "staff_ice_nova",
              "name": "Ice Nova",
              "description": "AoE slow around caster",
              "icon": "/icons/abilities/ability_ice_mastery.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_ice_mastery.png",
              "tier": 2,
              "damage": 55,
              "cooldown": 10,
              "castTime": 0.95,
              "range": 12,
              "damageType": "frost",
              "effects": [
                "AoE 6m",
                "Slow 50%"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-20260604081946-00004E--2DA22E9",
              "id": "staff_divine_wave",
              "name": "Divine Wave",
              "description": "AoE heal allies",
              "icon": "/icons/abilities/ability_soothing_rain.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_soothing_rain.png",
              "tier": 3,
              "damage": -80,
              "cooldown": 12,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Heal All Allies"
              ],
              "animation": null
            }
          ]
        },
        {
          "type": "ability",
          "label": "ABILITY",
          "unlockTier": 2,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-00004F-17111AC4",
              "id": "staff_inferno_shield",
              "name": "Inferno Shield",
              "description": "Reflect damage",
              "icon": "/icons/skills_rpg/skill_shield_specialist.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_shield_specialist.png",
              "tier": 1,
              "damage": 0,
              "cooldown": 15,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Absorb 200",
                "Reflect 30%"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-20260604081946-000050--7076815",
              "id": "staff_glacial_shield",
              "name": "Glacial Shield",
              "description": "Absorb + slow attackers",
              "icon": "/icons/abilities/ability_shield_specialist.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_shield_specialist.png",
              "tier": 2,
              "damage": 0,
              "cooldown": 15,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Absorb 250",
                "Slow Attackers"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-20260604081946-000051--E6564C6",
              "id": "staff_meteor_strike",
              "name": "Meteor Strike",
              "description": "Delayed massive burst",
              "icon": "/icons/skills_rpg/skill_meteor_strike.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_meteor_strike.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 18,
              "castTime": 1.2,
              "range": 20,
              "damageType": "fire",
              "effects": [
                "Delay 1.5s",
                "AoE 5m"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-20260604081946-000052-27190023",
              "id": "staff_blizzard",
              "name": "Blizzard",
              "description": "Channeled freeze zone",
              "icon": "/icons/spells/ice-blue-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/ice-blue-1.png",
              "tier": 4,
              "damage": 100,
              "cooldown": 20,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Channel",
                "Freeze Chance"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-20260604081946-000053-2CF0DAF0",
              "id": "staff_radiant_heal",
              "name": "Radiant Salvation",
              "description": "AoE heal + cleanse",
              "icon": "/icons/skills/class/firemage/firemage_01.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_01.png",
              "tier": 5,
              "damage": -120,
              "cooldown": 25,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Cleanse Debuffs"
              ],
              "animation": null
            }
          ]
        },
        {
          "type": "ultimate",
          "label": "ULTIMATE",
          "unlockTier": 3,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-000054--56F60DB",
              "id": "staff_hellstorm",
              "name": "Hellstorm",
              "description": "Large AoE DoT",
              "icon": "/icons/skills/class/firemage/firemage_02.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_02.png",
              "tier": 1,
              "damage": 250,
              "cooldown": 50,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "AoE 12m",
                "Burn 8s"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-20260604081946-000055-64428B0F",
              "id": "staff_absolute_zero",
              "name": "Absolute Zero",
              "description": "Mass freeze all enemies",
              "icon": "/icons/spells/ice-jade-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/ice-jade-1.png",
              "tier": 4,
              "damage": 180,
              "cooldown": 60,
              "castTime": null,
              "range": null,
              "damageType": "physical",
              "effects": [
                "Freeze 4s",
                "AoE 15m"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-10D30B-68EB8E",
              "id": "staff_flame_nova",
              "name": "Flame Nova",
              "description": "explode all burns",
              "icon": "/icons/spells/haste-fire-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/haste-fire-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-6C839A-36B6CF",
              "id": "staff_iceblood_eruption",
              "name": "Iceblood Eruption",
              "description": "explode + heal",
              "icon": "/icons/skills/class/firemage/firemage_03.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_03.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-209E3A-45A6AB",
              "id": "staff_holy_beacon",
              "name": "Holy Beacon",
              "description": "ally empower",
              "icon": "/icons/skills/class/firemage/firemage_04.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_04.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-3624D4-559B2E",
              "id": "staff_sacred_apocalypse",
              "name": "Sacred Apocalypse",
              "description": "large purge AoE",
              "icon": "/icons/skills/class/firemage/firemage_05.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_05.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-5A2EE4-32A907",
              "id": "staff_storm_call",
              "name": "Storm Call",
              "description": "rain lightning",
              "icon": "/icons/abilities/ability_lightning.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_lightning.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": 14,
              "damageType": "lightning",
              "effects": [
                "Signature"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-SIG-626151-87D61F",
              "id": "staff_thunder_cataclysm",
              "name": "Thunder Cataclysm",
              "description": "ultimate storm",
              "icon": "/icons/abilities/ability_tempest.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_tempest.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": 10,
              "damageType": "lightning",
              "effects": [
                "Signature"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-SIG-166A5F-3936A8",
              "id": "staff_wrath_of_the_tempest",
              "name": "Wrath of the Tempest",
              "description": "massive AoE: call down 12 lightning bolts in a 15m area over 4s, each dealing 200% weapon damage",
              "icon": "/icons/spells/lightning-blue-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/lightning-blue-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-A15626-8A8B1A",
              "id": "staff_inferno_incarnate",
              "name": "Inferno Incarnate",
              "description": "transform into a fire demon for 12s: +50% all stats, all attacks deal AoE fire, immune to CC",
              "icon": "/icons/spells/light-air-fire-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/light-air-fire-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-246DDA-280874",
              "id": "staff_generals_decree",
              "name": "General's Decree",
              "description": "for 15s: all allies deal +30% damage, take -20% damage, and regenerate 2% HP/s",
              "icon": "/icons/skills/class/firemage/firemage_06.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_06.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-2FEB4D-63ABD0",
              "id": "staff_wrath_of_the_wilds",
              "name": "Wrath of the Wilds",
              "description": "massive nature explosion: 20m AoE, enemies take 300% weapon damage and are rooted for 4s, allies heal 30% max HP",
              "icon": "/icons/skills_rpg/skill_weapon_mastery.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_weapon_mastery.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-7F543C-50D010",
              "id": "staff_rune_apocalypse",
              "name": "Rune Apocalypse",
              "description": "at 10 stacks: unleash all runes as homing projectiles dealing 500% total weapon damage split across all enemies in 20m",
              "icon": "/icons/skills/class/firemage/firemage_07.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_07.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-B18087-A1ADAB",
              "id": "staff_demon_lords_wrath",
              "name": "Demon Lord's Wrath",
              "description": "transform the battlefield: 20m zone of darkness for 10s, you gain +60% damage, enemies are blinded and slowed 40%",
              "icon": "/icons/skills/class/firemage/firemage_08.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_08.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-58B70B-4EB052",
              "id": "staff_ghost_executioner",
              "name": "Ghost Executioner",
              "description": "enter permanent stealth for 8s, each attack from stealth deals +100% damage and doesn't break stealth",
              "icon": "/icons/skills_rpg/skill_mind_break.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_mind_break.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-3F0321-041550",
              "id": "staff_thundergods_judgment",
              "name": "Thundergod's Judgment",
              "description": "leap 15m into the air, slam down with cosmic force: 20m AoE, 400% weapon damage, all enemies stunned 3s",
              "icon": "/icons/skills/class/firemage/firemage_09.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_09.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-E0C3B2-AD12C7",
              "id": "staff_earthquake",
              "name": "Earthquake",
              "description": "channel 3s: entire screen shakes, all enemies in 25m take 300% damage and are stunned 4s, terrain cracks open dealing DoT",
              "icon": "/icons/skills/class/firemage/firemage_10.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_10.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": 12,
              "damageType": "nature",
              "effects": [
                "Signature"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-SIG-4A946D-637542",
              "id": "staff_crusaders_light",
              "name": "Crusader's Light",
              "description": "massive holy nova: 15m AoE, heal all allies 40% max HP, damage all enemies 200%, undead take 400%",
              "icon": "/icons/spells/light-blue-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/light-blue-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-6CC6F3-33973E",
              "id": "staff_manifest_destiny",
              "name": "Manifest Destiny",
              "description": "for 15s: all attacks pierce through enemies, crit chance +30%, kills extend duration by 3s",
              "icon": "/icons/skills/class/firemage/firemage_11.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_11.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-BA8CC4-B971AF",
              "id": "staff_royal_decree",
              "name": "Royal Decree",
              "description": "20m AoE: allies gain +25% all stats, enemies are slowed 50% and deal -20% damage for 10s",
              "icon": "/icons/spells/beam-royal-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/beam-royal-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-5122DD-0FE777",
              "id": "staff_supernova",
              "name": "Supernova",
              "description": "charge for 2s, release a massive light explosion: 25m AoE, 350% damage, blinds 5s, heals allies 20% max HP",
              "icon": "/icons/skills/class/firemage/firemage_12.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_12.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-92E303-C01E51",
              "id": "staff_arcane_apotheosis",
              "name": "Arcane Apotheosis",
              "description": "ascend for 10s: float above ground, all spells cost 0 mana, +50% spell damage, +30% cast speed",
              "icon": "/icons/skills_rpg/skill_mana_flow.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_mana_flow.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-26877A-E1000F",
              "id": "staff_army_of_the_dead",
              "name": "Army of the Dead",
              "description": "raise 8 powerful undead warriors + 1 skeletal champion for 20s, all inheriting 50% of your stats",
              "icon": "/icons/skills/class/firemage/firemage_13.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_13.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-D993BD-4092F8",
              "id": "staff_retribution",
              "name": "Retribution",
              "description": "discharge ALL remaining mana as a single blast: 1 mana = 5 damage, 30m range, unavoidable",
              "icon": "/icons/skills/class/firemage/firemage_14.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_14.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-B6C421-65C272",
              "id": "staff_omniscience",
              "name": "Omniscience",
              "description": "for 12s: you can cast any class skill from any class at +30% effectiveness, mana costs halved",
              "icon": "/icons/skills/class/firemage/firemage_15.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_15.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-E6576B-68CFDF",
              "id": "staff_storm_of_arrows",
              "name": "Storm of Arrows",
              "description": "ascend on wind, hover for 5s firing homing arrows at all enemies in 30m — 1 arrow per enemy per second, each dealing 100% weapon damage",
              "icon": "/icons/skills_rpg/skill_storm_touch.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_storm_touch.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-F1D3B6-09CB84",
              "id": "staff_warchiefs_fury",
              "name": "Warchief's Fury",
              "description": "enter a 12s frenzy: +50% attack speed, each hit applies a random debuff — bleed, stun, slow, or fear",
              "icon": "/icons/skills/class/firemage/firemage_16.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_16.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-734EC7-E637EB",
              "id": "staff_natures_fury",
              "name": "Nature's Fury",
              "description": "spirit allies",
              "icon": "/icons/skills/class/firemage/firemage_17.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_17.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": 14,
              "damageType": "nature",
              "effects": [
                "Signature"
              ],
              "animation": "magic/standing 1h cast spell 01"
            },
            {
              "uuid": "SKIL-SIG-726A31-718D8B",
              "id": "staff_verdant_cataclysm",
              "name": "Verdant Cataclysm",
              "description": "ultimate storm",
              "icon": "/icons/spells/lightning-jade-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/lightning-jade-1.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-8B6E52-FCE964",
              "id": "staff_wild_apocalypse",
              "name": "Wild Apocalypse",
              "description": "large purge AoE",
              "icon": "/icons/abilities/ability_wild_growth.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_wild_growth.png",
              "tier": 3,
              "damage": 150,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            }
          ]
        }
      ]
    },
    {
      "id": "TOME",
      "name": "Tome (Off-Hand Relic)",
      "icon": "/icons/pack/weapons/Book_1.png",
      "classes": [
        "Mage",
        "Worge"
      ],
      "totalSkills": 44,
      "slots": [
        {
          "type": "ultimate",
          "label": "ULTIMATE",
          "unlockTier": 3,
          "skills": [
            {
              "uuid": "SKIL-SIG-033717-9FE0FB",
              "id": "tome_flame_wave_fireball_inferno_shield_crimson_surge_inferno_page",
              "name": "\"Flame Wave\", \"Fireball\", \"Inferno Shield\", \"Crimson Surge \", \"Inferno Page \"",
              "description": "dash burn",
              "icon": "/icons/abilities/ability_damage_surge.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_damage_surge.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-ACAEBB-CC2861",
              "id": "tome_flame_wave_fireball_inferno_shield_blaze_fury_wrath_page",
              "name": "\"Flame Wave\", \"Fireball\", \"Inferno Shield\", \"Blaze Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/abilities/ability_fireball.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_fireball.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-6FABB6-89B748",
              "id": "tome_ice_nova_frost_lance_glacial_shield_frozen_surge_glacier_page",
              "name": "\"Ice Nova\", \"Frost Lance\", \"Glacial Shield\", \"Frozen Surge \", \"Glacier Page \"",
              "description": "dash chill",
              "icon": "/icons/spells/ice-sky-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/ice-sky-1.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-36F3A0-FC4702",
              "id": "tome_ice_nova_frost_lance_glacial_shield_ice_fury_wrath_page",
              "name": "\"Ice Nova\", \"Frost Lance\", \"Glacial Shield\", \"Ice Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/skills/class/firemage/firemage_21.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_21.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-3D782A-847728",
              "id": "tome_thorn_burst_healing_bloom_natures_shield_ancient_surge_verdant_page",
              "name": "\"Thorn Burst\", \"Healing Bloom\", \"Nature's Shield\", \"Ancient Surge \", \"Verdant Page \"",
              "description": "dash growth",
              "icon": "/icons/spells/air-burst-jade-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/air-burst-jade-1.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-6F743C-979C46",
              "id": "tome_thorn_burst_healing_bloom_natures_shield_growth_fury_wrath_page",
              "name": "\"Thorn Burst\", \"Healing Bloom\", \"Nature's Shield\", \"Growth Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/spells/air-burst-magenta-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/air-burst-magenta-1.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-43B240-C97C3E",
              "id": "tome_divine_wave_sacred_shield_smite_radiant_surge_dawn_page",
              "name": "\"Divine Wave\", \"Sacred Shield\", \"Smite\", \"Radiant Surge \", \"Dawn Page \"",
              "description": "dash grace",
              "icon": "/icons/skills/class/firemage/firemage_22.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_22.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-7B0B7C-0DC24F",
              "id": "tome_divine_wave_sacred_shield_smite_grace_fury_wrath_page",
              "name": "\"Divine Wave\", \"Sacred Shield\", \"Smite\", \"Grace Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/skills/class/firemage/firemage_23.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_23.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-1FE1C6-771851",
              "id": "tome_energy_wave_time_stasis_mana_shield_ethereal_surge_void_page",
              "name": "\"Energy Wave\", \"Time Stasis\", \"Mana Shield\", \"Ethereal Surge \", \"Void Page \"",
              "description": "dash mark",
              "icon": "/icons/abilities/ability_mana_flow.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/abilities/ability_mana_flow.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-DDF250-5E8511",
              "id": "tome_energy_wave_time_stasis_mana_shield_void_fury_wrath_page",
              "name": "\"Energy Wave\", \"Time Stasis\", \"Mana Shield\", \"Void Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/skills/class/firemage/firemage_24.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_24.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-F117E4-DB3769",
              "id": "tome_lightning_strike_chain_shock_storm_shield_voltaic_surge_storm_page",
              "name": "\"Lightning Strike\", \"Chain Shock\", \"Storm Shield\", \"Voltaic Surge \", \"Storm Page \"",
              "description": "dash shock",
              "icon": "/icons/skills/class/firemage/firemage_25.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_25.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            },
            {
              "uuid": "SKIL-SIG-E4D8CB-9251C7",
              "id": "tome_lightning_strike_chain_shock_storm_shield_thunder_fury_wrath_page",
              "name": "\"Lightning Strike\", \"Chain Shock\", \"Storm Shield\", \"Thunder Fury \", \"Wrath Page \"",
              "description": "frenzy cast speed",
              "icon": "/icons/skills/class/firemage/firemage_26.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/firemage/firemage_26.png",
              "tier": 3,
              "damage": 120,
              "cooldown": 45,
              "castTime": 1,
              "range": null,
              "damageType": "arcane",
              "effects": [
                "Signature"
              ],
              "animation": null
            }
          ]
        }
      ]
    },
    {
      "id": "WAND",
      "name": "Wand",
      "icon": "/icons/pack/weapons/staff_34.png",
      "classes": [
        "Mage"
      ],
      "totalSkills": 13,
      "slots": [
        {
          "type": "primary",
          "label": "PRIMARY",
          "unlockTier": 1,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-0000AB-7ACC17A5",
              "id": "wand_missile",
              "name": "Magic Missile",
              "description": "3 homing arcane bolts",
              "icon": "/icons/skills/class/frostmage/frostmage_01.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_01.png",
              "tier": 1,
              "damage": 40,
              "cooldown": 0,
              "castTime": 0.3,
              "range": 25,
              "damageType": "arcane",
              "effects": [
                "3 Missiles",
                "Homing",
                "Range 25m"
              ],
              "animation": "wand_cast"
            },
            {
              "uuid": "SKIL-20260604081946-0000AC-084E2282",
              "id": "wand_pulse",
              "name": "Arcane Pulse",
              "description": "Charged pulse with AoE splash",
              "icon": "/icons/skills/class/frostmage/frostmage_02.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_02.png",
              "tier": 2,
              "damage": 55,
              "cooldown": 2,
              "castTime": 0.5,
              "range": 20,
              "damageType": "arcane",
              "effects": [
                "AoE 3m Splash",
                "Mana Efficient"
              ],
              "animation": "wand_charge"
            },
            {
              "uuid": "SKIL-20260604081946-0000AD--19F7ED4",
              "id": "wand_void_bolt",
              "name": "Void Bolt",
              "description": "Shadow bolt that silences",
              "icon": "/icons/skills/class/frostmage/frostmage_03.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_03.png",
              "tier": 3,
              "damage": 50,
              "cooldown": 6,
              "castTime": 0.4,
              "range": 20,
              "damageType": "shadow",
              "effects": [
                "Silence 2s",
                "Shadow DMG"
              ],
              "animation": "wand_dark"
            }
          ]
        },
        {
          "type": "secondary",
          "label": "SECONDARY",
          "unlockTier": 2,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-0000AE-5F9B08F7",
              "id": "wand_blink",
              "name": "Blink",
              "description": "Instant teleport to target location",
              "icon": "/icons/skills/class/frostmage/frostmage_04.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_04.png",
              "tier": 1,
              "damage": 0,
              "cooldown": 12,
              "castTime": 0,
              "range": 15,
              "damageType": "arcane",
              "effects": [
                "Teleport 15m",
                "Invulnerable 0.5s"
              ],
              "animation": "blink"
            },
            {
              "uuid": "SKIL-20260604081946-0000AF-1C644FB1",
              "id": "wand_barrier",
              "name": "Arcane Barrier",
              "description": "Create damage absorption shield",
              "icon": "/icons/skills/class/frostmage/frostmage_05.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_05.png",
              "tier": 2,
              "damage": 0,
              "cooldown": 18,
              "castTime": 0.3,
              "range": 0,
              "damageType": "arcane",
              "effects": [
                "Absorb 400",
                "Reflects 15%"
              ],
              "animation": "cast_shield"
            },
            {
              "uuid": "SKIL-20260604081946-0000B0--11ABBDB",
              "id": "wand_time_warp",
              "name": "Time Warp",
              "description": "Slow time in zone, speed allies",
              "icon": "/icons/skills/class/frostmage/frostmage_06.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_06.png",
              "tier": 3,
              "damage": 0,
              "cooldown": 25,
              "castTime": 0.5,
              "range": 10,
              "damageType": "arcane",
              "effects": [
                "Enemies 50% Slow",
                "Allies +30% Speed",
                "6s"
              ],
              "animation": "cast_time"
            }
          ]
        },
        {
          "type": "ability",
          "label": "ABILITY",
          "unlockTier": 2,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-0000B1--79CCD3D",
              "id": "wand_chain",
              "name": "Chain Lightning",
              "description": "Lightning bouncing between enemies",
              "icon": "/icons/skills_rpg/skill_chain_lightning.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills_rpg/skill_chain_lightning.png",
              "tier": 1,
              "damage": 70,
              "cooldown": 10,
              "castTime": 0.4,
              "range": 20,
              "damageType": "lightning",
              "effects": [
                "Bounces x5",
                "-15% per Bounce"
              ],
              "animation": "wand_lightning"
            },
            {
              "uuid": "SKIL-20260604081946-0000B2--2364746",
              "id": "wand_polymorph",
              "name": "Polymorph",
              "description": "Turn enemy into harmless creature",
              "icon": "/icons/skills/class/frostmage/frostmage_07.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_07.png",
              "tier": 2,
              "damage": 0,
              "cooldown": 20,
              "castTime": 0.8,
              "range": 15,
              "damageType": "arcane",
              "effects": [
                "Disable 4s",
                "Breaks on DMG"
              ],
              "animation": "wand_transform"
            },
            {
              "uuid": "SKIL-20260604081946-0000B3--442198A",
              "id": "wand_gravity",
              "name": "Gravity Well",
              "description": "Create vortex pulling enemies",
              "icon": "/icons/skills/class/frostmage/frostmage_08.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_08.png",
              "tier": 3,
              "damage": 60,
              "cooldown": 15,
              "castTime": 0.6,
              "range": 15,
              "damageType": "arcane",
              "effects": [
                "Pull 8m",
                "DoT 5s",
                "AoE 6m"
              ],
              "animation": "cast_vortex"
            },
            {
              "uuid": "SKIL-20260604081946-0000B4-59FE104A",
              "id": "wand_disintegrate",
              "name": "Disintegrate",
              "description": "Channeled beam, massive single-target",
              "icon": "/icons/skills/class/frostmage/frostmage_09.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_09.png",
              "tier": 4,
              "damage": 180,
              "cooldown": 18,
              "castTime": 0,
              "range": 20,
              "damageType": "arcane",
              "effects": [
                "Channel 3s",
                "Beam",
                "Armor Melt"
              ],
              "animation": "wand_beam"
            },
            {
              "uuid": "SKIL-20260604081946-0000B5-4E2489AD",
              "id": "wand_arcane_explosion",
              "name": "Arcane Explosion",
              "description": "Instant AoE burst around caster",
              "icon": "/icons/spells/explosion-magenta-1.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/spells/explosion-magenta-1.png",
              "tier": 5,
              "damage": 100,
              "cooldown": 8,
              "castTime": 0,
              "range": 6,
              "damageType": "arcane",
              "effects": [
                "Instant",
                "AoE 6m",
                "Knockback 4m"
              ],
              "animation": "cast_explosion"
            }
          ]
        },
        {
          "type": "ultimate",
          "label": "ULTIMATE",
          "unlockTier": 3,
          "skills": [
            {
              "uuid": "SKIL-20260604081946-0000B6-06A56DF3",
              "id": "wand_meteor_shower",
              "name": "Meteor Shower",
              "description": "Rain meteors on large area",
              "icon": "/icons/skills/class/frostmage/frostmage_10.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_10.png",
              "tier": 1,
              "damage": 250,
              "cooldown": 55,
              "castTime": 1,
              "range": 15,
              "damageType": "fire",
              "effects": [
                "AoE 12m",
                "6s Duration",
                "Burn 8s"
              ],
              "animation": "cast_meteor"
            },
            {
              "uuid": "SKIL-20260604081946-0000B7--7914383",
              "id": "wand_singularity",
              "name": "Void Singularity",
              "description": "Black hole pulling all, then explodes",
              "icon": "/icons/skills/class/frostmage/frostmage_11.png",
              "iconUrl": "https://assets.grudge-studio.com/game-assets/icons/skills/class/frostmage/frostmage_11.png",
              "tier": 4,
              "damage": 300,
              "cooldown": 75,
              "castTime": 1.5,
              "range": 15,
              "damageType": "shadow",
              "effects": [
                "Pull All 15m",
                "3s Charge",
                "Explode"
              ],
              "animation": "cast_void"
            }
          ]
        }
      ]
    }
  ],
  "vfxSpells": [
    {
      "id": "fire_slash",
      "name": "Fire Slash",
      "category": "fire",
      "description": "Burning melee slash trail following a cylinder arc. Trailing embers, heat distortion.",
      "tags": [
        "fire",
        "melee",
        "slash",
        "trail",
        "spline"
      ],
      "colors": {
        "primary": "#ff5500",
        "secondary": "#ffaa00",
        "ember": "#ff2200"
      },
      "timing": {
        "duration": 1.2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "fireball",
      "name": "Fireball",
      "category": "fire",
      "description": "Classic projectile fireball with leading core sphere, trailing embers and shockwave impact.",
      "tags": [
        "fire",
        "projectile",
        "impact",
        "spell",
        "aoe"
      ],
      "colors": {
        "primary": "#ff4400",
        "secondary": "#ffcc00",
        "core": "#ffffff"
      },
      "timing": {
        "duration": 2.5,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "inferno_aoe",
      "name": "Inferno AOE",
      "category": "fire",
      "description": "Ground-eruption AOE pillar of fire. Rising jets, ring of flames, ground scorch.",
      "tags": [
        "fire",
        "aoe",
        "ground",
        "pillar",
        "spell"
      ],
      "colors": {
        "primary": "#ff3300",
        "secondary": "#ffaa00"
      },
      "timing": {
        "duration": 3,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "frost_lance",
      "name": "Frost Lance",
      "category": "ice",
      "description": "Spear of ice — crystalline projectile with shattering impact and ice shard spray.",
      "tags": [
        "ice",
        "projectile",
        "impact",
        "spell",
        "crystal"
      ],
      "colors": {
        "primary": "#aaeeff",
        "secondary": "#ffffff",
        "core": "#00ccff"
      },
      "timing": {
        "duration": 1.8,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "blizzard_aoe",
      "name": "Blizzard AOE",
      "category": "ice",
      "description": "Howling arctic storm — spiral ice shards, snowflake particles, freezing ground pulse.",
      "tags": [
        "ice",
        "aoe",
        "storm",
        "spell",
        "freeze"
      ],
      "colors": {
        "primary": "#88ddff",
        "secondary": "#aaeeff"
      },
      "timing": {
        "duration": 4,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "ice_wall",
      "name": "Ice Wall Rise",
      "category": "ice",
      "description": "Wall of ice spires erupting from the ground.",
      "tags": [
        "ice",
        "aoe",
        "wall",
        "ground",
        "spell"
      ],
      "colors": {
        "primary": "#ccf0ff",
        "secondary": "#00aadd"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "chain_lightning",
      "name": "Chain Lightning",
      "category": "lightning",
      "description": "Lightning bolt arcing between two points, with branching sub-bolts and ground sparks.",
      "tags": [
        "lightning",
        "chain",
        "arc",
        "spell",
        "ray"
      ],
      "colors": {
        "primary": "#ffffff",
        "secondary": "#88aaff",
        "arc": "#aaddff"
      },
      "timing": {
        "duration": 1.5,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "lightning_storm",
      "name": "Lightning Storm",
      "category": "lightning",
      "description": "AOE storm — multiple bolts striking from above, radial sparks, thunder ring.",
      "tags": [
        "lightning",
        "aoe",
        "storm",
        "spell"
      ],
      "colors": {
        "primary": "#ffff88",
        "secondary": "#aaddff"
      },
      "timing": {
        "duration": 2.5,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "arcane_symbol",
      "name": "Arcane Multishot",
      "category": "arcane",
      "description": "Spinning arcane rune on ground, fires multiple projectile bolts in fan.",
      "tags": [
        "arcane",
        "multishot",
        "rune",
        "spell",
        "symbol"
      ],
      "colors": {
        "primary": "#cc44ff",
        "secondary": "#ff44cc"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "arcane_orb",
      "name": "Arcane Orb",
      "category": "arcane",
      "description": "Slow-moving purple orb with orbital particles and trailing magic wisps.",
      "tags": [
        "arcane",
        "projectile",
        "orb",
        "spell"
      ],
      "colors": {
        "primary": "#aa44ff",
        "secondary": "#ff88ff"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "arcane_nova",
      "name": "Arcane Nova",
      "category": "arcane",
      "description": "Explosive arcane blast — expanding rings, rune fragments, star burst.",
      "tags": [
        "arcane",
        "aoe",
        "nova",
        "explosion",
        "spell"
      ],
      "colors": {
        "primary": "#cc44ff",
        "secondary": "#4488ff"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "earth_wall",
      "name": "Earth Wall",
      "category": "earth",
      "description": "Rock spires erupt from ground in a line — earth bending wall with dust and debris.",
      "tags": [
        "earth",
        "wall",
        "aoe",
        "ground",
        "spell"
      ],
      "colors": {
        "primary": "#886644",
        "secondary": "#ccaa66"
      },
      "timing": {
        "duration": 2.5,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "earth_quake",
      "name": "Earthquake",
      "category": "earth",
      "description": "Radial ground-shatter AOE — cracks spread outward with dust columns and tremor rings.",
      "tags": [
        "earth",
        "aoe",
        "ground",
        "quake",
        "spell"
      ],
      "colors": {
        "primary": "#aa8855",
        "secondary": "#ddaa66"
      },
      "timing": {
        "duration": 3,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "nature_heal",
      "name": "Nature Heal",
      "category": "nature",
      "description": "Rising green wisps, leaf spiral, healing ring — AoE restore.",
      "tags": [
        "nature",
        "heal",
        "aoe",
        "spell",
        "wisp"
      ],
      "colors": {
        "primary": "#44cc66",
        "secondary": "#88ffaa"
      },
      "timing": {
        "duration": 3,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "nature_thorns",
      "name": "Thorn Burst",
      "category": "nature",
      "description": "Thorny vine spires erupt radially with leaf shrapnel and pollen particles.",
      "tags": [
        "nature",
        "aoe",
        "ground",
        "thorns",
        "spell"
      ],
      "colors": {
        "primary": "#228833",
        "secondary": "#66cc44"
      },
      "timing": {
        "duration": 2.5,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "impact_crater",
      "name": "Impact Crater",
      "category": "impact",
      "description": "Heavy projectile impact — ground crater shockwave, radial debris, dust column.",
      "tags": [
        "impact",
        "explosion",
        "ground",
        "projectile",
        "aoe"
      ],
      "colors": {
        "primary": "#ff6600",
        "secondary": "#ffcc44"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "portal_open",
      "name": "Portal Open",
      "category": "portal",
      "description": "Swirling dimensional rift — spiral vortex, energy rings, teleport shimmer.",
      "tags": [
        "portal",
        "teleport",
        "magic",
        "spell",
        "vortex"
      ],
      "colors": {
        "primary": "#4488ff",
        "secondary": "#aa44ff"
      },
      "timing": {
        "duration": 3,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "frost_slash",
      "name": "Frost Slash",
      "category": "ice",
      "description": "Icy crescent slash trail with crystalline shards along the arc.",
      "tags": [
        "ice",
        "melee",
        "slash",
        "trail",
        "spline"
      ],
      "colors": {
        "primary": "#88ddff",
        "secondary": "#ffffff"
      },
      "timing": {
        "duration": 1,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "holy_beam",
      "name": "Holy Beam",
      "category": "holy",
      "description": "Radiant pillar of divine light crashing from above.",
      "tags": [
        "holy",
        "beam",
        "light",
        "aoe",
        "spell"
      ],
      "colors": {
        "primary": "#ffe9a8",
        "secondary": "#fffdf0"
      },
      "timing": {
        "duration": 1.4,
        "loop": false,
        "speed": 1
      }
    },
    {
      "id": "poison_bolt",
      "name": "Poison Bolt",
      "category": "poison",
      "description": "Toxic green orb trailing venom wisps.",
      "tags": [
        "poison",
        "projectile",
        "dot",
        "spell"
      ],
      "colors": {
        "primary": "#44cc66",
        "secondary": "#aaff88"
      },
      "timing": {
        "duration": 2,
        "loop": false,
        "speed": 1
      }
    },
    {
      "id": "shadow_orb",
      "name": "Shadow Orb",
      "category": "arcane",
      "description": "Slow void orb that pulls motes inward as it travels.",
      "tags": [
        "arcane",
        "void",
        "projectile",
        "dark",
        "spell"
      ],
      "colors": {
        "primary": "#440066",
        "secondary": "#aa44ff"
      },
      "timing": {
        "duration": 2.5,
        "loop": false,
        "speed": 0.8
      }
    },
    {
      "id": "magma_burst",
      "name": "Magma Burst",
      "category": "fire",
      "description": "Violent ground eruption of molten rock and embers.",
      "tags": [
        "fire",
        "earth",
        "aoe",
        "ground",
        "spell"
      ],
      "colors": {
        "primary": "#ff2200",
        "secondary": "#ffaa00"
      },
      "timing": {
        "duration": 2,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "wind_gust",
      "name": "Wind Gust",
      "category": "wind",
      "description": "Expanding gust ring that pushes debris outward.",
      "tags": [
        "wind",
        "aoe",
        "knockback",
        "shockwave",
        "spell"
      ],
      "colors": {
        "primary": "#cceeff",
        "secondary": "#ffffff"
      },
      "timing": {
        "duration": 1.2,
        "loop": false,
        "speed": 1.2
      }
    },
    {
      "id": "flame_bolt",
      "name": "Flame Bolt",
      "category": "fire",
      "description": "Fast narrow fire bolt for rapid multishot skills.",
      "tags": [
        "fire",
        "projectile",
        "fast",
        "multishot",
        "spell"
      ],
      "colors": {
        "primary": "#ff5500",
        "secondary": "#ffcc44"
      },
      "timing": {
        "duration": 1.5,
        "loop": false,
        "speed": 1.4
      }
    },
    {
      "id": "arcane_slash",
      "name": "Arcane Slash",
      "category": "arcane",
      "description": "Purple arcane crescent with rune sparks along the trail.",
      "tags": [
        "arcane",
        "melee",
        "slash",
        "trail",
        "spell"
      ],
      "colors": {
        "primary": "#cc44ff",
        "secondary": "#ff88ff"
      },
      "timing": {
        "duration": 1.1,
        "loop": true,
        "speed": 1
      }
    },
    {
      "id": "void_rift",
      "name": "Void Rift",
      "category": "portal",
      "description": "Dark matter tear — black hole-like singularity pulling surrounding particles inward.",
      "tags": [
        "portal",
        "void",
        "dark",
        "aoe",
        "spell"
      ],
      "colors": {
        "primary": "#220033",
        "secondary": "#8800ff"
      },
      "timing": {
        "duration": 4,
        "loop": true,
        "speed": 1
      }
    }
  ],
  "vfxCategories": {
    "fire": {
      "name": "Fire",
      "color": "#ff4400",
      "count": 4
    },
    "ice": {
      "name": "Ice",
      "color": "#00ccff",
      "count": 4
    },
    "lightning": {
      "name": "Lightning",
      "color": "#ffff00",
      "count": 2
    },
    "arcane": {
      "name": "Arcane",
      "color": "#aa44ff",
      "count": 4
    },
    "earth": {
      "name": "Earth",
      "color": "#88aa44",
      "count": 2
    },
    "nature": {
      "name": "Nature",
      "color": "#44cc66",
      "count": 2
    },
    "impact": {
      "name": "Impact",
      "color": "#ff6600",
      "count": 1
    },
    "portal": {
      "name": "Portal",
      "color": "#4488ff",
      "count": 2
    },
    "holy": {
      "name": "Holy",
      "color": "#ffe9a8",
      "count": 1
    },
    "poison": {
      "name": "Poison",
      "color": "#44cc66",
      "count": 1
    },
    "wind": {
      "name": "Wind",
      "color": "#aaddff",
      "count": 1
    }
  }
}
