Anouncements + Gladdy RegisterMessages
This commit is contained in:
parent
ce3812d234
commit
d8391b0f66
@ -15,7 +15,7 @@ local L = Gladdy.L
|
|||||||
local Cooldowns = Gladdy.modules["Cooldowns"]
|
local Cooldowns = Gladdy.modules["Cooldowns"]
|
||||||
local Diminishings = Gladdy.modules["Diminishings"]
|
local Diminishings = Gladdy.modules["Diminishings"]
|
||||||
|
|
||||||
local EventListener = Gladdy:NewModule("EventListener", 100, {
|
local EventListener = Gladdy:NewModule("EventListener", 10, {
|
||||||
test = true,
|
test = true,
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -214,6 +214,7 @@ Gladdy.exceptionNames = { -- TODO MOVE ME TO CLASSBUFFS LIB
|
|||||||
|
|
||||||
Gladdy.cooldownBuffs = {
|
Gladdy.cooldownBuffs = {
|
||||||
[GetSpellInfo(6346)] = { cd = 180, spellId = 6346 }, -- Fear Ward
|
[GetSpellInfo(6346)] = { cd = 180, spellId = 6346 }, -- Fear Ward
|
||||||
|
-- TODO sprint, shadowstep
|
||||||
racials = {
|
racials = {
|
||||||
[GetSpellInfo(20600)] = { cd = 180, spellId = 20600 }, -- Perception
|
[GetSpellInfo(20600)] = { cd = 180, spellId = 20600 }, -- Perception
|
||||||
}
|
}
|
||||||
@ -257,7 +258,6 @@ function EventListener:UNIT_AURA(unit)
|
|||||||
spellName = Gladdy.exceptionNames[spellID]
|
spellName = Gladdy.exceptionNames[spellID]
|
||||||
end
|
end
|
||||||
Gladdy:SendMessage("AURA_GAIN", unit, auraType, spellID, spellName, texture, duration, expirationTime, count, debuffType, i)
|
Gladdy:SendMessage("AURA_GAIN", unit, auraType, spellID, spellName, texture, duration, expirationTime, count, debuffType, i)
|
||||||
Gladdy:Call("Announcements", "CheckDrink", unit, spellName)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
12
Gladdy.lua
12
Gladdy.lua
@ -187,6 +187,12 @@ function Gladdy:NewModule(name, priority, defaults)
|
|||||||
module.defaults = defaults or {}
|
module.defaults = defaults or {}
|
||||||
module.messages = {}
|
module.messages = {}
|
||||||
|
|
||||||
|
module.RegisterMessages = function(self, ...)
|
||||||
|
for _,message in pairs({...}) do
|
||||||
|
self.messages[message] = message
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
module.RegisterMessage = function(self, message, func)
|
module.RegisterMessage = function(self, message, func)
|
||||||
self.messages[message] = func or message
|
self.messages[message] = func or message
|
||||||
end
|
end
|
||||||
@ -195,6 +201,12 @@ function Gladdy:NewModule(name, priority, defaults)
|
|||||||
self.messages[message] = nil
|
self.messages[message] = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module.UnregisterMessages = function(self, ...)
|
||||||
|
for _,message in pairs({...}) do
|
||||||
|
self.messages[message] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
module.UnregisterAllMessages = function(self)
|
module.UnregisterAllMessages = function(self)
|
||||||
for msg,_ in pairs(self.messages) do
|
for msg,_ in pairs(self.messages) do
|
||||||
self.messages[msg] = nil
|
self.messages[msg] = nil
|
||||||
|
@ -16,7 +16,7 @@ local UnitName = UnitName
|
|||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
local Announcements = Gladdy:NewModule("Announcements", nil, {
|
local Announcements = Gladdy:NewModule("Announcements", 101, {
|
||||||
announcements = {
|
announcements = {
|
||||||
drinks = true,
|
drinks = true,
|
||||||
resurrections = true,
|
resurrections = true,
|
||||||
@ -42,18 +42,20 @@ function Announcements:Initialize()
|
|||||||
[GetSpellInfo(20777)] = true,
|
[GetSpellInfo(20777)] = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
self:RegisterMessage("CAST_START")
|
self:RegisterMessage("JOINED_ARENA")
|
||||||
self:RegisterMessage("ENEMY_SPOTTED")
|
|
||||||
self:RegisterMessage("UNIT_SPEC")
|
|
||||||
self:RegisterMessage("UNIT_HEALTH")
|
|
||||||
self:RegisterMessage("TRINKET_USED")
|
|
||||||
self:RegisterMessage("TRINKET_READY")
|
|
||||||
self:RegisterMessage("SHADOWSIGHT")
|
|
||||||
self:RegisterMessage("SPELL_INTERRUPT")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function Announcements:Reset()
|
function Announcements:Reset()
|
||||||
self:UnregisterAllMessages()
|
self:UnregisterMessages(
|
||||||
|
"CAST_START",
|
||||||
|
"ENEMY_SPOTTED",
|
||||||
|
"UNIT_SPEC",
|
||||||
|
"AURA_GAIN",
|
||||||
|
"UNIT_HEALTH",
|
||||||
|
"TRINKET_USED",
|
||||||
|
"TRINKET_READY",
|
||||||
|
"SHADOWSIGHT",
|
||||||
|
"SPELL_INTERRUPT")
|
||||||
self.enemy = {}
|
self.enemy = {}
|
||||||
self.throttled = {}
|
self.throttled = {}
|
||||||
end
|
end
|
||||||
@ -63,17 +65,25 @@ function Announcements:Test(unit)
|
|||||||
if (not button) then
|
if (not button) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
self:JOINED_ARENA()
|
||||||
if (unit == "arena1") then
|
if unit == "arena1" then
|
||||||
self:UNIT_SPEC(unit, button.testSpec)
|
self:AURA_GAIN(unit, nil, nil, self.DRINK_AURA)
|
||||||
elseif (unit == "arena2") then
|
|
||||||
self:CheckDrink(unit, self.DRINK_AURA)
|
|
||||||
elseif (unit == "arena3") then
|
|
||||||
self:UNIT_HEALTH(unit, button.health, button.healthMax)
|
|
||||||
self:ENEMY_SPOTTED(unit)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Announcements:JOINED_ARENA()
|
||||||
|
self:RegisterMessages(
|
||||||
|
"CAST_START",
|
||||||
|
"ENEMY_SPOTTED",
|
||||||
|
"UNIT_SPEC",
|
||||||
|
"AURA_GAIN",
|
||||||
|
"UNIT_HEALTH",
|
||||||
|
"TRINKET_USED",
|
||||||
|
"TRINKET_READY",
|
||||||
|
"SHADOWSIGHT",
|
||||||
|
"SPELL_INTERRUPT")
|
||||||
|
end
|
||||||
|
|
||||||
function Announcements:CAST_START(unit, spell)
|
function Announcements:CAST_START(unit, spell)
|
||||||
local button = Gladdy.buttons[unit]
|
local button = Gladdy.buttons[unit]
|
||||||
if (not button or not Gladdy.db.announcements.resurrections) then
|
if (not button or not Gladdy.db.announcements.resurrections) then
|
||||||
@ -149,13 +159,13 @@ function Announcements:SPELL_INTERRUPT(destUnit,spellID,spellName,spellSchool,ex
|
|||||||
self:Send(L["INTERRUPTED: %s (%s)"]:format(extraSpellName, button.name or ""), nil, RAID_CLASS_COLORS[button.class])
|
self:Send(L["INTERRUPTED: %s (%s)"]:format(extraSpellName, button.name or ""), nil, RAID_CLASS_COLORS[button.class])
|
||||||
end
|
end
|
||||||
|
|
||||||
function Announcements:CheckDrink(unit, aura)
|
function Announcements:AURA_GAIN(unit, auraType, spellID, spellName)
|
||||||
local button = Gladdy.buttons[unit]
|
local button = Gladdy.buttons[unit]
|
||||||
if (not button or not Gladdy.db.announcements.drinks) then
|
if (not button or not Gladdy.db.announcements.drinks) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if (aura == self.DRINK_AURA) then
|
if (spellName == self.DRINK_AURA) then
|
||||||
self:Send(L["DRINKING: %s (%s)"]:format(button.name, button.classLoc), 3, RAID_CLASS_COLORS[button.class])
|
self:Send(L["DRINKING: %s (%s)"]:format(button.name, button.classLoc), 3, RAID_CLASS_COLORS[button.class])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -472,7 +472,7 @@ function Auras:Test(unit)
|
|||||||
local extraSpellSchool = spellSchools[rand(1, #spellSchools)]
|
local extraSpellSchool = spellSchools[rand(1, #spellSchools)]
|
||||||
spellid = tonumber(enabledInterrupts[rand(1, #enabledInterrupts)])
|
spellid = tonumber(enabledInterrupts[rand(1, #enabledInterrupts)])
|
||||||
spellName = select(1, GetSpellInfo(spellid))
|
spellName = select(1, GetSpellInfo(spellid))
|
||||||
self:SPELL_INTERRUPT(unit,spellid, spellName, "physical", spellid, spellName, extraSpellSchool)
|
Gladdy:SendMessage("SPELL_INTERRUPT", unit,spellid, spellName, "physical", spellid, spellName, extraSpellSchool)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user