diff --git a/Babelfish.lua b/Babelfish.lua
index 84626b9..af16102 100644
--- a/Babelfish.lua
+++ b/Babelfish.lua
@@ -45,6 +45,7 @@ local values = {
STATUS_MAGIC = "Ma",
STATUS_POISON = "Po",
STATUS_DISEASE = "Di",
+ STATUS_PRAYERMEND = "PoM",
}
print("--Localization.enUS.lua\n")
diff --git a/Localization.enUS.lua b/Localization.enUS.lua
index 50ac0b5..11397d3 100644
--- a/Localization.enUS.lua
+++ b/Localization.enUS.lua
@@ -82,6 +82,7 @@ PerfectRaidLocals = {
["Power Word: Fortitude"] = "Power Word: Fortitude",
["Power Word: Shield"] = "Power Word: Shield",
["Prayer of Fortitude"] = "Prayer of Fortitude",
+ ["Prayer of Mending"] = "Prayer of Mending",
["Prayer of Shadow Protection"] = "Prayer of Shadow Protection",
["Prayer of Spirit"] = "Prayer of Spirit",
["Priest"] = "Priest",
@@ -112,6 +113,7 @@ PerfectRaidLocals = {
["STATUS_MOTW"] = "M",
["STATUS_POISON"] = "Po",
["STATUS_POWERINFUSION"] = "PwI",
+ ["STATUS_PRAYERMEND"] = "PoM",
["STATUS_PWS"] = "PwS",
["STATUS_REGROWTH"] = "Rg",
["STATUS_REJUV"] = "Rj",
diff --git a/PerfectRaid.lua b/PerfectRaid.lua
index 13c4c41..d6dcb63 100644
--- a/PerfectRaid.lua
+++ b/PerfectRaid.lua
@@ -144,6 +144,7 @@ function PerfectRaid:UpdateRaidFrames()
end
end
frame:Hide()
+ frame.bg:Hide()
end
--name, title, filter, sortOrder, strict, group, order, columns, coloffset, colanchor)
@@ -223,17 +224,28 @@ function PerfectRaid:CreateRaidFrame(idx)
local frame = getglobal(name)
if not frame then
- frame = CreateFrame("Frame", name, UIParent, template)
+ local bg = CreateFrame("Frame", nil, UIParent)
+
+ frame = CreateFrame("Frame", name, bg, template)
frame.title = frame:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
local offset = options.partyFrame and 17 or 3
- frame.title:SetPoint("BOTTOM", frame, "TOP", 0, offset)
+ local bgtopoffset = 5
+ bgtopoffset = bgtopoffset + (options.partyFrame and 21 or 0)
+ bgtopoffset = bgtopoffset + (options.title and 20 or 0)
+
+ frame.bg = bg
+ bg:SetPoint("TOPLEFT", frame, "TOPLEFT", 0, bgtopoffset)
+ bg:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", 0, -5)
+ frame.title:SetPoint("BOTTOM", frame, "TOP", 0, offset)
frame.backdrop = {
- bgFile = "Interface\\Tooltips\\UI-Tooltip-Background";
- tileSize =16;
- tile = 1;
- insets = {top = -5; bottom = -5; left = -5; right = -5};
+ bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
+ edgeFile = "Interface\\AddOns\\PerfectRaid\\images\\backdrop",
+ tile = true,
+ tileSize = 16,
+ edgeSize = 4,
+ insets = {left = 4, right = 4, top = 4, bottom = 4},
}
end
@@ -242,6 +254,7 @@ function PerfectRaid:CreateRaidFrame(idx)
if options.disabled then
frame:Hide()
+ frame.bg:Hide()
return
end
@@ -286,10 +299,10 @@ function PerfectRaid:CreateRaidFrame(idx)
end
if options.hBackdrop then
- frame:SetBackdrop(frame.backdrop)
- frame:SetBackdropColor(0,0,0,1)
+ frame.bg:SetBackdrop(frame.backdrop)
+ frame.bg:SetBackdropColor(0,0,0,.7)
else
- frame:SetBackdrop(nil)
+ frame.bg:SetBackdrop(nil)
end
local yoffset = options.alignbottom and 1 or -1
@@ -319,6 +332,7 @@ function PerfectRaid:CreateRaidFrame(idx)
frame:SetClampedToScreen(true)
frame:SetScale(options.scale)
frame:Show()
+ frame.bg:Show()
self:RestorePosition(name)
return frame
end
@@ -472,6 +486,10 @@ end
local function OnShow(frame)
local self = PerfectRaid
local unit = frame:GetAttribute("unit")
+ if unit == nil then
+ PerfectRaid:Print(debugstack())
+ end
+
local unitname = UnitName(unit)
if not frame.unitname then
frame.unitname = unitname
@@ -566,12 +584,14 @@ function OnAttributeChanged(frame, name, value)
local button = parent:GetAttribute("child"..i)
if button and button:IsShown() then visible = true end
end
+ local method
+ if visible then method = "Show" else method = "Hide" end
+
if parent.title then
- if not visible then
- parent.title:Hide()
- else
- parent.title:Show()
- end
+ parent.title[method](parent.title)
+ end
+ if parent.bg then
+ parent.bg[method](parent.bg)
end
else
parent.title:Show()
@@ -640,6 +660,9 @@ function PerfectRaid.ConfigureButton(button)
end
function PerfectRaid:UpdateButtonLayout(button)
+ if not button then
+ self:Print(debugstack())
+ end
local parent = button:GetParent()
local options = self.db.profile.headers[parent.idx]
@@ -663,7 +686,7 @@ function PerfectRaid:UpdateButtonLayout(button)
button.manabar:Hide()
else
button.manabar:Show()
- button.manabar:SetHeight(options.manaheight)
+ button.manabar:SetHeight(options.manaheight or 0)
end
button.manabar:SetStatusBarTexture("Interface\\AddOns\\PerfectRaid\\images\\smooth")
diff --git a/PerfectRaid_Buffs.lua b/PerfectRaid_Buffs.lua
index b4b84c0..756b13d 100644
--- a/PerfectRaid_Buffs.lua
+++ b/PerfectRaid_Buffs.lua
@@ -756,6 +756,13 @@ Buffs.defaults = {
color = "9900FF",
disabled = (class ~= "PRIEST" and race == "Dwarf"),
},
+ {
+ conds = "All",
+ buffname = L["Prayer of Mending"],
+ disptext = L["STATUS_PRAYERMEND"],
+ color = "FFCF7F",
+ disabled = (class ~= "PRIEST"),
+ },
-- Druid specific spells
{
conds = "All",
diff --git a/PerfectRaid_Frames.lua b/PerfectRaid_Frames.lua
index ce3fb89..c6b214c 100644
--- a/PerfectRaid_Frames.lua
+++ b/PerfectRaid_Frames.lua
@@ -592,6 +592,9 @@ function Frames:SaveEntry()
local header = getglobal(name)
for i=1,header:GetNumChildren() do
local button = header:GetAttribute("child"..i)
+ if not button then
+ button = header.player
+ end
PerfectRaid:UpdateButtonLayout(button)
end
for unit in pairs(frames) do
diff --git a/images/backdrop.tga b/images/backdrop.tga
new file mode 100644
index 0000000..677cf1f
Binary files /dev/null and b/images/backdrop.tga differ