-- DynamicTooltips: Warrior Spell Data (Retail)
-- Updated for The War Within / Midnight expansion
-- Attack Power coefficients for Retail WoW scaling system

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

-- Only load Retail data if running on Retail client
if DT.isRetail == false then return end

DT.ClassData.Warrior = {
    -- ========================================================================
    -- ARMS SPEC
    -- ========================================================================
    
    -- Mortal Strike - Primary single-target spender
    [12294] = { name = "Mortal Strike", ap = 1.90, school = "Physical", type = "Direct", spec = "Arms" },
    
    -- Overpower - Proc-based attack
    [7384] = { name = "Overpower", ap = 0.85, school = "Physical", type = "Direct", spec = "Arms" },
    
    -- Slam - Rage dump
    [1464] = { name = "Slam", ap = 0.95, school = "Physical", type = "Direct", spec = "Arms" },
    
    -- Execute (Arms) - Execute phase finisher
    [163201] = { name = "Execute", ap = 2.10, school = "Physical", type = "Direct", spec = "Arms" },
    
    -- Bladestorm (Arms) - Channeled AoE
    [227847] = { name = "Bladestorm", ap = 0.55, school = "Physical", type = "Channel", duration = 6, isAoE = true, spec = "Arms" },
    
    -- Sweeping Strikes - Cleave buff
    [260708] = { name = "Sweeping Strikes", ap = 0, type = "Buff", duration = 15, note = "Abilities hit 1 additional target", spec = "Arms" },
    
    -- Colossus Smash - Armor debuff
    [167105] = { name = "Colossus Smash", ap = 1.05, school = "Physical", type = "Direct", note = "25% increased damage taken debuff", spec = "Arms" },
    
    -- Warbreaker - AoE Colossus Smash replacement
    [262161] = { name = "Warbreaker", ap = 1.15, school = "Physical", type = "Direct", isAoE = true, note = "Applies Colossus Smash to all targets", spec = "Arms" },
    
    -- Skullsplitter - Rage generator
    [260643] = { name = "Skullsplitter", ap = 1.00, school = "Physical", type = "Direct", spec = "Arms" },
    
    -- Deep Wounds (Arms) - Bleed DoT from Mortal Strike
    [262115] = { name = "Deep Wounds", ap = 0.32, school = "Physical", type = "Bleed", duration = 12, spec = "Arms" },
    
    -- Rend - Applied bleed DoT
    [772] = { name = "Rend", ap = 0.24, school = "Physical", type = "Bleed", duration = 15, spec = "Arms" },
    
    -- Cleave (Arms) - AoE strike
    [845] = { name = "Cleave", ap = 0.70, school = "Physical", type = "Direct", isAoE = true, spec = "Arms" },
    
    -- Die by the Sword - Defensive cooldown
    [118038] = { name = "Die by the Sword", ap = 0, type = "Defensive", duration = 8, note = "100% parry, 30% damage reduction", spec = "Arms" },
    
    -- Thunderous Roar - AoE bleed application (see Shared abilities)
    
    -- Ignore Pain (Arms) - Active mitigation (uses same ID as Protection: 190456)
    
    -- Dreadnaught - Overpower AoE proc
    [262150] = { name = "Dreadnaught", ap = 0.50, school = "Physical", type = "Direct", isAoE = true, spec = "Arms" },
    
    -- Fatality - Execute buff proc
    [383703] = { name = "Fatality", ap = 0, type = "Buff", note = "+25% Mortal Strike damage", spec = "Arms" },
    
    -- Executioner's Precision - Mortal Strike debuff
    [386634] = { name = "Executioner's Precision", ap = 0, type = "Debuff", note = "+35% Execute damage", spec = "Arms" },
    
    -- ========================================================================
    -- FURY SPEC
    -- ========================================================================
    
    -- Bloodthirst - Primary generator
    [23881] = { name = "Bloodthirst", ap = 1.10, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Raging Blow - Main damage ability
    [85288] = { name = "Raging Blow", ap = 1.35, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Rampage - Rage spender, AoE
    [184367] = { name = "Rampage", ap = 1.85, school = "Physical", type = "Direct", isAoE = true, spec = "Fury" },
    
    -- Execute (Fury) - Execute phase finisher
    [5308] = { name = "Execute", ap = 1.95, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Whirlwind - AoE attack
    [190411] = { name = "Whirlwind", ap = 0.45, school = "Physical", type = "Direct", isAoE = true, spec = "Fury" },
    
    -- Enrage - Haste buff
    [184361] = { name = "Enrage", ap = 0, type = "Buff", duration = 4, note = "+25% attack speed", spec = "Fury" },
    
    -- Recklessness - Major cooldown
    [1719] = { name = "Recklessness", ap = 0, type = "Buff", duration = 12, note = "+20% crit chance", spec = "Fury" },
    
    -- Siegebreaker - Damage amp debuff
    [280772] = { name = "Siegebreaker", ap = 0.85, school = "Physical", type = "Direct", note = "+15% damage taken debuff", spec = "Fury" },
    
    -- Onslaught - Enrage extension attack
    [315720] = { name = "Onslaught", ap = 1.50, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Improved Whirlwind - Cleave buff
    [12950] = { name = "Improved Whirlwind", ap = 0, type = "Buff", note = "Rampage/Bloodthirst hits 4 additional targets", spec = "Fury" },
    
    -- Odyn's Fury - Major AoE burst
    [385059] = { name = "Odyn's Fury", ap = 2.45, school = "Physical", type = "Direct", dotAp = 0.55, duration = 4, isAoE = true, spec = "Fury" },
    
    -- Ravager (Fury) - Ground AoE (see Protection spec for shared ID)
    [228920] = { name = "Ravager", ap = 0.50, school = "Physical", type = "DoT", duration = 11, isAoE = true },
    
    -- Crushing Blow - Enhanced Raging Blow
    [335097] = { name = "Crushing Blow", ap = 1.55, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Bloodbath - Enhanced Bloodthirst proc
    [335096] = { name = "Bloodbath", ap = 1.30, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Annihilator - Raging Blow replacement
    [383916] = { name = "Annihilator", ap = 1.25, school = "Physical", type = "Direct", spec = "Fury" },
    
    -- Meat Cleaver - Whirlwind buff stacks
    [280392] = { name = "Meat Cleaver", ap = 0, type = "Buff", note = "+25% Whirlwind damage per stack", spec = "Fury" },
    
    -- Frenzy - Haste stacking buff
    [335077] = { name = "Frenzy", ap = 0, type = "Buff", duration = 12, note = "Stacking haste buff", spec = "Fury" },
    
    -- ========================================================================
    -- PROTECTION SPEC
    -- ========================================================================
    
    -- Shield Slam - Primary generator
    [23922] = { name = "Shield Slam", ap = 1.50, school = "Physical", type = "Direct", spec = "Protection" },
    
    -- Devastate - Filler attack
    [20243] = { name = "Devastate", ap = 0.55, school = "Physical", type = "Direct", spec = "Protection" },
    
    -- Thunder Clap - AoE generator
    [6343] = { name = "Thunder Clap", ap = 0.60, school = "Physical", type = "Direct", isAoE = true, note = "Slows enemies", spec = "Protection" },
    
    -- Revenge - AoE proc attack
    [6572] = { name = "Revenge", ap = 0.85, school = "Physical", type = "Direct", isAoE = true, spec = "Protection" },
    
    -- Shield Block - Active mitigation
    [2565] = { name = "Shield Block", ap = 0, type = "Defensive", duration = 6, note = "Block all melee attacks", spec = "Protection" },
    
    -- Ignore Pain (Protection) - Active mitigation
    [190456] = { name = "Ignore Pain", ap = 0, type = "Shield", note = "Absorbs damage based on AP", spec = "Protection" },
    
    -- Avatar - Major offensive cooldown
    [107574] = { name = "Avatar", ap = 0, type = "Buff", duration = 20, note = "+20% damage", spec = "Protection" },
    
    -- Demoralizing Shout - AoE damage reduction
    [1160] = { name = "Demoralizing Shout", ap = 0, type = "Debuff", duration = 8, isAoE = true, note = "Enemies deal 20% less damage", spec = "Protection" },
    
    -- Last Stand - Major defensive cooldown
    [12975] = { name = "Last Stand", ap = 0, type = "Defensive", duration = 15, note = "+30% max health", spec = "Protection" },
    
    -- Shield Wall - Major defensive cooldown
    [871] = { name = "Shield Wall", ap = 0, type = "Defensive", duration = 8, note = "40% damage reduction", spec = "Protection" },
    
    -- Spell Reflection - Magic mitigation
    [23920] = { name = "Spell Reflection", ap = 0, type = "Defensive", duration = 5, note = "Reflects first spell", spec = "Protection" },
    
    -- Ravager (Protection) - uses same ID as Fury (228920)
    
    -- Execute (Protection) - uses different modifier on same ID as Arms (163201)
    
    -- Shockwave - Cone stun and damage
    [46968] = { name = "Shockwave", ap = 0.65, school = "Physical", type = "Direct", isAoE = true, note = "Stuns targets", spec = "Protection" },
    
    -- Booming Voice - Demoralizing Shout enhancement
    [202743] = { name = "Booming Voice", ap = 0, type = "Passive", note = "Demo Shout generates rage and increases damage", spec = "Protection" },
    
    -- Bolster - Last Stand enhancement
    [280001] = { name = "Bolster", ap = 0, type = "Passive", note = "Last Stand also triggers Shield Block", spec = "Protection" },
    
    -- Heavy Repercussions - Shield Slam enhancement
    [203177] = { name = "Heavy Repercussions", ap = 0, type = "Passive", note = "Shield Block extends with Shield Slam", spec = "Protection" },
    
    -- Punish - Shield Slam debuff
    [275335] = { name = "Punish", ap = 0, type = "Debuff", note = "Enemies deal less damage after Shield Slam", spec = "Protection" },
    
    -- ========================================================================
    -- HERO TALENTS - SLAYER (Arms/Fury)
    -- ========================================================================
    
    -- Slayer's Strike - Enhanced attack ability
    [444775] = { name = "Slayer's Strike", ap = 1.40, school = "Physical", type = "Direct", spec = "Slayer" },
    
    -- Brutal Finish - Execute enhancement
    [446085] = { name = "Brutal Finish", ap = 0, type = "Buff", note = "+50% Execute damage", spec = "Slayer" },
    
    -- Reap the Storm - AoE proc damage
    [444769] = { name = "Reap the Storm", ap = 0.90, school = "Physical", type = "Direct", isAoE = true, spec = "Slayer" },
    
    -- Overwhelming Blades - Damage stacking buff
    [444772] = { name = "Overwhelming Blades", ap = 0, type = "Buff", note = "Stacking damage increase", spec = "Slayer" },
    
    -- Vicious Agility - Haste buff proc
    [446087] = { name = "Vicious Agility", ap = 0, type = "Buff", note = "Haste increase", spec = "Slayer" },
    
    -- Culling Cyclone - Bladestorm enhancement
    [446089] = { name = "Culling Cyclone", ap = 0.35, school = "Physical", type = "Direct", isAoE = true, spec = "Slayer" },
    
    -- Unrelenting Onslaught - Mortal Strike/Bloodthirst reset
    [444780] = { name = "Unrelenting Onslaught", ap = 0, type = "Passive", note = "Chance to reset main ability", spec = "Slayer" },
    
    -- Imminent Demise - Execute buff
    [444784] = { name = "Imminent Demise", ap = 0, type = "Debuff", note = "Target takes more Execute damage", spec = "Slayer" },
    
    -- ========================================================================
    -- HERO TALENTS - COLOSSUS (Arms/Protection)
    -- ========================================================================
    
    -- Demolish - Empowered attack
    [436358] = { name = "Demolish", ap = 2.25, school = "Physical", type = "Direct", spec = "Colossus" },
    
    -- Colossal Might - Stacking buff
    [440989] = { name = "Colossal Might", ap = 0, type = "Buff", note = "Stacking damage increase", spec = "Colossus" },
    
    -- Mountain of Muscle and Scars - Defensive passive
    [440336] = { name = "Mountain of Muscle and Scars", ap = 0, type = "Passive", note = "Increased stamina", spec = "Colossus" },
    
    -- One Against Many - AoE damage increase
    [440337] = { name = "One Against Many", ap = 0, type = "Passive", note = "Increased AoE damage", spec = "Colossus" },
    
    -- Arterial Bleed - Enhanced bleeds
    [440338] = { name = "Arterial Bleed", ap = 0.25, school = "Physical", type = "Bleed", duration = 6, spec = "Colossus" },
    
    -- Boneshaker - Demolish enhancement
    [440339] = { name = "Boneshaker", ap = 0, type = "Debuff", note = "Target takes increased damage", spec = "Colossus" },
    
    -- Tide of Battle - Rage generation
    [440340] = { name = "Tide of Battle", ap = 0, type = "Passive", note = "Increased rage generation", spec = "Colossus" },
    
    -- No Stranger to Pain - Damage reduction
    [440342] = { name = "No Stranger to Pain", ap = 0, type = "Passive", note = "Reduces damage taken", spec = "Colossus" },
    
    -- ========================================================================
    -- HERO TALENTS - MOUNTAIN THANE (Fury/Protection)
    -- ========================================================================
    
    -- Thunder Blast - Lightning-enhanced attack
    [435615] = { name = "Thunder Blast", ap = 1.75, school = "Nature", type = "Direct", isAoE = true, spec = "Mountain Thane" },
    
    -- Lightning Strikes - Proc damage
    [434969] = { name = "Lightning Strikes", ap = 0.55, school = "Nature", type = "Direct", spec = "Mountain Thane" },
    
    -- Storm Shield - Defensive buff
    [438597] = { name = "Storm Shield", ap = 0, type = "Shield", note = "Shield based on AP", spec = "Mountain Thane" },
    
    -- Crashing Thunder - Thunder Clap enhancement
    [435222] = { name = "Crashing Thunder", ap = 0.40, school = "Nature", type = "Direct", isAoE = true, spec = "Mountain Thane" },
    
    -- Avatar of the Storm - Avatar enhancement
    [437134] = { name = "Avatar of the Storm", ap = 0, type = "Buff", note = "Avatar empowers lightning abilities", spec = "Mountain Thane" },
    
    -- Ground Current - AoE chain lightning effect
    [437180] = { name = "Ground Current", ap = 0.30, school = "Nature", type = "Direct", isAoE = true, spec = "Mountain Thane" },
    
    -- Steadfast as the Peaks - Defensive buff
    [437152] = { name = "Steadfast as the Peaks", ap = 0, type = "Buff", note = "Damage reduction during Avatar", spec = "Mountain Thane" },
    
    -- Thunder Strike - Lightning proc attack
    [434971] = { name = "Thunder Strike", ap = 0.65, school = "Nature", type = "Direct", spec = "Mountain Thane" },
    
    -- Keep Your Feet on the Ground - Knockback immunity
    [440637] = { name = "Keep Your Feet on the Ground", ap = 0, type = "Passive", note = "Knockback immunity", spec = "Mountain Thane" },
    
    -- Snap Induction - Lightning Strike enhancement
    [440632] = { name = "Snap Induction", ap = 0, type = "Passive", note = "Lightning Strikes also proc Thunder Strike", spec = "Mountain Thane" },
    
    -- ========================================================================
    -- SHARED ABILITIES (Class Talents)
    -- ========================================================================
    
    -- Charge - Gap closer
    [100] = { name = "Charge", ap = 0.15, school = "Physical", type = "Direct", note = "Roots target for 1 sec" },
    
    -- Heroic Leap - Mobility/AoE damage
    [6544] = { name = "Heroic Leap", ap = 0.45, school = "Physical", type = "Direct", isAoE = true },
    
    -- Piercing Howl - AoE slow
    [12323] = { name = "Piercing Howl", ap = 0, type = "Debuff", duration = 8, isAoE = true, note = "50% slow" },
    
    -- Intimidating Shout - Fear
    [5246] = { name = "Intimidating Shout", ap = 0, type = "Crowd Control", duration = 8, isAoE = true, note = "Fear up to 5 targets" },
    
    -- Rallying Cry - Raid defensive
    [97462] = { name = "Rallying Cry", ap = 0, type = "Defensive", duration = 10, isAoE = true, note = "+15% max HP to raid" },
    
    -- Battle Shout - Attack power buff
    [6673] = { name = "Battle Shout", ap = 0, type = "Buff", duration = 3600, isAoE = true, note = "+5% Attack Power" },
    
    -- Hamstring - Slow debuff
    [1715] = { name = "Hamstring", ap = 0.10, school = "Physical", type = "Direct", note = "50% slow for 15 sec" },
    
    -- Victory Rush - Post-kill heal
    [34428] = { name = "Victory Rush", ap = 0.85, school = "Physical", type = "Direct", note = "Heals 20% HP" },
    
    -- Pummel - Interrupt
    [6552] = { name = "Pummel", ap = 0, type = "Utility", note = "4 sec interrupt" },
    
    -- Intervene - Defensive utility
    [3411] = { name = "Intervene", ap = 0, type = "Defensive", note = "Intercept next melee/ranged attack" },
    
    -- Heroic Throw - Ranged attack
    [57755] = { name = "Heroic Throw", ap = 0.20, school = "Physical", type = "Direct" },
    
    -- Berserker Rage - Fear/Sap break
    [18499] = { name = "Berserker Rage", ap = 0, type = "Buff", duration = 6, note = "Immune to fear, sap, incap" },
    
    -- Impending Victory - Victory Rush replacement talent
    [202168] = { name = "Impending Victory", ap = 0.90, school = "Physical", type = "Direct", note = "Heals 30% HP" },
    
    -- Storm Bolt - Ranged stun
    [107570] = { name = "Storm Bolt", ap = 0.50, school = "Physical", type = "Direct", note = "4 sec stun" },
    
    -- Wrecking Throw - Shatter absorb shield
    [384110] = { name = "Wrecking Throw", ap = 0.65, school = "Physical", type = "Direct", note = "Removes absorb effects" },
    
    -- Spear of Bastion - Ground-targeted ability
    [376079] = { name = "Spear of Bastion", ap = 1.20, school = "Physical", type = "Direct", isAoE = true, note = "Tethers enemies" },
    
    -- Avatar (Shared) - Major cooldown
    [401150] = { name = "Avatar", ap = 0, type = "Buff", duration = 20, note = "+20% damage" },
    
    -- Berserker Stance - Stance buff
    [386196] = { name = "Berserker Stance", ap = 0, type = "Buff", note = "+10% auto attack speed, take 5% more damage" },
    
    -- Defensive Stance - Stance buff
    [386208] = { name = "Defensive Stance", ap = 0, type = "Buff", note = "+15% armor, -10% damage dealt" },
    
    -- Bitter Immunity - Defensive cleanse
    [383762] = { name = "Bitter Immunity", ap = 0, type = "Defensive", duration = 6, note = "Removes diseases/poisons" },
    
    -- Champion's Spear - Covenant-style AoE
    [376080] = { name = "Champion's Spear", ap = 1.25, school = "Physical", type = "Direct", isAoE = true, note = "Generates rage" },
    
    -- Thunderous Roar - AoE bleed
    [384318] = { name = "Thunderous Roar", ap = 1.35, school = "Physical", type = "Direct", dotAp = 0.35, duration = 10, isAoE = true },
    
    -- Shattering Throw - Dispel/armor break
    [64382] = { name = "Shattering Throw", ap = 0.35, school = "Physical", type = "Direct", note = "Removes immunities" },
}
