-- DynamicTooltips: Druid Spell Data (Classic/TBC)
-- TBC Spell Coefficients for Druid 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.Druid = {
    -- ========================================================================
    -- WRATH - All Ranks (sp=0.571, Nature, Direct)
    -- ========================================================================
    [5176] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 1, rank = 1, maxRank = 10 },
    [5177] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 6, rank = 2, maxRank = 10 },
    [5178] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 14, rank = 3, maxRank = 10 },
    [5179] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 22, rank = 4, maxRank = 10 },
    [5180] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 30, rank = 5, maxRank = 10 },
    [6780] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 38, rank = 6, maxRank = 10 },
    [8905] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 46, rank = 7, maxRank = 10 },
    [9912] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 54, rank = 8, maxRank = 10 },
    [26984] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 61, rank = 9, maxRank = 10 },
    [26985] = { name = "Wrath", sp = 0.571, school = "Nature", type = "Direct", level = 69, rank = 10, maxRank = 10 },

    -- ========================================================================
    -- STARFIRE - All Ranks (sp=1.0, Arcane, Direct)
    -- ========================================================================
    [2912] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 20, rank = 1, maxRank = 8 },
    [8949] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 26, rank = 2, maxRank = 8 },
    [8950] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 34, rank = 3, maxRank = 8 },
    [8951] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 42, rank = 4, maxRank = 8 },
    [9875] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 50, rank = 5, maxRank = 8 },
    [9876] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 58, rank = 6, maxRank = 8 },
    [25298] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 60, rank = 7, maxRank = 8 },
    [26986] = { name = "Starfire", sp = 1.0, school = "Arcane", type = "Direct", level = 67, rank = 8, maxRank = 8 },

    -- ========================================================================
    -- MOONFIRE - All Ranks (sp=0.15 direct + 0.52 DoT, Arcane)
    -- ========================================================================
    [8921] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 4, rank = 1, maxRank = 12 },
    [8924] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 10, rank = 2, maxRank = 12 },
    [8925] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 16, rank = 3, maxRank = 12 },
    [8926] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 22, rank = 4, maxRank = 12 },
    [8927] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 28, rank = 5, maxRank = 12 },
    [8928] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 34, rank = 6, maxRank = 12 },
    [8929] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 40, rank = 7, maxRank = 12 },
    [9833] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 46, rank = 8, maxRank = 12 },
    [9834] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 52, rank = 9, maxRank = 12 },
    [9835] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 58, rank = 10, maxRank = 12 },
    [26987] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 63, rank = 11, maxRank = 12 },
    [26988] = { name = "Moonfire", sp = 0.15, school = "Arcane", type = "Direct", dotSp = 0.52, duration = 12, level = 70, rank = 12, maxRank = 12 },

    -- ========================================================================
    -- HURRICANE - All Ranks (sp=0.129, Nature, Channel)
    -- ========================================================================
    [16914] = { name = "Hurricane", sp = 0.129, school = "Nature", type = "Channel", duration = 10, isAoE = true, level = 40, rank = 1, maxRank = 4 },
    [17401] = { name = "Hurricane", sp = 0.129, school = "Nature", type = "Channel", duration = 10, isAoE = true, level = 50, rank = 2, maxRank = 4 },
    [17402] = { name = "Hurricane", sp = 0.129, school = "Nature", type = "Channel", duration = 10, isAoE = true, level = 60, rank = 3, maxRank = 4 },
    [27012] = { name = "Hurricane", sp = 0.129, school = "Nature", type = "Channel", duration = 10, isAoE = true, level = 70, rank = 4, maxRank = 4 },

    -- ========================================================================
    -- INSECT SWARM - All Ranks (sp=0.76, Nature, DoT, Talent)
    -- ========================================================================
    [5570] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 20, rank = 1, maxRank = 6 },
    [24974] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 30, rank = 2, maxRank = 6 },
    [24975] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 40, rank = 3, maxRank = 6 },
    [24976] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 50, rank = 4, maxRank = 6 },
    [24977] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 60, rank = 5, maxRank = 6 },
    [27013] = { name = "Insect Swarm", sp = 0.76, school = "Nature", type = "DoT", duration = 12, ticks = 6, level = 70, rank = 6, maxRank = 6 },

    -- ========================================================================
    -- REGROWTH - All Ranks (sp=0.3 direct + 0.513 HoT, Nature)
    -- ========================================================================
    [8936] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 12, rank = 1, maxRank = 10 },
    [8938] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 18, rank = 2, maxRank = 10 },
    [8939] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 24, rank = 3, maxRank = 10 },
    [8940] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 30, rank = 4, maxRank = 10 },
    [8941] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 36, rank = 5, maxRank = 10 },
    [9750] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 42, rank = 6, maxRank = 10 },
    [9856] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 48, rank = 7, maxRank = 10 },
    [9857] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 54, rank = 8, maxRank = 10 },
    [9858] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 60, rank = 9, maxRank = 10 },
    [26980] = { name = "Regrowth", sp = 0.3, school = "Nature", type = "Direct", hotSp = 0.513, duration = 21, isHeal = true, level = 65, rank = 10, maxRank = 10 },

    -- ========================================================================
    -- REJUVENATION - All Ranks (sp=0.8, Nature, HoT)
    -- ========================================================================
    [774] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 4, rank = 1, maxRank = 13 },
    [1058] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 10, rank = 2, maxRank = 13 },
    [1430] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 16, rank = 3, maxRank = 13 },
    [2090] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 22, rank = 4, maxRank = 13 },
    [2091] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 28, rank = 5, maxRank = 13 },
    [3627] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 34, rank = 6, maxRank = 13 },
    [8910] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 40, rank = 7, maxRank = 13 },
    [9839] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 46, rank = 8, maxRank = 13 },
    [9840] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 52, rank = 9, maxRank = 13 },
    [9841] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 58, rank = 10, maxRank = 13 },
    [25299] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 60, rank = 11, maxRank = 13 },
    [26981] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 63, rank = 12, maxRank = 13 },
    [26982] = { name = "Rejuvenation", sp = 0.8, school = "Nature", type = "HoT", duration = 12, ticks = 4, isHeal = true, level = 69, rank = 13, maxRank = 13 },

    -- ========================================================================
    -- HEALING TOUCH - All Ranks (sp=1.611, Nature, Direct)
    -- ========================================================================
    [5185] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 1, rank = 1, maxRank = 13 },
    [5186] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 8, rank = 2, maxRank = 13 },
    [5187] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 14, rank = 3, maxRank = 13 },
    [5188] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 20, rank = 4, maxRank = 13 },
    [5189] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 26, rank = 5, maxRank = 13 },
    [6778] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 32, rank = 6, maxRank = 13 },
    [8903] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 38, rank = 7, maxRank = 13 },
    [9758] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 44, rank = 8, maxRank = 13 },
    [9888] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 50, rank = 9, maxRank = 13 },
    [9889] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 56, rank = 10, maxRank = 13 },
    [25297] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 60, rank = 11, maxRank = 13 },
    [26978] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 62, rank = 12, maxRank = 13 },
    [26979] = { name = "Healing Touch", sp = 1.611, school = "Nature", type = "Direct", isHeal = true, level = 69, rank = 13, maxRank = 13 },

    -- ========================================================================
    -- LIFEBLOOM (sp=0.286 HoT + 0.343 bloom, Nature)
    -- ========================================================================
    [33763] = { name = "Lifebloom", sp = 0.286, school = "Nature", type = "HoT", duration = 7, ticks = 7, bloomSp = 0.343, isHeal = true, level = 64, rank = 1, maxRank = 1 },

    -- ========================================================================
    -- SWIFTMEND (sp=1.0, Nature, Talent)
    -- ========================================================================
    [18562] = { name = "Swiftmend", sp = 1.0, school = "Nature", type = "Direct", isHeal = true, level = 20, rank = 1, maxRank = 1 },

    -- ========================================================================
    -- THORNS - All Ranks (sp=0.033, Nature, Proc)
    -- ========================================================================
    [467] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 6, rank = 1, maxRank = 7 },
    [782] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 14, rank = 2, maxRank = 7 },
    [1075] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 24, rank = 3, maxRank = 7 },
    [8914] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 34, rank = 4, maxRank = 7 },
    [9756] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 44, rank = 5, maxRank = 7 },
    [9910] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 54, rank = 6, maxRank = 7 },
    [26992] = { name = "Thorns", sp = 0.033, school = "Nature", type = "Proc", level = 64, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- MARK OF THE WILD - All Ranks (no coefficient)
    -- ========================================================================
    [1126] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 1, rank = 1, maxRank = 8 },
    [5232] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 10, rank = 2, maxRank = 8 },
    [6756] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 20, rank = 3, maxRank = 8 },
    [5234] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 30, rank = 4, maxRank = 8 },
    [8907] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 40, rank = 5, maxRank = 8 },
    [9884] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 50, rank = 6, maxRank = 8 },
    [9885] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 60, rank = 7, maxRank = 8 },
    [26990] = { name = "Mark of the Wild", sp = 0, type = "Buff", level = 70, rank = 8, maxRank = 8 },

    -- ========================================================================
    -- FERAL - MAUL - All Ranks (wd=1.0, Physical, Melee)
    -- ========================================================================
    [6807] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 10, rank = 1, maxRank = 8 },
    [6808] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 18, rank = 2, maxRank = 8 },
    [6809] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 26, rank = 3, maxRank = 8 },
    [8972] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 34, rank = 4, maxRank = 8 },
    [9745] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 42, rank = 5, maxRank = 8 },
    [9880] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 50, rank = 6, maxRank = 8 },
    [9881] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 58, rank = 7, maxRank = 8 },
    [26996] = { name = "Maul", sp = 0, wd = 1.0, school = "Physical", type = "Melee", level = 67, rank = 8, maxRank = 8 },

    -- ========================================================================
    -- FERAL - SWIPE - All Ranks (ap=0.07, flat + 7% AP, Melee AoE)
    -- ========================================================================
    [779] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 16, rank = 1, maxRank = 6 },
    [780] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 24, rank = 2, maxRank = 6 },
    [769] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 34, rank = 3, maxRank = 6 },
    [9754] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 44, rank = 4, maxRank = 6 },
    [9908] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 54, rank = 5, maxRank = 6 },
    [26997] = { name = "Swipe", sp = 0, ap = 0.07, type = "Melee", school = "Physical", isAoE = true, level = 64, rank = 6, maxRank = 6 },

    -- ========================================================================
    -- FERAL - RAKE - All Ranks (ap=0.01 initial, dotAp=0.06 over 9s, Melee)
    -- ========================================================================
    [1822] = { name = "Rake", sp = 0, ap = 0.01, dotAp = 0.06, type = "Melee", school = "Physical", duration = 9, ticks = 3, level = 24, rank = 1, maxRank = 5 },
    [1823] = { name = "Rake", sp = 0, ap = 0.01, dotAp = 0.06, type = "Melee", school = "Physical", duration = 9, ticks = 3, level = 34, rank = 2, maxRank = 5 },
    [1824] = { name = "Rake", sp = 0, ap = 0.01, dotAp = 0.06, type = "Melee", school = "Physical", duration = 9, ticks = 3, level = 44, rank = 3, maxRank = 5 },
    [9904] = { name = "Rake", sp = 0, ap = 0.01, dotAp = 0.06, type = "Melee", school = "Physical", duration = 9, ticks = 3, level = 54, rank = 4, maxRank = 5 },
    [27003] = { name = "Rake", sp = 0, ap = 0.01, dotAp = 0.06, type = "Melee", school = "Physical", duration = 9, ticks = 3, level = 64, rank = 5, maxRank = 5 },

    -- ========================================================================
    -- FERAL - RIP - All Ranks (ap=0.06 per CP over 12s, Physical, DoT)
    -- 6 ticks over 12 sec, AP scales per combo point (0.01 per tick per CP)
    -- ========================================================================
    [1079] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 20, rank = 1, maxRank = 7 },
    [9492] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 28, rank = 2, maxRank = 7 },
    [9493] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 36, rank = 3, maxRank = 7 },
    [9752] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 44, rank = 4, maxRank = 7 },
    [9894] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 52, rank = 5, maxRank = 7 },
    [9896] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 60, rank = 6, maxRank = 7 },
    [27008] = { name = "Rip", sp = 0, ap = 0.06, school = "Physical", type = "DoT", duration = 12, ticks = 6, isFinisher = true, level = 67, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- FERAL - FEROCIOUS BITE - All Ranks (ap=0.03 per CP, Physical, Melee)
    -- ========================================================================
    [22568] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 32, rank = 1, maxRank = 6 },
    [22827] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 40, rank = 2, maxRank = 6 },
    [22828] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 48, rank = 3, maxRank = 6 },
    [22829] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 56, rank = 4, maxRank = 6 },
    [31018] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 60, rank = 5, maxRank = 6 },
    [24248] = { name = "Ferocious Bite", sp = 0, ap = 0.03, school = "Physical", type = "Melee", isFinisher = true, level = 63, rank = 6, maxRank = 6 },

    -- ========================================================================
    -- FERAL - SHRED - All Ranks (wd=2.25, 225% weapon damage, Physical, Melee)
    -- ========================================================================
    [5221] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 22, rank = 1, maxRank = 7 },
    [6800] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 30, rank = 2, maxRank = 7 },
    [8992] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 38, rank = 3, maxRank = 7 },
    [9829] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 46, rank = 4, maxRank = 7 },
    [9830] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 54, rank = 5, maxRank = 7 },
    [27001] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 61, rank = 6, maxRank = 7 },
    [27002] = { name = "Shred", sp = 0, wd = 2.25, school = "Physical", type = "Melee", level = 70, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- FERAL - MANGLE (CAT) - All Ranks (wd=1.6, 160% weapon damage, Physical)
    -- Talent: Feral Combat
    -- ========================================================================
    [33876] = { name = "Mangle (Cat)", sp = 0, wd = 1.6, school = "Physical", type = "Melee", level = 50, rank = 1, maxRank = 3 },
    [33982] = { name = "Mangle (Cat)", sp = 0, wd = 1.6, school = "Physical", type = "Melee", level = 58, rank = 2, maxRank = 3 },
    [33983] = { name = "Mangle (Cat)", sp = 0, wd = 1.6, school = "Physical", type = "Melee", level = 68, rank = 3, maxRank = 3 },

    -- ========================================================================
    -- FERAL - MANGLE (BEAR) - All Ranks (wd=1.15, 115% weapon damage, Physical)
    -- Talent: Feral Combat
    -- ========================================================================
    [33878] = { name = "Mangle (Bear)", sp = 0, wd = 1.15, school = "Physical", type = "Melee", level = 50, rank = 1, maxRank = 3 },
    [33986] = { name = "Mangle (Bear)", sp = 0, wd = 1.15, school = "Physical", type = "Melee", level = 58, rank = 2, maxRank = 3 },
    [33987] = { name = "Mangle (Bear)", sp = 0, wd = 1.15, school = "Physical", type = "Melee", level = 68, rank = 3, maxRank = 3 },

    -- ========================================================================
    -- FERAL - RAVAGE - All Ranks (wd=3.85, 385% weapon damage, Physical)
    -- Must be stealthed, requires behind target
    -- ========================================================================
    [6785] = { name = "Ravage", sp = 0, wd = 3.85, school = "Physical", type = "Melee", level = 32, rank = 1, maxRank = 5 },
    [6787] = { name = "Ravage", sp = 0, wd = 3.85, school = "Physical", type = "Melee", level = 40, rank = 2, maxRank = 5 },
    [9866] = { name = "Ravage", sp = 0, wd = 3.85, school = "Physical", type = "Melee", level = 48, rank = 3, maxRank = 5 },
    [9867] = { name = "Ravage", sp = 0, wd = 3.85, school = "Physical", type = "Melee", level = 56, rank = 4, maxRank = 5 },
    [27005] = { name = "Ravage", sp = 0, wd = 3.85, school = "Physical", type = "Melee", level = 67, rank = 5, maxRank = 5 },

    -- ========================================================================
    -- FERAL - LACERATE - Rank 1 (ap=0.05 initial + dotAp=0.05 bleed, Physical)
    -- Initial Physical damage + bleed DoT over 15 sec (5 ticks), stacks up to 5
    -- ========================================================================
    [33745] = { name = "Lacerate", sp = 0, ap = 0.05, dotAp = 0.05, school = "Physical", type = "Melee", duration = 15, ticks = 5, level = 66, rank = 1, maxRank = 1 },

    -- ========================================================================
    -- UTILITY & BUFFS
    -- ========================================================================
    [33831] = { name = "Force of Nature", sp = 0, type = "Pet" },
    [22842] = { name = "Frenzied Regeneration", sp = 0, type = "Ability" },

    -- ========================================================================
    -- FORMS (No coefficient)
    -- ========================================================================
    [5487] = { name = "Bear Form", sp = 0, type = "Form" },
    [768] = { name = "Cat Form", sp = 0, type = "Form" },
    [33943] = { name = "Flight Form", sp = 0, type = "Form" },
    [5215] = { name = "Prowl", sp = 0, type = "Ability" },
    [1850] = { name = "Dash", sp = 0, type = "Ability" },
    [9005] = { name = "Pounce", sp = 0, wd = 0, school = "Physical", type = "Melee" },

    -- ========================================================================
    -- ENTANGLING ROOTS - All Ranks (sp=0.33, Nature, DoT + CC)
    -- Deals Nature damage over 12 sec while rooting the target
    -- ========================================================================
    [339] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 8, rank = 1, maxRank = 7 },
    [1062] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 18, rank = 2, maxRank = 7 },
    [5195] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 28, rank = 3, maxRank = 7 },
    [5196] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 38, rank = 4, maxRank = 7 },
    [9852] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 48, rank = 5, maxRank = 7 },
    [9853] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 58, rank = 6, maxRank = 7 },
    [26989] = { name = "Entangling Roots", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 69, rank = 7, maxRank = 7 },

    -- ========================================================================
    -- NATURE'S GRASP - All Ranks (sp=0.33, Nature, Proc → Entangling Roots)
    -- Procs Entangling Roots of equivalent rank on attackers
    -- Uses same sp coefficient as Entangling Roots for damage display
    -- ========================================================================
    [16689] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 10, rank = 1, maxRank = 7 },
    [16810] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 18, rank = 2, maxRank = 7 },
    [16811] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 28, rank = 3, maxRank = 7 },
    [16812] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 38, rank = 4, maxRank = 7 },
    [16813] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 48, rank = 5, maxRank = 7 },
    [17329] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 58, rank = 6, maxRank = 7 },
    [27009] = { name = "Nature's Grasp", sp = 0.33, school = "Nature", type = "DoT", duration = 12, ticks = 4, level = 69, rank = 7, maxRank = 7 },
}
