rendered paste bodyIndex: 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