All pastes #72535 Raw Edit

Something

public text v1 · immutable
#72535 ·published 2006-06-26 23:06 UTC
rendered paste body
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()