-- DynamicTooltips: Shaman Spell Data (Classic/TBC)
-- TBC Spell Coefficients for Shaman class
-- Training levels sourced from TBC Classic Wowhead

local _, DT = ...
DT.ClassData = DT.ClassData or {}

-- Skip Classic data on Retail
if DT.isRetail then return end

DT.ClassData.Shaman = {
    -- ========================================================================
    -- LIGHTNING BOLT - All Ranks (sp=0.794, Nature, Direct)
    -- ========================================================================
    [403] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 1, rank = 1, maxRank = 12 },
    [529] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 8, rank = 2, maxRank = 12 },
    [548] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 14, rank = 3, maxRank = 12 },
    [915] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 20, rank = 4, maxRank = 12 },
    [943] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 26, rank = 5, maxRank = 12 },
    [6041] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 32, rank = 6, maxRank = 12 },
    [10391] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 38, rank = 7, maxRank = 12 },
    [10392] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 44, rank = 8, maxRank = 12 },
    [15207] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 50, rank = 9, maxRank = 12 },
    [15208] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 56, rank = 10, maxRank = 12 },
    [25448] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 63, rank = 11, maxRank = 12 },
    [25449] = { name = "Lightning Bolt", sp = 0.794, school = "Nature", type = "Direct", level = 69, rank = 12, maxRank = 12 },

    -- ========================================================================
    -- CHAIN LIGHTNING - All Ranks (sp=0.571, Nature, Direct, 3 targets, -30% per jump)
    -- ========================================================================
    [421] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 32, rank = 1, maxRank = 6 },
    [930] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 40, rank = 2, maxRank = 6 },
    [2860] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 48, rank = 3, maxRank = 6 },
    [10605] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 56, rank = 4, maxRank = 6 },
    [25439] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 63, rank = 5, maxRank = 6 },
    [25442] = { name = "Chain Lightning", sp = 0.571, school = "Nature", type = "Direct", chainTargets = 3, chainReduction = 0.30, level = 70, rank = 6, maxRank = 6 },

    -- ========================================================================
    -- EARTH SHOCK - All Ranks (sp=0.386, Nature, Direct)
    -- ========================================================================
    [8042] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 4, rank = 1, maxRank = 8 },
    [8044] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 8, rank = 2, maxRank = 8 },
    [8045] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 16, rank = 3, maxRank = 8 },
    [8046] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 24, rank = 4, maxRank = 8 },
    [10412] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 36, rank = 5, maxRank = 8 },
    [10413] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 48, rank = 6, maxRank = 8 },
    [10414] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 60, rank = 7, maxRank = 8 },
    [25454] = { name = "Earth Shock", sp = 0.386, school = "Nature", type = "Direct", level = 69, rank = 8, maxRank = 8 },

    -- ========================================================================
    -- FLAME SHOCK - All Ranks (sp=0.15 direct + 0.52 DoT, Fire)
    -- ========================================================================
    [8050] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 10, rank = 1, maxRank = 7 },
    [8052] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 18, rank = 2, maxRank = 7 },
    [8053] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 28, rank = 3, maxRank = 7 },
    [10447] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 40, rank = 4, maxRank = 7 },
    [10448] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 52, rank = 5, maxRank = 7 },
    [29228] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 60, rank = 6, maxRank = 7 },
    [25457] = { name = "Flame Shock", sp = 0.15, school = "Fire", type = "Direct", dotSp = 0.52, duration = 12, level = 67, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- FROST SHOCK - All Ranks (sp=0.386, Frost, Direct)
    -- ========================================================================
    [8056] = { name = "Frost Shock", sp = 0.386, school = "Frost", type = "Direct", level = 20, rank = 1, maxRank = 5 },
    [8058] = { name = "Frost Shock", sp = 0.386, school = "Frost", type = "Direct", level = 34, rank = 2, maxRank = 5 },
    [10472] = { name = "Frost Shock", sp = 0.386, school = "Frost", type = "Direct", level = 46, rank = 3, maxRank = 5 },
    [10473] = { name = "Frost Shock", sp = 0.386, school = "Frost", type = "Direct", level = 58, rank = 4, maxRank = 5 },
    [25464] = { name = "Frost Shock", sp = 0.386, school = "Frost", type = "Direct", level = 68, rank = 5, maxRank = 5 },

    -- ========================================================================
    -- LIGHTNING SHIELD - All Ranks (sp=0.33, Nature, Proc)
    -- ========================================================================
    [324] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 8, rank = 1, maxRank = 9 },
    [325] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 16, rank = 2, maxRank = 9 },
    [905] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 24, rank = 3, maxRank = 9 },
    [945] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 32, rank = 4, maxRank = 9 },
    [8134] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 40, rank = 5, maxRank = 9 },
    [10431] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 48, rank = 6, maxRank = 9 },
    [10432] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 56, rank = 7, maxRank = 9 },
    [25469] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 63, rank = 8, maxRank = 9 },
    [25472] = { name = "Lightning Shield", sp = 0.33, school = "Nature", type = "Proc", level = 70, rank = 9, maxRank = 9 },

    -- ========================================================================
    -- HEALING WAVE - All Ranks (sp=0.857, Nature, Direct Heal)
    -- ========================================================================
    [331] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 1, rank = 1, maxRank = 12 },
    [332] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 6, rank = 2, maxRank = 12 },
    [547] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 12, rank = 3, maxRank = 12 },
    [913] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 18, rank = 4, maxRank = 12 },
    [939] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 24, rank = 5, maxRank = 12 },
    [959] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 32, rank = 6, maxRank = 12 },
    [8005] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 40, rank = 7, maxRank = 12 },
    [10395] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 48, rank = 8, maxRank = 12 },
    [10396] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 56, rank = 9, maxRank = 12 },
    [25357] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 60, rank = 10, maxRank = 12 },
    [25391] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 63, rank = 11, maxRank = 12 },
    [25396] = { name = "Healing Wave", sp = 0.857, school = "Nature", type = "Direct", isHeal = true, level = 70, rank = 12, maxRank = 12 },

    -- ========================================================================
    -- LESSER HEALING WAVE - All Ranks (sp=0.429, Nature, Direct Heal)
    -- ========================================================================
    [8004] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 20, rank = 1, maxRank = 7 },
    [8008] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 28, rank = 2, maxRank = 7 },
    [8010] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 36, rank = 3, maxRank = 7 },
    [10466] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 44, rank = 4, maxRank = 7 },
    [10467] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 52, rank = 5, maxRank = 7 },
    [10468] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 60, rank = 6, maxRank = 7 },
    [25420] = { name = "Lesser Healing Wave", sp = 0.429, school = "Nature", type = "Direct", isHeal = true, level = 69, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- CHAIN HEAL - All Ranks (sp=0.714, Nature, Direct Heal, 3 targets, -50% per jump)
    -- ========================================================================
    [1064] = { name = "Chain Heal", sp = 0.714, school = "Nature", type = "Direct", isHeal = true, chainTargets = 3, chainReduction = 0.50, level = 40, rank = 1, maxRank = 5 },
    [10622] = { name = "Chain Heal", sp = 0.714, school = "Nature", type = "Direct", isHeal = true, chainTargets = 3, chainReduction = 0.50, level = 46, rank = 2, maxRank = 5 },
    [10623] = { name = "Chain Heal", sp = 0.714, school = "Nature", type = "Direct", isHeal = true, chainTargets = 3, chainReduction = 0.50, level = 54, rank = 3, maxRank = 5 },
    [25422] = { name = "Chain Heal", sp = 0.714, school = "Nature", type = "Direct", isHeal = true, chainTargets = 3, chainReduction = 0.50, level = 61, rank = 4, maxRank = 5 },
    [25423] = { name = "Chain Heal", sp = 0.714, school = "Nature", type = "Direct", isHeal = true, chainTargets = 3, chainReduction = 0.50, level = 69, rank = 5, maxRank = 5 },

    -- ========================================================================
    -- EARTH SHIELD - All Ranks (sp=0.286, Nature, Shield, Talent)
    -- ========================================================================
    [974] = { name = "Earth Shield", sp = 0.286, school = "Nature", type = "Shield", isHeal = true, baseDamage = 150, level = 50, rank = 1, maxRank = 3 },
    [32593] = { name = "Earth Shield", sp = 0.286, school = "Nature", type = "Shield", isHeal = true, baseDamage = 205, level = 60, rank = 2, maxRank = 3 },
    [32594] = { name = "Earth Shield", sp = 0.286, school = "Nature", type = "Shield", isHeal = true, baseDamage = 270, level = 70, rank = 3, maxRank = 3 },

    -- ========================================================================
    -- MAGMA TOTEM - All Ranks (sp=0.067, Fire, DoT)
    -- ========================================================================
    [8190] = { name = "Magma Totem", sp = 0.067, school = "Fire", type = "DoT", level = 26, rank = 1, maxRank = 5 },
    [10585] = { name = "Magma Totem", sp = 0.067, school = "Fire", type = "DoT", level = 36, rank = 2, maxRank = 5 },
    [10586] = { name = "Magma Totem", sp = 0.067, school = "Fire", type = "DoT", level = 46, rank = 3, maxRank = 5 },
    [10587] = { name = "Magma Totem", sp = 0.067, school = "Fire", type = "DoT", level = 56, rank = 4, maxRank = 5 },
    [25552] = { name = "Magma Totem", sp = 0.067, school = "Fire", type = "DoT", level = 66, rank = 5, maxRank = 5 },

    -- ========================================================================
    -- FIRE NOVA TOTEM - All Ranks (sp=0.214, Fire, Direct)
    -- ========================================================================
    [1535] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 12, rank = 1, maxRank = 7 },
    [8498] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 22, rank = 2, maxRank = 7 },
    [8499] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 32, rank = 3, maxRank = 7 },
    [11314] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 40, rank = 4, maxRank = 7 },
    [11315] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 52, rank = 5, maxRank = 7 },
    [25546] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 60, rank = 6, maxRank = 7 },
    [25547] = { name = "Fire Nova Totem", sp = 0.214, school = "Fire", type = "Direct", level = 68, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- SEARING TOTEM - All Ranks (sp=0.167, Fire, Direct)
    -- ========================================================================
    [3599] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 10, rank = 1, maxRank = 7 },
    [6363] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 22, rank = 2, maxRank = 7 },
    [6364] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 34, rank = 3, maxRank = 7 },
    [6365] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 44, rank = 4, maxRank = 7 },
    [10437] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 52, rank = 5, maxRank = 7 },
    [10438] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 60, rank = 6, maxRank = 7 },
    [25533] = { name = "Searing Totem", sp = 0.167, school = "Fire", type = "Direct", level = 67, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- HEALING STREAM TOTEM - All Ranks (sp=0.045, Nature, Totem Tick)
    -- Ticks every 2 seconds; "for X every Y seconds" parse pattern
    -- ========================================================================
    [5394] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 20, rank = 1, maxRank = 6 },
    [6375] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 30, rank = 2, maxRank = 6 },
    [6377] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 40, rank = 3, maxRank = 6 },
    [10462] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 50, rank = 4, maxRank = 6 },
    [10463] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 60, rank = 5, maxRank = 6 },
    [25567] = { name = "Healing Stream Totem", sp = 0.045, school = "Nature", type = "TotemTick", isHeal = true, isTotemTick = true, tickInterval = 2, level = 69, rank = 6, maxRank = 6 },

    -- ========================================================================
    -- TOTEMS (No coefficient)
    -- ========================================================================
    [30706] = { name = "Totem of Wrath", sp = 0, type = "Totem" },
    [2894] = { name = "Fire Elemental Totem", sp = 0, type = "Pet" },
    [2062] = { name = "Earth Elemental Totem", sp = 0, type = "Pet" },
    [5730] = { name = "Stoneclaw Totem", sp = 0, type = "Totem" },
    [8071] = { name = "Stoneskin Totem", sp = 0, type = "Totem" },
    [8075] = { name = "Strength of Earth Totem", sp = 0, type = "Totem" },
    [8512] = { name = "Windfury Totem", sp = 0, type = "Totem" },
    [8177] = { name = "Grounding Totem", sp = 0, type = "Totem" },
    [8181] = { name = "Frost Resistance Totem", sp = 0, type = "Totem" },
    [8184] = { name = "Fire Resistance Totem", sp = 0, type = "Totem" },
    [10595] = { name = "Nature Resistance Totem", sp = 0, type = "Totem" },
    -- ========================================================================
    -- MANA SPRING TOTEM - All Ranks (no coefficient, restores mana every 2 sec)
    -- ========================================================================
    [5675]  = { name = "Mana Spring Totem", sp = 0, school = "Nature", type = "TotemTick", isManaRestore = true, isTotemTick = true, tickInterval = 2, level = 26, rank = 1, maxRank = 5 },
    [10495] = { name = "Mana Spring Totem", sp = 0, school = "Nature", type = "TotemTick", isManaRestore = true, isTotemTick = true, tickInterval = 2, level = 36, rank = 2, maxRank = 5 },
    [10496] = { name = "Mana Spring Totem", sp = 0, school = "Nature", type = "TotemTick", isManaRestore = true, isTotemTick = true, tickInterval = 2, level = 46, rank = 3, maxRank = 5 },
    [10497] = { name = "Mana Spring Totem", sp = 0, school = "Nature", type = "TotemTick", isManaRestore = true, isTotemTick = true, tickInterval = 2, level = 56, rank = 4, maxRank = 5 },
    [25570] = { name = "Mana Spring Totem", sp = 0, school = "Nature", type = "TotemTick", isManaRestore = true, isTotemTick = true, tickInterval = 2, level = 65, rank = 5, maxRank = 5 },
    [8227] = { name = "Flametongue Totem", sp = 0, type = "Totem" },
    [3738] = { name = "Wrath of Air Totem", sp = 0, type = "Totem" },
    [8143] = { name = "Tremor Totem", sp = 0, type = "Totem" },
    [8166] = { name = "Poison Cleansing Totem", sp = 0, type = "Totem" },
    [8170] = { name = "Disease Cleansing Totem", sp = 0, type = "Totem" },
    [8835] = { name = "Grace of Air Totem", sp = 0, type = "Totem" },

    -- ========================================================================
    -- WEAPON ENCHANTS
    -- ========================================================================

    -- Windfury Weapon - All Ranks (20% proc chance, 2 extra attacks with bonus AP)
    -- DPS = 2 × (avgWD + bonusAP/14 × weapSpeed) × 0.2 / hasteSpeed
    [8232]  = { name = "Windfury Weapon", sp = 0, type = "Enchant", enchantProcChance = 0.2, enchantExtraSwings = 2, bonusAP = 46,  level = 30, rank = 1, maxRank = 5 },
    [8235]  = { name = "Windfury Weapon", sp = 0, type = "Enchant", enchantProcChance = 0.2, enchantExtraSwings = 2, bonusAP = 119, level = 40, rank = 2, maxRank = 5 },
    [10486] = { name = "Windfury Weapon", sp = 0, type = "Enchant", enchantProcChance = 0.2, enchantExtraSwings = 2, bonusAP = 249, level = 50, rank = 3, maxRank = 5 },
    [16362] = { name = "Windfury Weapon", sp = 0, type = "Enchant", enchantProcChance = 0.2, enchantExtraSwings = 2, bonusAP = 333, level = 60, rank = 4, maxRank = 5 },
    [25505] = { name = "Windfury Weapon", sp = 0, type = "Enchant", enchantProcChance = 0.2, enchantExtraSwings = 2, bonusAP = 445, level = 64, rank = 5, maxRank = 5 },

    -- Flametongue Weapon - All Ranks (sp=0.1, Fire, Enchant)
    -- SP coefficient per hit = 0.1 (flat, not weapon speed dependent)
    -- Base fire damage per hit scales with weapon speed (baked into tooltip)
    -- DPS = (baseDmgPerHit + SP * 0.1) / hasteAttackSpeed
    [8024]  = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 10, rank = 1, maxRank = 8 },
    [8027]  = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 18, rank = 2, maxRank = 8 },
    [8030]  = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 26, rank = 3, maxRank = 8 },
    [16339] = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 34, rank = 4, maxRank = 8 },
    [16341] = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 42, rank = 5, maxRank = 8 },
    [16342] = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 50, rank = 6, maxRank = 8 },
    [16345] = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 58, rank = 7, maxRank = 8 },
    [25489] = { name = "Flametongue Weapon", sp = 0.1, school = "Fire", type = "Enchant", weaponSpeedScaling = true, level = 64, rank = 8, maxRank = 8 },

    -- Frostbrand Weapon - All Ranks (sp=0.1, Frost, Enchant)
    -- Flat damage per hit + 10% SP, not weapon-speed-scaled
    -- DPS = (baseDmgPerHit + SP * 0.1) / hasteAttackSpeed
    [8033]  = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 20, rank = 1, maxRank = 6 },
    [8038]  = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 28, rank = 2, maxRank = 6 },
    [10456] = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 36, rank = 3, maxRank = 6 },
    [16355] = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 44, rank = 4, maxRank = 6 },
    [16356] = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 52, rank = 5, maxRank = 6 },
    [25500] = { name = "Frostbrand Weapon", sp = 0.1, school = "Frost", type = "Enchant", weaponSpeedScaling = true, level = 62, rank = 6, maxRank = 6 },

    [8017] = { name = "Rockbiter Weapon", sp = 0, type = "Enchant" },

    -- ========================================================================
    -- ENHANCEMENT (Melee)
    -- ========================================================================
    [17364] = { name = "Stormstrike", sp = 0, wd = 1.0, school = "Nature", type = "Melee", isDualWield = true },

    -- ========================================================================
    -- UTILITY
    -- ========================================================================
    [546] = { name = "Water Walking", sp = 0, type = "Buff" },
    [131] = { name = "Water Breathing", sp = 0, type = "Buff" },
    [556] = { name = "Astral Recall", sp = 0, type = "Ability" },
    [2645] = { name = "Ghost Wolf", sp = 0, type = "Form" },
    [526] = { name = "Cure Toxins", sp = 0, type = "Dispel" },
    [8012] = { name = "Purge", sp = 0, type = "Dispel" },
    [2008] = { name = "Ancestral Spirit", sp = 0, type = "Ress" },
}
