BigWigsFaerlina = AceAddon:new({
name = "BigWigsFaerlina",
cmd = AceChatCmd:new({}, {}),
zonename = "Naxx",
enabletrigger = GetLocale() == "koKR" and " "
or "Grand Widow Faerlina",
loc = {
bossname = "Grand Widow Faerlina",
disabletrigger = "Grand Widow Faerlina dies.",
bosskill = "Grand Widow Faerlina has been defeated!",
starttrigger1 = "Kneel before me, worm!",
starttrigger2 = "Slay them in the master's name!",
starttrigger3 = "You cannot hide from me!",
starttrigger4 = "Run while you still can!",
--enragetrigger1 = "Pathetic wretch!",
--enragetrigger2 = "You have faile!",
--enragetrigger3 = "Run while you still can!",
enragetrigger = "Grand Widow Faerlina gains Enrage.",
startwarn = "Start or Enrage!",
enragewarn15sec = "15 seconds until enrage!",
enragewarn = "Enrage!",
enragebar = "Enrage",
},
})
function BigWigsFaerlina:Initialize()
self.disabled = true
BigWigs:RegisterModule(self)
end
function BigWigsFaerlina:Enable()
self.disabled = nil
self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH")
self:RegisterEvent("CHAT_MSG_MONSTER_YELL")
self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS")
end
function BigWigsFaerlina:Disable()
self.disabled = true
self:UnregisterAllEvents()
end
function BigWigsFaerlina:CHAT_MSG_COMBAT_HOSTILE_DEATH()
if (arg1 == self.loc.disabletrigger) then
self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.bosskill, "Green")
self:Disable()
end
end
function BigWigsFaerlina:CHAT_MSG_MONSTER_YELL()
ace:print("boss yell: ["..arg1.."]")
if (arg1 == self.loc.starttrigger1 or arg1 == self.loc.starttrigger2 or arg1 == self.loc.starttrigger3 or arg1 == self.loc.starttrigger4) then
ace:print("Timer triggered")
enragestarttime = time()
self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.startwarn, "Orange")
self:TriggerEvent("BIGWIGS_DELAYEDMESSAGE_START", self.loc.enragewarn15sec, 45, "Red")
self:TriggerEvent("BIGWIGS_BAR_START", self.loc.enragebar, 60, 1, "Yellow", "Interface\\Icons\\Spell_Shadow_UnholyFrenzy")
end
end
function BigWigsFaerlina:CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS()
--ace:print("creature buff: ["..arg1.."]")
if (arg1 == self.loc.enragetrigger) then
if enragestarttime then
--SendChatMessage("enrage took: "..(time() - enragestarttime).." seconds.", "raid")
ace:print("enrage took: "..time().." - "..enragestarttime)
end
enragestarttime = time()
self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.enragewarn, "Orange")
self:TriggerEvent("BIGWIGS_DELAYEDMESSAGE_START", self.loc.enragewarn15sec, 45, "Red")
self:TriggerEvent("BIGWIGS_BAR_START", self.loc.enragebar, 60, 1, "Yellow", "Interface\\Icons\\Spell_Shadow_UnholyFrenzy")
end
end
--------------------------------
-- Load this bitch! --
--------------------------------
BigWigsFaerlina:RegisterForLoad()