All pastes #113515 Raw Edit

Something

public text v1 · immutable
·published 2006-08-03 16:58 UTC
rendered paste body
Index: Maexxna.lua
===================================================================
--- Maexxna.lua	(revision 6778)
+++ Maexxna.lua	(working copy)
@@ -11,6 +11,10 @@
 
 L:RegisterTranslations("enUS", function() return {
 	cmd = "maexxna",
+
+	wrap_cmd = "wrap",
+	wrap_name = "Web Wrap Alert",
+	wrap_desc = "Warns who gets cocooned on the wall",
 	
 	spray_cmd = "spray",
 	spray_name = "Web Spray Alert",
@@ -20,6 +24,7 @@
 	enrage_name = "Enrage Alert",
 	enrage_desc = "Warn for enrage",
 
+	webwrapwarn = " is wrapped to the wall!",
 	webwraptrigger = "(.*) (.*) afflicted by Web Wrap.",
 	webspraytrigger = "is afflicted by Web Spray.",
 
@@ -86,7 +91,7 @@
 BigWigsMaexxna = BigWigs:NewModule(boss)
 BigWigsMaexxna.zonename = AceLibrary("Babble-Zone-2.0")("Naxxramas")
 BigWigsMaexxna.enabletrigger = boss
-BigWigsMaexxna.toggleoptions = {"spray", "enrage", "bosskill"}
+BigWigsMaexxna.toggleoptions = {"wrap", "spray", "enrage", "bosskill"}
 BigWigsMaexxna.revision = tonumber(string.sub("$Revision$", 12, -3))
 
 ------------------------------
@@ -95,12 +100,14 @@
 
 function BigWigsMaexxna:OnEnable()
 	self.enrageannounced = nil
+	self.announcedWrapVictims = {}
 
 	self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE")
 	self:RegisterEvent("PLAYER_REGEN_ENABLED")
 	self:RegisterEvent("PLAYER_REGEN_DISABLED")
 	self:RegisterEvent("UNIT_HEALTH")
 	self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
+	
 	self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "SprayEvent")
 	self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "SprayEvent")
 	self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "SprayEvent")
@@ -114,22 +121,32 @@
 	if string.find(msg, L"webspraytrigger") then
 		self:TriggerEvent("BigWigs_SendSync", "MaexxnaWebspray")
 	end
+	
+	local _, _, victim, type = string.find(msg, L"webwraptrigger")
+	if victim then
+		if type == L"are" then victim = UnitName("player") end
+		self:TriggerEvent("BigWigs_SendSync", "MaexxnaWebwrap "..victim)
+	end
 end
 
+function BigWigsMaexxna:BigWigs_RecvSync( sync, victim )
+	if sync == "MaexxnaWebspray" then
+		self:TriggerEvent("BigWigs_Message", L"webspraywarn", "Red")
+		self:ScheduleEvent("BigWigs_Message", 10, L"webspraywarn30sec", "Yellow")
+		self:ScheduleEvent("BigWigs_Message", 20, L"webspraywarn20sec", "Yellow")
+		self:ScheduleEvent("BigWigs_Message", 30, L"webspraywarn10sec", "Yellow")
+		self:ScheduleEvent("BigWigs_Message", 35, L"webspraywarn5sec", "Yellow")
+		self:TriggerEvent("BigWigs_StartBar", self, L"webspraybar", 40, 1, "Interface\\Icons\\Ability_Ensnare", "Green", "Yellow", "Orange", "Red")
+	elseif sync == "MaexxnaWebwrap" then
 
-function BigWigsMaexxna:BigWigs_RecvSync( sync )
-	if sync ~= "MaexxnaWebspray" then return end
-
-	self:TriggerEvent("BigWigs_Message", L"webspraywarn", "Red")
-	self:ScheduleEvent("BigWigs_Message", 10, L"webspraywarn30sec", "Yellow")
-	self:ScheduleEvent("BigWigs_Message", 20, L"webspraywarn20sec", "Yellow")
-	self:ScheduleEvent("BigWigs_Message", 30, L"webspraywarn10sec", "Yellow")
-	self:ScheduleEvent("BigWigs_Message", 35, L"webspraywarn5sec", "Yellow")
-	self:TriggerEvent("BigWigs_StartBar", self, L"webspraybar", 40, 1, "Interface\\Icons\\Ability_Ensnare", "Green", "Yellow", "Orange", "Red")
+		announcedWrapVictims[victim] = true
+        
+		if not announcedWrapVictims[victim] then
+			self:TriggerEvent("BigWigs_Message", victim .. L"webwrapwarn", "Red")
+		end
+	end
 end
 
-
-
 function BigWigsMaexxna:Scan()
 	if UnitName("target") == boss and UnitAffectingCombat("target") then
 		return true