--- C:\Program Files\World of Warcraft\Interface\AddOns\BigWigs\Naxxramas\Patchwerk.lua Tue Aug 29 15:17:40 2006 +++ C:\Documents and Settings\Luisito\Desktop\Patchwerk.lua Wed Aug 30 20:51:57 2006 @@ -10,12 +10,24 @@ ---------------------------- L:RegisterTranslations("enUS", function() return { - cmd = "patchwerk", + cmd = "Patchwerk", + you = "You", + are = "are", + + youhs_cmd = "youhs", + youhs_name = "Hateful strike on you alert", + youhs_desc = "Warn when you get hateful strike", + + elsehs_cmd = "elsehs", + elsehs_name = "Hateful strike on others alert", + elsehs_desc = "Warn when someone else gets hateful strike", + enrage_cmd = "enrage", enrage_name = "Enrage Alert", enrage_desc = "Warn for Enrage", + trigger1 = "^([^%s]+) ([^%s]+) afflicted by Hateful Strike", enragetrigger = "%s goes into a berserker rage!", enragewarn = "Enrage!", @@ -29,6 +41,8 @@ warn4 = "Enrage in 60 seconds", warn5 = "Enrage in 30 seconds", warn6 = "Enrage in 10 seconds", + hswarn1 = "Hateful Strike on you!", + hswarn2 = "Hateful Strike on %s!", } end ) @@ -96,7 +110,7 @@ BigWigsPatchwerk = BigWigs:NewModule(boss) BigWigsPatchwerk.zonename = AceLibrary("Babble-Zone-2.0")("Naxxramas") BigWigsPatchwerk.enabletrigger = boss -BigWigsPatchwerk.toggleoptions = {"enrage", "bosskill"} +BigWigsPatchwerk.toggleoptions = {"youhs", "elsehs", "enrage", "bosskill"} BigWigsPatchwerk.revision = tonumber(string.sub("$Revision: 9384 $", 12, -3)) ------------------------------ @@ -105,11 +119,18 @@ function BigWigsPatchwerk:OnEnable() self.enrageStarted = nil + self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "HSEvent") + self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "HSEvent") + self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "HSEvent") self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath") self:RegisterEvent("CHAT_MSG_MONSTER_YELL") self:RegisterEvent("PLAYER_REGEN_ENABLED") end +------------------------------ +-- Event Handlers -- +------------------------------ + function BigWigsPatchwerk:Scan() if (UnitName("target") == boss and UnitAffectingCombat("target")) then return true @@ -136,6 +157,17 @@ self:ScheduleEvent("bwpatchwarn4", "BigWigs_Message", 360, L["warn4"], "Orange") self:ScheduleEvent("bwpatchwarn5", "BigWigs_Message", 390, L["warn5"], "Red") self:ScheduleEvent("bwpatchwarn6", "BigWigs_Message", 410, L["warn6"], "Red") + end +end + +function BigWigsPatchwerk:HSEvent(msg) + local _, _, EPlayer, EType = string.find(msg, L["trigger1"]) + if (EPlayer and EType) then + if EPlayer == L["you"] and EType == L["are"] and self.db.profile.youhs then + self:TriggerEvent("BigWigs_Message", L["warn1"], "Red", true) + elseif self.db.profile.elsehs then + self:TriggerEvent("BigWigs_Message", string.format(L["warn2"], EPlayer), "Yellow") + end end end