Quantcast

* Added support for Curse, Magic, Poison and Disease, by name

James Whitehead II [01-01-07 - 23:49]
* Added support for Curse, Magic, Poison and Disease, by name
Filename
Babelfish.lua
Localization.enUS.lua
PerfectRaid_Buffs.lua
diff --git a/Babelfish.lua b/Babelfish.lua
index 41afcaa..48d7099 100644
--- a/Babelfish.lua
+++ b/Babelfish.lua
@@ -40,6 +40,10 @@ local values = {
 	STATUS_THORNS = "Th",
 	STATUS_WEAKENEDSOUL = "Ws",
 	STATUS_MORTALSTRIKE = "Ms",
+	STATUS_CURSE = "Cu",
+	STATUS_MAGIC = "Ma",
+	STATUS_POISON = "Po",
+	STATUS_DISEASE = "Di",
 }

 print("--Localization.enUS.lua\n")
diff --git a/Localization.enUS.lua b/Localization.enUS.lua
index 9d0c972..a0edb74 100644
--- a/Localization.enUS.lua
+++ b/Localization.enUS.lua
@@ -11,7 +11,9 @@ PerfectRaidLocals = {
 	["Blessing of Salvation"] = "Blessing of Salvation",
 	["Blessing of Sanctuary"] = "Blessing of Sanctuary",
 	["Blessing of Wisdom"] = "Blessing of Wisdom",
+	["Curse"] = "Curse",
 	["Dead"] = "Dead",
+	["Disease"] = "Disease",
 	["Divine Spirit"] = "Divine Spirit",
 	["Fear Ward"] = "Fear Ward",
 	["Ghost"] = "Ghost",
@@ -23,9 +25,11 @@ PerfectRaidLocals = {
 	["Greater Blessing of Sanctuary"] = "Greater Blessing of Sanctuary",
 	["Greater Blessing of Wisdom"] = "Greater Blessing of Wisdom",
 	["Innervate"] = "Innervate",
+	["Magic"] = "Magic",
 	["Mark of the Wild"] = "Mark of the Wild",
 	["Mortal Strike"] = "Mortal Strike",
 	["Offline"] = "Offline",
+	["Poison"] = "Poison",
 	["Power Infusion"] = "Power Infusion",
 	["Power Word: Fortitude"] = "Power Word: Fortitude",
 	["Power Word: Shield"] = "Power Word: Shield",
@@ -42,12 +46,16 @@ PerfectRaidLocals = {
 	["STATUS_BLESSINGSALVATION"] = "BoS",
 	["STATUS_BLESSINGSANCTUARY"] = "BoSn",
 	["STATUS_BLESSINGWISDOM"] = "BoW",
+	["STATUS_CURSE"] = "Cu",
+	["STATUS_DISEASE"] = "Di",
 	["STATUS_DIVINESPIRIT"] = "Spi",
 	["STATUS_FEARWARD"] = "FW",
 	["STATUS_FORT"] = "F",
 	["STATUS_INNERVATE"] = "Inn",
+	["STATUS_MAGIC"] = "Ma",
 	["STATUS_MORTALSTRIKE"] = "Ms",
 	["STATUS_MOTW"] = "M",
+	["STATUS_POISON"] = "Po",
 	["STATUS_POWERINFUSION"] = "PwI",
 	["STATUS_PWS"] = "PwS",
 	["STATUS_REGROWTH"] = "Rg",
diff --git a/PerfectRaid_Buffs.lua b/PerfectRaid_Buffs.lua
index 9197e37..01fdf25 100644
--- a/PerfectRaid_Buffs.lua
+++ b/PerfectRaid_Buffs.lua
@@ -64,6 +64,11 @@ function Buffs:ConfigureButton(button)
 	local font = button:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
 	font:SetPoint("LEFT", button.rightbox, "LEFT", 3, 0)
 	button.aura = font
+
+	local bg = button:CreateTexture(nil, "BACKGROUND")
+	bg:SetPoint("TOPLEFT", 0, 0)
+	bg:SetPoint("BOTTOMRIGHT", 0, 0)
+	button.bg = bg
 end

 function Buffs:ShowButton(button)
@@ -86,7 +91,8 @@ function Buffs:UNIT_AURA(event, unit)
 	end

 	for i=1,40 do
-		local name,rank,texture,count = UnitDebuff(unit, i)
+		local name,rank,texture,count,type = UnitDebuff(unit, i)
+		if type then buffcache[type] = (buffcache[type] or 0) + 1 end
 		if not name then break end
 		buffcache[name] = (buffcache[name] or 0) + 1
 	end
@@ -124,7 +130,7 @@ function Buffs:UNIT_AURA(event, unit)
 	local status = strjoin(" ", unpack(work))
 	for frame in pairs(frames[unit]) do
 		frame.aura:SetText(status)
-	end
+	end
 end

 Buffs.conditions = {
@@ -820,4 +826,33 @@ Buffs.defaults = {
 		disptext = L["STATUS_MORTALSTRIKE"],
 		color = "FF1111",
 	},
+	-- Debuffs
+	{
+		conds = "All",
+		buffname = L["Curse"],
+		disptext = L["STATUS_CURSE"],
+		color = "9900FF",
+		disabled = (class ~= "MAGE" and class ~= "DRUID")
+	},
+	{
+		conds = "All",
+		buffname = L["Poison"],
+		disptext = L["STATUS_POISON"],
+		color = "009900",
+		disabled = (class ~= "PALADIN" and class ~= "DRUID")
+	},
+	{
+		conds = "All",
+		buffname = L["Disease"],
+		disptext = L["STATUS_DISEASE"],
+		color = "996600",
+		disabled = (class ~= "PRIEST" and class ~= "PALADIN")
+	},
+	{
+		conds = "All",
+		buffname = L["Magic"],
+		disptext = L["STATUS_MAGIC"],
+		color = "3399FF",
+		disabled = (class ~= "PRIEST" and class ~= "PALADIN")
+	},
 }