Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local MAJOR, MINOR = 'KuiSpellList-1.0', 5
- local KuiSpellList = LibStub:NewLibrary(MAJOR, MINOR)
- local _
- if not KuiSpellList then
- -- already registered
- return
- end
- local listeners = {}
- local whitelist = {
- --[[ Important spells ----------------------------------------------------------
- Target auras which the player needs to keep track of.
- -- LEGEND --
- gp = guaranteed passive
- nd = no damage
- td = tanking dot
- ma = modifies another ability when active
- ]]
- DRUID = { -- 5.2 COMPLETE
- [770] = true, -- faerie fire
- [1079] = true, -- rip
- [1822] = true, -- rake
- [8921] = true, -- moonfire
- [9007] = true, -- pounce bleed
- [77758] = true, -- bear thrash; td ma
- [106830] = true, -- cat thrash
- [93402] = true, -- sunfire
- [33745] = true, -- lacerate
- [102546] = true, -- pounce
- [339] = true, -- entangling roots
- [2637] = true, -- hibernate
- [6795] = true, -- growl
- [16914] = true, -- hurricane
- [19975] = true, -- nature's grasp roots
- [22570] = true, -- maim
- [33786] = true, -- cyclone
- --[58180] = true, -- infected wounds; gp nd
- [78675] = true, -- solar beam silence
- [102795] = true, -- bear hug
- [1126] = true, -- mark of the wild
- [29166] = true, -- innervate
- [110309] = true, -- symbiosis
- [774] = true, -- rejuvenation
- [8936] = true, -- regrowth
- [33763] = true, -- lifebloom
- [48438] = true, -- wild growth
- [102342] = true, -- ironbark
- -- talents
- --[16979] = true, -- wild charge: bear; gp nd
- --[49376] = true, -- wild charge: cat; gp nd
- [102351] = true, -- cenarion ward
- [102355] = true, -- faerie swarm
- [102359] = true, -- mass entanglement
- [61391] = true, -- typhoon daze
- [99] = true, -- disorienting roar
- [5211] = true, -- mighty bash
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- [146198] = true, -- legendary cloak
- },
- HUNTER = { -- 5.2 COMPLETE
- [1130] = true, -- hunter's mark
- [3674] = true, -- black arrow
- [53301] = true, -- explosive shot
- [63468] = true, -- piercing shots
- [118253] = true, -- serpent sting
- [5116] = true, -- concussive shot
- [19503] = true, -- scatter shot
- [20736] = true, -- distracting shot
- [24394] = true, -- intimidation
- [35101] = true, -- concussive barrage
- [64803] = true, -- entrapment
- [82654] = true, -- widow venom
- [131894] = true, -- murder by way of crow
- [3355] = true, -- freezing trap
- [13812] = true, -- explosive trap
- [135299] = true, -- ice trap TODO isn't classed as caused by player
- [34477] = true, -- misdirection
- -- talents
- [136634] = true, -- narrow escape
- [34490] = true, -- silencing shot
- [19386] = true, -- wyvern sting
- [117405] = true, -- binding shot
- [117526] = true, -- binding shot stun
- [120761] = true, -- glaive toss slow
- [121414] = true, -- glaive toss slow 2
- },
- MAGE = { -- 5.2 COMPLETE
- [116] = true, -- frostbolt debuff
- [11366] = true, -- pyroblast
- [12654] = true, -- ignite
- [31589] = true, -- slow
- [83853] = true, -- combustion
- [132210] = true, -- pyromaniac
- [118] = true, -- polymorph
- [28271] = true, -- polymorph: turtle
- [28272] = true, -- polymorph: pig
- [61305] = true, -- polymorph: cat
- [61721] = true, -- polymorph: rabbit
- [61780] = true, -- polymorph: turkey
- [44572] = true, -- deep freeze
- [1459] = true, -- arcane brilliance
- -- talents
- [111264] = true, -- ice ward
- [114923] = true, -- nether tempest
- [44457] = true, -- living bomb
- [112948] = true, -- frost bomb
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- [146198] = true, -- legendary cloak
- },
- DEATHKNIGHT = { -- 5.2 COMPLETE
- [55095] = true, -- frost fever
- [55078] = true, -- blood plague
- [114866] = true, -- soul reaper
- [43265] = true, -- death and decay
- [45524] = true, -- chains of ice
- [49560] = true, -- death grip taunt
- [50435] = true, -- chillblains
- [56222] = true, -- dark command
- [108194] = true, -- asphyxiate stun
- [3714] = true, -- path of frost
- [57330] = true, -- horn of winter
- -- talents
- [115000] = true, -- remorseless winter slow
- [115001] = true, -- remorseless winter stun
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- },
- WARRIOR = { -- 5.2 COMPLETE
- [86346] = true, -- colossus smash
- [113746] = true, -- weakened armour
- [355] = true, -- taunt
- [676] = true, -- disarm
- [1160] = true, -- demoralizing shout
- [1715] = true, -- hamstring
- [5246] = true, -- intimidating shout
- [7922] = true, -- charge stun
- [18498] = true, -- gag order
- [64382] = true, -- shattering throw
- [115767] = true, -- deep wounds; td
- [137637] = true, -- warbringer slow
- [469] = true, -- commanding shout
- [3411] = true, -- intervene
- [6673] = true, -- battle shout
- -- talents
- [12323] = true, -- piercing howl
- [107566] = true, -- staggering shout
- [132168] = true, -- shockwave debuff
- [114029] = true, -- safeguard
- [114030] = true, -- vigilance
- [113344] = true, -- bloodbath debuff
- [132169] = true, -- storm bolt debuff
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- },
- PALADIN = { -- 5.2 COMPLETE
- [114163] = true, -- eternal flame
- [53563] = { colour = {1,.5,0} }, -- beacon of light
- [20925] = { colour = {1,1,.3} }, -- sacred shield
- [19740] = { colour = {.2,.2,1} }, -- blessing of might
- [20217] = { colour = {1,.3,.3} }, -- blessing of kings
- [26573] = true, -- consecration; td
- [31803] = true, -- censure; td
- -- hand of...
- [114039] = true, -- purity
- [6940] = true, -- sacrifice
- [1044] = true, -- freedom
- [1038] = true, -- salvation
- [1022] = true, -- protection
- [853] = true, -- hammer of justice
- [2812] = true, -- denounce
- [10326] = true, -- turn evil
- [20066] = true, -- repentance
- [31935] = true, -- avenger's shield silence
- [62124] = true, -- reckoning
- [105593] = true, -- fist of justice
- [119072] = true, -- holy wrath stun
- [114165] = true, -- holy prism
- [114916] = true, -- execution sentence dot
- [114917] = true, -- stay of execution hot
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- },
- WARLOCK = { -- 5.2 COMPLETE
- [5697] = true, -- unending breath
- [20707] = true, -- soulstone
- [109773] = true, -- dark intent
- [172] = true, -- corruption, demo. version
- [146739] = true, -- corruption
- [114790] = true, -- Soulburn: Seed of Corruption
- [348] = true, -- immolate
- [108686] = true, -- immolate (aoe)
- [980] = true, -- agony
- [27243] = true, -- seed of corruption
- [30108] = true, -- unstable affliction
- [47960] = true, -- shadowflame
- [48181] = true, -- haunt
- [80240] = true, -- havoc
- [1490] = true, -- curse of the elements
- [18223] = true, -- curse of exhaustion
- [109466] = true, -- curse of enfeeblement
- [710] = true, -- banish
- [1098] = true, -- enslave demon
- [5782] = true, -- fear
- -- metamorphosis:
- [603] = true, -- doom
- [124915] = true, -- chaos wave
- [116202] = true, -- aura of the elements
- [116198] = true, -- aura of enfeeblement
- -- talents:
- [5484] = true, -- howl of terror
- [111397] = true, -- blood fear
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- [146198] = true, -- legendary cloak
- },
- SHAMAN = { -- 5.2 COMPLETE
- [8050] = true, -- flame shock
- [8056] = true, -- frost shock slow
- [63685] = true, -- frost shock root
- [51490] = true, -- thunderstorm slow
- [17364] = true, -- stormstrike
- [61882] = true, -- earthquake
- [3600] = true, -- earthbind totem passive
- [64695] = true, -- earthgrap totem root
- [116947] = true, -- earthgrap totem slow
- [546] = true, -- water walking
- [974] = true, -- earth shield
- [51945] = true, -- earthliving
- [61295] = true, -- riptide
- [51514] = true, -- hex
- [76780] = true, -- bind elemental
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- [146198] = true, -- legendary cloak
- },
- PRIEST = { -- 5.2 COMPLETE
- [139] = true, -- renew
- [6346] = true, -- fear ward
- [33206] = true, -- pain suppression
- [41635] = true, -- prayer of mending buff
- [47753] = true, -- divine aegis
- [47788] = true, -- guardian spirit
- [114908] = true, -- spirit shell shield
- [17] = true, -- power word: shield
- [21562] = true, -- power word: fortitude
- [2096] = true, -- mind vision
- [8122] = true, -- psychic scream
- [9484] = true, -- shackle undead
- [64044] = true, -- psychic horror
- [111759] = true, -- levitate
- [589] = true, -- shadow word: pain
- [2944] = true, -- devouring plague
- [14914] = true, -- holy fire
- [34914] = true, -- vampiric touch
- -- talents:
- [605] = true, -- dominate mind
- [114404] = true, -- void tendril root
- [113792] = true, -- psychic terror
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- [146198] = true, -- legendary cloak
- },
- ROGUE = { -- 5.2 COMPLETE
- [703] = true, -- garrote
- [1943] = true, -- rupture
- [79140] = true, -- vendetta
- [84617] = true, -- revealing strike
- [89775] = true, -- hemorrhage
- [113746] = true, -- weakened armour
- [122233] = true, -- crimson tempest
- [2818] = true, -- deadly poison
- [3409] = true, -- crippling poison
- [115196] = true, -- debilitating poison
- [5760] = true, -- mind numbing poison
- [115194] = true, -- mind paralysis
- [8680] = true, -- wound poison
- [408] = true, -- kidney shot
- [1776] = true, -- gouge
- [1833] = true, -- cheap shot
- [2094] = true, -- blind
- [6770] = true, -- sap
- [26679] = true, -- deadly throw
- [51722] = true, -- dismantle
- [88611] = true, -- smoke bomb
- [57934] = true, -- tricks of the trade
- -- talents:
- [112961] = true, -- leeching poison
- [113952] = true, -- paralytic poison
- [113953] = true, -- paralysis
- [115197] = true, -- partial paralysis
- [137619] = true, -- marked for death
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- },
- MONK = { -- 5.2 COMPLETE
- [116189] = true, -- provoke taunt
- [116330] = true, -- dizzying haze debuff
- [123727] = true, -- keg smash - dizzying haze debuff
- [123725] = true, -- breath of fire
- [120086] = true, -- fists of fury stun
- [122470] = true, -- touch of karma
- [128531] = true, -- blackout kick debuff
- [130320] = true, -- rising sun kick debuff
- [116781] = true, -- legacy of the white tiger
- [116844] = true, -- ring of peace
- [117666] = true, -- legacy of the emperor group
- [117667] = true, -- legacy of the emperor target (um.)
- [116849] = true, -- life cocoon
- [132120] = true, -- enveloping mist
- [119611] = true, -- renewing mist
- [117368] = true, -- grapple weapon
- [116095] = true, -- disable
- [115078] = true, -- paralysis
- -- talents:
- [116841] = true, -- tiger's lust
- [124081] = true, -- zen sphere
- [119392] = true, -- charging ox wave
- [119381] = true, -- leg sweep
- [50613] = true, -- arcane torrent
- [20549] = true, -- war stone
- [107079] = true, -- quaking palm
- },
- -- Important auras regardless of caster (cc, flags...) -------------------------
- --[[
- Global = {
- -- PVP --
- [34976] = true, -- Netherstorm Flag
- [23335] = true, -- Alliance Flag
- [23333] = true, -- Horde Flag
- },
- ]]
- }
- KuiSpellList.RegisterChanged = function(table, method)
- -- register listener for whitelist updates
- tinsert(listeners, { table, method })
- end
- KuiSpellList.WhitelistChanged = function()
- -- inform listeners of whitelist update
- for _,listener in ipairs(listeners) do
- if (listener[1])[listener[2]] then
- (listener[1])[listener[2]]()
- end
- end
- end
- KuiSpellList.GetDefaultSpells = function(class)
- -- get spell list, ignoring KuiSpellListCustom
- local list = {}
- -- return a copy of the list rather than a reference
- for spellid,_ in pairs(whitelist[class]) do
- list[spellid] = true
- end
- return list
- end
- KuiSpellList.GetImportantSpells = function(class)
- -- get spell list and merge with KuiSpellListCustom if it is set
- local list = KuiSpellList.GetDefaultSpells(class)
- if KuiSpellListCustom then
- if KuiSpellListCustom.Ignore and
- KuiSpellListCustom.Ignore[class]
- then
- -- remove ignored spells
- for spellid,_ in pairs(KuiSpellListCustom.Ignore[class]) do
- list[spellid] = nil
- end
- end
- if KuiSpellListCustom.Classes and
- KuiSpellListCustom.Classes[class]
- then
- -- merge custom added spells
- for spellid,_ in pairs(KuiSpellListCustom.Classes[class]) do
- list[spellid] = true
- end
- end
- end
- return list
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement