local bboss = BabbleLib:GetInstance("Boss 1.2") BigWigsGluth = AceAddon:new({ name = "BigWigsGluth", cmd = AceChatCmd:new({}, {}), zonename = BabbleLib:GetInstance("Zone 1.2")("Naxxramas"), enabletrigger = bboss("Gluth"), bossname = bboss("Gluth"), toggleoptions = { notFear = "Warn for Fear", notFrenzy = "Warn when Gluth goes into a frenzy", notBosskill = "Boss death", }, optionorder = {"notFear", "notFrenzy", "notBosskill"}, loc = { bossname = "Gluth", disabletrigger = "Gluth dies.", trigger1 = "goes into a frenzy!", trigger2 = "by Terrifying Roar.", warn1 = "Frenzy alert - Hunter Tranq shot now!", warn2 = "5 second until AoE Fear!", warn3 = "AoE Fear alert - 20 seconds till next!", bar1text = "AoE Fear", }, }) function BigWigsGluth:Initialize() self.disabled = true self:TriggerEvent("BIGWIGS_REGISTER_MODULE", self) end function BigWigsGluth:Enable() self.disabled = nil self:RegisterEvent("BIGWIGS_MESSAGE") self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "Fear") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "Fear") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "Fear") self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH") end function BigWigsGluth:Disable() self.disabled = true self:UnregisterAllEvents() self:TriggerEvent("BIGWIGS_BAR_CANCEL", self.loc.bar1text) self:TriggerEvent("BIGWIGS_DELAYEDMESSAGE_CANCEL", self.loc.warn2) self:TriggerEvent("BIGWIGS_BAR_DELAYEDSETCOLOR_CANCEL", self.loc.bar1text, 5) self:TriggerEvent("BIGWIGS_BAR_DELAYEDSETCOLOR_CANCEL", self.loc.bar1text, 15) self.prior = nil end function BigWigsGluth:CHAT_MSG_COMBAT_HOSTILE_DEATH() if (arg1 == self.loc.disabletrigger) then if (not self:GetOpt("notBosskill")) then self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.bosskill, "Green", nil, "Victory") end self:Disable() end end function BigWigsGluth:CHAT_MSG_MONSTER_EMOTE() if (arg1 == self.loc.trigger1 and not self:GetOpt("notFrenzy")) then self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.warn1, "Red") end end function BigWigsGluth:Fear() if (not self.prior and string.find(arg1, self.loc.trigger2) and not self:GetOpt("notFear")) then self:TriggerEvent("BIGWIGS_MESSAGE", self.loc.warn3, "Red") self:TriggerEvent("BIGWIGS_DELAYEDMESSAGE_START", self.loc.warn2, 15, "Orange") self:TriggerEvent("BIGWIGS_BAR_START", self.loc.bar1text, 20, 1, "Yellow", "Interface\\Icons\\Spell_Shadow_PsychicScream") self:TriggerEvent("BIGWIGS_BAR_DELAYEDSETCOLOR_START", self.loc.bar1text, 5, "Orange") self:TriggerEvent("BIGWIGS_BAR_DELAYEDSETCOLOR_START", self.loc.bar1text, 15, "Red") self.prior = true end end function BigWigsGluth:BIGWIGS_MESSAGE(text) if text == self.loc.warn2 then self.prior = nil end end -------------------------------- -- Load this bitch! -- -------------------------------- BigWigsGluth:RegisterForLoad()