local tbl_sort, select, string_lower = table.sort, select, string.lower local GetSpellInfo = GetSpellInfo local GetItemInfo = GetItemInfo local Gladdy = LibStub("Gladdy") local L = Gladdy.L local AURA_TYPE_DEBUFF, AURA_TYPE_BUFF = AURA_TYPE_DEBUFF, AURA_TYPE_BUFF Gladdy.expansion = "Wrath" Gladdy.CLASSES = { "MAGE", "PRIEST", "DRUID", "SHAMAN", "PALADIN", "WARLOCK", "WARRIOR", "HUNTER", "ROGUE", "DEATHKNIGHT" } tbl_sort(Gladdy.CLASSES) local specBuffs = { -- WARRIOR [GetSpellInfo(56638)] = L["Arms"], -- Taste for Blood [GetSpellInfo(64976)] = L["Arms"], -- Juggernaut [GetSpellInfo(57522)] = L["Arms"], -- Enrage [GetSpellInfo(52437)] = L["Arms"], -- Sudden Death [GetSpellInfo(46857)] = L["Arms"], -- Trauma [GetSpellInfo(56112)] = L["Fury"], -- Furious Attacks [GetSpellInfo(29801)] = L["Fury"], -- Rampage [GetSpellInfo(46916)] = L["Fury"], -- Slam! [GetSpellInfo(50227)] = L["Protection"], -- Sword and Board [GetSpellInfo(50720)] = L["Protection"], -- Vigilance [GetSpellInfo(74347)] = L["Protection"], -- Silenced - Gag Order -- PALADIN [GetSpellInfo(20375)] = L["Retribution"], -- Seal of Command [GetSpellInfo(59578)] = L["Retribution"], -- The Art of War [GetSpellInfo(31836)] = L["Holy"], -- Light's Grace [GetSpellInfo(53563)] = L["Holy"], -- Beacon of Light [GetSpellInfo(54149)] = L["Holy"], -- Infusion of Light [GetSpellInfo(63529)] = L["Protection"], -- Silenced - Shield of the Templar -- ROGUE [GetSpellInfo(36554)] = L["Subtlety"], -- Shadowstep [GetSpellInfo(44373)] = L["Subtlety"], -- Shadowstep Speed [GetSpellInfo(36563)] = L["Subtlety"], -- Shadowstep DMG [GetSpellInfo(51713)] = L["Subtlety"], -- Shadow Dance [GetSpellInfo(31665)] = L["Subtlety"], -- Master of Subtlety [GetSpellInfo(14278)] = L["Subtlety"], -- Ghostly Strike [GetSpellInfo(51690)] = L["Combat"], -- Killing Spree [GetSpellInfo(13877)] = L["Combat"], -- Blade Flurry [GetSpellInfo(13750)] = L["Combat"], -- Adrenaline Rush [GetSpellInfo(14177)] = L["Assassination"], -- Cold Blood -- PRIEST [GetSpellInfo(47788)] = L["Holy"], -- Guardian Spirit [GetSpellInfo(52800)] = L["Discipline"], -- Borrowed Time [GetSpellInfo(63944)] = L["Discipline"], -- Renewed Hope [GetSpellInfo(15473)] = L["Shadow"], -- Shadowform [GetSpellInfo(15286)] = L["Shadow"], -- Vampiric Embrace -- DEATHKNIGHT [GetSpellInfo(49222)] = L["Unholy"], -- Bone Shield [GetSpellInfo(49016)] = L["Blood"], -- Hysteria [GetSpellInfo(53138)] = L["Blood"], -- Abomination's Might [GetSpellInfo(55610)] = L["Frost"], -- Imp. Icy Talons -- MAGE [GetSpellInfo(43039)] = L["Frost"], -- Ice Barrier [GetSpellInfo(74396)] = L["Frost"], -- Fingers of Frost [GetSpellInfo(57761)] = L["Frost"], -- Fireball! [GetSpellInfo(11129)] = L["Fire"], -- Combustion [GetSpellInfo(64346)] = L["Fire"], -- Fiery Payback [GetSpellInfo(48108)] = L["Fire"], -- Hot Streak [GetSpellInfo(54741)] = L["Fire"], -- Firestarter [GetSpellInfo(55360)] = L["Fire"], -- Living Bomb [GetSpellInfo(31583)] = L["Arcane"], -- Arcane Empowerment [GetSpellInfo(44413)] = L["Arcane"], -- Incanter's Absorption -- WARLOCK [GetSpellInfo(30302)] = L["Destruction"], -- Nether Protection [GetSpellInfo(63244)] = L["Destruction"], -- Pyroclasm [GetSpellInfo(54277)] = L["Destruction"], -- Backdraft [GetSpellInfo(47283)] = L["Destruction"], -- Empowered Imp [GetSpellInfo(34936)] = L["Destruction"], -- Backlash [GetSpellInfo(47193)] = L["Demonology"], -- Demonic Empowerment [GetSpellInfo(64371)] = L["Affliction"], -- Eradication -- SHAMAN [GetSpellInfo(57663)] = L["Elemental"], -- Totem of Wrath [GetSpellInfo(65264)] = L["Elemental"], -- Lava Flows [GetSpellInfo(51470)] = L["Elemental"], -- Elemental Oath [GetSpellInfo(52179)] = L["Elemental"], -- Astral Shift [GetSpellInfo(49284)] = L["Restoration"], -- Earth Shield [GetSpellInfo(53390)] = L["Restoration"], -- Tidal Waves [GetSpellInfo(30809)] = L["Enhancement"], -- Unleashed Rage [GetSpellInfo(53817)] = L["Enhancement"], -- Maelstrom Weapon [GetSpellInfo(63685)] = L["Enhancement"], -- Freeze (Frozen Power) -- HUNTER [GetSpellInfo(20895)] = L["Beast Mastery"], -- Spirit Bond [GetSpellInfo(19506)] = L["Marksmanship"], -- Trueshot Aura [GetSpellInfo(64420)] = L["Survival"], -- Sniper Training -- DRUID [GetSpellInfo(24932)] = L["Feral"], -- Leader of the Pack [GetSpellInfo(34123)] = L["Restoration"], -- Tree of Life [GetSpellInfo(24907)] = L["Balance"], -- Moonkin Aura [GetSpellInfo(53251)] = L["Restoration"], -- Wild Growth } function Gladdy:GetSpecBuffs() return specBuffs end local specSpells = { -- WARRIOR [GetSpellInfo(47486)] = L["Arms"], -- Mortal Strike [GetSpellInfo(46924)] = L["Arms"], -- Bladestorm [GetSpellInfo(23881)] = L["Fury"], -- Bloodthirst [GetSpellInfo(12809)] = L["Protection"], -- Concussion Blow [GetSpellInfo(47498)] = L["Protection"], -- Devastate [GetSpellInfo(46968)] = L["Protection"], -- Shockwave [GetSpellInfo(50720)] = L["Protection"], -- Vigilance -- PALADIN [GetSpellInfo(48827)] = L["Protection"], -- Avenger's Shield [GetSpellInfo(48825)] = L["Holy"], -- Holy Shock [GetSpellInfo(53563)] = L["Holy"], -- Beacon of Light [GetSpellInfo(35395)] = L["Retribution"], -- Crusader Strike [GetSpellInfo(66006)] = L["Retribution"], -- Divine Storm [GetSpellInfo(20066)] = L["Retribution"], -- Repentance -- ROGUE [GetSpellInfo(48666)] = L["Assassination"], -- Mutilate [GetSpellInfo(14177)] = L["Assassination"], -- Cold Blood [GetSpellInfo(51690)] = L["Combat"], -- Killing Spree [GetSpellInfo(13877)] = L["Combat"], -- Blade Flurry [GetSpellInfo(13750)] = L["Combat"], -- Adrenaline Rush [GetSpellInfo(36554)] = L["Subtlety"], -- Shadowstep [GetSpellInfo(48660)] = L["Subtlety"], -- Hemorrhage [GetSpellInfo(51713)] = L["Subtlety"], -- Shadow Dance -- PRIEST [GetSpellInfo(53007)] = L["Discipline"], -- Penance [GetSpellInfo(10060)] = L["Discipline"], -- Power Infusion [GetSpellInfo(33206)] = L["Discipline"], -- Pain Suppression [GetSpellInfo(34861)] = L["Holy"], -- Circle of Healing [GetSpellInfo(15487)] = L["Shadow"], -- Silence [GetSpellInfo(48160)] = L["Shadow"], -- Vampiric Touch -- DEATHKNIGHT [GetSpellInfo(55262)] = L["Blood"], -- Heart Strike [GetSpellInfo(49203)] = L["Frost"], -- Hungering Cold [GetSpellInfo(55268)] = L["Frost"], -- Frost Strike [GetSpellInfo(51411)] = L["Frost"], -- Howling Blast [GetSpellInfo(55271)] = L["Unholy"], -- Scourge Strike -- MAGE [GetSpellInfo(44781)] = L["Arcane"], -- Arcane Barrage [GetSpellInfo(55360)] = L["Fire"], -- Living Bomb [GetSpellInfo(42950)] = L["Fire"], -- Dragon's Breath [GetSpellInfo(42945)] = L["Fire"], -- Blast Wave [GetSpellInfo(44572)] = L["Frost"], -- Deep Freeze -- WARLOCK [GetSpellInfo(59164)] = L["Affliction"], -- Haunt [GetSpellInfo(47843)] = L["Affliction"], -- Unstable Affliction [GetSpellInfo(59672)] = L["Demonology"], -- Metamorphosis [GetSpellInfo(47193)] = L["Demonology"], -- Demonic Empowerment [GetSpellInfo(59172)] = L["Destruction"], -- Chaos Bolt [GetSpellInfo(47847)] = L["Destruction"], -- Shadowfury -- SHAMAN [GetSpellInfo(59159)] = L["Elemental"], -- Thunderstorm [GetSpellInfo(16166)] = L["Elemental"], -- Elemental Mastery [GetSpellInfo(51533)] = L["Enhancement"], -- Feral Spirit [GetSpellInfo(30823)] = L["Enhancement"], -- Shamanistic Rage [GetSpellInfo(17364)] = L["Enhancement"], -- Stormstrike [GetSpellInfo(61301)] = L["Restoration"], -- Riptide [GetSpellInfo(51886)] = L["Restoration"], -- Cleanse Spirit -- HUNTER [GetSpellInfo(19577)] = L["Beast Mastery"], -- Intimidation [GetSpellInfo(34490)] = L["Marksmanship"], -- Silencing Shot [GetSpellInfo(53209)] = L["Marksmanship"], -- Chimera Shot [GetSpellInfo(60053)] = L["Survival"], -- Explosive Shot [GetSpellInfo(49012)] = L["Survival"], -- Wyvern Sting -- DRUID [GetSpellInfo(53201)] = L["Balance"], -- Starfall [GetSpellInfo(61384)] = L["Balance"], -- Typhoon [GetSpellInfo(48566)] = L["Feral"], -- Mangle (Cat) [GetSpellInfo(48564)] = L["Feral"], -- Mangle (Bear) [GetSpellInfo(18562)] = L["Restoration"], -- Swiftmend } function Gladdy:GetSpecSpells() return specSpells end local importantAuras = { --- Crowd control [GetSpellInfo(33786)] = { -- Cyclone track = AURA_TYPE_DEBUFF, priority = 40, spellID = 33786, }, [GetSpellInfo(18658)] = { -- Hibernate track = AURA_TYPE_DEBUFF, priority = 40, spellID = 18658, }, [GetSpellInfo(14309)] = { -- Freezing Trap Effect track = AURA_TYPE_DEBUFF, priority = 40, spellID = 14309, }, [GetSpellInfo(60210)] = { -- Freezing arrow effect track = AURA_TYPE_DEBUFF, priority = 40, spellID = 60210, }, [GetSpellInfo(6770)] = { -- Sap track = AURA_TYPE_DEBUFF, priority = 40, spellID = 6770, }, [GetSpellInfo(2094)] = { -- Blind track = AURA_TYPE_DEBUFF, priority = 40, spellID = 2094, }, [GetSpellInfo(5782)] = { -- Fear track = AURA_TYPE_DEBUFF, priority = 40, spellID = 5782, }, [GetSpellInfo(47860)] = { -- Death Coil Warlock track = AURA_TYPE_DEBUFF, priority = 40, spellID = 47860, }, [GetSpellInfo(6358)] = { -- Seduction track = AURA_TYPE_DEBUFF, priority = 40, spellID = 6358, }, [GetSpellInfo(5484)] = { -- Howl of Terror track = AURA_TYPE_DEBUFF, priority = 40, spellID = 5484, }, [GetSpellInfo(5246)] = { -- Intimidating Shout track = AURA_TYPE_DEBUFF, priority = 40, spellID = 5246, }, [GetSpellInfo(8122)] = { -- Psychic Scream track = AURA_TYPE_DEBUFF, priority = 40, spellID = 8122, }, [GetSpellInfo(12826)] = { -- Polymorph track = AURA_TYPE_DEBUFF, priority = 40, spellID = 12826, texture = select(3, GetSpellInfo(12826)), }, [GetSpellInfo(51514)] = { -- Hex track = AURA_TYPE_DEBUFF, priority = 40, spellID = 51514, }, [GetSpellInfo(18647)] = { -- Banish track = AURA_TYPE_DEBUFF, priority = 40, spellID = 18647, }, [GetSpellInfo(605)] = { -- Mind Control track = AURA_TYPE_DEBUFF, priority = 40, spellID = 605, }, [GetSpellInfo(14327)] = { -- Scare Beast track = AURA_TYPE_DEBUFF, priority = 40, spellID = 14327, }, --- Roots -- Entangling Roots [GetSpellInfo(26989)] = { track = AURA_TYPE_DEBUFF, priority = 30, spellID = 26989, }, [select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689))] = { track = AURA_TYPE_DEBUFF, priority = 30, spellID = 27010, altName = select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689)), }, [GetSpellInfo(42917)] = { -- Frost Nova track = AURA_TYPE_DEBUFF, priority = 30, spellID = 42917, }, [GetSpellInfo(33395)] = { -- Freeze (Water Elemental) track = AURA_TYPE_DEBUFF, priority = 30, spellID = 33395, }, [GetSpellInfo(55080)] = { -- Shattered Barrier track = AURA_TYPE_DEBUFF, priority = 30, spellID = 55080, }, [GetSpellInfo(16979)] = { -- Feral Charge track = AURA_TYPE_DEBUFF, priority = 30, spellID = 16979, }, [GetSpellInfo(23694)] = { -- Improved Hamstring track = AURA_TYPE_DEBUFF, priority = 30, spellID = 23694, }, [GetSpellInfo(4167)] = { -- Web (Hunter Pet) track = AURA_TYPE_DEBUFF, priority = 30, spellID = 4167, }, --- Stuns and incapacitates [GetSpellInfo(8983)] = { -- Bash track = AURA_TYPE_DEBUFF, priority = 40, spellID = 8983, }, [GetSpellInfo(1833)] = { -- Cheap Shot track = AURA_TYPE_DEBUFF, priority = 40, spellID = 1833, }, [GetSpellInfo(8643)] = { -- Kidney Shot track = AURA_TYPE_DEBUFF, priority = 40, spellID = 8643, }, [GetSpellInfo(1776)] = { -- Gouge track = AURA_TYPE_DEBUFF, priority = 40, spellID = 1776, }, [GetSpellInfo(44572)] = { -- Deep Freeze track = AURA_TYPE_DEBUFF, priority = 40, spellID = 44572, }, [GetSpellInfo(49012)] = { -- Wyvern Sting track = AURA_TYPE_DEBUFF, priority = 40, spellID = 49012, }, [GetSpellInfo(19503)] = { -- Scatter Shot track = AURA_TYPE_DEBUFF, priority = 40, spellID = 19503, }, [GetSpellInfo(49803)] = { -- Pounce track = AURA_TYPE_DEBUFF, priority = 40, spellID = 49803, }, [GetSpellInfo(49802)] = { -- Maim track = AURA_TYPE_DEBUFF, priority = 40, spellID = 49802, }, [GetSpellInfo(10308)] = { -- Hammer of Justice track = AURA_TYPE_DEBUFF, priority = 40, spellID = 10308, }, [GetSpellInfo(20066)] = { -- Repentance track = AURA_TYPE_DEBUFF, priority = 40, spellID = 20066, }, [GetSpellInfo(46968)] = { -- Shockwave track = AURA_TYPE_DEBUFF, priority = 40, spellID = 46968, }, [GetSpellInfo(49203)] = { -- Hungering Cold track = AURA_TYPE_DEBUFF, priority = 40, spellID = 49203, }, [GetSpellInfo(47481)] = { -- Gnaw (dk pet stun) track = AURA_TYPE_DEBUFF, priority = 40, spellID = 47481, }, [GetSpellInfo(47847)] = { -- Shadowfury Stun track = AURA_TYPE_DEBUFF, priority = 40, spellID = 47847, }, [GetSpellInfo(16922)] = { -- Imp Starfire Stun track = AURA_TYPE_DEBUFF, priority = 40, spellID = 16922, }, [GetSpellInfo(5530)] = { -- Mace Stun Effect track = AURA_TYPE_DEBUFF, priority = 40, texture = select(3, GetSpellInfo(12284)), spellID = 5530, }, [GetSpellInfo(20549)] = { -- War Stomp track = AURA_TYPE_DEBUFF, priority = 40, spellID = 20549, }, [GetSpellInfo(7922)] = { -- Charge Stun track = AURA_TYPE_DEBUFF, priority = 40, spellID = 7922, texture = select(3, GetSpellInfo(100)) }, [GetSpellInfo(25274)] = { -- Intercept Stun track = AURA_TYPE_DEBUFF, priority = 40, spellID = 25274, texture = select(3, GetSpellInfo(25272)) }, [GetSpellInfo(12809)] = { -- Concussion Blow track = AURA_TYPE_DEBUFF, priority = 40, spellID = 12809, }, [GetSpellInfo(12355)] = { -- Impact track = AURA_TYPE_DEBUFF, priority = 40, spellID = 12355, }, [GetSpellInfo(19577)] = {-- Intimidation track = AURA_TYPE_DEBUFF, priority = 40, spellID = 19577, }, [GetSpellInfo(31661)] = { -- Dragon's Breath track = AURA_TYPE_DEBUFF, priority = 40, spellID = 31661, }, --- Silences [GetSpellInfo(18469)] = { -- Improved Counterspell track = AURA_TYPE_DEBUFF, priority = 20, spellID = 18469, }, [GetSpellInfo(15487)] = { -- Silence track = AURA_TYPE_DEBUFF, priority = 20, spellID = 15487, }, [GetSpellInfo(34490)] = { -- Silencing Shot track = AURA_TYPE_DEBUFF, priority = 20, spellID = 34490, }, [GetSpellInfo(18425)] = { -- Improved Kick track = AURA_TYPE_DEBUFF, priority = 20, spellID = 18425, }, [GetSpellInfo(49916)] = { -- Strangulate track = AURA_TYPE_DEBUFF, priority = 20, spellID = 49916, }, [GetSpellInfo(74347)] = { -- Silenced - Gag Order track = AURA_TYPE_DEBUFF, priority = 20, spellID = 74347, }, [GetSpellInfo(63529)] = { -- Silenced - Shield of the Templar track = AURA_TYPE_DEBUFF, priority = 20, spellID = 63529, }, ["Unstable Affliction Silence"] = { -- Unstable Affliction Silence (GetSpellInfo returns "Unstable Affliction") track = AURA_TYPE_DEBUFF, altName = select(1, GetSpellInfo(31117)) .. " Silence", priority = 20, spellID = 31117, }, [GetSpellInfo(24259)] = { -- Spell Lock (Felhunter) track = AURA_TYPE_DEBUFF, priority = 20, spellID = 24259, }, [GetSpellInfo(28730)] = { -- Arcane Torrent track = AURA_TYPE_DEBUFF, priority = 20, spellID = 28730, }, [GetSpellInfo(1330)] = { -- Garrote - Silence track = AURA_TYPE_DEBUFF, priority = 20, spellID = 1330, }, --- Disarms [GetSpellInfo(676)] = { -- Disarm track = AURA_TYPE_DEBUFF, priority = 20, spellID = 676, }, [GetSpellInfo(51722)] = { -- Dismantle track = AURA_TYPE_DEBUFF, priority = 20, spellID = 51722, }, [GetSpellInfo(53359)] = { -- Chimera Shot - Scorpid track = AURA_TYPE_DEBUFF, priority = 20, spellID = 53359, }, --- Buffs [GetSpellInfo(1022)] = { -- Hand of Protection track = AURA_TYPE_BUFF, priority = 20, spellID = 1022, }, [GetSpellInfo(1044)] = { -- Hand of Freedom track = AURA_TYPE_BUFF, priority = 20, spellID = 1044, }, [GetSpellInfo(6940)] = { -- Hand of Sacrifice track = AURA_TYPE_BUFF, priority = 20, spellID = 6940, }, [GetSpellInfo(64205)] = { -- Divine Sacrifice track = AURA_TYPE_BUFF, priority = 20, spellID = 64205, }, [GetSpellInfo(53271)] = { -- Master's Call (Hunter Pet Hand of Freedom) track = AURA_TYPE_BUFF, priority = 20, spellID = 53271, }, [GetSpellInfo(2825)] = { -- Bloodlust track = AURA_TYPE_BUFF, priority = 20, spellID = 2825, }, [GetSpellInfo(32182)] = { -- Heroism track = AURA_TYPE_BUFF, priority = 20, spellID = 32182, }, [GetSpellInfo(33206)] = { -- Pain Suppression track = AURA_TYPE_BUFF, priority = 20, spellID = 33206, }, [GetSpellInfo(29166)] = { -- Innervate track = AURA_TYPE_BUFF, priority = 20, spellID = 29166, }, [GetSpellInfo(18708)] = { -- Fel Domination track = AURA_TYPE_BUFF, priority = 20, spellID = 18708, }, [GetSpellInfo(54428)] = { -- Divine Plea track = AURA_TYPE_BUFF, priority = 20, spellID = 54428, }, [GetSpellInfo(31821)] = { -- Aura mastery track = AURA_TYPE_BUFF, priority = 20, spellID = 31821, }, [GetSpellInfo(51713)] = { -- Shadow Dance track = AURA_TYPE_BUFF, priority = 20, spellID = 51713, }, [GetSpellInfo(7744)] = { -- Will of the Forsaken track = AURA_TYPE_BUFF, priority = 20, spellID = 7744, }, [GetSpellInfo(12292)] = { -- Death Wish track = AURA_TYPE_BUFF, priority = 15, spellID = 12292, }, [GetSpellInfo(23920)] = { -- Spell Reflection track = AURA_TYPE_BUFF, priority = 50, spellID = 23920, }, [GetSpellInfo(6346)] = {-- Fear Ward track = AURA_TYPE_BUFF, priority = 9, spellID = 6346, }, --- Turtling abilities [GetSpellInfo(871)] = { -- Shield Wall track = AURA_TYPE_BUFF, priority = 20, spellID = 871, }, [GetSpellInfo(48707)] = { -- Anti-Magic Shell track = AURA_TYPE_BUFF, priority = 20, spellID = 48707, }, [GetSpellInfo(31224)] = { -- Cloak of Shadows track = AURA_TYPE_BUFF, priority = 20, spellID = 31224, }, [GetSpellInfo(19263)] = { -- Deterrence track = AURA_TYPE_BUFF, priority = 20, spellID = 19263, }, [GetSpellInfo(26669)] = { -- Evasion track = AURA_TYPE_BUFF, priority = 10, spellID = 26669, }, --- Immunities [GetSpellInfo(34471)] = { -- The Beast Within track = AURA_TYPE_BUFF, priority = 20, spellID = 34471, }, [GetSpellInfo(45438)] = { -- Ice Block track = AURA_TYPE_BUFF, priority = 30, spellID = 45438, }, [GetSpellInfo(642)] = { -- Divine Shield track = AURA_TYPE_BUFF, priority = 30, spellID = 642, }, --- Alt Stuff [GetSpellInfo(34709)] = { -- Shadowsight Buff track = AURA_TYPE_BUFF, duration = 15, priority = 15, magic = true, spellID = 34709, }, [GetSpellInfo(8178)] = { -- Grounding Totem Effect track = AURA_TYPE_BUFF, duration = 0, priority = 15, spellID = 8178 }, [GetSpellInfo(5024)] = { -- Flee (Skull of impending Doom) -- 5024 track = AURA_TYPE_BUFF, priority = 15, spellID = 5024, altName = select(1, GetSpellInfo(5024)) .. " - " .. (select(1, GetItemInfo(4984)) or "Skull of Impending Doom"), }, } function Gladdy:GetImportantAuras() return importantAuras end local interrupts = { [GetSpellInfo(19675)] = { duration = 4, spellID = 19675, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(19675)), priority = 15 }, -- Feral Charge Effect (Druid) [GetSpellInfo(2139)] = { duration = 8, spellID = 2139, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(2139)), priority = 15 }, -- Counterspell (Mage) [GetSpellInfo(1766)] = { duration = 5, spellID = 1766, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(1766)), priority = 15 }, -- Kick (Rogue) [GetSpellInfo(6552)] = { duration = 4, spellID = 6552, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(6552)), priority = 15 }, -- Pummel (Warrior) [GetSpellInfo(72)] = { duration = 6, spellID = 72, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(72)), priority = 15 }, -- Shield Bash (Warrior) [GetSpellInfo(57994)] = { duration = 2, spellID = 57994, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(57994)), priority = 15 }, -- Wind Shear (Shaman) [GetSpellInfo(19244)] = { duration = 5, spellID = 19244, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(19244)), priority = 15 }, -- Spell Lock (Warlock [GetSpellInfo(47528)] = { duration = 5, spellID = 47528, track = AURA_TYPE_DEBUFF, texture = select(3, GetSpellInfo(47528)), priority = 15 }, -- Mind Freeze (Deathknight) } function Gladdy:GetInterrupts() return interrupts end local cooldownList = { -- Spell Name Cooldown[, Spec] -- Mage ["MAGE"] = { [1953] = 15, -- Blink [42917] = 25, -- Frost Nova [2139] = 24, -- Counterspell [55342] = 180, -- Mirror Image [12051] = 480, --Evocation [45438] = { cd = 300, [L["Frost"]] = 240, }, -- Ice Block [44572] = { cd = 30, spec = L["Frost"], }, -- Deep Freeze [12472] = { cd = 180, spec = L["Frost"], }, -- Icy Veins [31687] = { cd = 180, spec = L["Frost"], }, -- Summon Water Elemental [12043] = { cd = 120, spec = L["Arcane"], }, -- Presence of Mind [12042] = { cd = 180, spec = L["Arcane"], }, -- Arcane Power [42950] = { cd = 20, spec = L["Fire"] }, -- Dragon's Breath [11129] = { cd = 120, spec = L["Fire"] }, -- Combustion [11958] = { cd = 480, spec = L["Frost"], -- Coldsnap resetCD = { [12472] = true, [45438] = true, [42917] = true, [31687] = true, [44572] = true, }, }, }, -- Priest ["PRIEST"] = { [10890] = { cd = 27, [L["Shadow"]] = 23, }, -- Psychic Scream [34433] = { cd = 300, [L["Shadow"]] = 180, }, -- Shadowfiend [15487] = { cd = 45, spec = L["Shadow"], }, -- Silence [64044] = { cd = 120, spec = L["Shadow"], }, -- Psychic Horror [64843] = 480, -- Divine Hymn [64901] = 360, -- Hymn of Hope [32379] = 12, -- Shadow Word: Death [6346] = 180, -- Fear Ward [47585] = { cd = 75, spec = L["Shadow"], }, -- Dispersion (+ Glyph) [10060] = { cd = 120, spec = L["Discipline"], }, -- Power Infusion [33206] = { cd = 180, spec = L["Discipline"], }, -- Pain Suppression }, -- Death Knight ["DEATHKNIGHT"] = { [47476] = 120, -- Strangulate [47528] = 10, -- Mind Freeze [48707] = 45, -- Anti-Magic Shell [48792] = 120, -- Icebound Fortitude [49576] = 35, -- Death Grip [47568] = 300, -- Empower Rune Weapon [48743] = 120, -- Death Pact [49039] = 120, -- Lichborne [47481] = { cd = 60, spec = L["Unholy"], }, -- Pet Gnaw [51052] = { cd = 120, spec = L["Unholy"], }, -- Anti-Magic Zone [46584] = { cd = 180, notSpec = L["Unholy"], }, -- Raise Dead [49206] = { cd = 180, spec = L["Unholy"], }, -- Summon Gargoyle [49028] = { cd = 90, spec = L["Blood"], }, -- Dancing Rune Weapon [49203] = { cd = 60, spec = L["Frost"], }, -- Hungering Cold }, -- Druid ["DRUID"] = { [22812] = 60, -- Barkskin [29166] = 180, -- Innervate [8983] = 60, -- Bash [53312] = 60, -- Natures Grasp [48505] = { cd = 90, spec = L["Balance"], }, -- Starfall [50334] = { cd = 180, spec = L["Feral"], }, -- Berserk [17116] = { cd = 120, spec = L["Restoration"], }, -- Natures Swiftness [18562] = { cd = 15, spec = L["Restoration"], }, -- Swiftmend [33831] = { cd = 180, spec = L["Balance"], }, -- Force of Nature }, -- Shaman ["SHAMAN"] = { [57994] = 6, -- Wind Shear [51514] = 45, -- Hex [8177] = 15, -- Grounding Totem [30823] = { cd = 60, spec = L["Enhancement"], }, -- Shamanistic Rage [16166] = { cd = 180, spec = L["Elemental"], }, -- Elemental Mastery [59159] = { cd = 45, spec = L["Elemental"], }, -- Thunderstorm [16188] = { cd = 120, spec = L["Restoration"], }, -- Natures Swiftness [51533] = { cd = 180, spec = L["Enhancement"], }, -- Feral Spirit [16190] = { cd = 300, spec = L["Restoration"], }, -- Mana Tide Totem }, -- Paladin ["PALADIN"] = { [10278] = 300, -- Hand of Protection [1044] = 25, -- Hand of Freedom [54428] = 60, -- Divine Plea [6940] = 120, -- Hand of Sacrifice [64205] = 120, -- Divine Sacrifice [10308] = { cd = 60, [L["Protection"]] = 40, }, -- Hammer of Justice [642] = { cd = 300, -- Divine Shield sharedCD = { cd = 30, [31884] = true, }, }, [31884] = { cd = 180, -- Avenging Wrath sharedCD = { cd = 30, [642] = true, }, }, [31821] = { cd = 120, spec = L["Holy"], }, -- Aura Mastery [20066] = { cd = 60, spec = L["Retribution"], }, -- Repentance [20216] = { cd = 120, spec = L["Holy"], }, -- Divine Favor [31842] = { cd = 180, spec = L["Holy"], }, -- Divine Illumination [31935] = { cd = 30, spec = L["Protection"], }, -- Avengers Shield }, -- Warlock ["WARLOCK"] = { [17928] = 40, -- Howl of Terror [47860] = 120, -- Death Coil [18708] = 180, -- Feldom [48020] = 30, -- Demonic Circle: Port [19647] = { cd = 24, pet = true, }, -- Spell Lock [27277] = { cd = 8, pet = true, }, -- Devour Magic [61290] = 15, -- Shadowflame [47847] = { cd = 20, spec = L["Destruction"], }, -- Shadowfury [17877] = { cd = 15, spec = L["Destruction"], }, -- Shadowburn [17962] = { cd = 10, spec = L["Destruction"], }, -- Conflagrate [59172] = { cd = 12, spec = L["Destruction"], }, -- Chaos Bolt [47241] = { cd = 180, spec = L["Demonology"], }, -- Metamorphosis [47996] = { cd = 30, spec = L["Demonology"], pet = true, }, -- Intercept [1122] = { cd = 600, spec = L["Demonology"], }, -- Inferno }, -- Warrior ["WARRIOR"] = { [6552] = { cd = 10, -- Pummel sharedCD = { [72] = true, }, }, [72] = { cd = 12, -- Shield Bash sharedCD = { [6552] = true, }, }, [23920] = 10, -- Spell Reflection [3411] = 30, -- Intervene [676] = 60, -- Disarm [5246] = 120, -- Intimidating Shout [2565] = 60, -- Shield Block [55694] = 180, -- Enraged Regeneration [20230] = 300, -- Retaliation [1719] = 300, -- Recklessness [871] = 300, -- Shield Wall [12292] = { cd = 180, spec = L["Fury"], }, -- Death Wish [46924] = { cd = 90, spec = L["Arms"], }, -- Bladestorm [46968] = { cd = 20, spec = L["Protection"], }, -- Shockwave [12975] = { cd = 180, spec = L["Protection"], }, -- Last Stand [12809] = { cd = 30, spec = L["Protection"], }, -- Concussion Blow }, -- Hunter ["HUNTER"] = { --[53548] = 28, -- Crab Prin --[53562] = 40, -- Ravager Stun [19503] = 30, -- Scatter Shot [19263] = 90, -- Deterrence [781] = 15, -- Disengage [5384] = 20, -- Feign Death [3045] = 20, -- Rapid Fire [60192] = { cd = 28, -- Freezing Arrow sharedCD = { [14311] = true, -- Freezing Trap [13809] = true, -- Frost Trap }, }, [14311] = { cd = 28, -- Freezing Trap sharedCD = { [60192] = true, -- Freezing Arrow [13809] = true, -- Frost Trap }, }, [13809] = { cd = 28, -- Frost Trap sharedCD = { [14311] = true, -- Freezing Trap [60192] = true, -- Freezing Arrow }, }, [34600] = { cd = 28, }, -- Snake Trap [34490] = { cd = 20, spec = L["Marksmanship"], }, -- Silencing Shot [19386] = { cd = 60, spec = L["Survival"], }, -- Wyvern Sting [53271] = { cd = 60, pet = true, }, -- Masters Call [19577] = { cd = 60, pet = true, }, -- Intimidation [19574] = { cd = 120, pet = true, }, -- Bestial Wrath [23989] = { cd = 180, -- Readiness resetCD = { [19503] = true, -- Scatter Shot [19263] = true, -- Deterrence [781] = true, -- Disengage [60192] = true, -- Freezing Arrow [14311] = true, -- Freezing Trap [13809] = true, -- Frost Trap [34600] = true, -- Snake Trap [34490] = true, -- Silencing Shot [19386] = true, -- Wyvern Sting [53271] = true, -- Masters call [19577] = true, -- Intimidation }, }, }, -- Rogue ["ROGUE"] = { [1766] = 10, -- Kick [8643] = 20, -- Kidney Shot [26669] = 180, -- Evasion [31224] = 90, -- Cloak of Shadow [26889] = 180, -- Vanish [2094] = 180, -- Blind [51722] = 60, -- Dismantle [11305] = 180, -- Sprint [14177] = { cd = 180, spec = L["Assassination"], }, -- Cold Blood [51713] = { cd = 60, spec = L["Subtlety"], }, -- Shadow Dance [13750] = { cd = 180, spec = L["Combat"], }, -- Adrenaline Rush [13877] = { cd = 120, spec = L["Combat"], }, -- Blade Flurry [51690] = { cd = 120, spec = L["Combat"], }, -- Killing Spree [36554] = { cd = 30, spec = L["Subtlety"], }, -- Shadowstep [14185] = { cd = 480, spec = L["Subtlety"], -- Preparation resetCD = { [26669] = true, [11305] = true, [26889] = true, [14177] = true, [36554] = true, }, }, }, ["Scourge"] = { }, ["BloodElf"] = { }, ["Tauren"] = { }, ["Orc"] = { }, ["Troll"] = { }, ["NightElf"] = { }, ["Draenei"] = { }, ["Human"] = { }, ["Gnome"] = { }, ["Dwarf"] = { }, } function Gladdy:GetCooldownList() return cooldownList end local racials = { ["Scourge"] = { [7744] = true, -- Will of the Forsaken duration = 120, spellName = select(1, GetSpellInfo(7744)), texture = select(3, GetSpellInfo(7744)) }, ["BloodElf"] = { [28730] = true, -- Arcane Torrent duration = 120, spellName = select(1, GetSpellInfo(28730)), texture = select(3, GetSpellInfo(28730)) }, ["Tauren"] = { [20549] = true, -- War Stomp duration = 120, spellName = select(1, GetSpellInfo(20549)), texture = select(3, GetSpellInfo(20549)) }, ["Orc"] = { [20572] = true, [33697] = true, [33702] = true, duration = 120, spellName = select(1, GetSpellInfo(20572)), texture = select(3, GetSpellInfo(20572)) }, ["Troll"] = { [26297] = true, duration = 180, spellName = select(1, GetSpellInfo(26297)), texture = select(3, GetSpellInfo(26297)) }, ["NightElf"] = { [58984] = true, duration = 120, spellName = select(1, GetSpellInfo(58984)), texture = select(3, GetSpellInfo(58984)) }, ["Draenei"] = { [28880] = true, duration = 180, spellName = select(1, GetSpellInfo(28880)), texture = select(3, GetSpellInfo(28880)) }, ["Human"] = { [59752] = true, -- Perception duration = 120, spellName = select(1, GetSpellInfo(59752)), texture = select(3, GetSpellInfo(59752)) }, ["Gnome"] = { [20589] = true, -- Escape Artist duration = 105, spellName = select(1, GetSpellInfo(20589)), texture = select(3, GetSpellInfo(20589)) }, ["Dwarf"] = { [20594] = true, -- Stoneform duration = 180, spellName = select(1, GetSpellInfo(20594)), texture = select(3, GetSpellInfo(20594)) }, } function Gladdy:Racials() return racials end --------------------- -- TOTEM STUFF --------------------- local totemData = { -- Fire [string_lower("Searing Totem")] = { id = 3599, texture = select(3, GetSpellInfo(3599)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Flametongue Totem")] = { id = 8227, texture = select(3, GetSpellInfo(8227)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Magma Totem")] = { id = 8190, texture = select(3, GetSpellInfo(8190)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = 2 }, [string_lower("Fire Nova Totem")] = { id = 1535, texture = select(3, GetSpellInfo(1535)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = { cd = 4, once = true } }, [string_lower("Totem of Wrath")] = { id = 30706, texture = select(3, GetSpellInfo(30706)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Fire Elemental Totem")] = { id = 32982, texture = select(3, GetSpellInfo(32982)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Frost Resistance Totem")] = { id = 8181, texture = select(3, GetSpellInfo(8181)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Totem of Wrath")] = { id = 30706, texture = select(3, GetSpellInfo(30706)), color = { r = 0, g = 0, b = 0, a = 1 } }, -- Water [string_lower("Fire Resistance Totem")] = { id = 8184, texture = select(3, GetSpellInfo(8184)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Disease Cleansing Totem")] = { id = 8170, texture = select(3, GetSpellInfo(8170)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = 5 }, [string_lower("Healing Stream Totem")] = { id = 5394, texture = select(3, GetSpellInfo(5394)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = 2 }, [string_lower("Mana Tide Totem")] = { id = 16190, texture = select(3, GetSpellInfo(16190)), color = { r = 0.078, g = 0.9, b = 0.16, a = 1 } }, [string_lower("Mana Spring Totem")] = { id = 5675, texture = select(3, GetSpellInfo(5675)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = 2 }, -- Earth [string_lower("Earthbind Totem")] = { id = 2484, texture = select(3, GetSpellInfo(2484)), color = { r = 0.5, g = 0.5, b = 0.5, a = 1 }, pulse = 3 }, [string_lower("Stoneclaw Totem")] = { id = 5730, texture = select(3, GetSpellInfo(5730)), color = { r = 0, g = 0, b = 0, a = 1 }, pulse = 2 }, [string_lower("Stoneskin Totem")] = { id = 8071, texture = select(3, GetSpellInfo(8071)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Strength of Earth Totem")] = { id = 8075, texture = select(3, GetSpellInfo(8075)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Earth Elemental Totem")] = { id = 33663, texture = select(3, GetSpellInfo(33663)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Tremor Totem")] = { id = 8143, texture = select(3, GetSpellInfo(8143)), color = { r = 1, g = 0.9, b = 0.1, a = 1 }, pulse = 3 }, -- Air [string_lower("Grounding Totem")] = { id = 8177, texture = select(3, GetSpellInfo(8177)), color = { r = 0, g = 0.53, b = 0.92, a = 1 } }, [string_lower("Nature Resistance Totem")] = { id = 10595, texture = select(3, GetSpellInfo(10595)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Windfury Totem")] = { id = 8512, texture = select(3, GetSpellInfo(8512)), color = { r = 0.96, g = 0, b = 0.07, a = 1 } }, [string_lower("Sentry Totem")] = { id = 6495, texture = select(3, GetSpellInfo(6495)), color = { r = 0, g = 0, b = 0, a = 1 } }, [string_lower("Wrath of Air Totem")] = { id = 3738, texture = select(3, GetSpellInfo(3738)), color = { r = 0, g = 0, b = 0, a = 1 } }, } local totemSpellIdToPulse = { [GetSpellInfo(totemData[string_lower("Earthbind Totem")].id)] = totemData[string_lower("Earthbind Totem")].pulse, [2484] = totemData[string_lower("Earthbind Totem")].pulse, [GetSpellInfo(totemData[string_lower("Tremor Totem")].id)] = totemData[string_lower("Tremor Totem")].pulse, [8143] = totemData[string_lower("Tremor Totem")].pulse, --[GetSpellInfo(totemData[string_lower("Poison Cleansing Totem")].id)] = totemData[string_lower("Poison Cleansing Totem")].pulse, --[8166] = totemData[string_lower("Poison Cleansing Totem")].pulse, [GetSpellInfo(totemData[string_lower("Disease Cleansing Totem")].id)] = totemData[string_lower("Disease Cleansing Totem")].pulse, [8170] = totemData[string_lower("Disease Cleansing Totem")].pulse, [GetSpellInfo(totemData[string_lower("Fire Nova Totem")].id)] = totemData[string_lower("Fire Nova Totem")].pulse, [1535] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 1 [8498] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 2 [8499] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 3 [11314] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 4 [11315] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 5 [25546] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 6 [25547] = totemData[string_lower("Fire Nova Totem")].pulse, -- Rank 7 [GetSpellInfo(totemData[string_lower("Magma Totem")].id)] = totemData[string_lower("Magma Totem")].pulse, [8190] = totemData[string_lower("Magma Totem")].pulse, -- Rank 1 [10585] = totemData[string_lower("Magma Totem")].pulse, -- Rank 2 [10586] = totemData[string_lower("Magma Totem")].pulse, -- Rank 3 [10587] = totemData[string_lower("Magma Totem")].pulse, -- Rank 4 [25552] = totemData[string_lower("Magma Totem")].pulse, -- Rank 5 [GetSpellInfo(totemData[string_lower("Healing Stream Totem")].id)] = totemData[string_lower("Healing Stream Totem")].pulse, [5394] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 1 [6375] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 2 [6377] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 3 [10462] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 4 [10463] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 5 [25567] = totemData[string_lower("Healing Stream Totem")].pulse, -- Rank 6 [GetSpellInfo(totemData[string_lower("Mana Spring Totem")].id)] = totemData[string_lower("Mana Spring Totem")].pulse, [5675] = totemData[string_lower("Mana Spring Totem")].pulse, -- Rank 1 [10495] = totemData[string_lower("Mana Spring Totem")].pulse, -- Rank 2 [10496] = totemData[string_lower("Mana Spring Totem")].pulse, -- Rank 3 [10497] = totemData[string_lower("Mana Spring Totem")].pulse, -- Rank 4 [25570] = totemData[string_lower("Mana Spring Totem")].pulse, -- Rank 5 [GetSpellInfo(totemData[string_lower("Stoneclaw Totem")].id)] = totemData[string_lower("Stoneclaw Totem")].pulse, [5730] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 1 [6390] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 2 [6391] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 3 [6392] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 4 [10427] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 5 [10428] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 6 [25525] = totemData[string_lower("Stoneclaw Totem")].pulse, -- Rank 7 } local totemNpcIdsToTotemData = { --fire [2523] = totemData[string_lower("Searing Totem")], [3902] = totemData[string_lower("Searing Totem")], [3903] = totemData[string_lower("Searing Totem")], [3904] = totemData[string_lower("Searing Totem")], [7400] = totemData[string_lower("Searing Totem")], [7402] = totemData[string_lower("Searing Totem")], [15480] = totemData[string_lower("Searing Totem")], [31162] = totemData[string_lower("Searing Totem")], [31164] = totemData[string_lower("Searing Totem")], [31165] = totemData[string_lower("Searing Totem")], [21995] = totemData[string_lower("Searing Totem")], [22209] = totemData[string_lower("Searing Totem")], [22895] = totemData[string_lower("Searing Totem")], [22896] = totemData[string_lower("Searing Totem")], [34687] = totemData[string_lower("Searing Totem")], [36532] = totemData[string_lower("Searing Totem")], [43423] = totemData[string_lower("Searing Totem")], [67380] = totemData[string_lower("Searing Totem")], [73477] = totemData[string_lower("Searing Totem")], [79238] = totemData[string_lower("Searing Totem")], [22896] = totemData[string_lower("Searing Totem")], [84519] = totemData[string_lower("Searing Totem")], [110730] = totemData[string_lower("Searing Totem")], [132178] = totemData[string_lower("Searing Totem")], [9637] = totemData[string_lower("Searing Totem")], [5950] = totemData[string_lower("Flametongue Totem")], [6012] = totemData[string_lower("Flametongue Totem")], [7423] = totemData[string_lower("Flametongue Totem")], [10557] = totemData[string_lower("Flametongue Totem")], [15485] = totemData[string_lower("Flametongue Totem")], [31132] = totemData[string_lower("Flametongue Totem")], [31133] = totemData[string_lower("Flametongue Totem")], [31158] = totemData[string_lower("Flametongue Totem")], [42605] = totemData[string_lower("Flametongue Totem")], [5929] = totemData[string_lower("Magma Totem")], [7464] = totemData[string_lower("Magma Totem")], [7465] = totemData[string_lower("Magma Totem")], [7466] = totemData[string_lower("Magma Totem")], [15484] = totemData[string_lower("Magma Totem")], [31166] = totemData[string_lower("Magma Totem")], [31167] = totemData[string_lower("Magma Totem")], [32887] = totemData[string_lower("Magma Totem")], [42211] = totemData[string_lower("Magma Totem")], [71335] = totemData[string_lower("Magma Totem")], [71925] = totemData[string_lower("Magma Totem")], [73085] = totemData[string_lower("Magma Totem")], [73093] = totemData[string_lower("Magma Totem")], [73268] = totemData[string_lower("Magma Totem")], [88971] = totemData[string_lower("Magma Totem")], [97369] = totemData[string_lower("Magma Totem")], [98676] = totemData[string_lower("Magma Totem")], [5879] = totemData[string_lower("Fire Nova Totem")], [6110] = totemData[string_lower("Fire Nova Totem")], [6111] = totemData[string_lower("Fire Nova Totem")], [7844] = totemData[string_lower("Fire Nova Totem")], [7845] = totemData[string_lower("Fire Nova Totem")], [14662] = totemData[string_lower("Fire Nova Totem")], [15482] = totemData[string_lower("Fire Nova Totem")], [15483] = totemData[string_lower("Fire Nova Totem")], [24320] = totemData[string_lower("Fire Nova Totem")], [32775] = totemData[string_lower("Fire Nova Totem")], [32776] = totemData[string_lower("Fire Nova Totem")], [17539] = totemData[string_lower("Totem of Wrath")], [22970] = totemData[string_lower("Totem of Wrath")], [22971] = totemData[string_lower("Totem of Wrath")], [30652] = totemData[string_lower("Totem of Wrath")], [30653] = totemData[string_lower("Totem of Wrath")], [30654] = totemData[string_lower("Totem of Wrath")], [15439] = totemData[string_lower("Fire Elemental Totem")], [40830] = totemData[string_lower("Fire Elemental Totem")], [41337] = totemData[string_lower("Fire Elemental Totem")], [41346] = totemData[string_lower("Fire Elemental Totem")], [72301] = totemData[string_lower("Fire Elemental Totem")], [5926] = totemData[string_lower("Frost Resistance Totem")], [7412] = totemData[string_lower("Frost Resistance Totem")], [7413] = totemData[string_lower("Frost Resistance Totem")], [15486] = totemData[string_lower("Frost Resistance Totem")], [31171] = totemData[string_lower("Frost Resistance Totem")], [31172] = totemData[string_lower("Frost Resistance Totem")], -- Water [5927] = totemData[string_lower("Fire Resistance Totem")], [7424] = totemData[string_lower("Fire Resistance Totem")], [7425] = totemData[string_lower("Fire Resistance Totem")], [15487] = totemData[string_lower("Fire Resistance Totem")], [31169] = totemData[string_lower("Fire Resistance Totem")], [31170] = totemData[string_lower("Fire Resistance Totem")], [5924] = totemData[string_lower("Disease Cleansing Totem")], [3527] = totemData[string_lower("Healing Stream Totem")], [3906] = totemData[string_lower("Healing Stream Totem")], [3907] = totemData[string_lower("Healing Stream Totem")], [3908] = totemData[string_lower("Healing Stream Totem")], [3909] = totemData[string_lower("Healing Stream Totem")], [14664] = totemData[string_lower("Healing Stream Totem")], [15488] = totemData[string_lower("Healing Stream Totem")], [18235] = totemData[string_lower("Healing Stream Totem")], [31181] = totemData[string_lower("Healing Stream Totem")], [31182] = totemData[string_lower("Healing Stream Totem")], [31185] = totemData[string_lower("Healing Stream Totem")], [34686] = totemData[string_lower("Healing Stream Totem")], [36542] = totemData[string_lower("Healing Stream Totem")], [37810] = totemData[string_lower("Healing Stream Totem")], [38428] = totemData[string_lower("Healing Stream Totem")], [47077] = totemData[string_lower("Healing Stream Totem")], [72309] = totemData[string_lower("Healing Stream Totem")], [72457] = totemData[string_lower("Healing Stream Totem")], [73890] = totemData[string_lower("Healing Stream Totem")], [74433] = totemData[string_lower("Healing Stream Totem")], [97508] = totemData[string_lower("Healing Stream Totem")], [112567] = totemData[string_lower("Healing Stream Totem")], [120357] = totemData[string_lower("Healing Stream Totem")], [128539] = totemData[string_lower("Healing Stream Totem")], [132049] = totemData[string_lower("Healing Stream Totem")], [10467] = totemData[string_lower("Mana Tide Totem")], [11100] = totemData[string_lower("Mana Tide Totem")], [11101] = totemData[string_lower("Mana Tide Totem")], [17061] = totemData[string_lower("Mana Tide Totem")], [3573] = totemData[string_lower("Mana Spring Totem")], [7414] = totemData[string_lower("Mana Spring Totem")], [7415] = totemData[string_lower("Mana Spring Totem")], [7416] = totemData[string_lower("Mana Spring Totem")], [15304] = totemData[string_lower("Mana Spring Totem")], [15489] = totemData[string_lower("Mana Spring Totem")], [31186] = totemData[string_lower("Mana Spring Totem")], [31189] = totemData[string_lower("Mana Spring Totem")], [31190] = totemData[string_lower("Mana Spring Totem")], -- Earth [2630] = totemData[string_lower("Earthbind Totem")], [22486] = totemData[string_lower("Earthbind Totem")], [40233] = totemData[string_lower("Earthbind Totem")], [74737] = totemData[string_lower("Earthbind Totem")], [79155] = totemData[string_lower("Earthbind Totem")], [3579] = totemData[string_lower("Stoneclaw Totem")], [3911] = totemData[string_lower("Stoneclaw Totem")], [3912] = totemData[string_lower("Stoneclaw Totem")], [3913] = totemData[string_lower("Stoneclaw Totem")], [7398] = totemData[string_lower("Stoneclaw Totem")], [7399] = totemData[string_lower("Stoneclaw Totem")], [14870] = totemData[string_lower("Stoneclaw Totem")], [15478] = totemData[string_lower("Stoneclaw Totem")], [31120] = totemData[string_lower("Stoneclaw Totem")], [31121] = totemData[string_lower("Stoneclaw Totem")], [31122] = totemData[string_lower("Stoneclaw Totem")], [40258] = totemData[string_lower("Stoneclaw Totem")], [102402] = totemData[string_lower("Stoneclaw Totem")], [5873] = totemData[string_lower("Stoneskin Totem")], [5919] = totemData[string_lower("Stoneskin Totem")], [5920] = totemData[string_lower("Stoneskin Totem")], [7366] = totemData[string_lower("Stoneskin Totem")], [7367] = totemData[string_lower("Stoneskin Totem")], [7368] = totemData[string_lower("Stoneskin Totem")], [14663] = totemData[string_lower("Stoneskin Totem")], [15470] = totemData[string_lower("Stoneskin Totem")], [15474] = totemData[string_lower("Stoneskin Totem")], [18177] = totemData[string_lower("Stoneskin Totem")], [21994] = totemData[string_lower("Stoneskin Totem")], [31175] = totemData[string_lower("Stoneskin Totem")], [31176] = totemData[string_lower("Stoneskin Totem")], [36550] = totemData[string_lower("Stoneskin Totem")], [40267] = totemData[string_lower("Stoneskin Totem")], [41967] = totemData[string_lower("Stoneskin Totem")], [5874] = totemData[string_lower("Strength of Earth Totem")], [5921] = totemData[string_lower("Strength of Earth Totem")], [5922] = totemData[string_lower("Strength of Earth Totem")], [7403] = totemData[string_lower("Strength of Earth Totem")], [15464] = totemData[string_lower("Strength of Earth Totem")], [15479] = totemData[string_lower("Strength of Earth Totem")], [21992] = totemData[string_lower("Strength of Earth Totem")], [30647] = totemData[string_lower("Strength of Earth Totem")], [31129] = totemData[string_lower("Strength of Earth Totem")], [40266] = totemData[string_lower("Strength of Earth Totem")], [15430] = totemData[string_lower("Earth Elemental Totem")], [24649] = totemData[string_lower("Earth Elemental Totem")], [39387] = totemData[string_lower("Earth Elemental Totem")], [40247] = totemData[string_lower("Earth Elemental Totem")], [72307] = totemData[string_lower("Earth Elemental Totem")], [5913] = totemData[string_lower("Tremor Totem")], [41938] = totemData[string_lower("Tremor Totem")], [41939] = totemData[string_lower("Tremor Totem")], -- Air [5925] = totemData[string_lower("Grounding Totem")], [128537] = totemData[string_lower("Grounding Totem")], [136251] = totemData[string_lower("Grounding Totem")], [7467] = totemData[string_lower("Nature Resistance Totem")], [7468] = totemData[string_lower("Nature Resistance Totem")], [7469] = totemData[string_lower("Nature Resistance Totem")], [15490] = totemData[string_lower("Nature Resistance Totem")], [31173] = totemData[string_lower("Nature Resistance Totem")], [31174] = totemData[string_lower("Nature Resistance Totem")], [6112] = totemData[string_lower("Windfury Totem")], [7483] = totemData[string_lower("Windfury Totem")], [7484] = totemData[string_lower("Windfury Totem")], [14666] = totemData[string_lower("Windfury Totem")], [15496] = totemData[string_lower("Windfury Totem")], [15497] = totemData[string_lower("Windfury Totem")], [22897] = totemData[string_lower("Windfury Totem")], [41940] = totemData[string_lower("Windfury Totem")], [41941] = totemData[string_lower("Windfury Totem")], [80703] = totemData[string_lower("Windfury Totem")], [105690] = totemData[string_lower("Windfury Totem")], [133684] = totemData[string_lower("Windfury Totem")], [3968] = totemData[string_lower("Sentry Totem")], [28938] = totemData[string_lower("Sentry Totem")], [40187] = totemData[string_lower("Sentry Totem")], [69505] = totemData[string_lower("Sentry Totem")], [70413] = totemData[string_lower("Sentry Totem")], [71145] = totemData[string_lower("Sentry Totem")], [147410] = totemData[string_lower("Sentry Totem")], [15447] = totemData[string_lower("Wrath of Air Totem")], [36556] = totemData[string_lower("Wrath of Air Totem")], } function Gladdy:GetTotemData() return totemData, totemNpcIdsToTotemData, totemSpellIdToPulse end