87 lines
3.6 KiB
Lua
87 lines
3.6 KiB
Lua
--PLAYER_SPELLBOOK_UPDATE PLAYER_SPELLBOOK_EXCLUSION_ADD PLAYER_SPELLBOOK_EXCLUSION_REMOVE PLAYER_SPELLBOOK_EXCLUSION_LIST COOLDOWN_MANAGER_SWITCH_SCAN_MODES PLAYER_SPELLBOOK_WHITELIST_ADD PLAYER_SPELLBOOK_WHITELIST_REMOVE PLAYER_SPELLBOOK_WHITELIST_LIST
|
|
function(e, msg)
|
|
if not aura_env.mode then aura_env.mode = 1 end
|
|
if e == "COOLDOWN_MANAGER_SWITCH_SCAN_MODES" then
|
|
if aura_env.mode == 0 then
|
|
aura_env.mode = 1
|
|
print(aura_env.mode)
|
|
else
|
|
aura_env.mode = 0
|
|
print(aura_env.mode)
|
|
end
|
|
elseif e == "PLAYER_SPELLBOOK_UPDATE" then
|
|
if not WeakAurasSaved.CustomTrash then WeakAurasSaved.CustomTrash = {} end
|
|
if not WeakAurasSaved.CustomTrash.SpellExclusion then WeakAurasSaved.CustomTrash.SpellExclusion = {} end
|
|
if not WeakAurasSaved.CustomTrash.SpellWhitelist then WeakAurasSaved.CustomTrash.SpellWhitelist = {
|
|
["Fortifying Brew"] = 1,
|
|
["Life Cocoon"] = 1,
|
|
["Revival"] = 1,
|
|
["Paralysis"] = 1,
|
|
} end
|
|
aura_env.spells = {}
|
|
if aura_env.mode == 0 then
|
|
local index = 1
|
|
while GetSpellBookItemName(index, "spell") do
|
|
local name = GetSpellInfo(index, "spell")
|
|
local id = select(7, GetSpellInfo(index, "spell"))
|
|
if IsPlayerSpell(id) == true and GetSpellBaseCooldown(id) > 10000 and (not (WeakAurasSaved.CustomTrash.SpellExclusion[name] or WeakAurasSaved.CustomTrash.SpellExclusion[id])) then
|
|
aura_env.spells[name] = id
|
|
end
|
|
index = index + 1
|
|
end
|
|
else
|
|
for k,v in pairs(WeakAurasSaved.CustomTrash.SpellWhitelist) do
|
|
local name = GetSpellInfo(k)
|
|
local id = select(7, GetSpellInfo(k))
|
|
if id and IsPlayerSpell(id) == true then
|
|
aura_env.spells[name] = id
|
|
end
|
|
end
|
|
end
|
|
WeakAuras.ScanEvents("RESET_COOLDOWN_MANAGER_SPELLS")
|
|
elseif e == "PLAYER_SPELLBOOK_EXCLUSION_ADD" then
|
|
if GetSpellInfo(msg) then
|
|
if not WeakAurasSaved.CustomTrash.SpellExclusion[msg] then WeakAurasSaved.CustomTrash.SpellExclusion[msg] = 1 end
|
|
print("Spell <", msg, "> added")
|
|
else
|
|
print("Spell <", msg, "> is invalid")
|
|
end
|
|
WeakAuras.ScanEvents("PLAYER_SPELLBOOK_UPDATE")
|
|
WeakAuras.ScanEvents("RESET_COOLDOWN_MANAGER_SPELLS")
|
|
elseif e == "PLAYER_SPELLBOOK_EXCLUSION_REMOVE" then
|
|
if GetSpellInfo(msg) then
|
|
if WeakAurasSaved.CustomTrash.SpellExclusion[msg] then WeakAurasSaved.CustomTrash.SpellExclusion[msg] = nil else print("Spell <", msg, "> is not excluded"); return end
|
|
print("Spell <", msg, "> removed")
|
|
else
|
|
print("Spell <", msg, "> is invalid")
|
|
end
|
|
WeakAuras.ScanEvents("PLAYER_SPELLBOOK_UPDATE")
|
|
WeakAuras.ScanEvents("RESET_COOLDOWN_MANAGER_SPELLS")
|
|
elseif e == "PLAYER_SPELLBOOK_EXCLUSION_LIST" then
|
|
for k,v in pairs(WeakAurasSaved.CustomTrash.SpellExclusion) do
|
|
print(k,v)
|
|
end
|
|
elseif e == "PLAYER_SPELLBOOK_WHITELIST_ADD" then
|
|
if GetSpellInfo(msg) then
|
|
if not WeakAurasSaved.CustomTrash.SpellWhitelist[msg] then WeakAurasSaved.CustomTrash.SpellWhitelist[msg] = 1 end
|
|
print("Spell <", msg, "> added")
|
|
else
|
|
print("Spell <", msg, "> is invalid")
|
|
end
|
|
WeakAuras.ScanEvents("PLAYER_SPELLBOOK_UPDATE")
|
|
WeakAuras.ScanEvents("RESET_COOLDOWN_MANAGER_SPELLS")
|
|
elseif e == "PLAYER_SPELLBOOK_WHITELIST_REMOVE" then
|
|
if GetSpellInfo(msg) then
|
|
if WeakAurasSaved.CustomTrash.SpellWhitelist[msg] then WeakAurasSaved.CustomTrash.SpellWhitelist[msg] = nil else print("Spell <", msg, "> is not excluded"); return end
|
|
print("Spell <", msg, "> removed")
|
|
else
|
|
print("Spell <", msg, "> is invalid")
|
|
end
|
|
WeakAuras.ScanEvents("PLAYER_SPELLBOOK_UPDATE")
|
|
WeakAuras.ScanEvents("RESET_COOLDOWN_MANAGER_SPELLS")
|
|
elseif e == "PLAYER_SPELLBOOK_WHITELIST_LIST" then
|
|
for k,v in pairs(WeakAurasSaved.CustomTrash.SpellWhitelist) do
|
|
print(k,v)
|
|
end
|
|
end
|
|
end |