All pastes #155422 Raw Edit

Patchwerk diff Lute

public text v1 · immutable
#155422 ·published 2006-08-31 01:48 UTC
rendered paste body
--- 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