Merge branch 'shagu:master' into master

This commit is contained in:
Mats391
2025-09-12 20:02:01 +00:00
committed by GitHub
72 changed files with 5201 additions and 2830 deletions
+9 -6
View File
@@ -219,13 +219,15 @@ end
local capture_cache = {}
function pfUI.api.GetCaptures(pat)
local r = capture_cache
if not r[pat] then
for a, b, c, d, e in gfind(gsub(pat, "%((.+)%)", "%1"), gsub(pat, "%d%$", "%%(.-)$")) do
r[pat] = { a, b, c, d, e}
end
r[pat] = r[pat] or {}
end
if not r[pat] then return nil, nil, nil, nil end
return r[pat][1], r[pat][2], r[pat][3], r[pat][4], r[pat][5]
end
@@ -713,6 +715,7 @@ end
-- 'position' [string] where it should appear, takes the following:
-- "TOP", "RIGHT", "BOTTOM", "LEFT"
function pfUI.api.AlignToPosition(frame, anchor, position, spacing)
if frame == anchor then return end
frame:ClearAllPoints()
if position == "TOP" and anchor then
frame:SetPoint("BOTTOMLEFT", anchor, "TOPLEFT", 0, (spacing or 0))
@@ -1046,8 +1049,8 @@ function pfUI.api.CreateBackdrop(f, inset, legacy, transp, backdropSetting)
if blizz then
if not f.backdrop_border then
local border = CreateFrame("Frame", nil, f)
border:SetFrameLevel(level + 1)
local border = CreateFrame("Frame", nil, f.backdrop)
border:SetFrameLevel(level + 2)
f.backdrop_border = border
local hookSetBackdropBorderColor = f.backdrop.SetBackdropBorderColor
@@ -1079,10 +1082,10 @@ function pfUI.api.CreateBackdropShadow(f)
f.backdrop_shadow = CreateFrame("Frame", nil, anchor)
f.backdrop_shadow:SetFrameStrata("BACKGROUND")
f.backdrop_shadow:SetFrameLevel(1)
f.backdrop_shadow:SetPoint("TOPLEFT", anchor, "TOPLEFT", -7, 7)
f.backdrop_shadow:SetPoint("BOTTOMRIGHT", anchor, "BOTTOMRIGHT", 7, -7)
f.backdrop_shadow:SetPoint("TOPLEFT", anchor, "TOPLEFT", -5, 5)
f.backdrop_shadow:SetPoint("BOTTOMRIGHT", anchor, "BOTTOMRIGHT", 5, -5)
f.backdrop_shadow:SetBackdrop(pfUI.backdrop_shadow)
f.backdrop_shadow:SetBackdropBorderColor(0,0,0,tonumber(pfUI_config.appearance.border.shadow_intensity))
f.backdrop_shadow:SetBackdropBorderColor(0, 0, 0, tonumber(pfUI_config.appearance.border.shadow_intensity))
end
-- [ Bar Layout Options ] --
+78 -4
View File
@@ -119,6 +119,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("buffbar", "tdebuff", "colorstacks", "0")
pfUI:UpdateConfig("buffbar", "tdebuff", "width", "-1")
pfUI:UpdateConfig("buffbar", "tdebuff", "height", "20")
pfUI:UpdateConfig("buffbar", "tdebuff", "selfdebuff", "0")
pfUI:UpdateConfig("buffbar", "tdebuff", "filter", "blacklist")
pfUI:UpdateConfig("buffbar", "tdebuff", "threshold", "120")
pfUI:UpdateConfig("buffbar", "tdebuff", "whitelist", "")
@@ -152,6 +153,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("appearance", "cd", "foreign", "0")
pfUI:UpdateConfig("appearance", "cd", "milliseconds", "1")
pfUI:UpdateConfig("appearance", "cd", "hideanim", "0")
pfUI:UpdateConfig("appearance", "cd", "font", "Interface\\AddOns\\pfUI\\fonts\\BigNoodleTitling.ttf")
pfUI:UpdateConfig("appearance", "cd", "dynamicsize", "1")
pfUI:UpdateConfig("appearance", "castbar", "castbarcolor", ".7,.7,.9,.8")
pfUI:UpdateConfig("appearance", "castbar", "channelcolor", ".9,.9,.7,.8")
@@ -171,7 +173,8 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("appearance", "bags", "icon_size", "-1")
pfUI:UpdateConfig("appearance", "bags", "bagrowlength", "10")
pfUI:UpdateConfig("appearance", "bags", "bankrowlength", "10")
pfUI:UpdateConfig("appearance", "minimap", "size", "140")
pfUI:UpdateConfig("appearance", "minimap", "size", "140")
pfUI:UpdateConfig("appearance", "minimap", "arrowscale", "1")
pfUI:UpdateConfig("appearance", "minimap", "zonetext", "off")
pfUI:UpdateConfig("appearance", "minimap", "coordstext", "mouseover")
pfUI:UpdateConfig("appearance", "minimap", "coordsloc", "bottomleft")
@@ -215,8 +218,12 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", nil, "layout", "default")
pfUI:UpdateConfig("unitframes", nil, "rangecheck", "0")
pfUI:UpdateConfig("unitframes", nil, "buffdetect", "0")
pfUI:UpdateConfig("unitframes", nil, "druidmanabar", "1")
pfUI:UpdateConfig("unitframes", nil, "druidmanaheight", "2")
pfUI:UpdateConfig("unitframes", nil, "druidmanatext", "0")
pfUI:UpdateConfig("unitframes", nil, "rangechecki", "4")
pfUI:UpdateConfig("unitframes", nil, "combosize", "6")
pfUI:UpdateConfig("unitframes", nil, "combowidth", "6")
pfUI:UpdateConfig("unitframes", nil, "comboheight", "6")
pfUI:UpdateConfig("unitframes", nil, "abbrevnum", "1")
pfUI:UpdateConfig("unitframes", nil, "abbrevname", "1")
@@ -329,6 +336,9 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "raid", "raidlayout", "8x5")
pfUI:UpdateConfig("unitframes", "raid", "raidpadding", "3")
pfUI:UpdateConfig("unitframes", "raid", "raidfill", "VERTICAL")
pfUI:UpdateConfig("unitframes", "raid", "raidgrouplabel", "0")
pfUI:UpdateConfig("unitframes", "raid", "grouplabelxoff", "0")
pfUI:UpdateConfig("unitframes", "raid", "grouplabelyoff", "8")
pfUI:UpdateConfig("unitframes", "raid", "squareaggro", "1")
pfUI:UpdateConfig("unitframes", "raid", "squaresize", "6")
@@ -385,7 +395,14 @@ function pfUI:LoadConfig()
for _, unit in pairs(ufs) do
pfUI:UpdateConfig("unitframes", unit, "visible", "1")
pfUI:UpdateConfig("unitframes", unit, "showPVP", "0")
pfUI:UpdateConfig("unitframes", unit, "pvpiconsize", "16" )
pfUI:UpdateConfig("unitframes", unit, "pvpiconalign", "CENTER")
pfUI:UpdateConfig("unitframes", unit, "pvpiconoffx", "0")
pfUI:UpdateConfig("unitframes", unit, "pvpiconoffy", "0")
pfUI:UpdateConfig("unitframes", unit, "raidicon", "1")
pfUI:UpdateConfig("unitframes", unit, "raidiconalign", "CENTER")
pfUI:UpdateConfig("unitframes", unit, "raidiconoffx", "0")
pfUI:UpdateConfig("unitframes", unit, "raidiconoffy", "20")
pfUI:UpdateConfig("unitframes", unit, "leadericon", "1")
pfUI:UpdateConfig("unitframes", unit, "looticon", "1")
pfUI:UpdateConfig("unitframes", unit, "raidiconsize", "24")
@@ -412,6 +429,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", unit, "debuffsize", "20")
pfUI:UpdateConfig("unitframes", unit, "debufflimit", "32")
pfUI:UpdateConfig("unitframes", unit, "debuffperrow", "8")
pfUI:UpdateConfig("unitframes", unit, "selfdebuff", "0")
pfUI:UpdateConfig("unitframes", unit, "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", unit, "verticalbar", "0")
pfUI:UpdateConfig("unitframes", unit, "buff_indicator", "0")
@@ -566,6 +584,14 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("bars", nil, "bind_color", "1,1,0,1")
pfUI:UpdateConfig("bars", nil, "cd_size", "12")
pfUI:UpdateConfig("bars", "gryphons", "texture", "None")
pfUI:UpdateConfig("bars", "gryphons", "color", ".6,.6,.6,1")
pfUI:UpdateConfig("bars", "gryphons", "size", "64")
pfUI:UpdateConfig("bars", "gryphons", "anchor_left", "pfActionBarLeft")
pfUI:UpdateConfig("bars", "gryphons", "anchor_right", "pfActionBarRight")
pfUI:UpdateConfig("bars", "gryphons", "offset_h", "-48")
pfUI:UpdateConfig("bars", "gryphons", "offset_v", "-4")
pfUI:UpdateConfig("totems", nil, "direction", "HORIZONTAL")
pfUI:UpdateConfig("totems", nil, "iconsize", "26")
pfUI:UpdateConfig("totems", nil, "spacing", "3")
@@ -596,9 +622,12 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("panel", "xp", "xp_mode", "VERTICAL")
pfUI:UpdateConfig("panel", "xp", "xp_anchor", "pfChatLeft")
pfUI:UpdateConfig("panel", "xp", "xp_position", "RIGHT")
pfUI:UpdateConfig("panel", "xp", "xp_text", "0")
pfUI:UpdateConfig("panel", "xp", "xp_text_off_y", "0")
pfUI:UpdateConfig("panel", "xp", "xp_text_mouse", "0")
pfUI:UpdateConfig("panel", "xp", "xp_color", ".25,.25,1,1")
pfUI:UpdateConfig("panel", "xp", "rest_color", "1,.25,1,.5")
pfUI:UpdateConfig("panel", "xp", "texture", "Interface\\AddOns\\pfUI\\img\\bar")
pfUI:UpdateConfig("panel", "xp", "texture", "Interface\\AddOns\\pfUI\\img\\bar")
pfUI:UpdateConfig("panel", "xp", "rep_always", "0")
pfUI:UpdateConfig("panel", "xp", "rep_display", "REP")
@@ -608,6 +637,9 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("panel", "xp", "rep_mode", "VERTICAL")
pfUI:UpdateConfig("panel", "xp", "rep_anchor", "pfChatRight")
pfUI:UpdateConfig("panel", "xp", "rep_position", "LEFT")
pfUI:UpdateConfig("panel", "xp", "rep_text", "0")
pfUI:UpdateConfig("panel", "xp", "rep_text_off_y", "0")
pfUI:UpdateConfig("panel", "xp", "rep_text_mouse", "0")
pfUI:UpdateConfig("panel", "xp", "dont_overlap", "0")
pfUI:UpdateConfig("castbar", "player", "hide_blizz", "1")
@@ -617,24 +649,36 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("castbar", "player", "showicon", "0")
pfUI:UpdateConfig("castbar", "player", "showname", "1")
pfUI:UpdateConfig("castbar", "player", "showtimer", "1")
pfUI:UpdateConfig("castbar", "player", "txtleftoffx", "0")
pfUI:UpdateConfig("castbar", "player", "txtleftoffy", "0")
pfUI:UpdateConfig("castbar", "player", "showlag", "0")
pfUI:UpdateConfig("castbar", "player", "showrank", "0")
pfUI:UpdateConfig("castbar", "player", "txtrightoffx", "0")
pfUI:UpdateConfig("castbar", "player", "txtrightoffy", "0")
pfUI:UpdateConfig("castbar", "target", "hide_pfui", "0")
pfUI:UpdateConfig("castbar", "target", "width", "-1")
pfUI:UpdateConfig("castbar", "target", "height", "-1")
pfUI:UpdateConfig("castbar", "target", "showicon", "0")
pfUI:UpdateConfig("castbar", "target", "showname", "1")
pfUI:UpdateConfig("castbar", "target", "showtimer", "1")
pfUI:UpdateConfig("castbar", "target", "txtleftoffx", "0")
pfUI:UpdateConfig("castbar", "target", "txtleftoffy", "0")
pfUI:UpdateConfig("castbar", "target", "showlag", "0")
pfUI:UpdateConfig("castbar", "target", "showrank", "0")
pfUI:UpdateConfig("castbar", "target", "txtrightoffx", "0")
pfUI:UpdateConfig("castbar", "target", "txtrightoffy", "0")
pfUI:UpdateConfig("castbar", "focus", "hide_pfui", "0")
pfUI:UpdateConfig("castbar", "focus", "width", "-1")
pfUI:UpdateConfig("castbar", "focus", "height", "-1")
pfUI:UpdateConfig("castbar", "focus", "showicon", "0")
pfUI:UpdateConfig("castbar", "focus", "showname", "1")
pfUI:UpdateConfig("castbar", "focus", "showtimer", "1")
pfUI:UpdateConfig("castbar", "focus", "txtleftoffx", "0")
pfUI:UpdateConfig("castbar", "focus", "txtleftoffy", "0")
pfUI:UpdateConfig("castbar", "focus", "showlag", "0")
pfUI:UpdateConfig("castbar", "focus", "showrank", "0")
pfUI:UpdateConfig("castbar", "focus", "txtrightoffx", "0")
pfUI:UpdateConfig("castbar", "focus", "txtrightoffy", "0")
pfUI:UpdateConfig("castbar", nil, "use_unitfonts", "0")
pfUI:UpdateConfig("tooltip", nil, "position", "chat")
@@ -704,6 +748,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("nameplates", nil, "targetcastbar", "0")
pfUI:UpdateConfig("nameplates", nil, "spellname", "0")
pfUI:UpdateConfig("nameplates", nil, "showdebuffs", "1")
pfUI:UpdateConfig("nameplates", nil, "selfdebuff", "0")
pfUI:UpdateConfig("nameplates", nil, "guessdebuffs", "1")
pfUI:UpdateConfig("nameplates", nil, "clickthrough", "0")
pfUI:UpdateConfig("nameplates", nil, "rightclick", "1")
@@ -717,7 +762,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("nameplates", nil, "raidiconoffy", "-5")
pfUI:UpdateConfig("nameplates", nil, "fullhealth", "1")
pfUI:UpdateConfig("nameplates", nil, "target", "1")
pfUI:UpdateConfig("nameplates", nil, "namefightcolor", "1")
pfUI:UpdateConfig("nameplates", nil, "enemynpc", "0")
pfUI:UpdateConfig("nameplates", nil, "enemyplayer", "0")
pfUI:UpdateConfig("nameplates", nil, "neutralnpc", "0")
@@ -729,6 +774,20 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("nameplates", nil, "showguildname", "0")
pfUI:UpdateConfig("nameplates", nil, "outcombatstate", "1")
pfUI:UpdateConfig("nameplates", nil, "barcombatstate", "1")
pfUI:UpdateConfig("nameplates", nil, "ccombatthreat", "1")
pfUI:UpdateConfig("nameplates", nil, "ccombatofftank", "1")
pfUI:UpdateConfig("nameplates", nil, "ccombatnothreat", "1")
pfUI:UpdateConfig("nameplates", nil, "ccombatstun", "1")
pfUI:UpdateConfig("nameplates", nil, "ccombatcasting", "0")
pfUI:UpdateConfig("nameplates", nil, "combatthreat", ".7,.2,.2,1")
pfUI:UpdateConfig("nameplates", nil, "combatofftank", ".7,.4,.2,1")
pfUI:UpdateConfig("nameplates", nil, "combatnothreat", ".7,.7,.2,1")
pfUI:UpdateConfig("nameplates", nil, "combatstun", ".2,.7,.7,1")
pfUI:UpdateConfig("nameplates", nil, "combatcasting", ".7,.2,.7,1")
pfUI:UpdateConfig("nameplates", nil, "combatofftanks", "")
pfUI:UpdateConfig("nameplates", nil, "outfriendly", "0")
pfUI:UpdateConfig("nameplates", nil, "outfriendlynpc", "1")
pfUI:UpdateConfig("nameplates", nil, "outneutral", "1")
@@ -1220,5 +1279,20 @@ function pfUI:MigrateConfig()
end
end
-- migrate cooldown font from unit_font to separate setting
if checkversion(5, 4, 18) then
pfUI_config.appearance.cd.font = pfUI_config.global.font_unit
end
-- migrate combopoint size to separate settings
if checkversion(5, 4, 18) then
if pfUI_config.unitframes.combosize then
pfUI_config.unitframes.combowidth = pfUI_config.unitframes.combosize
pfUI_config.unitframes.comboheight = pfUI_config.unitframes.combosize
pfUI_config.unitframes.combosize = nil
end
end
pfUI_config.version = pfUI.version.string
end
+7 -7
View File
@@ -117,7 +117,7 @@ do -- statusbars
local f = CreateFrame("Button", name, parent)
f:EnableMouse(nil)
f.bar = f:CreateTexture(nil, "HIGH")
f.bar = f:CreateTexture(nil, "NORMAL")
f.bar:SetPoint("TOPLEFT", f, "TOPLEFT", 0, 0)
f.bar:SetPoint("BOTTOMRIGHT", f, "BOTTOMRIGHT", 0, 0)
@@ -186,11 +186,11 @@ do -- dropdown
end
local function ListButtonOnEnter()
this.button:SetBackdropBorderColor(this.button.cr,this.button.cg,this.button.cb,1)
this.button:SetBackdropBorderColor(this.button.cr,this.button.cg,this.button.cb,(this.button.ca or 1))
end
local function ListButtonOnLeave()
this.button:SetBackdropBorderColor(this.button.rr,this.button.rg,this.button.rb,1)
this.button:SetBackdropBorderColor(this.button.rr,this.button.rg,this.button.rb,(this.button.ra or 1))
end
local handlers = {
@@ -596,12 +596,12 @@ end
local function SetHighlightEnter()
if this.locked then return end
(this.backdrop or this):SetBackdropBorderColor(this.cr,this.cg,this.cb,1)
(this.backdrop or this):SetBackdropBorderColor(this.cr,this.cg,this.cb,(this.ca or 1))
end
local function SetHighlightLeave()
if this.locked then return end
(this.backdrop or this):SetBackdropBorderColor(this.rr,this.rg,this.rb,1)
(this.backdrop or this):SetBackdropBorderColor(this.rr,this.rg,this.rb,(this.ra or 1))
end
function pfUI.api.SetHighlight(frame, cr, cg, cb)
@@ -612,8 +612,8 @@ function pfUI.api.SetHighlight(frame, cr, cg, cb)
cr, cg, cb = color.r , color.g, color.b
end
frame.cr, frame.cg, frame.cb = cr, cg, cb
frame.rr, frame.rg, frame.rb = GetStringColor(pfUI_config.appearance.border.color)
frame.cr, frame.cg, frame.cb = cr, cg, cb, ca
frame.rr, frame.rg, frame.rb, frame.ra = GetStringColor(pfUI_config.appearance.border.color)
if not frame.pfEnterLeave then
if not frame.HookScript then frame.HookScript = HookScript end
+208 -156
View File
@@ -414,6 +414,7 @@ function pfUI.uf:UpdateFrameSize()
-- use custom portrait size
self.portrait:SetWidth(ptwidth)
self.portrait:SetHeight(ptheight)
portrait = ptwidth + spacing + 2*default_border
end
end
@@ -481,13 +482,13 @@ function pfUI.uf:UpdateConfig()
local custombgcolor = f.config.defcolor == "0" and f.config.custombgcolor or C.unitframes.custombgcolor
if custombg == "1" then
local cr, cg, cb, ca = pfUI.api.strsplit(",", custombgcolor)
local cr, cg, cb, ca = GetStringColor(custombgcolor)
cr, cg, cb, ca = tonumber(cr), tonumber(cg), tonumber(cb), tonumber(ca)
f.hp.bar:SetStatusBarBackgroundTexture(cr,cg,cb,ca)
end
f.power:ClearAllPoints()
f.power:SetPoint(f.config.panchor, f.hp, relative_point, f.config.poffx, -2*default_border - f.config.pspace + f.config.poffy * GetPerfectPixel())
f.power:SetPoint(f.config.panchor, f.hp, relative_point, f.config.poffx, -2 * default_border - spacing + f.config.poffy * GetPerfectPixel())
f.power:SetWidth((f.config.pwidth ~= "-1" and f.config.pwidth or f.config.width))
f.power:SetHeight(f.config.pheight)
if tonumber(f.config.pheight) < 0 then f.power:Hide() end
@@ -500,7 +501,7 @@ function pfUI.uf:UpdateConfig()
local custompbgcolor = f.config.defcolor == "0" and f.config.custompbgcolor or C.unitframes.custompbgcolor
if custompbg == "1" then
local cr, cg, cb, ca = pfUI.api.strsplit(",", custompbgcolor)
local cr, cg, cb, ca = GetStringColor(custompbgcolor)
cr, cg, cb, ca = tonumber(cr), tonumber(cg), tonumber(cb), tonumber(ca)
f.power.bar:SetStatusBarBackgroundTexture(cr,cg,cb,ca)
end
@@ -534,11 +535,7 @@ function pfUI.uf:UpdateConfig()
elseif f.config.portrait == "left" then
f.portrait:SetParent(f)
f.portrait:ClearAllPoints()
if f.config.portraitwidth == "-1" and f.config.portraitheight == "-1" then
f.portrait:SetPoint("TOPLEFT", f, "TOPLEFT", 0, 0)
else
f.portrait:SetPoint("LEFT", f, "LEFT", -f.config.portraitwidth - 2*default_border - spacing, 0)
end
f.portrait:SetPoint("LEFT", f, "LEFT", 0, 0)
f.hp:ClearAllPoints()
f.hp:SetPoint("TOPRIGHT", f, "TOPRIGHT", 0, 0)
@@ -556,11 +553,7 @@ function pfUI.uf:UpdateConfig()
elseif f.config.portrait == "right" then
f.portrait:SetParent(f)
f.portrait:ClearAllPoints()
if f.config.portraitwidth == "-1" and f.config.portraitheight == "-1" then
f.portrait:SetPoint("TOPRIGHT", f, "TOPRIGHT", 0, 0)
else
f.portrait:SetPoint("RIGHT", f, "RIGHT", f.config.portraitwidth + 2*default_border + spacing, 0)
end
f.portrait:SetPoint("RIGHT", f, "RIGHT", 0, 0)
f.hp:ClearAllPoints()
f.hp:SetPoint("TOPLEFT", f, "TOPLEFT", 0, 0)
@@ -579,12 +572,25 @@ function pfUI.uf:UpdateConfig()
f.portrait:Hide()
end
if f.group then
if f.config.raidgrouplabel == "1" then
f.group:Show()
else
f.group:Hide()
end
local xoff = tonumber(f.config.grouplabelxoff) or 0
local yoff = tonumber(f.config.grouplabelyoff) or 8
f.group:SetPoint("TOPLEFT", f, "BOTTOMLEFT", xoff, yoff)
f.group:SetPoint("TOPRIGHT", f, "BOTTOMRIGHT", xoff, yoff)
end
if f.config.hitindicator == "1" then
f.feedbackText:SetFont(pfUI.media[f.config.hitindicatorfont], f.config.hitindicatorsize, "OUTLINE")
f.feedbackFontHeight = f.config.hitindicatorsize
f.feedbackStartTime = GetTime()
if f.config.portrait == "bar" or f.config.portrait == "off" then
f.feedbackText:SetParent(f.hp.bar)
f.feedbackText:SetParent(f.texts)
f.feedbackText:ClearAllPoints()
f.feedbackText:SetPoint("CENTER", f.hp.bar, "CENTER")
else
@@ -601,7 +607,6 @@ function pfUI.uf:UpdateConfig()
f.hpLeftText:SetFontObject(GameFontWhite)
f.hpLeftText:SetFont(fontname, fontsize, fontstyle)
f.hpLeftText:SetJustifyH("LEFT")
f.hpLeftText:SetParent(f.hp.bar)
f.hpLeftText:ClearAllPoints()
f.hpLeftText:SetPoint("TOPLEFT",f.hp.bar, "TOPLEFT", 2*(default_border + f.config.txthpleftoffx), 1 + tonumber(f.config.txthpleftoffy))
f.hpLeftText:SetPoint("BOTTOMRIGHT",f.hp.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txthpleftoffx), f.config.txthpleftoffy)
@@ -609,7 +614,6 @@ function pfUI.uf:UpdateConfig()
f.hpRightText:SetFontObject(GameFontWhite)
f.hpRightText:SetFont(fontname, fontsize, fontstyle)
f.hpRightText:SetJustifyH("RIGHT")
f.hpRightText:SetParent(f.hp.bar)
f.hpRightText:ClearAllPoints()
f.hpRightText:SetPoint("TOPLEFT",f.hp.bar, "TOPLEFT", 2*(default_border + f.config.txthprightoffx), 1 + tonumber(f.config.txthprightoffy))
f.hpRightText:SetPoint("BOTTOMRIGHT",f.hp.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txthprightoffx), f.config.txthprightoffy)
@@ -617,15 +621,13 @@ function pfUI.uf:UpdateConfig()
f.hpCenterText:SetFontObject(GameFontWhite)
f.hpCenterText:SetFont(fontname, fontsize, fontstyle)
f.hpCenterText:SetJustifyH("CENTER")
f.hpCenterText:SetParent(f.hp.bar)
f.hpCenterText:ClearAllPoints()
f.hpCenterText:SetPoint("TOPLEFT",f.hp.bar, "TOPLEFT", 2*(default_border + f.config.txthpcenteroffx), 1 + tonumber(f.config.txthpcenteroffy))
f.hpCenterText:SetPoint("BOTTOMRIGHT",f.hp.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txthpcenteroffx), f.config.txthpcenteroffy)
f.hpCenterText:SetPoint("TOPLEFT",f.hp.bar, "TOPLEFT", f.config.txthpcenteroffx, 1 + tonumber(f.config.txthpcenteroffy))
f.hpCenterText:SetPoint("BOTTOMRIGHT",f.hp.bar, "BOTTOMRIGHT", f.config.txthpcenteroffx, f.config.txthpcenteroffy)
f.powerLeftText:SetFontObject(GameFontWhite)
f.powerLeftText:SetFont(fontname, fontsize, fontstyle)
f.powerLeftText:SetJustifyH("LEFT")
f.powerLeftText:SetParent(f.power.bar)
f.powerLeftText:ClearAllPoints()
f.powerLeftText:SetPoint("TOPLEFT",f.power.bar, "TOPLEFT", 2*(default_border + f.config.txtpowerleftoffx), 1 + tonumber(f.config.txtpowerleftoffy))
f.powerLeftText:SetPoint("BOTTOMRIGHT",f.power.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txtpowerleftoffx), f.config.txtpowerleftoffy)
@@ -633,7 +635,6 @@ function pfUI.uf:UpdateConfig()
f.powerRightText:SetFontObject(GameFontWhite)
f.powerRightText:SetFont(fontname, fontsize, fontstyle)
f.powerRightText:SetJustifyH("RIGHT")
f.powerRightText:SetParent(f.power.bar)
f.powerRightText:ClearAllPoints()
f.powerRightText:SetPoint("TOPLEFT",f.power.bar, "TOPLEFT", 2*(default_border + f.config.txtpowerrightoffx), 1 + tonumber(f.config.txtpowerrightoffy))
f.powerRightText:SetPoint("BOTTOMRIGHT",f.power.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txtpowerrightoffx), f.config.txtpowerrightoffy)
@@ -641,15 +642,14 @@ function pfUI.uf:UpdateConfig()
f.powerCenterText:SetFontObject(GameFontWhite)
f.powerCenterText:SetFont(fontname, fontsize, fontstyle)
f.powerCenterText:SetJustifyH("CENTER")
f.powerCenterText:SetParent(f.power.bar)
f.powerCenterText:ClearAllPoints()
f.powerCenterText:SetPoint("TOPLEFT",f.power.bar, "TOPLEFT", 2*(default_border + f.config.txtpowercenteroffx) + f.config.poffx, 1 + tonumber(f.config.txtpowercenteroffy))
f.powerCenterText:SetPoint("BOTTOMRIGHT",f.power.bar, "BOTTOMRIGHT", -2*(default_border + f.config.txtpowercenteroffx) + f.config.poffx, f.config.txtpowercenteroffy)
f.powerCenterText:SetPoint("TOPLEFT",f.power.bar, "TOPLEFT", f.config.txtpowercenteroffx, 1 + tonumber(f.config.txtpowercenteroffy))
f.powerCenterText:SetPoint("BOTTOMRIGHT",f.power.bar, "BOTTOMRIGHT", f.config.txtpowercenteroffx, f.config.txtpowercenteroffy)
f.incHeal:SetHeight(f.config.height)
f.incHeal:SetWidth(f.config.width)
f.incHeal.texture:SetTexture(pfUI.media["img:bar"])
local cr, cg, cb, ca = pfUI.api.strsplit(",", f.config.healcolor)
local cr, cg, cb, ca = GetStringColor(f.config.healcolor)
cr, cg, cb, ca = tonumber(cr), tonumber(cg), tonumber(cb), tonumber(ca)
f.incHeal.texture:SetVertexColor(cr, cg, cb, ca)
f.incHeal:Hide()
@@ -684,9 +684,9 @@ function pfUI.uf:UpdateConfig()
f.lootIcon.texture:SetAllPoints(f.lootIcon)
f.lootIcon:Hide()
f.pvpIcon:SetWidth(16)
f.pvpIcon:SetHeight(16)
f.pvpIcon:SetPoint("CENTER", 0, 0)
f.pvpIcon:SetWidth(f.config.pvpiconsize)
f.pvpIcon:SetHeight(f.config.pvpiconsize)
f.pvpIcon:SetPoint(f.config.pvpiconalign, f, f.config.pvpiconalign, f.config.pvpiconoffx, f.config.pvpiconoffy)
f.pvpIcon.texture:SetTexture(pfUI.media["img:pvp"])
f.pvpIcon.texture:SetAllPoints(f.pvpIcon)
f.pvpIcon.texture:SetVertexColor(1,1,1,.5)
@@ -694,7 +694,7 @@ function pfUI.uf:UpdateConfig()
f.raidIcon:SetWidth(f.config.raidiconsize)
f.raidIcon:SetHeight(f.config.raidiconsize)
f.raidIcon:SetPoint("TOP", f, "TOP", 0, 6)
f.raidIcon:SetPoint("CENTER", f, f.config.raidiconalign, f.config.raidiconoffx, f.config.raidiconoffy)
f.raidIcon.texture:SetTexture(pfUI.media["img:raidicons"])
f.raidIcon.texture:SetAllPoints(f.raidIcon)
f.raidIcon:Hide()
@@ -751,6 +751,7 @@ function pfUI.uf:UpdateConfig()
f.buffs[i].id = i
f.buffs[i]:Hide()
f.buffs[i]:SetFrameLevel(12)
CreateBackdrop(f.buffs[i], default_border)
f.buffs[i]:RegisterForClicks("RightButtonUp")
@@ -775,9 +776,14 @@ function pfUI.uf:UpdateConfig()
af = "TOPRIGHT"
end
f.buffs[i]:SetPoint(af, f, f.config.buffs,
invert_v * (i-1-row*perrow)*(2*default_border + f.config.buffsize + 1),
invert_h * (row*(2*default_border + f.config.buffsize + 1) + (2*default_border + 1)))
local anchor = f.config.portraitheight ~= "-1" and f.hp or f
if anchor == f.hp and (f.config.buffs == "BOTTOMLEFT" or f.config.buffs == "BOTTOMRIGHT") then
anchor = f.power
end
local multiply = C.appearance.border.force_blizz == "1" and 1 or 2
f.buffs[i]:SetPoint(af, anchor, f.config.buffs,
invert_v * (i-1-row*perrow)*(multiply*default_border + f.config.buffsize + 1),
invert_h * (row*(multiply*default_border + f.config.buffsize + 1) + (multiply*default_border + 1)))
f.buffs[i]:SetWidth(f.config.buffsize)
f.buffs[i]:SetHeight(f.config.buffsize)
@@ -826,6 +832,7 @@ function pfUI.uf:UpdateConfig()
f.debuffs[i].id = i
f.debuffs[i]:Hide()
f.debuffs[i]:SetFrameLevel(12)
CreateBackdrop(f.debuffs[i], default_border)
f.debuffs[i]:RegisterForClicks("RightButtonUp")
@@ -856,8 +863,8 @@ function pfUI.uf:UpdateConfig()
end
function pfUI.uf.OnShow()
pfUI.uf:RefreshUnit(this)
pfUI.uf:RefreshUnit(this, "portrait")
pfUI.uf:RefreshUnit(this, "base")
end
function pfUI.uf.OnEvent()
@@ -927,6 +934,7 @@ function pfUI.uf.OnUpdate()
-- clear update caches
this.update_full = nil
this.update_base = nil
this.update_aura = nil
this.update_portrait = nil
this.update_pvp = nil
@@ -935,16 +943,24 @@ function pfUI.uf.OnUpdate()
if this.update_aura then
pfUI.uf:RefreshUnit(this, "aura")
this.update_aura = nil
this.update_base = true
end
if this.update_portrait then
pfUI.uf:RefreshUnit(this, "portrait")
this.update_portrait = nil
this.update_base = true
end
if this.update_pvp then
pfUI.uf:RefreshUnit(this, "pvp")
this.update_pvp = nil
this.update_base = true
end
if this.update_base then
pfUI.uf:RefreshUnit(this, "base")
this.update_base = nil
end
end
@@ -1263,12 +1279,16 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
f.combat.tex = f.combat:CreateTexture(nil, "OVERLAY")
f.combat.tex:SetAllPoints()
f.hpLeftText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.hpRightText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.hpCenterText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerLeftText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerRightText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerCenterText = f:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.texts = CreateFrame("Frame", nil, f)
f.texts:SetFrameLevel(16)
f.texts:SetAllPoints()
f.hpLeftText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.hpRightText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.hpCenterText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerLeftText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerRightText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.powerCenterText = f.texts:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.incHeal = CreateFrame("Frame", nil, f.hp)
f.incHeal.texture = f.incHeal:CreateTexture(nil, "BACKGROUND")
@@ -1301,6 +1321,16 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
f.portrait.model.next = CreateFrame("PlayerModel", nil, nil)
f.feedbackText = f:CreateFontString("pfHitIndicator" .. f.label .. f.id, "OVERLAY", "NumberFontNormalHuge")
if f.label == "raid" and mod(f.id, 5) == 1 then
local group = math.ceil(f.id/5)
f.group = f.group or f.hp.bar:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
f.group:SetFont(pfUI.font_unit, 8, "OUTLINE")
f.group:SetTextColor(1,1,1,.8)
f.group:SetHeight(16)
f.group:SetText("Group " .. group)
f.group:Hide()
end
f:Hide()
f:UpdateConfig()
f:UpdateFrameSize()
@@ -1478,7 +1508,7 @@ function pfUI.uf:RefreshUnit(unit, component)
-- save current values
unit.namecache = UnitName(unitstr)
-- Buffs
-- buffs
if unit.buffs and ( component == "all" or component == "aura" ) then
local texture, stacks
@@ -1508,11 +1538,12 @@ function pfUI.uf:RefreshUnit(unit, component)
end
end
-- Debuffs
-- debuffs
if unit.debuffs and ( component == "all" or component == "aura" ) then
local texture, stacks, dtype
local perrow = unit.config.debuffperrow
local bperrow = unit.config.buffperrow
local selfdebuff = unit.config.selfdebuff
local invert_h, invert_v, af
if unit.config.debuffs == "TOPLEFT" then
@@ -1552,15 +1583,22 @@ function pfUI.uf:RefreshUnit(unit, component)
local row = floor((i-1) / unit.config.debuffperrow)
if reposition then
unit.debuffs[i]:SetPoint(af, unit, unit.config.debuffs,
invert_v * (i-1-row*perrow)*(2*default_border + unit.config.debuffsize + 1),
invert_h * ((row+buffrow)*(2*default_border + unit.config.debuffsize + 1) + (2*default_border + 1)))
local anchor = unit.config.portraitheight ~= "-1" and unit.hp or unit
if anchor == unit.hp and (unit.config.debuffs == "BOTTOMLEFT" or unit.config.debuffs == "BOTTOMRIGHT") then
anchor = unit.power
end
local multiply = C.appearance.border.force_blizz == "1" and 1 or 2
unit.debuffs[i]:SetPoint(af, anchor, unit.config.debuffs,
invert_v * (i-1-row*perrow)*(multiply*default_border + unit.config.debuffsize + 1),
invert_h * ((row+buffrow)*(multiply*default_border + unit.config.debuffsize + 1) + (multiply*default_border + 1)))
end
if unit.label == "player" then
texture = GetPlayerBuffTexture(GetPlayerBuff(PLAYER_BUFF_START_ID+i, "HARMFUL"))
stacks = GetPlayerBuffApplications(GetPlayerBuff(PLAYER_BUFF_START_ID+i, "HARMFUL"))
dtype = GetPlayerBuffDispelType(GetPlayerBuff(PLAYER_BUFF_START_ID+i, "HARMFUL"))
elseif selfdebuff == "1" then
_, _, texture, stacks, dtype = libdebuff:UnitOwnDebuff(unitstr, i)
else
texture, stacks, dtype = UnitDebuff(unitstr, i)
end
@@ -1579,8 +1617,13 @@ function pfUI.uf:RefreshUnit(unit, component)
if unit:GetName() == "pfPlayer" then
local timeleft = GetPlayerBuffTimeLeft(GetPlayerBuff(PLAYER_BUFF_START_ID+unit.debuffs[i].id, "HARMFUL"),"HARMFUL")
CooldownFrame_SetTimer(unit.debuffs[i].cd, GetTime(), timeleft, 1)
elseif libdebuff and selfdebuff == "1" then
local name, rank, texture, stacks, dtype, duration, timeleft, caster = libdebuff:UnitOwnDebuff(unitstr, i)
if duration and timeleft then
CooldownFrame_SetTimer(unit.debuffs[i].cd, GetTime() + timeleft - duration, duration, 1)
end
elseif libdebuff then
local name, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitDebuff(unitstr, i)
local name, rank, texture, stacks, dtype, duration, timeleft, caster = libdebuff:UnitDebuff(unitstr, i)
if duration and timeleft then
CooldownFrame_SetTimer(unit.debuffs[i].cd, GetTime() + timeleft - duration, duration, 1)
end
@@ -1598,7 +1641,7 @@ function pfUI.uf:RefreshUnit(unit, component)
end
-- indicators
if component == "all" or ( component == "all" or component == "aura" ) then
if component == "all" or component == "aura" then
if not unit.dispellable and unit.config.debuff_indicator ~= "0" then
unit.dispellable = pfUI.uf:SetupDebuffFilter((unit.config.debuff_ind_class == "0" and true or nil))
elseif not unit.dispellable then
@@ -1744,17 +1787,17 @@ function pfUI.uf:RefreshUnit(unit, component)
if filter == string.lower(texture) then
if string.lower(texture) == "interface\\icons\\spell_nature_rejuvenation" then
local start, duration, prediction = libpredict:GetHotDuration(unitstr, "Reju")
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count)
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count, tonumber(start), tonumber(duration))
pos = pos + 1
break
elseif string.lower(texture) == "interface\\icons\\spell_holy_renew" then
local start, duration, prediction = libpredict:GetHotDuration(unitstr, "Renew")
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count)
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count, tonumber(start), tonumber(duration))
pos = pos + 1
break
elseif string.lower(texture) == "interface\\icons\\spell_nature_resistnature" then
local start, duration, prediction = libpredict:GetHotDuration(unitstr, "Regr")
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count)
pfUI.uf:AddIcon(unit, pos, texture, timeleft or prediction, count, tonumber(start), tonumber(duration))
pos = pos + 1
break
else
@@ -1865,110 +1908,114 @@ function pfUI.uf:RefreshUnit(unit, component)
end
end
-- Unit HP/MP
local hp, hpmax = UnitHealth(unitstr), UnitHealthMax(unitstr)
local power, powermax = UnitMana(unitstr), UnitManaMax(unitstr)
-- base frame
if component == "all" or component == "base" then
-- Unit HP/MP
local hp, hpmax = UnitHealth(unitstr), UnitHealthMax(unitstr)
local power, powermax = UnitMana(unitstr), UnitManaMax(unitstr)
if unit.config.invert_healthbar == "1" then
hp = hpmax - hp
end
if unit.config.invert_healthbar == "1" then
hp = hpmax - hp
end
unit.hp.bar:SetMinMaxValues(0, hpmax, true)
unit.hp.bar:SetValue(hp)
unit.hp.bar:SetMinMaxValues(0, hpmax, true)
unit.hp.bar:SetValue(hp)
unit.power.bar:SetMinMaxValues(0, powermax, true)
unit.power.bar:SetValue(power)
unit.power.bar:SetMinMaxValues(0, powermax, true)
unit.power.bar:SetValue(power)
-- set healthbar color
local custom_active = nil
local customfullhp = unit.config.defcolor == "0" and unit.config.customfullhp or C.unitframes.customfullhp
local customcolor = unit.config.defcolor == "0" and unit.config.customcolor or C.unitframes.customcolor
local customfade = unit.config.defcolor == "0" and unit.config.customfade or C.unitframes.customfade
local custom = unit.config.defcolor == "0" and unit.config.custom or C.unitframes.custom
-- set healthbar color
local custom_active = nil
local customfullhp = unit.config.defcolor == "0" and unit.config.customfullhp or C.unitframes.customfullhp
local customcolor = unit.config.defcolor == "0" and unit.config.customcolor or C.unitframes.customcolor
local customfade = unit.config.defcolor == "0" and unit.config.customfade or C.unitframes.customfade
local custom = unit.config.defcolor == "0" and unit.config.custom or C.unitframes.custom
local r, g, b, a = .2, .2, .2, 1
if customfullhp == "1" and UnitHealth(unitstr) == UnitHealthMax(unitstr) then
r, g, b, a = pfUI.api.strsplit(",", customcolor)
custom_active = true
elseif custom == "0" then
if UnitIsPlayer(unitstr) then
local _, class = UnitClass(unitstr)
local color = RAID_CLASS_COLORS[class]
if color then r, g, b = color.r, color.g, color.b end
elseif unit.label == "pet" then
local happiness = GetPetHappiness()
if happiness == 1 then
r, g, b = 1, 0, 0
elseif happiness == 2 then
r, g, b = 1, 1, 0
local r, g, b, a = .2, .2, .2, 1
if customfullhp == "1" and UnitHealth(unitstr) == UnitHealthMax(unitstr) then
r, g, b, a = GetStringColor(customcolor)
custom_active = true
elseif custom == "0" then
if UnitIsPlayer(unitstr) then
local _, class = UnitClass(unitstr)
local color = RAID_CLASS_COLORS[class]
if color then r, g, b = color.r, color.g, color.b end
elseif unit.label == "pet" then
local happiness = GetPetHappiness()
if happiness == 1 then
r, g, b = 1, 0, 0
elseif happiness == 2 then
r, g, b = 1, 1, 0
else
r, g, b = 0, 1, 0
end
else
r, g, b = 0, 1, 0
local color = UnitReactionColor[UnitReaction(unitstr, "player")]
if color then r, g, b = color.r, color.g, color.b end
end
elseif custom == "1" then
r, g, b, a = GetStringColor(customcolor)
custom_active = true
elseif custom == "2" then
if UnitHealthMax(unitstr) > 0 then
r, g, b = GetColorGradient(UnitHealth(unitstr) / UnitHealthMax(unitstr))
else
r, g, b = 0, 0, 0
end
else
local color = UnitReactionColor[UnitReaction(unitstr, "player")]
if color then r, g, b = color.r, color.g, color.b end
end
elseif custom == "1" then
r, g, b, a = pfUI.api.strsplit(",", customcolor)
custom_active = true
elseif custom == "2" then
if UnitHealthMax(unitstr) > 0 then
r, g, b = GetColorGradient(UnitHealth(unitstr) / UnitHealthMax(unitstr))
else
r, g, b = 0, 0, 0
if C.unitframes.pastel == "1" and not custom_active then
r, g, b = (r + .5) * .5, (g + .5) * .5, (b + .5) * .5
end
end
if C.unitframes.pastel == "1" and not custom_active then
r, g, b = (r + .5) * .5, (g + .5) * .5, (b + .5) * .5
end
if customfade == "1" then
-- fade custom color into default color
local perc = UnitHealth(unitstr) / UnitHealthMax(unitstr)
local cr, cg, cb, ca = GetStringColor(customcolor)
if customfade == "1" then
-- fade custom color into default color
local perc = UnitHealth(unitstr) / UnitHealthMax(unitstr)
local cr, cg, cb, ca = pfUI.api.strsplit(",", customcolor)
r = (cr*perc) + (r*(1-perc))
g = (cg*perc) + (g*(1-perc))
b = (cb*perc) + (b*(1-perc))
end
unit.hp.bar:SetStatusBarColor(r, g, b, a)
-- set powerbar color
local mana = unit.config.defcolor == "0" and unit.config.manacolor or C.unitframes.manacolor
local rage = unit.config.defcolor == "0" and unit.config.ragecolor or C.unitframes.ragecolor
local energy = unit.config.defcolor == "0" and unit.config.energycolor or C.unitframes.energycolor
local focus = unit.config.defcolor == "0" and unit.config.focuscolor or C.unitframes.focuscolor
local r, g, b, a = .5, .5, .5, 1
local utype = UnitPowerType(unitstr)
if utype == 0 then
r, g, b, a = pfUI.api.strsplit(",", mana)
elseif utype == 1 then
r, g, b, a = pfUI.api.strsplit(",", rage)
elseif utype == 2 then
r, g, b, a = pfUI.api.strsplit(",", focus)
elseif utype == 3 then
r, g, b, a = pfUI.api.strsplit(",", energy)
end
unit.power.bar:SetStatusBarColor(r, g, b, a)
if UnitName(unitstr) then
unit.hpLeftText:SetText(pfUI.uf:GetStatusValue(unit, "hpleft"))
unit.hpCenterText:SetText(pfUI.uf:GetStatusValue(unit, "hpcenter"))
unit.hpRightText:SetText(pfUI.uf:GetStatusValue(unit, "hpright"))
unit.powerLeftText:SetText(pfUI.uf:GetStatusValue(unit, "powerleft"))
unit.powerCenterText:SetText(pfUI.uf:GetStatusValue(unit, "powercenter"))
unit.powerRightText:SetText(pfUI.uf:GetStatusValue(unit, "powerright"))
if UnitIsTapped(unitstr) and not UnitIsTappedByPlayer(unitstr) then
unit.hp.bar:SetStatusBarColor(.5,.5,.5,.5)
r = (cr*perc) + (r*(1-perc))
g = (cg*perc) + (g*(1-perc))
b = (cb*perc) + (b*(1-perc))
end
end
pfUI.uf:RefreshUnitState(unit)
unit.hp.bar:SetStatusBarColor(r, g, b, a)
-- set powerbar color
local mana = unit.config.defcolor == "0" and unit.config.manacolor or C.unitframes.manacolor
local rage = unit.config.defcolor == "0" and unit.config.ragecolor or C.unitframes.ragecolor
local energy = unit.config.defcolor == "0" and unit.config.energycolor or C.unitframes.energycolor
local focus = unit.config.defcolor == "0" and unit.config.focuscolor or C.unitframes.focuscolor
local r, g, b, a = .5, .5, .5, 1
local utype = UnitPowerType(unitstr)
if utype == 0 then
r, g, b, a = GetStringColor(mana)
elseif utype == 1 then
r, g, b, a = GetStringColor(rage)
elseif utype == 2 then
r, g, b, a = GetStringColor(focus)
elseif utype == 3 then
r, g, b, a = GetStringColor(energy)
end
unit.power.bar:SetStatusBarColor(r, g, b, a)
if UnitName(unitstr) then
unit.hpLeftText:SetText(pfUI.uf:GetStatusValue(unit, "hpleft"))
unit.hpCenterText:SetText(pfUI.uf:GetStatusValue(unit, "hpcenter"))
unit.hpRightText:SetText(pfUI.uf:GetStatusValue(unit, "hpright"))
unit.powerLeftText:SetText(pfUI.uf:GetStatusValue(unit, "powerleft"))
unit.powerCenterText:SetText(pfUI.uf:GetStatusValue(unit, "powercenter"))
unit.powerRightText:SetText(pfUI.uf:GetStatusValue(unit, "powerright"))
if UnitIsTapped(unitstr) and not UnitIsTappedByPlayer(unitstr) then
unit.hp.bar:SetStatusBarColor(.5,.5,.5,.5)
end
end
pfUI.uf:RefreshUnitState(unit)
end
end
local buttons = {
@@ -2056,16 +2103,23 @@ function pfUI.uf:ClickAction(button)
showmenu = nil
else
-- run click cast action
local tswitch = UnitIsUnit(unitstr, "target")
TargetUnit(unitstr)
local is_macro = string.find(this.clickactions[modstring], "^%/(.+)")
if string.find(this.clickactions[modstring], "^%/(.+)") then
RunMacroText(this.clickactions[modstring])
if superwow_active and not is_macro then
CastSpellByName(this.clickactions[modstring], unitstr)
else
CastSpellByName(this.clickactions[modstring])
local tswitch = UnitIsUnit(unitstr, "target")
TargetUnit(unitstr)
if is_macro then
RunMacroText(this.clickactions[modstring])
else
CastSpellByName(this.clickactions[modstring])
end
if not tswitch then TargetLastTarget() end
end
if not tswitch then TargetLastTarget() end
return
end
end
@@ -2089,7 +2143,7 @@ function pfUI.uf:ClickAction(button)
TargetUnit(unitstr)
end
function pfUI.uf:AddIcon(frame, pos, icon, timeleft, stacks)
function pfUI.uf:AddIcon(frame, pos, icon, timeleft, stacks, start, duration)
local showtime = frame.config.indicator_time == "1" and true or nil
local showstacks = frame.config.indicator_stacks == "1" and true or nil
local position = frame.config.indicator_pos or "TOPLEFT"
@@ -2103,7 +2157,7 @@ function pfUI.uf:AddIcon(frame, pos, icon, timeleft, stacks)
frame.icon = frame.icon or CreateFrame("Frame", nil, frame)
if not frame.icon[pos] then
frame.icon[pos] = CreateFrame("Frame", frame.icon)
frame.icon[pos] = CreateFrame("Frame", nil, frame.icon)
frame.icon[pos]:SetParent(frame)
frame.icon[pos].tex = frame.icon[pos]:CreateTexture("OVERLAY")
frame.icon[pos].tex:SetAllPoints(frame.icon[pos])
@@ -2115,7 +2169,7 @@ function pfUI.uf:AddIcon(frame, pos, icon, timeleft, stacks)
frame.icon[pos].cd = CreateFrame(COOLDOWN_FRAME_TYPE, nil, frame.icon[pos])
frame.icon[pos].cd.pfCooldownStyleAnimation = 0
frame.icon[pos].cd.pfCooldownType = "ALL"
frame.icon[pos].cd:SetAlpha(0)
frame.icon[pos].cd:SetFrameLevel(48)
end
-- update icon configuration
@@ -2135,7 +2189,9 @@ function pfUI.uf:AddIcon(frame, pos, icon, timeleft, stacks)
end
-- show remaining time if config is set
if showtime and timeleft and timeleft < 100 and iconsize > 9 then
if showtime and start and duration and timeleft < 100 and iconsize > 9 then
CooldownFrame_SetTimer(frame.icon[pos].cd, start, duration, 1)
elseif showtime and timeleft and timeleft < 100 and iconsize > 9 then
CooldownFrame_SetTimer(frame.icon[pos].cd, GetTime(), timeleft, 1)
else
CooldownFrame_SetTimer(frame.icon[pos].cd, GetTime(), 0, 1)
@@ -2489,7 +2545,7 @@ function pfUI.uf:GetStatusValue(unit, pos)
elseif config == "namehealthbreak" then
local health = ceil(rhp - rhpmax)
if UnitIsDead(unitstr) then
return unit:GetColor("health") .. DEAD
return unit:GetColor("unit") .. pfUI.uf:GetNameString(unitstr) .. "\n" .. unit:GetColor("health") .. DEAD
elseif health == 0 then
return unit:GetColor("unit") .. pfUI.uf:GetNameString(unitstr)
else
@@ -2584,18 +2640,14 @@ function pfUI.uf.GetColor(self, preset)
r = ManaBarColor[UnitPowerType(unitstr)].r
g = ManaBarColor[UnitPowerType(unitstr)].g
b = ManaBarColor[UnitPowerType(unitstr)].b
elseif preset == "level" and config["levelcolor"] == "1" then
r = GetDifficultyColor(UnitLevel(unitstr)).r
g = GetDifficultyColor(UnitLevel(unitstr)).g
b = GetDifficultyColor(UnitLevel(unitstr)).b
end
-- pastel
if C.unitframes.pastel == "1" then
r = ( r + .75 ) * .5
g = ( g + .75 ) * .5
b = ( b + .75 ) * .5
r, g, b = (r + .75) * .5, (g + .75) * .5, (b + .75) * .5
end
return rgbhex(r,g,b)
+16 -11
View File
@@ -34,26 +34,31 @@ ACTIONBAR_SECURE_TEMPLATE_BUTTON = nil
UNITFRAME_SECURE_TEMPLATE = nil
--[[ Vanilla API Extensions ]]--
function hooksecurefunc(name, func, append)
if not _G[name] then return end
function hooksecurefunc(tbl, name, func, prepend)
if type(tbl) == "string" then
prepend, func, name, tbl = func, name, tbl, _G
end
if not tbl or not tbl[name] then return end
pfUI.hooks[tostring(func)] = {}
pfUI.hooks[tostring(func)]["old"] = _G[name]
pfUI.hooks[tostring(func)]["old"] = tbl[name]
pfUI.hooks[tostring(func)]["new"] = func
if append then
pfUI.hooks[tostring(func)]["function"] = function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
pfUI.hooks[tostring(func)]["old"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
pfUI.hooks[tostring(func)]["new"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
if prepend then
pfUI.hooks[tostring(func)]["function"] = function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
pfUI.hooks[tostring(func)]["new"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
return pfUI.hooks[tostring(func)]["old"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
end
else
pfUI.hooks[tostring(func)]["function"] = function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
pfUI.hooks[tostring(func)]["new"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
pfUI.hooks[tostring(func)]["old"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
pfUI.hooks[tostring(func)]["function"] = function(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
local r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16 = pfUI.hooks[tostring(func)]["old"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
pfUI.hooks[tostring(func)]["new"](a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16)
return r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16
end
end
_G[name] = pfUI.hooks[tostring(func)]["function"]
tbl[name] = pfUI.hooks[tostring(func)]["function"]
end
do -- GetItemInfo
+474 -9
View File
@@ -6,10 +6,6 @@ local modern = {
["border"] = "0.1,0.1,0.1,0.5",
["background"] = "0.1,0.1,0.1,0.2",
},
["right"] = {
["enable"] = "1",
["alwaysshow"] = "1",
},
},
["global"] = {
["font_unit"] = "Interface\\AddOns\\pfUI\\fonts\\Myriad-Pro.ttf",
@@ -204,13 +200,196 @@ local modern = {
}
}
-- Legacy
local legacy = {
-- Nostalgia
local nostalgia = {
["chat"] = {
["global"] = {
["custombg"] = "1",
["tabmouse"] = "1",
["border"] = "0,0,0,0",
["frameshadow"] = "0",
["background"] = "0,0,0,0",
},
["right"] = {
["enable"] = "1",
["width"] = "330",
},
["left"] = {
["width"] = "330",
},
},
["bars"] = {
["bar3"] = {
["enable"] = "0",
},
["gryphons"] = {
["anchor_right"] = "pfActionBarMain",
["anchor_left"] = "pfActionBarMain",
["offset_h"] = "-60",
["size"] = "80",
["texture"] = "Gryphon",
},
["bar11"] = {
["icon_size"] = "20",
["background"] = "0",
},
["font"] = "Fonts\\ARIALN.TTF",
["bar6"] = {
["icon_size"] = "26",
["background"] = "0",
},
["bar4"] = {
["formfactor"] = "2 x 6",
["autohide"] = "1",
},
["bar1"] = {
["icon_size"] = "26",
["background"] = "0",
},
["macro_size"] = "8",
["bar5"] = {
["enable"] = "0",
},
["bar12"] = {
["icon_size"] = "20",
["background"] = "0",
},
["count_size"] = "8",
},
["panel"] = {
["xp"] = {
["xp_always"] = "1",
["rep_position"] = "BOTTOM",
["rep_display"] = "FLEX",
["xp_anchor"] = "pfActionBarMain",
["texture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["rep_anchor"] = "pfActionBarMain",
["xp_mode"] = "HORIZONTAL",
["xp_position"] = "BOTTOM",
["rep_mode"] = "HORIZONTAL",
},
},
["appearance"] = {
["castbar"] = {
["texture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
},
["border"] = {
["force_blizz"] = "1",
["color"] = "0.7,0.7,0.7,1",
["background"] = "0.1,0.1,0.1,0.7",
},
},
["nameplates"] = {
["healthtexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
},
["global"] = {
["font_blizzard"] = "1",
["font_unit"] = "Fonts\\ARIALN.TTF",
["font_combat"] = "Fonts\\FRIZQT__.TTF",
["font_unit_name"] = "Fonts\\FRIZQT__.TTF",
["font_unit_size"] = "10",
["font_default"] = "Fonts\\ARIALN.TTF",
},
["unitframes"] = {
["grouptarget"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["width"] = "100",
},
["ptarget"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "off",
},
["target"] = {
["buffs"] = "TOPRIGHT",
["buffsize"] = "18",
["buffperrow"] = "6",
["debuffs"] = "TOPRIGHT",
["debuffsize"] = "18",
["debuffperrow"] = "6",
["portraitwidth"] = "42",
["portraitheight"] = "42",
["txtpowerright"] = "powerdyn",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["width"] = "130",
["portrait"] = "right",
["pheight"] = "8",
["height"] = "24",
},
["player"] = {
["buffsize"] = "18",
["buffperrow"] = "6",
["debuffsize"] = "18",
["debuffperrow"] = "6",
["width"] = "130",
["txtpowerright"] = "powerdyn",
["portraitheight"] = "42",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portraitwidth"] = "42",
["portrait"] = "left",
["pheight"] = "8",
["height"] = "24",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
},
["focus"] = {
["portraitwidth"] = "42",
["portraitheight"] = "42",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["pheight"] = "8",
["portrait"] = "left",
["height"] = "24",
},
["raid"] = {
["verticalbar"] = "1",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["width"] = "40",
},
["pet"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "off",
},
["group"] = {
["portraitheight"] = "42",
["portraitwidth"] = "42",
["pheight"] = "8",
["width"] = "130",
["height"] = "24",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "left",
},
["tttarget"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "off",
["pheight"] = "4",
["height"] = "15",
},
["grouppet"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["width"] = "80",
},
["focustarget"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "off",
},
["ttarget"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["portrait"] = "off",
["pheight"] = "6",
},
},
}
-- Legacy
local legacy = {
}
-- Slim
@@ -249,6 +428,7 @@ local slim = {
["tdebuff"] = {
["enable"] = "1",
["height"] = "14",
["selfdebuff"] = "1",
},
},
["chat"] = {
@@ -267,7 +447,6 @@ local slim = {
["width"] = "405",
},
["right"] = {
["enable"] = "1",
["height"] = "160",
["width"] = "405",
},
@@ -340,6 +519,289 @@ local slim = {
},
}
-- Light
local light = {
["unitframes"] = {
["grouptarget"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["pheight"] = "2",
["raidiconalign"] = "TOP",
["height"] = "12",
["raidiconoffy"] = "6",
["width"] = "100",
},
["ptarget"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["raidiconalign"] = "TOP",
["raidiconoffy"] = "6",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["target"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["buffperrow"] = "9",
["txthpcenter"] = "powerdyn",
["raidiconalign"] = "TOP",
["height"] = "16",
["buffs"] = "TOPRIGHT",
["raidiconoffy"] = "6",
["selfdebuff"] = "1",
["portrait"] = "right",
["width"] = "160",
["buffsize"] = "13.55",
["pheight"] = "6",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["ttarget"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["raidiconalign"] = "TOP",
["raidiconoffy"] = "6",
["height"] = "7",
["portrait"] = "off",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["layout"] = "tukui",
["player"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["custombg"] = "1",
["buffperrow"] = "11",
["portrait"] = "left",
["txthpcenter"] = "powerdyn",
["pheight"] = "6",
["buffsize"] = "13.55",
["custompbg"] = "1",
["height"] = "16",
["showPVP"] = "1",
["debuffs"] = "TOPRIGHT",
["width"] = "160",
},
["focus"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["raidiconalign"] = "TOP",
["buffsize"] = "11.45",
["height"] = "24",
["raidiconoffy"] = "6",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["raid"] = {
["indicator_pos"] = "TOPRIGHT",
["txthpleft"] = "none",
["clickcast"] = "1",
["customfullhp"] = "1",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["debuff_indicator"] = "3",
["customfade"] = "1",
["width"] = "42",
["focuscolor"] = "0.6,0.4,0.2,1",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["manacolor"] = "0.2,0.2,0.4,1",
["ragecolor"] = "0.6,0.2,0.2,1",
["txthpcenter"] = "namehealthbreak",
["raidiconalign"] = "TOP",
["height"] = "24",
["raidiconoffy"] = "6",
["txthpright"] = "none",
["debuff_ind_pos"] = "BOTTOM",
["debuff_ind_size"] = ".50",
["customcolor"] = "0.1,0.1,0.1,1",
["custom"] = "2",
["glowaggro"] = "0",
["raidpadding"] = "5",
["energycolor"] = "0.6,0.4,0.2,1",
},
["focuscolor"] = "0.7,0.6,0.4,1",
["combowidth"] = "12",
["ragecolor"] = "0.6,0.2,0.2,1",
["pet"] = {
["bufflimit"] = "16",
["pheight"] = "3",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["raidiconalign"] = "TOP",
["buffsize"] = "9",
["txtpowercenter"] = "healthdyn",
["height"] = "7",
["buffs"] = "BOTTOMLEFT",
["raidiconoffy"] = "6",
["debuffs"] = "BOTTOMRIGHT",
["portrait"] = "off",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["custompbgcolor"] = "0.3,0.1,0.1,1",
["comboheight"] = "5.10",
["group"] = {
["buffperrow"] = "14",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "1",
["raidiconalign"] = "TOP",
["height"] = "24",
["raidiconoffy"] = "6",
["width"] = "140",
},
["custombgcolor"] = "0.3,0.1,0.1,1",
["tttarget"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["raidiconalign"] = "TOP",
["raidiconoffy"] = "6",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["grouppet"] = {
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["pspace"] = "-1",
["pheight"] = "-1",
["raidiconalign"] = "TOP",
["height"] = "8",
["raidiconoffy"] = "6",
["width"] = "80",
},
["manacolor"] = "0.4,0.5,0.7,1",
["energycolor"] = "0.8,0.7,0.4,1",
["focustarget"] = {
["bartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
["raidiconalign"] = "TOP",
["raidiconoffy"] = "6",
["pbartexture"] = "Interface\\AddOns\\pfUI\\img\\bar_tukui",
},
["customcolor"] = "0.1,0.1,0.1,1",
},
["chat"] = {
["global"] = {
["custombg"] = "1",
["tabmouse"] = "1",
["border"] = "0.6,0.6,0.6,0",
["frameshadow"] = "0",
["background"] = "0.1,0.1,0.1,0",
},
["text"] = {
["timecolor"] = "0.4,0.4,0.4,0.4",
["timebracket"] = "",
},
},
["panel"] = {
["left"] = {
["left"] = "exp",
},
["xp"] = {
["xp_always"] = "1",
["rep_position"] = "TOP",
["rep_display"] = "FLEX",
["xp_anchor"] = "pfActionBarLeft",
["rep_always"] = "1",
["rep_mode"] = "HORIZONTAL",
["xp_color"] = "0.6,0.6,0.6,1",
["rep_anchor"] = "pfActionBarRight",
["xp_mode"] = "HORIZONTAL",
["xp_height"] = "4",
["xp_position"] = "TOP",
["rep_height"] = "4",
["dont_overlap"] = "1",
["rest_color"] = "0.4,0.4,0.4,0.5",
},
},
["global"] = {
["font_unit"] = "Interface\\AddOns\\pfUI\\fonts\\Myriad-Pro.ttf",
["font_size"] = "11",
["font_unit_size"] = "11",
},
["castbar"] = {
["player"] = {
["showrank"] = "1",
["showicon"] = "1",
["height"] = "12",
["showlag"] = "1",
},
["target"] = {
["height"] = "12",
["showicon"] = "1",
},
},
["appearance"] = {
["cd"] = {
["font"] = "Interface\\AddOns\\pfUI\\fonts\\Myriad-Pro.ttf",
},
["castbar"] = {
["texture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
},
["bags"] = {
["borderlimit"] = "0",
},
["border"] = {
["shadow"] = "1",
["color"] = "0.4,0.4,0.4,1",
["bags"] = "3",
["chat"] = "3",
["default"] = "2",
["background"] = "0.1,0.1,0.1,1",
},
},
["tooltip"] = {
["statusbar"] = {
["texture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
},
},
["buffbar"] = {
["pdebuff"] = {
["height"] = "12",
},
["pbuff"] = {
["height"] = "12",
["enable"] = "1",
},
["tdebuff"] = {
["selfdebuff"] = "1",
["height"] = "12",
["enable"] = "1",
},
},
["thirdparty"] = {
["chatbg"] = "0",
["dpsmate"] = {
["skin"] = "1",
},
["swstats"] = {
["skin"] = "1",
},
["shagudps"] = {
["skin"] = "1",
},
},
["nameplates"] = {
["combatofftank"] = "0.5,0,0.7,1",
["selfdebuff"] = "1",
["healthtexture"] = "Interface\\AddOns\\pfUI\\img\\bar_gradient",
["heighthealth"] = "10",
["health"] = {
["offset"] = "10",
},
},
["bars"] = {
["bar3"] = {
["formfactor"] = "12 x 1",
["buttons"] = "6",
},
["bar5"] = {
["formfactor"] = "12 x 1",
["buttons"] = "6",
},
["bar11"] = {
["spacing"] = "3",
["background"] = "0",
},
["bar4"] = {
["enable"] = "0",
},
},
}
-- Adapta
local adapta = {
["appearance"] = {
@@ -434,7 +896,6 @@ local adapta = {
["width"] = "400",
},
["right"] = {
["enable"] = "1",
["height"] = "161",
["width"] = "400",
},
@@ -443,17 +904,21 @@ local adapta = {
-- assign profiles to userdata
pfUI_profiles["Modern"] = modern
pfUI_profiles["Nostalgia"] = nostalgia
pfUI_profiles["Legacy"] = legacy
pfUI_profiles["Adapta"] = adapta
pfUI_profiles["Slim"] = slim
-- overwrite core profiles in userdata
local profile_loader = CreateFrame("Frame")
profile_loader:RegisterEvent("VARIABLES_LOADED")
profile_loader:SetScript("OnEvent", function()
pfUI_profiles["Modern"] = modern
pfUI_profiles["Nostalgia"] = nostalgia
pfUI_profiles["Legacy"] = legacy
pfUI_profiles["Adapta"] = adapta
pfUI_profiles["Light"] = light
pfUI_profiles["Slim"] = slim
this:UnregisterAllEvents()
end)
+56 -2
View File
@@ -62,12 +62,14 @@ pfUI_translation["deDE"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = nil,
["Blacklist"] = nil,
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = nil,
["BoE"] = nil,
["BoP"] = nil,
["Border Around Target Unit"] = nil,
["Border Color"] = nil,
["Border Color Around Target Unit"] = nil,
["Border Size"] = nil,
["Bottom"] = nil,
["Bottom Left"] = nil,
["Bottom Right"] = nil,
@@ -122,6 +124,7 @@ pfUI_translation["deDE"] = {
["Click Casting"] = nil,
["Clock"] = nil,
["Close"] = nil,
["Color"] = nil,
["Color Buff Stacks"] = nil,
["Color Debuff Stacks"] = nil,
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["deDE"] = {
["Combat Text Font"] = nil,
["Combat Text Size"] = nil,
["Combat Timer"] = nil,
["Combopoint Size"] = nil,
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = nil,
["Components"] = nil,
["Config UI Settings"] = nil,
["Configuration"] = nil,
["Configure"] = nil,
["Cooldown"] = nil,
@@ -144,10 +149,13 @@ pfUI_translation["deDE"] = {
["Cooldown Color (Less than 3 Sec)"] = nil,
["Cooldown Color (Minutes)"] = nil,
["Cooldown Color (Seconds)"] = nil,
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = nil,
["Cooldown Text Font Size (Blizzard Frames)"] = nil,
["Cooldown Text Font Size (Foreign Frames)"] = nil,
["Cooldown Text Size"] = nil,
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = nil,
["Coordinates Location"] = nil,
["Coordinates On Minimap"] = nil,
@@ -218,12 +226,15 @@ pfUI_translation["deDE"] = {
["Dodge"] = nil,
["Donate"] = nil,
["Don't overlap rested"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = nil,
["Do you really want to reset the Cache?"] = nil,
["Do you really want to reset your configuration?\nThis also includes frame positions"] = nil,
["Do you want to disable the addon?"] = nil,
["Do you want to reload the UI now?"] = nil,
["Draw Glow Around Target Nameplate"] = nil,
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = nil,
["Elysium Based Core"] = nil,
["Enable"] = nil,
@@ -346,6 +357,8 @@ pfUI_translation["deDE"] = {
["Group Options"] = nil,
["Group-Pet"] = nil,
["Group-Target"] = nil,
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = nil,
["Happiness Icon Size"] = nil,
["Heal Color"] = nil,
@@ -394,9 +407,11 @@ pfUI_translation["deDE"] = {
["Highlight Out Of Range Spells"] = nil,
["Highlight Settings That Require Reload"] = nil,
["Highlight Unusable Items"] = nil,
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = nil,
["Honorable Kill!"] = nil,
["Horizontal"] = nil,
["Horizontal Offset"] = nil,
["Hoverbind"] = nil,
["Huge"] = nil,
["Huge (PixelPerfect)"] = nil,
@@ -432,6 +447,7 @@ pfUI_translation["deDE"] = {
["Layout"] = nil,
["Left"] = nil,
["Left Actionbar"] = nil,
["Left Anchor"] = nil,
["Left Chat Frame"] = nil,
["Left Chat Height"] = nil,
["Left Chat Width"] = nil,
@@ -446,11 +462,14 @@ pfUI_translation["deDE"] = {
["Legacy"] = nil,
["Level"] = nil,
["Level Up"] = nil,
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = nil,
["Load Defaults"] = nil,
["Load profile"] = nil,
["Localtime"] = nil,
["Lock Actionbars"] = nil,
["Login"] = nil,
["Look & Feel"] = nil,
["Loot"] = nil,
["Loot & Spam"] = nil,
["Macro Text Color"] = nil,
@@ -471,6 +490,8 @@ pfUI_translation["deDE"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = nil,
["Memory Usage"] = nil,
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = nil,
["Middle Mouse Button"] = nil,
["Minimap"] = nil,
@@ -507,6 +528,7 @@ pfUI_translation["deDE"] = {
["None"] = nil,
["Not a valid button!"] = nil,
["No tracking spell active"] = nil,
["Not Set"] = nil,
["Not Usable Color"] = nil,
["Now"] = nil,
["Number Of Buffs Per Row"] = nil,
@@ -515,11 +537,14 @@ pfUI_translation["deDE"] = {
["Number Of Weapon Buffs Per Row"] = nil,
["Off"] = nil,
["Offline Transparency"] = nil,
["Off-Tank Names"] = nil,
["On Key Press"] = nil,
["Only"] = nil,
["Only Class Dispellable"] = nil,
["Only Count Bagspace On Regular Bags"] = nil,
["Only Show Chat Dock On Mouseover"] = nil,
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = nil,
["Options"] = nil,
@@ -533,6 +558,12 @@ pfUI_translation["deDE"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = nil,
["Overwrite Fonts"] = nil,
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = nil,
["Paging Actionbar"] = nil,
["Panel"] = nil,
@@ -574,7 +605,10 @@ pfUI_translation["deDE"] = {
["Raid Icon X-Offset"] = nil,
["Raid Icon Y-Offset"] = nil,
["Raid Layout"] = nil,
["Raid Mark Position"] = nil,
["Raid Mark Size"] = nil,
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = nil,
["Random"] = nil,
["Random Roll Announcement Rarity"] = nil,
@@ -583,6 +617,8 @@ pfUI_translation["deDE"] = {
["Range Check Interval"] = nil,
["Rank"] = nil,
["Red Border On Enemy Units"] = nil,
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = nil,
["Remove button from the frame"] = nil,
["Removed button"] = nil,
@@ -604,6 +640,7 @@ pfUI_translation["deDE"] = {
["Reveal Unexplored Areas"] = nil,
["Right"] = nil,
["Right Actionbar"] = nil,
["Right Anchor"] = nil,
["Right Chat Frame"] = nil,
["Right Chat Height"] = nil,
["Right Chat Width"] = nil,
@@ -619,6 +656,7 @@ pfUI_translation["deDE"] = {
["Roll for"] = nil,
["Save current settings to profile"] = nil,
["Save profile"] = nil,
["Save & Reload"] = nil,
["Scale"] = nil,
["Scale Border On HiDPI Displays"] = nil,
["Scaling"] = nil,
@@ -647,6 +685,7 @@ pfUI_translation["deDE"] = {
["Share"] = nil,
["Shift-Click"] = nil,
["Shift-Click Action"] = nil,
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = nil,
["Show Animation On Hidden Bars"] = nil,
["Show Background"] = nil,
@@ -656,6 +695,7 @@ pfUI_translation["deDE"] = {
["Show Debuff Stacks"] = nil,
["Show Description"] = nil,
["Show Dispel Indicators"] = nil,
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = nil,
["Show Empty Buttons"] = nil,
["Show FPS and Latency Colors"] = nil,
@@ -695,12 +735,14 @@ pfUI_translation["deDE"] = {
["Show Spell Icon"] = nil,
["Show Spell Name"] = nil,
["Show Stacks"] = nil,
["Show Text"] = nil,
["Show Time Left"] = nil,
["Show Timer"] = nil,
["Show Timer Animation"] = nil,
["Show Timer Text"] = nil,
["Show Totems Indicators"] = nil,
["Shrink & Return"] = nil,
["Size"] = nil,
["Skin"] = nil,
["Skins"] = nil,
["Slow"] = nil,
@@ -708,6 +750,7 @@ pfUI_translation["deDE"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = nil,
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = nil,
["Sort Order"] = nil,
["Soul Shard"] = nil,
["Soulshard Counter"] = nil,
["Soulshards"] = nil,
["Spacing"] = nil,
@@ -722,6 +765,7 @@ pfUI_translation["deDE"] = {
["Standard Text Font Size"] = nil,
["Status"] = nil,
["Status Bar Texture"] = nil,
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = nil,
@@ -733,8 +777,10 @@ pfUI_translation["deDE"] = {
["Target Nameplate Zoom Factor"] = nil,
["Target-Target"] = nil,
["Target-Target-Target"] = nil,
["Text"] = nil,
["Text Color"] = nil,
["Text Colors"] = nil,
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = nil,
["The addon selection has changed."] = nil,
["Thick Outline"] = nil,
@@ -776,6 +822,11 @@ pfUI_translation["deDE"] = {
["Unit Frame Text Font"] = nil,
["Unit Frame Text Size"] = nil,
["Unit Frame Text Style"] = nil,
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = nil,
["Unit String (Reverse)"] = nil,
["Unknown"] = nil,
@@ -783,6 +834,7 @@ pfUI_translation["deDE"] = {
["Unlock"] = nil,
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = nil,
["Unusable Item Color"] = nil,
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = nil,
["Use Custom Color Health Bar Background"] = nil,
["Use Custom Color On Full Health"] = nil,
@@ -798,13 +850,15 @@ pfUI_translation["deDE"] = {
["Vertical"] = nil,
["Vertical Actionbar"] = nil,
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = nil,
["Very Slow"] = nil,
["Website"] = nil,
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = nil,
["Whitelist"] = nil,
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = nil,
["Wobble Zoom"] = nil,
["Won"] = nil,
+56 -2
View File
@@ -62,12 +62,14 @@ pfUI_translation["enUS"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = nil,
["Blacklist"] = nil,
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = nil,
["BoE"] = nil,
["BoP"] = nil,
["Border Around Target Unit"] = nil,
["Border Color"] = nil,
["Border Color Around Target Unit"] = nil,
["Border Size"] = nil,
["Bottom"] = nil,
["Bottom Left"] = nil,
["Bottom Right"] = nil,
@@ -122,6 +124,7 @@ pfUI_translation["enUS"] = {
["Click Casting"] = nil,
["Clock"] = nil,
["Close"] = nil,
["Color"] = nil,
["Color Buff Stacks"] = nil,
["Color Debuff Stacks"] = nil,
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["enUS"] = {
["Combat Text Font"] = nil,
["Combat Text Size"] = nil,
["Combat Timer"] = nil,
["Combopoint Size"] = nil,
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = nil,
["Components"] = nil,
["Config UI Settings"] = nil,
["Configuration"] = nil,
["Configure"] = nil,
["Cooldown"] = nil,
@@ -144,10 +149,13 @@ pfUI_translation["enUS"] = {
["Cooldown Color (Less than 3 Sec)"] = nil,
["Cooldown Color (Minutes)"] = nil,
["Cooldown Color (Seconds)"] = nil,
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = nil,
["Cooldown Text Font Size (Blizzard Frames)"] = nil,
["Cooldown Text Font Size (Foreign Frames)"] = nil,
["Cooldown Text Size"] = nil,
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = nil,
["Coordinates Location"] = nil,
["Coordinates On Minimap"] = nil,
@@ -218,12 +226,15 @@ pfUI_translation["enUS"] = {
["Dodge"] = nil,
["Donate"] = nil,
["Don't overlap rested"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = nil,
["Do you really want to reset the Cache?"] = nil,
["Do you really want to reset your configuration?\nThis also includes frame positions"] = nil,
["Do you want to disable the addon?"] = nil,
["Do you want to reload the UI now?"] = nil,
["Draw Glow Around Target Nameplate"] = nil,
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = nil,
["Elysium Based Core"] = nil,
["Enable"] = nil,
@@ -346,6 +357,8 @@ pfUI_translation["enUS"] = {
["Group Options"] = nil,
["Group-Pet"] = nil,
["Group-Target"] = nil,
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = nil,
["Happiness Icon Size"] = nil,
["Heal Color"] = nil,
@@ -394,9 +407,11 @@ pfUI_translation["enUS"] = {
["Highlight Out Of Range Spells"] = nil,
["Highlight Settings That Require Reload"] = nil,
["Highlight Unusable Items"] = nil,
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = nil,
["Honorable Kill!"] = nil,
["Horizontal"] = nil,
["Horizontal Offset"] = nil,
["Hoverbind"] = nil,
["Huge"] = nil,
["Huge (PixelPerfect)"] = nil,
@@ -432,6 +447,7 @@ pfUI_translation["enUS"] = {
["Layout"] = nil,
["Left"] = nil,
["Left Actionbar"] = nil,
["Left Anchor"] = nil,
["Left Chat Frame"] = nil,
["Left Chat Height"] = nil,
["Left Chat Width"] = nil,
@@ -446,11 +462,14 @@ pfUI_translation["enUS"] = {
["Legacy"] = nil,
["Level"] = nil,
["Level Up"] = nil,
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = nil,
["Load Defaults"] = nil,
["Load profile"] = nil,
["Localtime"] = nil,
["Lock Actionbars"] = nil,
["Login"] = nil,
["Look & Feel"] = nil,
["Loot"] = nil,
["Loot & Spam"] = nil,
["Macro Text Color"] = nil,
@@ -471,6 +490,8 @@ pfUI_translation["enUS"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = nil,
["Memory Usage"] = nil,
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = nil,
["Middle Mouse Button"] = nil,
["Minimap"] = nil,
@@ -507,6 +528,7 @@ pfUI_translation["enUS"] = {
["None"] = nil,
["Not a valid button!"] = nil,
["No tracking spell active"] = nil,
["Not Set"] = nil,
["Not Usable Color"] = nil,
["Now"] = nil,
["Number Of Buffs Per Row"] = nil,
@@ -515,11 +537,14 @@ pfUI_translation["enUS"] = {
["Number Of Weapon Buffs Per Row"] = nil,
["Off"] = nil,
["Offline Transparency"] = nil,
["Off-Tank Names"] = nil,
["On Key Press"] = nil,
["Only"] = nil,
["Only Class Dispellable"] = nil,
["Only Count Bagspace On Regular Bags"] = nil,
["Only Show Chat Dock On Mouseover"] = nil,
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = nil,
["Options"] = nil,
@@ -533,6 +558,12 @@ pfUI_translation["enUS"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = nil,
["Overwrite Fonts"] = nil,
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = nil,
["Paging Actionbar"] = nil,
["Panel"] = nil,
@@ -574,7 +605,10 @@ pfUI_translation["enUS"] = {
["Raid Icon X-Offset"] = nil,
["Raid Icon Y-Offset"] = nil,
["Raid Layout"] = nil,
["Raid Mark Position"] = nil,
["Raid Mark Size"] = nil,
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = nil,
["Random"] = nil,
["Random Roll Announcement Rarity"] = nil,
@@ -583,6 +617,8 @@ pfUI_translation["enUS"] = {
["Range Check Interval"] = nil,
["Rank"] = nil,
["Red Border On Enemy Units"] = nil,
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = nil,
["Remove button from the frame"] = nil,
["Removed button"] = nil,
@@ -604,6 +640,7 @@ pfUI_translation["enUS"] = {
["Reveal Unexplored Areas"] = nil,
["Right"] = nil,
["Right Actionbar"] = nil,
["Right Anchor"] = nil,
["Right Chat Frame"] = nil,
["Right Chat Height"] = nil,
["Right Chat Width"] = nil,
@@ -619,6 +656,7 @@ pfUI_translation["enUS"] = {
["Roll for"] = nil,
["Save current settings to profile"] = nil,
["Save profile"] = nil,
["Save & Reload"] = nil,
["Scale"] = nil,
["Scale Border On HiDPI Displays"] = nil,
["Scaling"] = nil,
@@ -647,6 +685,7 @@ pfUI_translation["enUS"] = {
["Share"] = nil,
["Shift-Click"] = nil,
["Shift-Click Action"] = nil,
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = nil,
["Show Animation On Hidden Bars"] = nil,
["Show Background"] = nil,
@@ -656,6 +695,7 @@ pfUI_translation["enUS"] = {
["Show Debuff Stacks"] = nil,
["Show Description"] = nil,
["Show Dispel Indicators"] = nil,
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = nil,
["Show Empty Buttons"] = nil,
["Show FPS and Latency Colors"] = nil,
@@ -695,12 +735,14 @@ pfUI_translation["enUS"] = {
["Show Spell Icon"] = nil,
["Show Spell Name"] = nil,
["Show Stacks"] = nil,
["Show Text"] = nil,
["Show Time Left"] = nil,
["Show Timer"] = nil,
["Show Timer Animation"] = nil,
["Show Timer Text"] = nil,
["Show Totems Indicators"] = nil,
["Shrink & Return"] = nil,
["Size"] = nil,
["Skin"] = nil,
["Skins"] = nil,
["Slow"] = nil,
@@ -708,6 +750,7 @@ pfUI_translation["enUS"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = nil,
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = nil,
["Sort Order"] = nil,
["Soul Shard"] = nil,
["Soulshard Counter"] = nil,
["Soulshards"] = nil,
["Spacing"] = nil,
@@ -722,6 +765,7 @@ pfUI_translation["enUS"] = {
["Standard Text Font Size"] = nil,
["Status"] = nil,
["Status Bar Texture"] = nil,
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = nil,
@@ -733,8 +777,10 @@ pfUI_translation["enUS"] = {
["Target Nameplate Zoom Factor"] = nil,
["Target-Target"] = nil,
["Target-Target-Target"] = nil,
["Text"] = nil,
["Text Color"] = nil,
["Text Colors"] = nil,
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = nil,
["The addon selection has changed."] = nil,
["Thick Outline"] = nil,
@@ -776,6 +822,11 @@ pfUI_translation["enUS"] = {
["Unit Frame Text Font"] = nil,
["Unit Frame Text Size"] = nil,
["Unit Frame Text Style"] = nil,
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = nil,
["Unit String (Reverse)"] = nil,
["Unknown"] = nil,
@@ -783,6 +834,7 @@ pfUI_translation["enUS"] = {
["Unlock"] = nil,
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = nil,
["Unusable Item Color"] = nil,
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = nil,
["Use Custom Color Health Bar Background"] = nil,
["Use Custom Color On Full Health"] = nil,
@@ -798,13 +850,15 @@ pfUI_translation["enUS"] = {
["Vertical"] = nil,
["Vertical Actionbar"] = nil,
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = nil,
["Very Slow"] = nil,
["Website"] = nil,
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = nil,
["Whitelist"] = nil,
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = nil,
["Wobble Zoom"] = nil,
["Won"] = nil,
+56 -2
View File
@@ -62,12 +62,14 @@ pfUI_translation["esES"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = "Estadísticas de los campos de batalla",
["Blacklist"] = "Lista negra",
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = "Borde azul en jugadores amistosos",
["BoE"] = "Se liga al equiparlo",
["BoP"] = "Se liga al recogerlo",
["Border Around Target Unit"] = "Borde alrededor de la unidad objetivo",
["Border Color"] = "Color del borde",
["Border Color Around Target Unit"] = "Color del borde alrededor de la unidad objetivo",
["Border Size"] = nil,
["Bottom"] = "Inferior",
["Bottom Left"] = "Inferior izquierda",
["Bottom Right"] = "Inferior derecha",
@@ -122,6 +124,7 @@ pfUI_translation["esES"] = {
["Click Casting"] = "Lanzamiento al hacer click",
["Clock"] = "Reloj",
["Close"] = "Cerrar",
["Color"] = nil,
["Color Buff Stacks"] = "Colorear pilas de beneficios",
["Color Debuff Stacks"] = "Colorear pilas de perjuicios",
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["esES"] = {
["Combat Text Font"] = "Fuente de texto de combate",
["Combat Text Size"] = "Tamaño de texto de combate",
["Combat Timer"] = "Temporizador de combate",
["Combopoint Size"] = "Tamaño de los puntos de combo",
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = "Comparar estadísticas bases de objetos",
["Components"] = "Componentes",
["Config UI Settings"] = nil,
["Configuration"] = "Configuración",
["Configure"] = "Configurar",
["Cooldown"] = "Reutilización",
@@ -144,10 +149,13 @@ pfUI_translation["esES"] = {
["Cooldown Color (Less than 3 Sec)"] = "Color de reutilización (menos de 3 segundos)",
["Cooldown Color (Minutes)"] = "Color de reutilización (minutos)",
["Cooldown Color (Seconds)"] = "Color de reutilización (segundos)",
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = "Tamaño de la fuente de texto de reutilización",
["Cooldown Text Font Size (Blizzard Frames)"] = "Tamaño de la fuente del tiempo de reutilización (Marcos de Blizzard)",
["Cooldown Text Font Size (Foreign Frames)"] = "Tamaño de la fuente del tiempo de reutilización (Marcos ajenos)",
["Cooldown Text Size"] = "Tamaño del texto del tiempo de reutilización",
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = "Umbral del texto del tiempo de reutilización",
["Coordinates Location"] = "Coordenadas de localización",
["Coordinates On Minimap"] = "Coordenadas en el minimapa",
@@ -218,12 +226,15 @@ pfUI_translation["esES"] = {
["Dodge"] = "Esquivar",
["Donate"] = nil,
["Don't overlap rested"] = "No superpongas descansado",
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "¿Estás seguro/a que quieres reiniciar |cffffaaaaTODO|r?\n\nSe reiniciarán:\n - Configuración actual\n - Posiciones del marco actuales\n - Asistente de instalación\n - Caché del addon\n - Perfiles guardados",
["Do you really want to reset the Cache?"] = "¿Estás seguro/a de que quieres reiniciar la caché?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "¿Estás seguro/a de que quieres reiniciar tu configuración?\nEsto también incluye la posición de los marcos",
["Do you want to disable the addon?"] = "¿Quieres desactivar el addon?",
["Do you want to reload the UI now?"] = "¿Quieres recargar la IU ahora?",
["Draw Glow Around Target Nameplate"] = "Brillar alrededor de la placa identificativa del objetivo",
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = "Acerca elástico",
["Elysium Based Core"] = "Núcleo basado en Elysium",
["Enable"] = "Activar",
@@ -346,6 +357,8 @@ pfUI_translation["esES"] = {
["Group Options"] = "Opciones de grupo",
["Group-Pet"] = "Mascota-Grupo",
["Group-Target"] = "Objetivo-Grupo",
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = "Conectados en hermandad",
["Happiness Icon Size"] = "Tamaño del icono de felicidad",
["Heal Color"] = "Color de curación",
@@ -394,9 +407,11 @@ pfUI_translation["esES"] = {
["Highlight Out Of Range Spells"] = "Resaltar hechizos fuera de alcance",
["Highlight Settings That Require Reload"] = "Resaltar opciones que requieren recarga",
["Highlight Unusable Items"] = "Resaltar objetos inutilizables",
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = "Muerte con honor",
["Honorable Kill!"] = "¡Muerte con honor!",
["Horizontal"] = "Horizontal",
["Horizontal Offset"] = nil,
["Hoverbind"] = "Atajos de teclado",
["Huge"] = "Gigantesco",
["Huge (PixelPerfect)"] = "Enorme (píxel perfecta)",
@@ -432,6 +447,7 @@ pfUI_translation["esES"] = {
["Layout"] = "Disposición",
["Left"] = "Izquierdo",
["Left Actionbar"] = "Barra de acción izquerda",
["Left Anchor"] = nil,
["Left Chat Frame"] = "Marco de chat izquierdo",
["Left Chat Height"] = "Altura del chat izquierdo",
["Left Chat Width"] = "Ancho del chat izquierdo",
@@ -446,11 +462,14 @@ pfUI_translation["esES"] = {
["Legacy"] = "Antiguo",
["Level"] = "Nivel",
["Level Up"] = "Nivel subido",
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = "Lista de botones añadidos y borrados están quitados",
["Load Defaults"] = nil,
["Load profile"] = "Cargar perfil",
["Localtime"] = "Hora local",
["Lock Actionbars"] = "Bloquear barra de acción",
["Login"] = "Conexión",
["Look & Feel"] = nil,
["Loot"] = "Botín",
["Loot & Spam"] = "Botín y spam",
["Macro Text Color"] = "Color de texto de macros",
@@ -471,6 +490,8 @@ pfUI_translation["esES"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = "Medio",
["Memory Usage"] = "Uso de memoria",
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = "Todos los mensajes no serán enviados a:",
["Middle Mouse Button"] = "Botón del medio del ratón",
["Minimap"] = "Minimapa",
@@ -507,6 +528,7 @@ pfUI_translation["esES"] = {
["None"] = "Ninguno",
["Not a valid button!"] = "¡No es un botón válido!",
["No tracking spell active"] = "No hay hechizo de rastreo activo",
["Not Set"] = nil,
["Not Usable Color"] = "Color inutilizable",
["Now"] = "Ahora",
["Number Of Buffs Per Row"] = "Número de beneficios por fila",
@@ -515,11 +537,14 @@ pfUI_translation["esES"] = {
["Number Of Weapon Buffs Per Row"] = "Número de beneficios de arma por fila",
["Off"] = "Inactivo",
["Offline Transparency"] = "Transparencia por desconexión",
["Off-Tank Names"] = nil,
["On Key Press"] = "En presionar la tecla",
["Only"] = "Solo",
["Only Class Dispellable"] = "Solo disipable por la clase",
["Only Count Bagspace On Regular Bags"] = "Sólo contar espacio de bolsas normales",
["Only Show Chat Dock On Mouseover"] = "Sólo mostrar el dock del chat al pasar el puntero",
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = "En un cambio de estado",
["Options"] = "Opciones",
@@ -533,6 +558,12 @@ pfUI_translation["esES"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = "Sobrescribir colores",
["Overwrite Fonts"] = "Sobreescribe fuentes",
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = "Paginable",
["Paging Actionbar"] = "Paginando la barra de acción",
["Panel"] = "Panel",
@@ -574,7 +605,10 @@ pfUI_translation["esES"] = {
["Raid Icon X-Offset"] = "Desplazamiento por el eje X del icono de banda",
["Raid Icon Y-Offset"] = "Desplazamiento por el eje Y del icono de banda",
["Raid Layout"] = "Disposición de la banda",
["Raid Mark Position"] = nil,
["Raid Mark Size"] = "Tamaño del marco de banda",
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = "Espaciado del marco de banda",
["Random"] = "Aleatorio",
["Random Roll Announcement Rarity"] = "Anuncio para tirar los dados aleatoriamente",
@@ -583,6 +617,8 @@ pfUI_translation["esES"] = {
["Range Check Interval"] = "Intervalo de comprobación de alcance",
["Rank"] = "Rango",
["Red Border On Enemy Units"] = "Borde rojo en unidades enemigas",
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = "Restante",
["Remove button from the frame"] = "Quitar botón del marco",
["Removed button"] = "Botón quitado",
@@ -604,6 +640,7 @@ pfUI_translation["esES"] = {
["Reveal Unexplored Areas"] = "Mostrar áreas no exploradas",
["Right"] = "Derecho",
["Right Actionbar"] = "Barra de acción derecha",
["Right Anchor"] = nil,
["Right Chat Frame"] = "Marco del chat derecho",
["Right Chat Height"] = "Altura de la barra de acción derecha",
["Right Chat Width"] = "Ancho de la barra de acción derecha",
@@ -619,6 +656,7 @@ pfUI_translation["esES"] = {
["Roll for"] = "Tirar los dados para",
["Save current settings to profile"] = "Guardar la configuración actual al perfil",
["Save profile"] = "Guardar perfil",
["Save & Reload"] = nil,
["Scale"] = "Escala",
["Scale Border On HiDPI Displays"] = "Escalar los bordes en las pantallas con DPI alto",
["Scaling"] = "Escalada",
@@ -647,6 +685,7 @@ pfUI_translation["esES"] = {
["Share"] = "Compartir",
["Shift-Click"] = "Shift-Clic",
["Shift-Click Action"] = "Acción de Shift-Clic",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = "Mostrar botones de addon por conectarse",
["Show Animation On Hidden Bars"] = "Mostrar animación en las barras ocultas",
["Show Background"] = "Mostrar el fondo",
@@ -656,6 +695,7 @@ pfUI_translation["esES"] = {
["Show Debuff Stacks"] = "Mostrar pilas de perjuicios",
["Show Description"] = "Mostrar descripción",
["Show Dispel Indicators"] = "Mostrar indicadores para disipar",
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = "Mostrar la duración dentro del beneficios",
["Show Empty Buttons"] = "Mostrar botones vacíos",
["Show FPS and Latency Colors"] = "Mostrar FPS y colores de latencia",
@@ -695,12 +735,14 @@ pfUI_translation["esES"] = {
["Show Spell Icon"] = "Mostrar icono de hechizo",
["Show Spell Name"] = nil,
["Show Stacks"] = "Mostrar pilas",
["Show Text"] = nil,
["Show Time Left"] = "Mostrar el tiempo restante",
["Show Timer"] = nil,
["Show Timer Animation"] = "Mostrar la animación del temporizador",
["Show Timer Text"] = "Mostrar el texto del temporizador",
["Show Totems Indicators"] = "Mostrar los indicadores de tótems",
["Shrink & Return"] = "Encogerse y volver",
["Size"] = nil,
["Skin"] = "Piel",
["Skins"] = "Pieles",
["Slow"] = "Lento",
@@ -708,6 +750,7 @@ pfUI_translation["esES"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = "Algunas opciones requieren recargar la IU para tener efecto.\n¿Quieres recargar la IU ahora?",
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "Algunas opciones requieren recargar la IU para tener efecto.\n¿Quieres recargar la IU ahora?",
["Sort Order"] = "Orden de clasificación",
["Soul Shard"] = nil,
["Soulshard Counter"] = "Contador de fragmentos de alma",
["Soulshards"] = "Fragmentos de alma",
["Spacing"] = "Espaciado",
@@ -722,6 +765,7 @@ pfUI_translation["esES"] = {
["Standard Text Font Size"] = "Tamaño de la fuente de texto estándar",
["Status"] = "Estado",
["Status Bar Texture"] = "Textura de la barra de estado",
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = "Alternar páginas en el modo sigilo del druida",
@@ -733,8 +777,10 @@ pfUI_translation["esES"] = {
["Target Nameplate Zoom Factor"] = "Factor de zoom de la placa de nombre del objetivo",
["Target-Target"] = "Objetivo-Objetivo",
["Target-Target-Target"] = "Objetivo-Objetivo-Objetivo",
["Text"] = nil,
["Text Color"] = "Color del texto",
["Text Colors"] = "Colores del texto",
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = "El addon \"|cff33ffcc%s|r\" no funciona con pfUI y fue desactivado.",
["The addon selection has changed."] = "La selección de addons fue cambiada.",
["Thick Outline"] = "Contorno grueso",
@@ -776,6 +822,11 @@ pfUI_translation["esES"] = {
["Unit Frame Text Font"] = "Fuente del texto del marco de unidad",
["Unit Frame Text Size"] = "Tamaño del texto del marco de unidad",
["Unit Frame Text Style"] = "Estilo del texto del marco de unidad",
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = "Texto de unidad",
["Unit String (Reverse)"] = nil,
["Unknown"] = "Desconocido",
@@ -783,6 +834,7 @@ pfUI_translation["esES"] = {
["Unlock"] = "Desbloquear",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = "Modo de Desbloquear te permite moverse, escalar y reiniciar a los marcos:\n\n|cff33ffcc[Clic Izquierdo]|r Arrastra el marco\n|cff33ffcc[Clic Central]|r Reinciar el marco\n|cff33ffcc[Clic Derecho]|r Opciones\n\nPresiona |cff33ffcc[Shift]|r para seleccionar todos los marcos del mismo tipo\nPresiona |cff33ffcc[Ctrl]|r para seleccionar todos los marcos del mismo grupo\n\n|cff33ffcc[Clic]|r en un espacio vacío o presiona |cff33ffcc[Esc]|r para salir\n",
["Unusable Item Color"] = "Color de objetos inutilizables",
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = "Usar los colores del chat para los medidores",
["Use Custom Color Health Bar Background"] = "Usar colores personalizados para el fondo de la barra de salud",
["Use Custom Color On Full Health"] = "Usar color personalizado en plena salud",
@@ -798,13 +850,15 @@ pfUI_translation["esES"] = {
["Vertical"] = "Vertical",
["Vertical Actionbar"] = "Barra de acción vertical",
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = "Muy rápido",
["Very Slow"] = "Muy lento",
["Website"] = "Sitio de web",
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "¡Bienvenido a |cff33ffccpf|cffffffffUI|r!\n\nSoy el asistente de instalación que te guiará con la configuración básica. Si prefieres, puedes hacer clic el botón \"Predeterminado\" para cargar la configuración por defecto. Si quieres abrir este diálogo de nuevo, ve a la configuración y haz clic en el botón \"Reiniciar Primera vez\".\n\nVisita |cff33ffcchttp://shagu.org|r para descargar la última versión.",
["Whitelist"] = "Lista blanca",
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = "Ancho",
["Wobble Zoom"] = "Acerca tambalea",
["Won"] = "Ganado",
+56 -2
View File
@@ -62,12 +62,14 @@ pfUI_translation["frFR"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = "Statistiques du Champ de bataille",
["Blacklist"] = "Liste noire",
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = "Bordure bleue des joueurs amicaux",
["BoE"] = "Lié quand équipé",
["BoP"] = "Lié quand ramassé",
["Border Around Target Unit"] = "Bordure autour de l'unité ciblée",
["Border Color"] = "Couleur de la bordure",
["Border Color Around Target Unit"] = "Couleur de la bordure autour de l'unité ciblée",
["Border Size"] = nil,
["Bottom"] = "Bas",
["Bottom Left"] = "Bas Gauche",
["Bottom Right"] = "Bas Droit",
@@ -122,6 +124,7 @@ pfUI_translation["frFR"] = {
["Click Casting"] = "Clique sur le lancement de sort",
["Clock"] = "Horloge",
["Close"] = "Fermer",
["Color"] = nil,
["Color Buff Stacks"] = "Couleur des l'empilements des Améliorations",
["Color Debuff Stacks"] = "Couleur de l'empilements de Affaiblissements",
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["frFR"] = {
["Combat Text Font"] = "Police du Texte de combat",
["Combat Text Size"] = "Taille du Texte de combat",
["Combat Timer"] = "Chronomètre de combat",
["Combopoint Size"] = "Taille des points de combo",
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = "Compare les stats de base d'un objet",
["Components"] = "Composants",
["Config UI Settings"] = nil,
["Configuration"] = "Configuration",
["Configure"] = "Configurer",
["Cooldown"] = "Temps de recharge",
@@ -144,10 +149,13 @@ pfUI_translation["frFR"] = {
["Cooldown Color (Less than 3 Sec)"] = "Couleur des temps de recharge (Moins de 3 secondes)",
["Cooldown Color (Minutes)"] = "Couleur des temps de recharge (Minutes)",
["Cooldown Color (Seconds)"] = "Couleur des temps de recharge (Secondes)",
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = "Taille de la police du texte des temps de recharge",
["Cooldown Text Font Size (Blizzard Frames)"] = "Taille de la police du texte des temps de recharge (Blizzard Frames)",
["Cooldown Text Font Size (Foreign Frames)"] = "Taille de la police du texte des temps de recharge (Foreign Frames)",
["Cooldown Text Size"] = nil,
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = "Seuil du texte des temps de recharge",
["Coordinates Location"] = "Coordonnées Emplacement",
["Coordinates On Minimap"] = "Coordonnées sur la mini-carte",
@@ -218,12 +226,15 @@ pfUI_translation["frFR"] = {
["Dodge"] = "Esquive",
["Donate"] = nil,
["Don't overlap rested"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "Souhaitez-vous vraiment |cffffaaaaTOUT SUPPRIMER|r?\n\nCela réinitialisera:\n - La configuration actuelle\n - La position actuelle des cadres\n - L'assistant d'installation\n - Le fichier cache des Addons\n - Les profils sauvegardés",
["Do you really want to reset the Cache?"] = "Souhaitez-vous vraiment réinitialiser le cache?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "Souhaitez-vous vraiment réinitialiser votre configuration ?\nCela inclut la position des cadres",
["Do you want to disable the addon?"] = "Voulez vous désactiver l'addon?",
["Do you want to reload the UI now?"] = "Voulez vous recharger l'UI maintenant?",
["Draw Glow Around Target Nameplate"] = "Dessiner une lueur autour des barres de vie flottantes de la cible",
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = "Zoom élastique",
["Elysium Based Core"] = "Basé sur le core d'Elysium",
["Enable"] = "Activer",
@@ -346,6 +357,8 @@ pfUI_translation["frFR"] = {
["Group Options"] = "Options de groupe",
["Group-Pet"] = "Groupe des familiers",
["Group-Target"] = "Groupe des cibles",
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = "Membres de guilde connectés",
["Happiness Icon Size"] = nil,
["Heal Color"] = nil,
@@ -394,9 +407,11 @@ pfUI_translation["frFR"] = {
["Highlight Out Of Range Spells"] = "Mettre en surbrillance les sorts qui sont hors de portée",
["Highlight Settings That Require Reload"] = "Mettre en surbrillance les réglages qui demande un redémarrage",
["Highlight Unusable Items"] = "Mettre en surbrillance les objets inutilisable",
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = "Kill Honorable",
["Honorable Kill!"] = "Kill Honorable!",
["Horizontal"] = "Horizontale",
["Horizontal Offset"] = nil,
["Hoverbind"] = "Mode Raccourcis",
["Huge"] = nil,
["Huge (PixelPerfect)"] = "Énorme (Pixel-Parfait)",
@@ -432,6 +447,7 @@ pfUI_translation["frFR"] = {
["Layout"] = "Disposition",
["Left"] = "Gauche",
["Left Actionbar"] = "Barre d'action gauche",
["Left Anchor"] = nil,
["Left Chat Frame"] = "Cadre du chat gauche",
["Left Chat Height"] = "Hauteur du chat gauche",
["Left Chat Width"] = "Largeur du chat gauche",
@@ -446,11 +462,14 @@ pfUI_translation["frFR"] = {
["Legacy"] = "Héritage",
["Level"] = "Niveau",
["Level Up"] = "Gain de niveau",
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = "Les listes de boutons ajoutés et supprimés sont effacées",
["Load Defaults"] = nil,
["Load profile"] = "Charger un profil",
["Localtime"] = "Heure Local",
["Lock Actionbars"] = "Verrouiller les barres d'action",
["Login"] = "Authentification",
["Look & Feel"] = nil,
["Loot"] = "Butin",
["Loot & Spam"] = "Butin & Spam",
["Macro Text Color"] = "Couleur du texte de la macro",
@@ -471,6 +490,8 @@ pfUI_translation["frFR"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = "Moyen",
["Memory Usage"] = "Utilisation Mémoire",
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = "Les messages ne seront plus envoyés à :",
["Middle Mouse Button"] = "Bouton centrale de la souris",
["Minimap"] = "Minicarte",
@@ -507,6 +528,7 @@ pfUI_translation["frFR"] = {
["None"] = "Aucun/Aucune",
["Not a valid button!"] = "Ce n'est pas un bouton valide!",
["No tracking spell active"] = "Aucun sort de suivi actif",
["Not Set"] = nil,
["Not Usable Color"] = "Couleur Inutilisable",
["Now"] = "Maintenant",
["Number Of Buffs Per Row"] = "Nombre de Buffs par ligne",
@@ -515,11 +537,14 @@ pfUI_translation["frFR"] = {
["Number Of Weapon Buffs Per Row"] = "Nombre de buffs d'arme par ligne",
["Off"] = "Off",
["Offline Transparency"] = "Transparence hors ligne",
["Off-Tank Names"] = nil,
["On Key Press"] = "Appuyez sur la touche",
["Only"] = "Seulement",
["Only Class Dispellable"] = "Classe uniquement dissipable",
["Only Count Bagspace On Regular Bags"] = "Compter seulement les places libre des sacs généraux",
["Only Show Chat Dock On Mouseover"] = "Montrer le Chat seulement au passage Souris",
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = "Sur changement d'état",
["Options"] = "Options",
@@ -533,6 +558,12 @@ pfUI_translation["frFR"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = "Écraser les couleurs",
["Overwrite Fonts"] = nil,
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = "Pageable",
["Paging Actionbar"] = "Barre d'action de pagination",
["Panel"] = "Panneau",
@@ -574,7 +605,10 @@ pfUI_translation["frFR"] = {
["Raid Icon X-Offset"] = nil,
["Raid Icon Y-Offset"] = nil,
["Raid Layout"] = "Disposition du Raid",
["Raid Mark Position"] = nil,
["Raid Mark Size"] = "Taille des marques du Raid",
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = "Remplissage du Raid",
["Random"] = "Aléatoire",
["Random Roll Announcement Rarity"] = "Rareté des annonces des jets de dés aléatoires",
@@ -583,6 +617,8 @@ pfUI_translation["frFR"] = {
["Range Check Interval"] = "Intervalle de vérification de la distance",
["Rank"] = nil,
["Red Border On Enemy Units"] = "Bordure rouge sur les unités ennemies",
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = "Restant",
["Remove button from the frame"] = "Supprimer le bouton du cadre",
["Removed button"] = "Bouton supprimé",
@@ -604,6 +640,7 @@ pfUI_translation["frFR"] = {
["Reveal Unexplored Areas"] = "Révèle les zones non explorées",
["Right"] = "Droit",
["Right Actionbar"] = "Barre d'action droite",
["Right Anchor"] = nil,
["Right Chat Frame"] = "Cadre du chat de droite",
["Right Chat Height"] = "Hauteur du chat de droite",
["Right Chat Width"] = "Largeur du chat de droite",
@@ -619,6 +656,7 @@ pfUI_translation["frFR"] = {
["Roll for"] = "Lancer de dés pour",
["Save current settings to profile"] = "Enregistrer les paramètres actuels au profil",
["Save profile"] = "Enregistrer un profil",
["Save & Reload"] = nil,
["Scale"] = "Échelle",
["Scale Border On HiDPI Displays"] = "Échelle de bordure sur les écrans HiDPI",
["Scaling"] = "Mise à l'échelle",
@@ -647,6 +685,7 @@ pfUI_translation["frFR"] = {
["Share"] = "Partager",
["Shift-Click"] = "Shift-Clique",
["Shift-Click Action"] = "Action au Shift+Clique",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = "Afficher le bouton \"Addon\" à la connexion",
["Show Animation On Hidden Bars"] = "Afficher l'animation sur des barres cachées",
["Show Background"] = "Afficher l'arrière plan",
@@ -656,6 +695,7 @@ pfUI_translation["frFR"] = {
["Show Debuff Stacks"] = "Afficher les piles de debuff",
["Show Description"] = "Afficher les descriptions",
["Show Dispel Indicators"] = "Afficher les indicateurs de dissipation",
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = "Afficher la durée à l'intérieur des améliorations",
["Show Empty Buttons"] = "Afficher les boutons vides",
["Show FPS and Latency Colors"] = nil,
@@ -695,12 +735,14 @@ pfUI_translation["frFR"] = {
["Show Spell Icon"] = "Afficher l'icone des sorts",
["Show Spell Name"] = nil,
["Show Stacks"] = "Afficher les empilements",
["Show Text"] = nil,
["Show Time Left"] = "Afficher le temps restant",
["Show Timer"] = nil,
["Show Timer Animation"] = nil,
["Show Timer Text"] = nil,
["Show Totems Indicators"] = "Afficher les indicateurs des totems",
["Shrink & Return"] = "Rétrécir et retourner",
["Size"] = nil,
["Skin"] = "Apparence",
["Skins"] = "Apparences",
["Slow"] = "Doucement",
@@ -708,6 +750,7 @@ pfUI_translation["frFR"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = "Quelques options nécessitent de recharger l'interface pour prendre effet\nSouhaitez-vous recharger maintenant?",
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "Quelques options nécessitent de recharger l'interface pour prendre effet\nSouhaitez-vous recharger votre interface maintenant?",
["Sort Order"] = "Ordre du tri",
["Soul Shard"] = nil,
["Soulshard Counter"] = "Compteur des éclats d'âme",
["Soulshards"] = "Pierre d'âme",
["Spacing"] = "Espacement",
@@ -722,6 +765,7 @@ pfUI_translation["frFR"] = {
["Standard Text Font Size"] = "Taille de la police standard du texte",
["Status"] = "Statut",
["Status Bar Texture"] = "Texture de la barre d'état",
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = "Changer de page sur le camouflage du Druide",
@@ -733,8 +777,10 @@ pfUI_translation["frFR"] = {
["Target Nameplate Zoom Factor"] = "Facteur de zoom du Nameplate de la cible",
["Target-Target"] = "Cible de la cible",
["Target-Target-Target"] = "Cible de la cible de la cible",
["Text"] = nil,
["Text Color"] = "Couleur du texte",
["Text Colors"] = "Couleurs du texte",
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = "L'addon \"|cff33ffcc%s|r\" ne fonctionne pas avec pfUI et a été désactivé.",
["The addon selection has changed."] = "La sélection de l'addon a changé.",
["Thick Outline"] = "Contour épais",
@@ -776,6 +822,11 @@ pfUI_translation["frFR"] = {
["Unit Frame Text Font"] = "Police du texte des cadres d'unité",
["Unit Frame Text Size"] = "Taille de la police du texte des cadres d'unité",
["Unit Frame Text Style"] = nil,
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = "Texte des cadres d'unité",
["Unit String (Reverse)"] = nil,
["Unknown"] = "Inconnu",
@@ -783,6 +834,7 @@ pfUI_translation["frFR"] = {
["Unlock"] = "Débloquer l'interface",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = nil,
["Unusable Item Color"] = "Couleur des objets inutilisables",
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = "Utiliser les couleurs de conversation pour les compteurs",
["Use Custom Color Health Bar Background"] = "Utiliser l'arrière-plan de la barre de couleur personnalisée",
["Use Custom Color On Full Health"] = "Utiliser une couleur personnalisée la vie est pleine",
@@ -798,13 +850,15 @@ pfUI_translation["frFR"] = {
["Vertical"] = "Verticale",
["Vertical Actionbar"] = "Barre d'action Verticale",
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = "Très Rapide",
["Very Slow"] = "Très Doucement",
["Website"] = "Site web",
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "Bienvenue sur l'assistant d'installation de l'interface |cff33ffccpf|cffffffffUI|r!\n\nNous allons effectuer quelques configurations de base. Si vous n'avez pas la patience, cliquer sur le bouton \"Paramètres par défaut\". Si vous souhaitez relancer cette fenêtre de dialogue, allez dans les options et cliquez sur le bouton\"Réinitialiser l'assistant d'installation\" .\n\nAllez sur |cff33ffcchttp://shagu.org|r pour télécharger la dernière version.",
["Whitelist"] = "List blanche",
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = "Largeur",
["Wobble Zoom"] = "Zoom oscillant",
["Won"] = "A gagné",
+56 -2
View File
@@ -62,12 +62,14 @@ pfUI_translation["koKR"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = nil,
["Blacklist"] = nil,
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = nil,
["BoE"] = nil,
["BoP"] = nil,
["Border Around Target Unit"] = nil,
["Border Color"] = "테두리 색상",
["Border Color Around Target Unit"] = nil,
["Border Size"] = nil,
["Bottom"] = "아래",
["Bottom Left"] = nil,
["Bottom Right"] = nil,
@@ -122,6 +124,7 @@ pfUI_translation["koKR"] = {
["Click Casting"] = nil,
["Clock"] = "시계",
["Close"] = "닫기",
["Color"] = nil,
["Color Buff Stacks"] = nil,
["Color Debuff Stacks"] = nil,
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["koKR"] = {
["Combat Text Font"] = nil,
["Combat Text Size"] = nil,
["Combat Timer"] = "전투 타이머",
["Combopoint Size"] = "콤보포인트 크기",
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = nil,
["Components"] = nil,
["Config UI Settings"] = nil,
["Configuration"] = "구성",
["Configure"] = nil,
["Cooldown"] = "쿨다운",
@@ -144,10 +149,13 @@ pfUI_translation["koKR"] = {
["Cooldown Color (Less than 3 Sec)"] = "재사용 대기시간 컬러(3초전)",
["Cooldown Color (Minutes)"] = "재사용 대기시간 컬러(분)",
["Cooldown Color (Seconds)"] = "재사용 대기시간 컬러(초)",
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = "재사용 대기시간 텍스트 폰트 크기",
["Cooldown Text Font Size (Blizzard Frames)"] = nil,
["Cooldown Text Font Size (Foreign Frames)"] = nil,
["Cooldown Text Size"] = nil,
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = "재사용 대기시간 텍스트 임계 값",
["Coordinates Location"] = nil,
["Coordinates On Minimap"] = "미니맵의 좌표",
@@ -218,12 +226,15 @@ pfUI_translation["koKR"] = {
["Dodge"] = "우측 챗팅창 위",
["Donate"] = nil,
["Don't overlap rested"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "|cffffaaaa모든것|r을 정말로 재설정 하시겠습니까?\n\n재설정될 항목:\n -현재 구성\n -현재 프레임 위치\n -첫번째 구성 마법사\n -애드온 캐쉬\n -저당된 프로파일",
["Do you really want to reset the Cache?"] = "정말로 캐시를 재설정 하시겠습니까?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "정말로 구성을 재설정 하시겠습니까?\n여기에는 프레임 위치도 포함됩니다.",
["Do you want to disable the addon?"] = nil,
["Do you want to reload the UI now?"] = nil,
["Draw Glow Around Target Nameplate"] = nil,
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = nil,
["Elysium Based Core"] = "엘리시움 기반 코어",
["Enable"] = nil,
@@ -346,6 +357,8 @@ pfUI_translation["koKR"] = {
["Group Options"] = nil,
["Group-Pet"] = "파티-팻",
["Group-Target"] = "파티-타켓",
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = "접속중인 길드원",
["Happiness Icon Size"] = nil,
["Heal Color"] = nil,
@@ -394,9 +407,11 @@ pfUI_translation["koKR"] = {
["Highlight Out Of Range Spells"] = nil,
["Highlight Settings That Require Reload"] = nil,
["Highlight Unusable Items"] = nil,
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = nil,
["Honorable Kill!"] = nil,
["Horizontal"] = nil,
["Horizontal Offset"] = nil,
["Hoverbind"] = "단축키 설정",
["Huge"] = nil,
["Huge (PixelPerfect)"] = nil,
@@ -432,6 +447,7 @@ pfUI_translation["koKR"] = {
["Layout"] = "레이아웃",
["Left"] = "왼쪽",
["Left Actionbar"] = nil,
["Left Anchor"] = nil,
["Left Chat Frame"] = nil,
["Left Chat Height"] = "왼쪽 채팅창 높이",
["Left Chat Width"] = "왼쪽 채팅창 넓이",
@@ -446,11 +462,14 @@ pfUI_translation["koKR"] = {
["Legacy"] = nil,
["Level"] = "레벨",
["Level Up"] = nil,
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = nil,
["Load Defaults"] = nil,
["Load profile"] = "프로파일 불러오기",
["Localtime"] = "지역시간(한국)",
["Lock Actionbars"] = nil,
["Login"] = "접속할때",
["Look & Feel"] = nil,
["Loot"] = "룻팅",
["Loot & Spam"] = "룻팅 & 기타",
["Macro Text Color"] = nil,
@@ -471,6 +490,8 @@ pfUI_translation["koKR"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = "평균",
["Memory Usage"] = "메모리 사용",
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = nil,
["Middle Mouse Button"] = nil,
["Minimap"] = "미니맵",
@@ -507,6 +528,7 @@ pfUI_translation["koKR"] = {
["None"] = nil,
["Not a valid button!"] = nil,
["No tracking spell active"] = nil,
["Not Set"] = nil,
["Not Usable Color"] = nil,
["Now"] = "현재",
["Number Of Buffs Per Row"] = nil,
@@ -515,11 +537,14 @@ pfUI_translation["koKR"] = {
["Number Of Weapon Buffs Per Row"] = nil,
["Off"] = nil,
["Offline Transparency"] = nil,
["Off-Tank Names"] = nil,
["On Key Press"] = nil,
["Only"] = nil,
["Only Class Dispellable"] = nil,
["Only Count Bagspace On Regular Bags"] = nil,
["Only Show Chat Dock On Mouseover"] = "마우스 오버시 채팅 독만 표시",
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = nil,
["Options"] = nil,
@@ -533,6 +558,12 @@ pfUI_translation["koKR"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = nil,
["Overwrite Fonts"] = nil,
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = nil,
["Paging Actionbar"] = nil,
["Panel"] = "패널",
@@ -574,7 +605,10 @@ pfUI_translation["koKR"] = {
["Raid Icon X-Offset"] = nil,
["Raid Icon Y-Offset"] = nil,
["Raid Layout"] = nil,
["Raid Mark Position"] = nil,
["Raid Mark Size"] = nil,
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = nil,
["Random"] = nil,
["Random Roll Announcement Rarity"] = nil,
@@ -583,6 +617,8 @@ pfUI_translation["koKR"] = {
["Range Check Interval"] = nil,
["Rank"] = nil,
["Red Border On Enemy Units"] = nil,
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = "남은 경험치",
["Remove button from the frame"] = nil,
["Removed button"] = nil,
@@ -604,6 +640,7 @@ pfUI_translation["koKR"] = {
["Reveal Unexplored Areas"] = nil,
["Right"] = "오른쪽",
["Right Actionbar"] = nil,
["Right Anchor"] = nil,
["Right Chat Frame"] = nil,
["Right Chat Height"] = "오른쪽 채팅창 높이",
["Right Chat Width"] = "오른쪽 채팅창 넓이",
@@ -619,6 +656,7 @@ pfUI_translation["koKR"] = {
["Roll for"] = nil,
["Save current settings to profile"] = "현재 설정을 프로필에 저장",
["Save profile"] = "프로파일 저장",
["Save & Reload"] = nil,
["Scale"] = nil,
["Scale Border On HiDPI Displays"] = nil,
["Scaling"] = nil,
@@ -647,6 +685,7 @@ pfUI_translation["koKR"] = {
["Share"] = nil,
["Shift-Click"] = nil,
["Shift-Click Action"] = "쉬프트-클릭 액션",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = nil,
["Show Animation On Hidden Bars"] = nil,
["Show Background"] = nil,
@@ -656,6 +695,7 @@ pfUI_translation["koKR"] = {
["Show Debuff Stacks"] = nil,
["Show Description"] = nil,
["Show Dispel Indicators"] = nil,
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = nil,
["Show Empty Buttons"] = nil,
["Show FPS and Latency Colors"] = nil,
@@ -695,12 +735,14 @@ pfUI_translation["koKR"] = {
["Show Spell Icon"] = nil,
["Show Spell Name"] = nil,
["Show Stacks"] = nil,
["Show Text"] = nil,
["Show Time Left"] = nil,
["Show Timer"] = nil,
["Show Timer Animation"] = nil,
["Show Timer Text"] = nil,
["Show Totems Indicators"] = nil,
["Shrink & Return"] = nil,
["Size"] = nil,
["Skin"] = "스킨",
["Skins"] = nil,
["Slow"] = "느린",
@@ -708,6 +750,7 @@ pfUI_translation["koKR"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = nil,
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "일부 설정을 적용하려면 UI를 리로드 해야합니다.\n지금 리로드 하시겠습니까?",
["Sort Order"] = nil,
["Soul Shard"] = nil,
["Soulshard Counter"] = "영혼조각 갯수",
["Soulshards"] = "영혼의 조각",
["Spacing"] = nil,
@@ -722,6 +765,7 @@ pfUI_translation["koKR"] = {
["Standard Text Font Size"] = "기본 텍스트 폰트크기",
["Status"] = "상태",
["Status Bar Texture"] = nil,
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = nil,
@@ -733,8 +777,10 @@ pfUI_translation["koKR"] = {
["Target Nameplate Zoom Factor"] = nil,
["Target-Target"] = "대상-대상",
["Target-Target-Target"] = nil,
["Text"] = nil,
["Text Color"] = nil,
["Text Colors"] = nil,
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = nil,
["The addon selection has changed."] = nil,
["Thick Outline"] = nil,
@@ -776,6 +822,11 @@ pfUI_translation["koKR"] = {
["Unit Frame Text Font"] = "유닛프레임 텍스트 폰트",
["Unit Frame Text Size"] = "유닛프레임 텍스트 크기",
["Unit Frame Text Style"] = nil,
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = "단위 문자열",
["Unit String (Reverse)"] = nil,
["Unknown"] = nil,
@@ -783,6 +834,7 @@ pfUI_translation["koKR"] = {
["Unlock"] = "잠그 해체",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = nil,
["Unusable Item Color"] = nil,
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = nil,
["Use Custom Color Health Bar Background"] = nil,
["Use Custom Color On Full Health"] = nil,
@@ -798,13 +850,15 @@ pfUI_translation["koKR"] = {
["Vertical"] = nil,
["Vertical Actionbar"] = nil,
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = "매우 빠르게",
["Very Slow"] = "매우 느리게",
["Website"] = nil,
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "|cff33ffccpf|cffffffffUI|r에 |cff33ffcc오신걸 환영합니다.|r \n\n저는 몇 가지 기본 구성을 안내 할 첫 번째 실행 위자드입니다. 모든 단계를 건너 뛰고 싶으시면 \"기본값 사용\" 버튼을 누르십시오. 이 대화 상자를 다시 실행하려면 추후 설정으로 이동하여 \"첫단계로 재설정\" 버튼을 누르십시오.\n\n최신버전 다운로드 사이트: |cff33ffcchttp://shagu.org|r",
["Whitelist"] = nil,
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = nil,
["Wobble Zoom"] = nil,
["Won"] = nil,
+57 -3
View File
@@ -62,12 +62,14 @@ pfUI_translation["ruRU"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = "Статистика поля боя",
["Blacklist"] = "\"Черный\" список",
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = "Синие границы на дружественных игроках",
["BoE"] = "ПпН",
["BoP"] = "ПпП",
["Border Around Target Unit"] = "Границы вокруг цели",
["Border Color"] = "Цвет границы",
["Border Color Around Target Unit"] = "Цвет границ вокруг цели",
["Border Size"] = "Размер границ",
["Bottom"] = "Снизу",
["Bottom Left"] = "Снизу слева",
["Bottom Right"] = "Снизу справа",
@@ -122,6 +124,7 @@ pfUI_translation["ruRU"] = {
["Click Casting"] = "Каст по нажатию",
["Clock"] = "Часы",
["Close"] = "Закрыть",
["Color"] = nil,
["Color Buff Stacks"] = "Цвет стаков баффа",
["Color Debuff Stacks"] = "Цвет стаков дебаффа",
["Colorize player name on WorldMap and BattlefieldMinimap"] = "Раскрасить имена игроков на карте мира и миникарте поля боя",
@@ -133,9 +136,11 @@ pfUI_translation["ruRU"] = {
["Combat Text Font"] = "Шрифт текста боя",
["Combat Text Size"] = "Размер текста боя",
["Combat Timer"] = "Таймер боя",
["Combopoint Size"] = "Размер очков комбо",
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = "Сравнивать базовые характеристики предмета",
["Components"] = "Компоненты",
["Config UI Settings"] = "Настройка параметров пользовательского интерфейса",
["Configuration"] = "Конфигурация",
["Configure"] = "Применить",
["Cooldown"] = "Восстановление",
@@ -144,10 +149,13 @@ pfUI_translation["ruRU"] = {
["Cooldown Color (Less than 3 Sec)"] = "Цвет восстановления (менее 3 секунд)",
["Cooldown Color (Minutes)"] = "Цвет восстановления (минуты)",
["Cooldown Color (Seconds)"] = "Цвет восстановления (секунды)",
["Cooldown / Durations"] = "Восстановление / Длительность",
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = "Текст времени восстановления(CD)",
["Cooldown Text Font Size (Blizzard Frames)"] = "Текст времени восстановления (окна Blizzard)",
["Cooldown Text Font Size (Foreign Frames)"] = "Текст времени восстановления (Сторонние окна)",
["Cooldown Text Size"] = "Размер текста восстановления",
["Cooldown Text Threshold"] = "Текст порога восстановления",
["Cooldown Text Time Threshold"] = "Порог текста восстановления",
["Coordinates Location"] = "Расположение координат",
["Coordinates On Minimap"] = "Координаты на миникарте",
@@ -218,12 +226,15 @@ pfUI_translation["ruRU"] = {
["Dodge"] = "Над окном чата справа",
["Donate"] = "Пожертвовать",
["Don't overlap rested"] = "Не перекрывать отдых",
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = "Вы действительно хотите сбросить |cffffaaaaВСЕ|r?",
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "Вы действительно хотите сбросить |cffffaaaaВСЁ|r?\n\nЭто сбросит:\n - Текущую конфигурацию\n - Текущее расположение окон\n - Мастера первого запуска\n - Кэш аддона\n - Сохраненные профили",
["Do you really want to reset the Cache?"] = "Вы действительно хотите сбросить кеш?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "Вы действительно хотите сбросить вашу конфигурацию?\nЭто также включает расположение окон",
["Do you want to disable the addon?"] = "Вы хотите отключить аддон?",
["Do you want to reload the UI now?"] = "Вы хотите перезагрузить интерфейс сейчас?",
["Draw Glow Around Target Nameplate"] = "Сияние вокруг индикатора здоровья цели",
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = "Эластичное увеличение",
["Elysium Based Core"] = "Ядро на основе Elysium",
["Enable"] = "Включить",
@@ -346,6 +357,8 @@ pfUI_translation["ruRU"] = {
["Group Options"] = "Настройки группы",
["Group-Pet"] = "Группа-питомец",
["Group-Target"] = "Группа-цель",
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = "Члены гильдии в сети",
["Happiness Icon Size"] = "Размер значка счастья",
["Heal Color"] = "Цвет исцеления",
@@ -394,9 +407,11 @@ pfUI_translation["ruRU"] = {
["Highlight Out Of Range Spells"] = "Выделять заклинания вне зоны действия",
["Highlight Settings That Require Reload"] = "Выделить параметры, требующие перезагрузки",
["Highlight Unusable Items"] = "Выделить предметы, которые не могут быть использованы",
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = "Почетная победа",
["Honorable Kill!"] = "Почетная победа!",
["Horizontal"] = "Горизонтально",
["Horizontal Offset"] = nil,
["Hoverbind"] = "Назначить кнопки",
["Huge"] = "Огромный",
["Huge (PixelPerfect)"] = "Огромный (идеальный пиксель)",
@@ -432,6 +447,7 @@ pfUI_translation["ruRU"] = {
["Layout"] = "Макет",
["Left"] = "Слева",
["Left Actionbar"] = "Левая",
["Left Anchor"] = nil,
["Left Chat Frame"] = "Левое окно чата",
["Left Chat Height"] = "Высота левого чата",
["Left Chat Width"] = "Ширина левого чата",
@@ -446,11 +462,14 @@ pfUI_translation["ruRU"] = {
["Legacy"] = "Устаревшее",
["Level"] = "Уровень",
["Level Up"] = "Повышение уровня",
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = "Списки добавленных и удаленных кнопок очищены",
["Load Defaults"] = "По умолчанию",
["Load profile"] = "Загрузить профиль",
["Localtime"] = "Местное время",
["Lock Actionbars"] = "Заблокировать панели действий",
["Login"] = "На момент входа",
["Look & Feel"] = "Смотреть и чувствовать",
["Loot"] = "Добыча",
["Loot & Spam"] = "Добыча & Спам",
["Macro Text Color"] = "Цвет текста макросов",
@@ -471,6 +490,8 @@ pfUI_translation["ruRU"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = "Средне",
["Memory Usage"] = "Использование памяти",
["Menu Font"] = "Шрифт меню",
["Menu Font Size"] = "Размер шрифта меню",
["Messages are no longer forwarded to:"] = "Сообщения больше не пересылаются на:",
["Middle Mouse Button"] = "Средняя кнопка мыши",
["Minimap"] = "Миникарта",
@@ -507,6 +528,7 @@ pfUI_translation["ruRU"] = {
["None"] = "Нет",
["Not a valid button!"] = "Недопустимая кнопка!",
["No tracking spell active"] = "Отслеживание не активно",
["Not Set"] = nil,
["Not Usable Color"] = "Цвет неиспользуемых заклинаний",
["Now"] = "Сейчас",
["Number Of Buffs Per Row"] = "Количество баффов в строке",
@@ -515,12 +537,15 @@ pfUI_translation["ruRU"] = {
["Number Of Weapon Buffs Per Row"] = "Количество баффов оружия в строке",
["Off"] = "Отключено",
["Offline Transparency"] = "Прозрачность вне сети",
["Off-Tank Names"] = nil,
["On Key Press"] = "при нажатии",
["Only"] = "Только",
["Only Class Dispellable"] = "Только рассеиваемое моим классом",
["Only Count Bagspace On Regular Bags"] = "Подсчитывать только свободные места в сумках",
["Only Show Chat Dock On Mouseover"] = "Показывать панель чата только при наведении мыши",
["Only Show Target Castbar"] = nil,
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = "Показать только панель применения цели",
["On State Change"] = "Изменение статуса",
["Options"] = "Опции",
["Orientation"] = "Ориентация",
@@ -533,6 +558,12 @@ pfUI_translation["ruRU"] = {
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Colors"] = "Перезаписать цвета",
["Overwrite Fonts"] = "Перезаписать шрифты",
["Overwrite Health Color With Combat State"] = nil,
["Overwrite If Unit Is Attacking No One"] = nil,
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = nil,
["Overwrite If Unit Is Attacking You"] = nil,
["Overwrite If Unit Is Casting"] = nil,
["Pageable"] = "Прокрутка страниц",
["Paging Actionbar"] = "Прокрутка панелей",
["Panel"] = "Панель",
@@ -574,7 +605,10 @@ pfUI_translation["ruRU"] = {
["Raid Icon X-Offset"] = "Смещение значка рейда по X",
["Raid Icon Y-Offset"] = "Смещение значка рейда по Y",
["Raid Layout"] = "Макет рейда",
["Raid Mark Position"] = nil,
["Raid Mark Size"] = "Размер метки рейда",
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = "Отступ рейда",
["Random"] = "Случайно",
["Random Roll Announcement Rarity"] = "Оповещение случайного броска для качества предмета",
@@ -583,6 +617,8 @@ pfUI_translation["ruRU"] = {
["Range Check Interval"] = "Интервал проверки диапазона",
["Rank"] = "Ранг",
["Red Border On Enemy Units"] = "Красные границы вражеских юнитов",
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = "Региональные настройки",
["Remaining"] = "Осталось",
["Remove button from the frame"] = "Удалить кнопку из окна",
["Removed button"] = "Удалена кнопка",
@@ -604,6 +640,7 @@ pfUI_translation["ruRU"] = {
["Reveal Unexplored Areas"] = "Показывать неисследованные области",
["Right"] = "Справа",
["Right Actionbar"] = "Правая",
["Right Anchor"] = nil,
["Right Chat Frame"] = "Правое окно чата",
["Right Chat Height"] = "Высота правого чата",
["Right Chat Width"] = "Ширина правого чата",
@@ -619,6 +656,7 @@ pfUI_translation["ruRU"] = {
["Roll for"] = "Бросок костей для",
["Save current settings to profile"] = "Сохранить текущие настройки в профиле",
["Save profile"] = "Сохранить профиль",
["Save & Reload"] = "Сохранить и перезагрузить",
["Scale"] = "Масштаб",
["Scale Border On HiDPI Displays"] = "Масштабировать границы на HiDPI мониторах",
["Scaling"] = "Масштаб интерфейса",
@@ -647,6 +685,7 @@ pfUI_translation["ruRU"] = {
["Share"] = "Поделиться",
["Shift-Click"] = "Shift+нажатие",
["Shift-Click Action"] = "Действие при Shift+нажатие",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = "Показывать окно кнопок аддонов при входе в игру",
["Show Animation On Hidden Bars"] = "Показать анимацию на скрытых панелях",
["Show Background"] = "Показать фон",
@@ -656,6 +695,7 @@ pfUI_translation["ruRU"] = {
["Show Debuff Stacks"] = "Показать стаки дебаффов",
["Show Description"] = "Показать описание",
["Show Dispel Indicators"] = "Показать индикаторы рассеивания",
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = "Показать продолжительность внутри баффа",
["Show Empty Buttons"] = "Показать пустые кнопки",
["Show FPS and Latency Colors"] = "Показать частоту кадров и задержку в цвете",
@@ -695,12 +735,14 @@ pfUI_translation["ruRU"] = {
["Show Spell Icon"] = "Показать иконку заклинания",
["Show Spell Name"] = "Показать название заклинания",
["Show Stacks"] = "Показать стаки",
["Show Text"] = nil,
["Show Time Left"] = "Показать оставшееся время",
["Show Timer"] = "Показать таймер",
["Show Timer Animation"] = "Показать анимацию таймера",
["Show Timer Text"] = "Показать текст таймера",
["Show Totems Indicators"] = "Показать индикаторы тотемов",
["Shrink & Return"] = "Сжатие и возврат",
["Size"] = nil,
["Skin"] = "оболочка",
["Skins"] = "Оболочки",
["Slow"] = "Медленно",
@@ -708,6 +750,7 @@ pfUI_translation["ruRU"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = "Некоторым настройкам необходимо перезагрузить пользовательский интерфейс, чтобы вступить в силу.\nВы хотите перезагрузить пользовательский интерфейс сейчас?",
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "Некоторым настройкам необходимо перезагрузить пользовательский интерфейс, чтобы вступить в силу.\nВы хотите перезагрузить пользовательский интерфейс сейчас?",
["Sort Order"] = "Порядок сортировки",
["Soul Shard"] = nil,
["Soulshard Counter"] = "Счетчик камней душ",
["Soulshards"] = "Камни душ",
["Spacing"] = "Расстояние",
@@ -722,6 +765,7 @@ pfUI_translation["ruRU"] = {
["Standard Text Font Size"] = "Размер шрифта стандартного текста",
["Status"] = "Статус",
["Status Bar Texture"] = "Текстура статус панели",
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = "Переключение страниц при невидимости друида",
@@ -733,8 +777,10 @@ pfUI_translation["ruRU"] = {
["Target Nameplate Zoom Factor"] = "Коэффициент увеличения индикатора здоровья цели",
["Target-Target"] = "Цель цели",
["Target-Target-Target"] = "Цель цели цели",
["Text"] = nil,
["Text Color"] = "Цвет текста",
["Text Colors"] = "Цвета текста",
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = "Аддон \"|cff33ffcc%s|r\" не работает совместно с pfUI и был отключен.",
["The addon selection has changed."] = "Выбор аддона изменился.",
["Thick Outline"] = "Толстый контурный", -- font style
@@ -776,6 +822,11 @@ pfUI_translation["ruRU"] = {
["Unit Frame Text Font"] = "Шрифт текста в окне юнита",
["Unit Frame Text Size"] = "Размер текста в окне юнита",
["Unit Frame Text Style"] = "Стиль текста в окне юнита",
["Unit Is Attacking No One Color"] = nil,
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = nil,
["Unit Is Attacking You Color"] = nil,
["Unit Is Casting Color"] = nil,
["Unit String"] = "Уровень и имя",
["Unit String (Reverse)"] = "Уровень и имя (обратный)",
["Unknown"] = "Неизвестно",
@@ -783,6 +834,7 @@ pfUI_translation["ruRU"] = {
["Unlock"] = "Разблокировать",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = "Режим разблокировки позволяет перемещать, масштабировать и сбрасывать кадры:\n\nЗажмите |cff33ffcc[Левую кнопку мыши]|r для перемещения кадра\nНажмите |cff33ffcc[Среднюю кнопку мыши]|r для сброса кадра\nНажмите |cff33ffcc[Правую кнопку мыши]|r, чтобы открыть окно настроек кадра\nПрокручивайте |cff33ffcc[Колесо мыши]|r, чтобы изменить масштаб кадра\n\nУдерживайте |cff33ffcc[Shift]|r, чтобы выбрать все кадры одинакового вида\nУдерживайте |cff33ffcc[Ctrl]|r, чтобы выбрать все кадры одной группы\n\n|cff33ffcc[Щелкните]|r в пустой области или нажмите |cff33ffcc[Esc]|r для выхода\n",
["Unusable Item Color"] = "Цвет предметов, которые не могут быть использованы",
["Use Blizzard Borders"] = "Использовать границы Blizzard",
["Use Chat Colors for Meters"] = "Использовать цвета чата для счетчиков",
["Use Custom Color Health Bar Background"] = "Использовать пользовательский цвет фона панели здоровья",
["Use Custom Color On Full Health"] = "Использовать пользовательский цвет при полном здоровье",
@@ -798,13 +850,15 @@ pfUI_translation["ruRU"] = {
["Vertical"] = "Вертикально",
["Vertical Actionbar"] = "Вертикальная",
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = "Очень быстро",
["Very Slow"] = "Очень медленно",
["Website"] = "Веб-сайт",
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "Добро пожаловать в |cff33ffccpf|cffffffffUI|r!\n\nЯ мастер первого запуска, который проведет вас через некоторую базовую конфигурацию. Если вы ленитесь, не стесняйтесь нажать кнопку \"По умолчанию\". Если вы хотите снова запустить этот диалог, перейдите к настройкам и нажмите кнопку \"Первый запуск\".\n\nПосетите |cff33ffcchttp://shagu.org|r, чтобы проверить последнюю версию.",
["Whitelist"] = "\"Белый\" список",
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = "Ширина",
["Wobble Zoom"] = "Подпрыгивание",
["Won"] = "Победа",
+114 -60
View File
@@ -1,5 +1,5 @@
pfUI_translation["zhCN"] = {
["3D World Unit Font"] = nil,
["3D World Unit Font"] = "3D世界单位字体",
["Abbreviate Numbers (4200 -> 4.2k)"] = "缩写数字格式[4200为4.2K]",
["Abbreviate Unit Names"] = "缩写单位名称",
["About"] = "关于",
@@ -24,13 +24,13 @@ pfUI_translation["zhCN"] = {
["Always Show"] = "始终显示",
["Always Show Extended Vendor Values"] = "始终显示售卖价格",
["Always Show Health In Percent"] = "始终以百分比显示生命值",
["Always Show Item Comparison"] = "始终显示装备比较(或按SHIFT键)",
["Always Show Item Comparison"] = "始终显示装备比较(或按SHIFT键)",
["Always Show On Target Units"] = "始终在目标单位上显示",
["Always Show On Units With Missing HP"] = "始终在未满血单位上显示",
["Always Show Self In Raid Frames"] = "始终在团队框架中显示自己",
["Always Use 2D Portraits"] = "始终使用2D头像",
["Ammo Counter"] = "弹药数量",
["Anchor Bags Above Chat"] = nil,
["Anchor Bags Above Chat"] = "将背包锚定在聊天框上方",
["A new installation of |cff33ffccpf|rUI ships with 4 prebuilt design profiles. Click below if you wish to load one of these profiles."] = "pfUI的新安装自带4以下四种预设风格.点击下方可选择其一",
["A new version is available"] = "发现新版本!",
["Appearance"] = "外观设置",
@@ -59,15 +59,17 @@ pfUI_translation["zhCN"] = {
["Banker"] = "工会银行角色",
["Bankslots Per Row"] = "每行银行槽数量",
["Bar Background"] = "动作条背景",
["Bar Texture"] = nil,
["Bar Texture"] = "条纹理",
["Battleground Statistics"] = "战场统计",
["Blacklist"] = "黑名单",
["Blinding Powder"] = "致盲粉",
["Blue Border On Friendly Players"] = "显示友方玩家蓝色边框",
["BoE"] = "装备绑定",
["BoP"] = "拾取绑定",
["Border Around Target Unit"] = "目标单位边框",
["Border Color"] = "边框颜色",
["Border Color Around Target Unit"] = "目标单位边框颜色",
["Border Size"] = "边框大小",
["Bottom"] = "底部",
["Bottom Left"] = "左下方",
["Bottom Right"] = "右下方",
@@ -98,8 +100,8 @@ pfUI_translation["zhCN"] = {
["Casting Color"] = "吟唱施法读条颜色",
["Center"] = "居中",
["Center Text"] = "中间文字",
["Center Text X Offset"] = nil,
["Center Text Y Offset"] = nil,
["Center Text X Offset"] = "中心文本水平偏移量",
["Center Text Y Offset"] = "中心文本垂直偏移量",
["|cff33ffccBlizzard: \"Interface Options\"|r\n\nDo you want me to set up the recommended Blizzard UI settings? This will enable settings that can be found in the Interface section of your client. Options like Buff Durations, Instant Quest Text, Auto Selfcast and others will be set."] = "|cff33ffcc暴雪: \"界面选项\"|r\n\n你要我安装暴雪UI设置建议? 启用此设置可以在客户端的接口部分找到。 像buff持续时间选项,即时任务文本,自动施法和其他功能将被设置。",
["|cff33ffccChat: \"Channels\"|r\n\nDo you want me to setup the chat channels of your chatframes? This would set important or personal messages to the left chat and world channels and lootinformation to the right chat."] = "|cff33ffcc聊天框架: \"聊天频道\"|r\n\n你想建立聊天框架中新的聊天频道? 这将设置重要或个人信息到左侧聊天。 和世界频道和信息到正确的聊天窗口。",
["|cff33ffccChat: \"Layout\"|r\n\nDo you want me to adjust the layout of your chatframes? This would make sure, that every window is placed on its dedicated position."] = "|cff33ffcc聊天框架: \"聊天窗口布局\"|r\n\n你要我调整聊天框架的布局吗? 这将确保每个窗口都放在其专用位置上。",
@@ -122,9 +124,10 @@ pfUI_translation["zhCN"] = {
["Click Casting"] = "点击施法",
["Clock"] = "时间",
["Close"] = "关闭",
["Color"] = "颜色",
["Color Buff Stacks"] = "Buff堆叠颜色",
["Color Debuff Stacks"] = "Debuff堆叠颜色",
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
["Colorize player name on WorldMap and BattlefieldMinimap"] = "在世界地图和战场小地图上显示玩家职业颜色",
["Colorize Unknown Classes"] = "有色未知职业",
["Colors"] = "颜色",
["Combat"] = "战斗报警",
@@ -133,9 +136,11 @@ pfUI_translation["zhCN"] = {
["Combat Text Font"] = "战斗信息字体",
["Combat Text Size"] = "战斗信息大小",
["Combat Timer"] = "战斗计时器",
["Combopoint Size"] = "连击点大小",
["Combopoint Height"] = "连击点高度",
["Combopoint Width"] = "连击点宽度",
["Compare Item Base Stats"] = "基于属性的装备对比",
["Components"] = "组件",
["Config UI Settings"] = "界面设置",
["Configuration"] = "配置",
["Configure"] = "配置",
["Cooldown"] = "冷却时间",
@@ -144,10 +149,13 @@ pfUI_translation["zhCN"] = {
["Cooldown Color (Less than 3 Sec)"] = "技能冷却时间颜色[少于3秒]",
["Cooldown Color (Minutes)"] = "技能冷却时间颜色[分]",
["Cooldown Color (Seconds)"] = "技能冷却时间颜色[秒]",
["Cooldown Text Font Size"] = "技能冷却时间文字大小",
["Cooldown Text Font Size (Blizzard Frames)"] = "技能冷却时间文字大小(暴雪框架)",
["Cooldown Text Font Size (Foreign Frames)"] = "技能冷却时间文字大小(外部框架)",
["Cooldown / Durations"] = "冷却 / 时长",
["Cooldown Text Font"] = "Debuff计时字体",
["Cooldown Text Font Size"] = "Debuff计时文字大小",
["Cooldown Text Font Size (Blizzard Frames)"] = "Debuff计时文字大小(暴雪姓名板)",
["Cooldown Text Font Size (Foreign Frames)"] = "Debuff计时文字大小(插件姓名板)",
["Cooldown Text Size"] = "技能冷却文字大小",
["Cooldown Text Threshold"] = "冷却监控阈值(只监控大于该数值的技能)",
["Cooldown Text Time Threshold"] = "技能冷却时间文字临界值",
["Coordinates Location"] = "坐标位置",
["Coordinates On Minimap"] = "小地图上的坐标",
@@ -173,7 +181,7 @@ pfUI_translation["zhCN"] = {
["Custom Health Bar Color"] = "自定义血条颜色",
["Custom Power Bar Background Color"] = "自定义能量条背景色",
["Custom Transparency"] = "自定义透明度",
["Debuff Icon Offset"] = nil,
["Debuff Icon Offset"] = "Debuff图标偏移",
["Debuff Icon Size"] = "Debuff图标大小",
["Debuff Limit"] = "Debuff总数量",
["Debuff Position"] = "Debuff显示的位置",
@@ -218,12 +226,15 @@ pfUI_translation["zhCN"] = {
["Dodge"] = "聊天框顶部",
["Donate"] = "捐赠",
["Don't overlap rested"] = "不重叠休息经验",
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = "确定重置|cffffaaaa所有|r配置吗?",
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "|cffffaaaa全部|r你是否要还原 |cffffaaaa所有|r配置?\n\n这将还原:\n 当前配置\n 界面位置\n 首次安装向导\n 插件缓存\n 保存的配置",
["Do you really want to reset the Cache?"] = "你是否要重置缓存?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "你是否要还原设置?\n这将包括框架位置。",
["Do you want to disable the addon?"] = "是否禁用此插件?",
["Do you want to reload the UI now?"] = "是否现在就重新加载UI界面?",
["Draw Glow Around Target Nameplate"] ="目标姓名板发光",
["Draw Glow Around Target Nameplate"] = "目标姓名板周围显示光晕",
["Druid Mana Bar Height"] = "德鲁伊法力条高度",
["Druid Mana Bar Text"] = "德鲁伊法力条字体",
["Elastic Zoom"] = "弹性变焦",
["Elysium Based Core"] = "Elysium 基础核心",
["Enable"] = "启用",
@@ -253,7 +264,7 @@ pfUI_translation["zhCN"] = {
["Enable Class Colors On Enemies"] = "显示敌军职业颜色",
["Enable Class Colors On Friends"] = "显示友军职业颜色",
["Enable Class Colors On Friends Name"] = "显示友军姓名职业颜色",
["Enable Clickthrough"] = "启用点击",
["Enable Clickthrough"] = "启用鼠标穿透(无法通过点击血条来选择目标)",
["Enable Combat Glow"] = "启用战斗闪光",
["Enable Combat Glow Effects On Screen Edges"] = "全屏显示战斗报警",
["Enable Combo Point Display"] = "显示连击点",
@@ -263,12 +274,12 @@ pfUI_translation["zhCN"] = {
["Enable Custom Incoming Whispers Layout"] = "启用私聊样式",
["Enable Debuff Display"] = "启用Debuff显示",
["Enable Debuffs"] = "显示Debuff",
["Enable Durations On Blizzard Frames"] = "启用持续时间在暴雪框架上",
["Enable Durations On Foreign Frames"] = "启用持续时间在外来框架上",
["Enable Durations On Blizzard Frames"] = "在暴雪栏显示冷却倒计时",
["Enable Durations On Foreign Frames"] = "在技能栏显示冷却倒计时",
["Enable Energy Ticks"] = "显示能量刻度",
["Enable Extended Guild Information"] = "公会信息扩展显示",
["Enable Frame Shadow"] = "启用框架阴影",
["Enable Full-Text Search"] = nil,
["Enable Full-Text Search"] = "启用全文搜索",
["Enable Indicators"] = "启用指示器",
["Enable Item Quality Color For Equipment Only"] = "仅在装备上显示品质颜色",
["Enable \"Loot & Spam\" Chat Window"] = "启用[拾取、综合]聊天窗口",
@@ -287,7 +298,7 @@ pfUI_translation["zhCN"] = {
["Enable Pixel Perfect Borders"] = "启用像素完美边框",
["Enable Range Fading"] = "使用距离褪色效果",
["Enable Region Compatible Font"] = "由本插件决定字体",
["Enable Seconds"] = nil,
["Enable Seconds"] = "启用秒数显示",
["Enable Spellname"] = "显示技能名称",
["Enable Sticky Chat"] = "粘滞性聊天[保存上一次的频道]",
["Enable Text Shadow"] = "启用文字阴影",
@@ -307,7 +318,7 @@ pfUI_translation["zhCN"] = {
["Experience"] = "经验值",
["Experience Bar"] = "经验条",
["Experience Color"] = "经验颜色",
["Exploration Point"] = nil,
["Exploration Point"] = "探索点",
["Export"] = "导出",
["Face"] = "面向",
["Fade To Custom Color"] = "淡入自定义颜色",
@@ -315,7 +326,7 @@ pfUI_translation["zhCN"] = {
["Filter Mode"] = "过滤模式",
["Finish"] = "完成",
["Firstrun"] = "首次安装",
["Flash Powder"] = nil,
["Flash Powder"] = "闪光粉",
["Focus"] = "焦点",
["Focus Castbar"] = "焦点施法条",
["Focus Color"] = "焦点颜色",
@@ -324,7 +335,7 @@ pfUI_translation["zhCN"] = {
["Font Options"] = "字体设置",
["Font Padding"] = "字体偏移",
["Font Style"] = "字体风格",
["Force Blizzard Borders (|cffffaaaaExperimental|r)"] = "强制显示暴雪边框(|cffffaaaa试验中|r)",
["Force Blizzard Borders (|cffffaaaaExperimental|r)"] = "强制显示暴雪边框(|cffffaaaa测试功能|r)",
["fps"] = "帧",
["FPS & Ping"] = "帧数和延时",
["Frame Anchor"] = "框体定位",
@@ -333,10 +344,10 @@ pfUI_translation["zhCN"] = {
["Gameclient"] = "客户端版本",
["General"] = "默认",
["Generate Playerlinks"] = "生成玩家连接",
["GitHub"] = nil,
["GitHub"] = "GitHub",
["Global Border Size"] = "全局边框大小",
["Glow"] = "发光",
["Glow Color Around Target Nameplate"] = "目标姓名板发光颜色",
["Glow Color Around Target Nameplate"] = "目标姓名板光晕颜色",
["GM-Mode"] = "GM模式",
["Gold"] = "金钱",
["Graphic Renderer"] = "图形渲染器",
@@ -346,6 +357,8 @@ pfUI_translation["zhCN"] = {
["Group Options"] = "队伍选项",
["Group-Pet"] = "小队宠物",
["Group-Target"] = "小队目标",
["Gryphon"] = "狮鹫",
["Gryphons"] = "狮鹫(多个)",
["Guild Online"] = "公会在线",
["Happiness Icon Size"] = "高兴值图标大小",
["Heal Color"] = "治疗颜色",
@@ -366,18 +379,18 @@ pfUI_translation["zhCN"] = {
["Health - Min/Max"] = "当前/最大血量",
["Health - Missing"] = "失去的生命值",
["Health - Percentage"] = "生命值百分比",
["Health Point Estimation"] = "健康值预估",
["Health Point Estimation"] = "生命值预估",
["Health Text Format"] = "生命值文本格式",
["Health Text Position"] = "生命值文本位置",
["Hearth"] = nil,
["Hearthstone"] = nil,
["Hearth"] = "炉石",
["Hearthstone"] = "炉石",
["Height"] = "高度",
["Hide Addon Buttons On Combat"] = nil,
["Hide Addon Buttons On Combat"] = "战斗中隐藏插件按钮",
["Hide All UI Elements"] = "隐藏所有UI元素",
["Hide Channel Names"] = "隐藏频道名称",
["Hide Chat When Bags Are Opened"] = "打开背包后隐藏聊天框",
["Hide Combat Log"] = "隐藏战斗日志",
["Hide Foreign Cooldown Animations"] = "隐藏外部冷却动画",
["Hide Foreign Cooldown Animations"] = "隐藏技能冷却动画",
["Hide Group Frames While In Raid"] = "在团队框架下隐藏小队框架",
["Hide Healthbar On Critters"] = "隐藏小动物血条",
["Hide Healthbar On Enemy NPCs"] = "隐藏敌方NPCs血条",
@@ -394,9 +407,11 @@ pfUI_translation["zhCN"] = {
["Highlight Out Of Range Spells"] = "高亮超出范围的法术",
["Highlight Settings That Require Reload"] = "用[!]突出需要重新加载UI的设置",
["Highlight Unusable Items"] = "高亮无法使用的物品",
["Hold [Shift] to use item."] = "按住[Shift]键使用物品",
["Honorable Kill"] = "荣誉击杀",
["Honorable Kill!"] = "荣誉击杀!",
["Horizontal"] = "水平",
["Horizontal Offset"] = "水平偏移",
["Hoverbind"] = "悬停设置",
["Huge"] = "巨大",
["Huge (PixelPerfect)"] = "巨大(像素完美)",
@@ -431,7 +446,8 @@ pfUI_translation["zhCN"] = {
["Last Reputation"] = "上一个声望",
["Layout"] = "布局",
["Left"] = "左边",
["Left Actionbar"] = "左边动作条",
["Left Actionbar"] = "左侧动作条",
["Left Anchor"] = "左锚点",
["Left Chat Frame"] = "左侧聊天窗口",
["Left Chat Height"] = "左侧聊天窗口高度",
["Left Chat Width"] = "左侧聊天窗口宽度",
@@ -441,16 +457,19 @@ pfUI_translation["zhCN"] = {
["Left Panel: Left"] = "左侧面板:左侧",
["Left Panel: Right"] = "左侧面板:右侧",
["Left Text"] = "左侧文字",
["Left Text X Offset"] = nil,
["Left Text Y Offset"] = nil,
["Left Text X Offset"] = "左文本水平偏移量",
["Left Text Y Offset"] = "左文本垂直偏移量",
["Legacy"] = "传统",
["Level"] = "等级",
["Level Up"] = "升级",
["Lion"] = "狮子",
["Lists of added and deleted buttons are cleared"] = "已清除添加和删除的按钮列表",
["Load Defaults"] = "恢复默认设置",
["Load profile"] = "加载配置",
["Localtime"] = "本地时间",
["Lock Actionbars"] = "锁定动作栏",
["Login"] = "登录时金钱",
["Look & Feel"] = "外观和风格",
["Loot"] = "拾取",
["Loot & Spam"] = "拾取 & 聊天",
["Macro Text Color"] = "宏文本颜色",
@@ -468,21 +487,23 @@ pfUI_translation["zhCN"] = {
["Map Reveal Color"] = "未勘探地图颜色",
["Map Tooltip Scale"] = "地图鼠标提示比例大小",
["Max Amount Of Raid Frames"] = "团队框架最大人数",
["Maximum Number Of Chat Lines"] = nil,
["Maximum Number Of Chat Lines"] = "聊天行最大数量",
["Medium"] = "中",
["Memory Usage"] = "内存使用情况",
["Menu Font"] = "菜单字体",
["Menu Font Size"] = "菜单字体大小",
["Messages are no longer forwarded to:"] = "信息不再转发到:",
["Middle Mouse Button"] = "鼠标中键",
["Minimap"] = "小地图",
["Minimap Panel"] = "小地图面板",
["Minimap Size (|cffffaaaaExperimental|r)"] = nil,
["Minimap Size (|cffffaaaaExperimental|r)"] = "小地图大小(|cffffaaaa测试功能|r)",
["Minimap Tracking"] = "小地图追踪",
["Modules"] = "模块",
["Money"] = "金钱",
["Monochrome"] = "单色",
["Mouse Button 4"] = "鼠标键4",
["Mouse Button 5"] = "鼠标键5",
["Mouseover"] = nil,
["Mouseover"] = "鼠标悬停",
["Mousewheel Scroll Speed"] = "鼠标滚轮翻滚速度",
["ms"] = "毫秒",
["N/A"] = "无",
@@ -507,6 +528,7 @@ pfUI_translation["zhCN"] = {
["None"] = "无",
["Not a valid button!"] = "无效按钮!",
["No tracking spell active"] = "无追踪",
["Not Set"] = "未设置",
["Not Usable Color"] = "无法使用的法术或物品颜色",
["Now"] = "目前金钱",
["Number Of Buffs Per Row"] = "每行的Buff数量",
@@ -515,11 +537,14 @@ pfUI_translation["zhCN"] = {
["Number Of Weapon Buffs Per Row"] = "每行武器Buff的数量",
["Off"] = "关",
["Offline Transparency"] = "离线透明度",
["Off-Tank Names"] = nil,
["On Key Press"] = "按键时",
["Only"] = "只",
["Only Class Dispellable"] = "只显示本职业可驱散",
["Only Count Bagspace On Regular Bags"] = "只统计常规背包空间",
["Only Show Chat Dock On Mouseover"] = "只在鼠标悬停时显示聊天窗口停靠栏",
["Only Show On Mouse Over"] = "仅鼠标悬停时显示",
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = "只显示自己施加的Debuff(|cffffaaaa测试功能|r)",
["Only Show Target Castbar"] = "只显示目标施法条",
["On State Change"] = "状态改变时",
["Options"] = "设置",
@@ -530,9 +555,15 @@ pfUI_translation["zhCN"] = {
["Out Of Mana Color"] = "缺能量(蓝)无法施放法术的颜色",
["Out Of Range Color"] = "超出范围颜色",
["Out Of Range Transparency"] = "超出距离透明度",
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Border Color With Combat State"] = "根据战斗状态改变边框颜色",
["Overwrite Colors"] = "覆盖颜色",
["Overwrite Fonts"] = "覆盖字体",
["Overwrite Health Color With Combat State"] = "根据战斗状态改变生命值颜色",
["Overwrite If Unit Is Attacking No One"] = "如果单位没有攻击目标则变色",
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = "如果单位正在攻击其它单位则变色",
["Overwrite If Unit Is Attacking You"] = "如果单位正在攻击你则变色",
["Overwrite If Unit Is Casting"] = "如果单位正在施法则变色",
["Pageable"] = "可分页",
["Paging Actionbar"] = "分页动作条",
["Panel"] = "面板",
@@ -559,22 +590,25 @@ pfUI_translation["zhCN"] = {
["Power Bar Anchor"] = "能量条对齐方式(以血条为锚点)",
["Power Bar Height"] = "能量条高度",
["Power Bar Texture"] = "能量条纹理",
["Power Bar Width"] = "能量值宽度",
["Power Bar X-Offset"] = nil,
["Power Bar Y-Offset"] = nil,
["Power Bar Width"] = "能量条宽度",
["Power Bar X-Offset"] = "能量条水平偏移",
["Power Bar Y-Offset"] = "能量条垂直偏移",
["Profile"] = "配置文件",
["PvP Rank"] = "PVP等级",
["Quest Levels"] = "任务等级",
["Rage Color"] = "怒气值颜色",
["Raid"] = "团队",
["Raid Fill Direction"] = "团队填充方向",
["Raid Icon"] = "团队图标",
["Raid Icon Position"] = "团队图标位置",
["Raid Icon Size"] = "团队图标大小",
["Raid Icon X-Offset"] = "团队图标水平偏移",
["Raid Icon Y-Offset"] = "团队图标垂直偏移",
["Raid Icon"] = "团队标记",
["Raid Icon Position"] = "团队标记位置",
["Raid Icon Size"] = "团队标记大小",
["Raid Icon X-Offset"] = "团队标记水平偏移",
["Raid Icon Y-Offset"] = "团队标记垂直偏移",
["Raid Layout"] = "团队布局",
["Raid Mark Position"] = nil,
["Raid Mark Size"] = "团队标记大小",
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = "团队填充",
["Random"] = "给随机玩家",
["Random Roll Announcement Rarity"] = "随机Roll点稀有度",
@@ -583,6 +617,8 @@ pfUI_translation["zhCN"] = {
["Range Check Interval"] = "范围检查间隔",
["Rank"] = "军衔",
["Red Border On Enemy Units"] = "显示敌方单位红色边框",
["Red Name Text On Infight Units"] = "进战斗的单位显示红色姓名",
["Regional Settings"] = "区域设置",
["Remaining"] = "升级经验",
["Remove button from the frame"] = "从框架中删除按钮",
["Removed button"] = "删除按钮",
@@ -596,14 +632,15 @@ pfUI_translation["zhCN"] = {
["Reroll Ties"] = "重新Roll点结果",
["Reset"] = "重置",
["Reset all manually added or ignored buttons"] = "重置所有手动添加的或者忽略的按钮",
["Reset Timer"] = "重置定时器",
["Reset Timer"] = "重置计时器",
["Resolution"] = "分辨率",
["Rested"] = "精力充沛",
["Rested Color"] = "精力充沛颜色",
["Resting"] = "休息中",
["Reveal Unexplored Areas"] = "展示未勘探的地区",
["Right"] = "右边",
["Right Actionbar"] = "右边动作条",
["Right Actionbar"] = "右侧动作条",
["Right Anchor"] = "右锚点",
["Right Chat Frame"] = "右侧聊天窗口",
["Right Chat Height"] = "右侧聊天窗口高度",
["Right Chat Width"] = "右侧聊天窗口宽度",
@@ -614,11 +651,12 @@ pfUI_translation["zhCN"] = {
["Right Panel: Left"] = "右侧面板:左侧",
["Right Panel: Right"] = "右侧面板:右侧",
["Right Text"] = "右侧文字",
["Right Text X Offset"] = nil,
["Right Text Y Offset"] = nil,
["Right Text X Offset"] = "右文本水平偏移",
["Right Text Y Offset"] = "右文本垂直偏移",
["Roll for"] = "Roll点为",
["Save current settings to profile"] = "将当前设置保存到配置文件",
["Save profile"] = "保存配置",
["Save & Reload"] = "保存并重载",
["Scale"] = "比例",
["Scale Border On HiDPI Displays"] = "缩放高DPI显示器上的边框",
["Scaling"] = "UI缩放",
@@ -647,6 +685,7 @@ pfUI_translation["zhCN"] = {
["Share"] = "分享配置",
["Shift-Click"] = "SHIFT点击",
["Shift-Click Action"] = "SHIFT点击操作",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = "登录时显示插件按钮",
["Show Animation On Hidden Bars"] = "在隐藏动作条上显示动画",
["Show Background"] = "显示背景",
@@ -656,10 +695,11 @@ pfUI_translation["zhCN"] = {
["Show Debuff Stacks"] = "显示Debuff堆栈",
["Show Description"] = "显示描述",
["Show Dispel Indicators"] = "显示驱散指示器",
["Show Druid Mana Bar"] = "显示德鲁伊法力条",
["Show Duration Inside Buff"] = "显示持续时间在Buff里面",
["Show Empty Buttons"] = "显示空按钮",
["Show FPS and Latency Colors"] = "显示帧数以及延迟颜色",
["Show Guild Name"] = nil,
["Show Guild Name"] = "显示公会名称",
["Show Happiness Icon"] = "显示高兴值图标",
["Show Health Points"] = "显示生命值",
["Show/Hide TimeManager"] = "显示/隐藏时间管理器",
@@ -678,9 +718,9 @@ pfUI_translation["zhCN"] = {
["Show Loot Icon"] = "显示拾取权图标",
["Show Macro Text"] = "显示宏的名字",
["Show Meters By Default"] = "由默认显示其他接口表",
["Show Milliseconds When Timer Runs Out"] = "当计时器即将用完时显示毫秒",
["Show On Friendly Units"] = "显示友好单位姓名版",
["Show On Hostile Units"] = "显示敌对单位姓名版",
["Show Milliseconds When Timer Runs Out"] = "当冷却即将结束时显示毫秒",
["Show On Friendly Units"] = "显示友好单位姓名板",
["Show On Hostile Units"] = "显示敌对单位姓名板",
["Show Procs Indicators"] = "显示触发效果计时器",
["Show Procs of all Classes"] = "显示所有职业的触发效果",
["Show PvP-Flag"] = "显示PvP指示器",
@@ -695,12 +735,14 @@ pfUI_translation["zhCN"] = {
["Show Spell Icon"] = "显示技能图标",
["Show Spell Name"] = "显示技能名称",
["Show Stacks"] = "显示堆叠",
["Show Text"] = "显示文本",
["Show Time Left"] = "显示剩余时间",
["Show Timer"] = "显示计时器",
["Show Timer Animation"] = "显示计时器动画",
["Show Timer Text"] = "显示计时器文本",
["Show Totems Indicators"] = "显示图腾指示器",
["Shrink & Return"] = "收缩 & 返回",
["Size"] = "尺寸",
["Skin"] = "皮肤",
["Skins"] = "皮肤",
["Slow"] = "慢速",
@@ -708,6 +750,7 @@ pfUI_translation["zhCN"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = "某些设置需要重新加载UI才能生效。\n是否立即重新加载?",
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "有些设置需要重新加载UI生效。\n您要重新载入UI吗?",
["Sort Order"] = "整理顺序",
["Soul Shard"] = "灵魂碎片",
["Soulshard Counter"] = "灵魂碎片",
["Soulshards"] = "灵魂碎片",
["Spacing"] = "间距",
@@ -722,10 +765,11 @@ pfUI_translation["zhCN"] = {
["Standard Text Font Size"] = "标准字体字号",
["Status"] = "当前状态",
["Status Bar Texture"] = "状态条纹理材质",
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["SuperWoW Settings"] = "SuperWoW设置",
["Switch Pages On Alt Key Press"] = "按下Alt键切换页面",
["Switch Pages On Ctrl Key Press"] = "按下Ctrl键切换页面",
["Switch Pages On Druid Stealth"] = "德鲁伊潜行切换分页",
["Switch Pages On Shift Key Press"] = nil,
["Switch Pages On Shift Key Press"] = "按下Shift键切换页面",
["Systeminfo"] = "系统信息",
["Target"] = "目标",
["Target Castbar"] = "目标施法条",
@@ -733,14 +777,16 @@ pfUI_translation["zhCN"] = {
["Target Nameplate Zoom Factor"] = "目标姓名板缩放系数",
["Target-Target"] = "目标的目标",
["Target-Target-Target"] = "目标的目标的目标",
["Text"] = "文本",
["Text Color"] = "文体颜色",
["Text Colors"] = "文本颜色",
["Texture"] = "纹理",
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = "此插件\"|cff33ffcc%s|r\"与pfUI共存,已被禁用。",
["The addon selection has changed."] = "插件加载项选择已更改",
["Thick Outline"] = "粗轮廓",
["Thirdparty"] = "第三方插件接口",
["This Session"] = "本次登录收益",
["Thistle Tea"] = nil,
["Thistle Tea"] = "菊花茶",
["Threshold To Trust Health Estimation"] = "信任生命值预估的阈值",
["Time"] = "时间",
["Timer"] = "计时器",
@@ -776,6 +822,11 @@ pfUI_translation["zhCN"] = {
["Unit Frame Text Font"] = "头像框架字体",
["Unit Frame Text Size"] = "头像框架字体字号",
["Unit Frame Text Style"] = "头像框架字体样式",
["Unit Is Attacking No One Color"] = "单位没有攻击目标的颜色",
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = "单位正在攻击其它单位的颜色",
["Unit Is Attacking You Color"] = "单位正在攻击你的颜色",
["Unit Is Casting Color"] = "单位正在施法的颜色",
["Unit String"] = "等级和名字",
["Unit String (Reverse)"] = "等级和名字 (反向)",
["Unknown"] = "未知",
@@ -783,6 +834,7 @@ pfUI_translation["zhCN"] = {
["Unlock"] = "解锁排版",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = "解锁模式允许您移动、缩放和重置框架:\n\n|cff33ffcc[左键点击]|r 拖动框体\n|cff33ffcc[中键点击]|r 重置框架\n|cff33ffcc[右键点击]|r 选项框\n\n按住 |cff33ffcc[Shift]|r 选择相同类型的所有框体\n按住 |cff33ffcc[Ctrl]|r 选择同一组的所有框体\n\n|cff33ffcc[鼠标滚轮]|r 改变框体大小\n\n|cff33ffcc[点击]|r 空白区域或按 |cff33ffcc[Esc]|r 退出排版编辑\n",
["Unusable Item Color"] = "无法使用的物品的颜色",
["Use Blizzard Borders"] = "血条使用暴雪风格边框",
["Use Chat Colors for Meters"] = "使用聊天框着色(其他插件的接口,如DPSMate,KTM等)",
["Use Custom Color Health Bar Background"] = "使用自定义颜色显示生命值背景",
["Use Custom Color On Full Health"] = "在生命值满时使用自定义颜色",
@@ -797,14 +849,16 @@ pfUI_translation["zhCN"] = {
["Version"] = "版本",
["Vertical"] = "垂直",
["Vertical Actionbar"] = "右侧竖直动作条",
["Vertical Healthbar"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Healthbar"] = "竖直血条",
["Vertical Offset"] = "垂直偏移",
["Vertical Offset (|cffffaaaaExperimental|r)"] = "垂直偏移(|cffffaaaa测试功能|r)",
["Vertical Text Offset"] = "垂直文字偏移",
["Very Fast"] = "非常快",
["Very Slow"] = "非常慢",
["Website"] = "网站",
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "欢迎使用 |cff33ffccpf|cffffffffUI|r! \n\n这是第一次运行向导,将引导您完成一些基本配置。 如果你想跳过所有步骤\"使用默认\"按钮。 如果您再次运行此对话框,请转到设置并点击 \"Reset Firstrun\" 按钮。\n\n访问 |cff33ffcchttp://shagu.org|r 检查最新版本。",
["Whitelist"] = "白名单",
["Who Search Unknown Classes"] = "自动查询玩家职业",
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = "宽度",
["Wobble Zoom"] = "摆动变焦",
["Won"] = "获胜",
@@ -814,14 +868,14 @@ pfUI_translation["zhCN"] = {
["XP Percentage"] = "经验百分比",
["Yellow Border On Neutral Units"] = "显示中立单位黄色边框",
["Yes"] = "是",
["You gain (.+) Mana from Totemic Recall"] = nil,
["You gain (.+) Mana from Totemic Recall"] = "你从图腾召回获得了(.+)点法力值",
["You got"] = "你已得到",
["Your interface is now set up.\n\nFor advanced configuration, just open the |cff33ffccpf|rUI settings via the escape menu or type \"|cffffffaa/pfui|r\" into the chat.\n\n Have a nice trip!\n\n|cffaaaaaa- Shagu"] = "你的界面现在已经完成设置.高级设置请点击游戏菜单或者输入命令/pfui进行设置.祝您游戏愉快",
["Your items have been repaired for"] = "你的物品已经修好了",
["Your vendor trash has been sold and you earned"] = "你的垃圾已经售出,你赚了",
["Zone Name"] = "区域名称",
["Zone Text On Minimap"] = "小地图上的区域名称",
["Zonetime"] = nil,
["Zonetime"] = "区域时间",
["Zoom & Fade"] = "变焦 & 渐隐",
["Zoom Target Nameplate"] = "放大目标姓名板",
}
+57 -3
View File
@@ -62,12 +62,14 @@ pfUI_translation["zhTW"] = {
["Bar Texture"] = nil,
["Battleground Statistics"] = nil,
["Blacklist"] = "黑名單",
["Blinding Powder"] = nil,
["Blue Border On Friendly Players"] = nil,
["BoE"] = nil,
["BoP"] = nil,
["Border Around Target Unit"] = nil,
["Border Color"] = "邊框顏色",
["Border Color Around Target Unit"] = nil,
["Border Size"] = nil,
["Bottom"] = "底部",
["Bottom Left"] = "左下方",
["Bottom Right"] = "右下方",
@@ -122,6 +124,7 @@ pfUI_translation["zhTW"] = {
["Click Casting"] = nil,
["Clock"] = "時間",
["Close"] = "關閉",
["Color"] = nil,
["Color Buff Stacks"] = nil,
["Color Debuff Stacks"] = nil,
["Colorize player name on WorldMap and BattlefieldMinimap"] = nil,
@@ -133,9 +136,11 @@ pfUI_translation["zhTW"] = {
["Combat Text Font"] = "戰鬥訊息字體",
["Combat Text Size"] = "戰鬥訊息文體大小",
["Combat Timer"] = "戰鬥計時器",
["Combopoint Size"] = "連擊點大小",
["Combopoint Height"] = nil,
["Combopoint Width"] = nil,
["Compare Item Base Stats"] = "基於屬性的裝備對比",
["Components"] = "組件",
["Config UI Settings"] = nil,
["Configuration"] = "配置",
["Configure"] = "設置",
["Cooldown"] = "冷卻時間",
@@ -144,10 +149,13 @@ pfUI_translation["zhTW"] = {
["Cooldown Color (Less than 3 Sec)"] = "技能冷卻時間顏色[少於3秒]",
["Cooldown Color (Minutes)"] = "技能冷卻時間顏色[分]",
["Cooldown Color (Seconds)"] = "技能冷卻時間顏色[秒]",
["Cooldown / Durations"] = nil,
["Cooldown Text Font"] = nil,
["Cooldown Text Font Size"] = "技能冷卻時間文字大小",
["Cooldown Text Font Size (Blizzard Frames)"] = nil,
["Cooldown Text Font Size (Foreign Frames)"] = nil,
["Cooldown Text Size"] = nil,
["Cooldown Text Threshold"] = nil,
["Cooldown Text Time Threshold"] = "技能冷卻時間文字臨界值",
["Coordinates Location"] = "座標位置",
["Coordinates On Minimap"] = "小地圖上的座標",
@@ -218,12 +226,15 @@ pfUI_translation["zhTW"] = {
["Dodge"] = "聊天框頂部",
["Donate"] = nil,
["Don't overlap rested"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?"] = nil,
["Do you really want to reset |cffffaaaaEVERYTHING|r?\n\nThis will reset:\n - Current Configuration\n - Current Frame Positions\n - Firstrun Wizard\n - Addon Cache\n - Saved Profiles"] = "|cffffaaaa全部|r你是否要還原 |cffffaaaa所有|r配置?\n\n這將還原:\n 當前配置\n 介面位置\n 首次安裝嚮導\n 外掛程式緩存\n 保存的配置",
["Do you really want to reset the Cache?"] = "你是否要重置緩存?",
["Do you really want to reset your configuration?\nThis also includes frame positions"] = "你是否要還原設置?\n這將包括框架位置。",
["Do you want to disable the addon?"] = nil,
["Do you want to reload the UI now?"] = nil,
["Draw Glow Around Target Nameplate"] = nil,
["Druid Mana Bar Height"] = nil,
["Druid Mana Bar Text"] = nil,
["Elastic Zoom"] = nil,
["Elysium Based Core"] = "Elysium Based Core",
["Enable"] = nil,
@@ -346,6 +357,8 @@ pfUI_translation["zhTW"] = {
["Group Options"] = nil,
["Group-Pet"] = "小隊寵物",
["Group-Target"] = "小隊目標",
["Gryphon"] = nil,
["Gryphons"] = nil,
["Guild Online"] = "公會線上",
["Happiness Icon Size"] = nil,
["Heal Color"] = nil,
@@ -394,9 +407,11 @@ pfUI_translation["zhTW"] = {
["Highlight Out Of Range Spells"] = nil,
["Highlight Settings That Require Reload"] = "用[!]突出需要重新加載UI的設置",
["Highlight Unusable Items"] = "高光不可使用道具",
["Hold [Shift] to use item."] = nil,
["Honorable Kill"] = nil,
["Honorable Kill!"] = nil,
["Horizontal"] = nil,
["Horizontal Offset"] = nil,
["Hoverbind"] = "懸停設置",
["Huge"] = nil,
["Huge (PixelPerfect)"] = "巨大(像素完美)",
@@ -432,6 +447,7 @@ pfUI_translation["zhTW"] = {
["Layout"] = "佈局",
["Left"] = "左邊",
["Left Actionbar"] = nil,
["Left Anchor"] = nil,
["Left Chat Frame"] = nil,
["Left Chat Height"] = "左側聊天窗口高度",
["Left Chat Width"] = "左側聊天窗口寬度",
@@ -446,11 +462,14 @@ pfUI_translation["zhTW"] = {
["Legacy"] = "傳統配置",
["Level"] = "等級",
["Level Up"] = nil,
["Lion"] = nil,
["Lists of added and deleted buttons are cleared"] = nil,
["Load Defaults"] = nil,
["Load profile"] = "載入配置",
["Localtime"] = "本地時間",
["Lock Actionbars"] = nil,
["Login"] = "登錄時金錢",
["Look & Feel"] = nil,
["Loot"] = "拾取",
["Loot & Spam"] = "拾取 & 聊天",
["Macro Text Color"] = nil,
@@ -471,6 +490,8 @@ pfUI_translation["zhTW"] = {
["Maximum Number Of Chat Lines"] = nil,
["Medium"] = "中等速度",
["Memory Usage"] = "記憶體使用情況",
["Menu Font"] = nil,
["Menu Font Size"] = nil,
["Messages are no longer forwarded to:"] = nil,
["Middle Mouse Button"] = nil,
["Minimap"] = "小地圖",
@@ -507,6 +528,7 @@ pfUI_translation["zhTW"] = {
["None"] = "無",
["Not a valid button!"] = nil,
["No tracking spell active"] = "無追蹤",
["Not Set"] = nil,
["Not Usable Color"] = nil,
["Now"] = "目前金錢",
["Number Of Buffs Per Row"] = "每行的Buff數量",
@@ -515,11 +537,14 @@ pfUI_translation["zhTW"] = {
["Number Of Weapon Buffs Per Row"] = "每行武器Buff的數量",
["Off"] = "關",
["Offline Transparency"] = nil,
["Off-Tank Names"] = nil,
["On Key Press"] = nil,
["Only"] = nil,
["Only Class Dispellable"] = nil,
["Only Count Bagspace On Regular Bags"] = "只統計常規背包空間",
["Only Show Chat Dock On Mouseover"] = "只在滑鼠懸停時顯示聊天視窗停靠欄",
["Only Show On Mouse Over"] = nil,
["Only Show Own Debuffs (|cffffaaaaExperimental|r)"] = nil,
["Only Show Target Castbar"] = nil,
["On State Change"] = nil,
["Options"] = nil,
@@ -530,9 +555,15 @@ pfUI_translation["zhTW"] = {
["Out Of Mana Color"] = nil,
["Out Of Range Color"] = nil,
["Out Of Range Transparency"] = nil,
["Overwrite Border Color With Combat State"] = nil,
["Overwrite Border Color With Combat State"] = "根據戰鬥狀態覆蓋邊框顏色",
["Overwrite Colors"] = nil,
["Overwrite Fonts"] = nil,
["Overwrite Health Color With Combat State"] = "根據戰鬥狀態覆蓋生命值顏色",
["Overwrite If Unit Is Attacking No One"] = "如果单位沒有攻擊目標則覆蓋",
["Overwrite If Unit Is Attacking Off-Tank"] = nil,
["Overwrite If Unit Is Attacking Others"] = "如果单位正在攻擊其它单位則覆蓋",
["Overwrite If Unit Is Attacking You"] = "如果单位正在攻擊你則覆蓋",
["Overwrite If Unit Is Casting"] = "如果单位正在施法則覆蓋",
["Pageable"] = nil,
["Paging Actionbar"] = nil,
["Panel"] = "面板",
@@ -574,7 +605,10 @@ pfUI_translation["zhTW"] = {
["Raid Icon X-Offset"] = nil,
["Raid Icon Y-Offset"] = nil,
["Raid Layout"] = nil,
["Raid Mark Position"] = nil,
["Raid Mark Size"] = nil,
["Raid Mark X-Offset"] = nil,
["Raid Mark Y-Offset"] = nil,
["Raid Padding"] = nil,
["Random"] = "給隨機玩家",
["Random Roll Announcement Rarity"] = "隨機Roll點公示稀有度",
@@ -583,6 +617,8 @@ pfUI_translation["zhTW"] = {
["Range Check Interval"] = "範圍檢查間隔",
["Rank"] = nil,
["Red Border On Enemy Units"] = nil,
["Red Name Text On Infight Units"] = nil,
["Regional Settings"] = nil,
["Remaining"] = "升級經驗",
["Remove button from the frame"] = nil,
["Removed button"] = nil,
@@ -604,6 +640,7 @@ pfUI_translation["zhTW"] = {
["Reveal Unexplored Areas"] = "展示未勘探的地區",
["Right"] = "右邊",
["Right Actionbar"] = nil,
["Right Anchor"] = nil,
["Right Chat Frame"] = nil,
["Right Chat Height"] = "右側聊天窗口高度",
["Right Chat Width"] = "右側聊天窗口寬度",
@@ -619,6 +656,7 @@ pfUI_translation["zhTW"] = {
["Roll for"] = "Roll點為",
["Save current settings to profile"] = "將當前設置保存到設定檔",
["Save profile"] = "保存配置",
["Save & Reload"] = nil,
["Scale"] = "比例",
["Scale Border On HiDPI Displays"] = nil,
["Scaling"] = nil,
@@ -647,6 +685,7 @@ pfUI_translation["zhTW"] = {
["Share"] = nil,
["Shift-Click"] = "Shift點擊",
["Shift-Click Action"] = "SHIFT點擊操作",
["Shift-Click to reset all money totals"] = nil,
["Show Addon Buttons On Login"] = nil,
["Show Animation On Hidden Bars"] = nil,
["Show Background"] = nil,
@@ -656,6 +695,7 @@ pfUI_translation["zhTW"] = {
["Show Debuff Stacks"] = nil,
["Show Description"] = nil,
["Show Dispel Indicators"] = nil,
["Show Druid Mana Bar"] = nil,
["Show Duration Inside Buff"] = "顯示持續時間在Buff裏面",
["Show Empty Buttons"] = nil,
["Show FPS and Latency Colors"] = nil,
@@ -695,12 +735,14 @@ pfUI_translation["zhTW"] = {
["Show Spell Icon"] = nil,
["Show Spell Name"] = nil,
["Show Stacks"] = nil,
["Show Text"] = nil,
["Show Time Left"] = nil,
["Show Timer"] = nil,
["Show Timer Animation"] = nil,
["Show Timer Text"] = nil,
["Show Totems Indicators"] = nil,
["Shrink & Return"] = nil,
["Size"] = nil,
["Skin"] = "皮膚",
["Skins"] = "皮膚",
["Slow"] = "慢速",
@@ -708,6 +750,7 @@ pfUI_translation["zhTW"] = {
["Some settings need to reload the UI to take effect.\nDo you want to reload now?"] = nil,
["Some settings need to reload the UI to take effect.\nDo you want to reloadUI now?"] = "有些設置需要重新載入UI生效。\n您要重新載入UI嗎?",
["Sort Order"] = "整理循序",
["Soul Shard"] = nil,
["Soulshard Counter"] = "靈魂碎片",
["Soulshards"] = "靈魂碎片",
["Spacing"] = nil,
@@ -722,6 +765,7 @@ pfUI_translation["zhTW"] = {
["Standard Text Font Size"] = "標準字體字型大小",
["Status"] = "當前狀態",
["Status Bar Texture"] = "狀態條紋理材質",
["SuperWoW Settings"] = nil,
["Switch Pages On Alt Key Press"] = nil,
["Switch Pages On Ctrl Key Press"] = nil,
["Switch Pages On Druid Stealth"] = nil,
@@ -733,8 +777,10 @@ pfUI_translation["zhTW"] = {
["Target Nameplate Zoom Factor"] = nil,
["Target-Target"] = "目標的目標",
["Target-Target-Target"] = nil,
["Text"] = nil,
["Text Color"] = "文體顏色",
["Text Colors"] = "文本顏色",
["Texture"] = nil,
["The addon \"|cff33ffcc%s|r\" doesn't work with pfUI and has been disabled."] = nil,
["The addon selection has changed."] = nil,
["Thick Outline"] = nil,
@@ -776,6 +822,11 @@ pfUI_translation["zhTW"] = {
["Unit Frame Text Font"] = "頭像框架字體",
["Unit Frame Text Size"] = "頭像框架字體字型大小",
["Unit Frame Text Style"] = nil,
["Unit Is Attacking No One Color"] = "单位沒有攻擊目標的顏色",
["Unit Is Attacking Off-Tank Color"] = nil,
["Unit Is Attacking Others Color"] = "单位正在攻擊其它单位的顏色",
["Unit Is Attacking You Color"] = "单位正在攻擊你的顏色",
["Unit Is Casting Color"] = "单位正在施法的顏色",
["Unit String"] = "等級和名字",
["Unit String (Reverse)"] = nil,
["Unknown"] = nil,
@@ -783,6 +834,7 @@ pfUI_translation["zhTW"] = {
["Unlock"] = "解鎖排版",
["Unlock Mode allows you to move, scale and reset frames:\n\n|cff33ffcc[Left Click]|r Drag Frame\n|cff33ffcc[Middle Click]|r Reset Frame\n|cff33ffcc[Right Click]|r Option Box\n\nHold |cff33ffcc[Shift]|r to select all frames of the same kind\nHold |cff33ffcc[Ctrl]|r to select all frames of the same group\n\n|cff33ffcc[Scroll]|r to change the scale of a frame\n\n|cff33ffcc[Click]|r on an empty area or press |cff33ffcc[Esc]|r to exit\n"] = nil,
["Unusable Item Color"] = "不可使用道具色彩",
["Use Blizzard Borders"] = nil,
["Use Chat Colors for Meters"] = "使用聊天框著色(其他插件的介面,如DPSMate,KTM等)",
["Use Custom Color Health Bar Background"] = nil,
["Use Custom Color On Full Health"] = nil,
@@ -798,13 +850,15 @@ pfUI_translation["zhTW"] = {
["Vertical"] = nil,
["Vertical Actionbar"] = nil,
["Vertical Healthbar"] = nil,
["Vertical Offset"] = nil,
["Vertical Offset (|cffffaaaaExperimental|r)"] = nil,
["Vertical Text Offset"] = nil,
["Very Fast"] = "非常快",
["Very Slow"] = "非常慢",
["Website"] = nil,
["Welcome to |cff33ffccpf|cffffffffUI|r!\n\nI'm the first run wizard that will guide you through some basic configuration. If you're lazy, feel free to hit the \"Defaults\" button. If you wish to run this dialog again, go to the settings and hit the \"Reset Firstrun\" button.\n\nVisit |cff33ffcchttp://shagu.org|r to check for the latest version."] = "歡迎使用 |cff33ffccpf|cffffffffUI|r! \n\n這是第一次運行嚮導,將引導您完成一些基本配置。 如果你想跳過所有步驟\"使用預設\"按鈕。 如果您再次運行此對話方塊,請轉到設置並點擊 \"Reset Firstrun\" 按鈕。\n\n訪問 |cff33ffcchttp://shagu.org|r 檢查最新版本。",
["Whitelist"] = "白名單",
["Who Search Unknown Classes"] = nil,
["Who Search Unknown Classes (|cffffaaaaExperimental|r)"] = nil,
["Width"] = nil,
["Wobble Zoom"] = nil,
["Won"] = nil,
Binary file not shown.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 518 B

+1
View File
@@ -4,6 +4,7 @@
<Include file="..\modules\hoverbind.lua"/>
<Include file="..\modules\updatenotify.lua"/>
<Include file="..\modules\actionbar.lua"/>
<Include file="..\modules\gryphons.lua"/>
<Include file="..\modules\hunterbar.lua"/>
<Include file="..\modules\chat.lua"/>
<Include file="..\modules\whisperproxy.lua"/>
+4 -4
View File
@@ -395,17 +395,17 @@ hooksecurefunc("CastSpell", function(id, bookType)
local cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime, _, _, cachedSpellId, cachedBookType = libspell.GetSpellInfo(id, bookType)
CastCustom(cachedSpellId, cachedBookType, cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime)
end, true)
end)
hooksecurefunc("CastSpellByName", function(spellCasted, target)
local cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime, _, _, cachedSpellId, cachedBookType = libspell.GetSpellInfo(spellCasted)
CastCustom(cachedSpellId, cachedBookType, cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime)
end, true)
end)
hooksecurefunc("UseAction", function(slot, target, button)
if GetActionText(slot) or not IsCurrentAction(slot) then return end
scanner:SetAction(slot)
local rawSpellName, rank = scanner:Line(1)
if not rawSpellName then return end -- ignore if the spell is not found
@@ -413,7 +413,7 @@ hooksecurefunc("UseAction", function(slot, target, button)
local cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime, _, _, cachedSpellId, cachedBookType = libspell.GetSpellInfo(rawSpellName .. (rank and ("(" .. rank .. ")") or ""))
CastCustom(cachedSpellId, cachedBookType, cachedRawSpellName, cachedRank, cachedTexture, cachedCastingTime)
end, true)
end)
-- add libcast to pfUI API
pfUI.api.libcast = libcast
+55 -29
View File
@@ -83,14 +83,18 @@ function libdebuff:UpdateUnits()
pfUI.uf:RefreshUnit(pfUI.uf.target, "aura")
end
function libdebuff:AddPending(unit, unitlevel, effect, duration)
function libdebuff:AddPending(unit, unitlevel, effect, duration, caster)
if not unit or duration <= 0 then return end
if not L["debuffs"][effect] or libdebuff.pending[3] == effect then return end
if not L["debuffs"][effect] then return end
if libdebuff.pending[3] then return end
libdebuff.pending[1] = unit
libdebuff.pending[2] = unitlevel or 0
libdebuff.pending[3] = effect
libdebuff.pending[4] = duration -- or libdebuff:GetDuration(effect)
libdebuff.pending[5] = caster
QueueFunction(libdebuff.PersistPending)
end
function libdebuff:RemovePending()
@@ -98,14 +102,17 @@ function libdebuff:RemovePending()
libdebuff.pending[2] = nil
libdebuff.pending[3] = nil
libdebuff.pending[4] = nil
libdebuff.pending[5] = nil
end
function libdebuff:PersistPending(effect)
if not libdebuff.pending[3] then return end
if libdebuff.pending[3] == effect or ( effect == nil and libdebuff.pending[3] ) then
libdebuff:AddEffect(libdebuff.pending[1], libdebuff.pending[2], libdebuff.pending[3], libdebuff.pending[4])
libdebuff:RemovePending()
libdebuff:AddEffect(libdebuff.pending[1], libdebuff.pending[2], libdebuff.pending[3], libdebuff.pending[4], libdebuff.pending[5])
end
libdebuff:RemovePending()
end
function libdebuff:RevertLastAction()
@@ -114,7 +121,7 @@ function libdebuff:RevertLastAction()
libdebuff:UpdateUnits()
end
function libdebuff:AddEffect(unit, unitlevel, effect, duration)
function libdebuff:AddEffect(unit, unitlevel, effect, duration, caster)
if not unit or not effect then return end
unitlevel = unitlevel or 0
if not libdebuff.objects[unit] then libdebuff.objects[unit] = {} end
@@ -128,6 +135,7 @@ function libdebuff:AddEffect(unit, unitlevel, effect, duration)
libdebuff.objects[unit][unitlevel][effect].start_old = libdebuff.objects[unit][unitlevel][effect].start
libdebuff.objects[unit][unitlevel][effect].start = GetTime()
libdebuff.objects[unit][unitlevel][effect].duration = duration or libdebuff:GetDuration(effect)
libdebuff.objects[unit][unitlevel][effect].caster = caster
libdebuff:UpdateUnits()
end
@@ -150,7 +158,7 @@ end
libdebuff.rp = { SPELLIMMUNESELFOTHER, IMMUNEDAMAGECLASSSELFOTHER,
SPELLMISSSELFOTHER, SPELLRESISTSELFOTHER, SPELLEVADEDSELFOTHER,
SPELLDODGEDSELFOTHER, SPELLDEFLECTEDSELFOTHER, SPELLREFLECTSELFOTHER,
SPELLPARRIEDSELFOTHER, SPELLLOGABSORBSELFOTHER }
SPELLPARRIEDSELFOTHER, SPELLLOGABSORBSELFOTHER, SPELLFAILCASTSELF }
libdebuff.objects = {}
libdebuff.pending = {}
@@ -219,7 +227,7 @@ libdebuff:SetScript("OnEvent", function()
end
end
elseif event == "SPELLCAST_STOP" then
QueueFunction(libdebuff.PersistPending)
libdebuff:PersistPending()
end
end)
@@ -227,22 +235,22 @@ end)
hooksecurefunc("CastSpell", function(id, bookType)
local rawEffect, rank = libspell.GetSpellInfo(id, bookType)
local duration = libdebuff:GetDuration(rawEffect, rank)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration)
end, true)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration, "player")
end)
hooksecurefunc("CastSpellByName", function(effect, target)
local rawEffect, rank = libspell.GetSpellInfo(effect)
local duration = libdebuff:GetDuration(rawEffect, rank)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration)
end, true)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration, "player")
end)
hooksecurefunc("UseAction", function(slot, target, button)
if GetActionText(slot) or not IsCurrentAction(slot) then return end
scanner:SetAction(slot)
local rawEffect, rank = scanner:Line(1)
local duration = libdebuff:GetDuration(rawEffect, rank)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration)
end, true)
libdebuff:AddPending(UnitName("target"), UnitLevel("target"), rawEffect, duration, "player")
end)
function libdebuff:UnitDebuff(unit, id)
local unitname = UnitName(unit)
@@ -250,6 +258,7 @@ function libdebuff:UnitDebuff(unit, id)
local texture, stacks, dtype = UnitDebuff(unit, id)
local duration, timeleft = nil, -1
local rank = nil -- no backport
local caster = nil -- experimental
local effect
if texture then
@@ -257,27 +266,44 @@ function libdebuff:UnitDebuff(unit, id)
effect = scanner:Line(1) or ""
end
if libdebuff.objects[unitname] and libdebuff.objects[unitname][unitlevel] and libdebuff.objects[unitname][unitlevel][effect] then
-- clean up cache
if libdebuff.objects[unitname][unitlevel][effect].duration and libdebuff.objects[unitname][unitlevel][effect].duration + libdebuff.objects[unitname][unitlevel][effect].start < GetTime() then
libdebuff.objects[unitname][unitlevel][effect] = nil
else
duration = libdebuff.objects[unitname][unitlevel][effect].duration
timeleft = duration + libdebuff.objects[unitname][unitlevel][effect].start - GetTime()
end
-- read level based debuff table
local data = libdebuff.objects[unitname] and libdebuff.objects[unitname][unitlevel]
data = data or libdebuff.objects[unitname] and libdebuff.objects[unitname][0]
-- no level data
elseif libdebuff.objects[unitname] and libdebuff.objects[unitname][0] and libdebuff.objects[unitname][0][effect] then
-- clean up cache
if libdebuff.objects[unitname][0][effect].duration and libdebuff.objects[unitname][0][effect].duration + libdebuff.objects[unitname][0][effect].start < GetTime() then
libdebuff.objects[unitname][0][effect] = nil
if data and data[effect] then
if data[effect].duration and data[effect].start and data[effect].duration + data[effect].start > GetTime() then
-- read valid debuff data
duration = data[effect].duration
timeleft = duration + data[effect].start - GetTime()
caster = data[effect].caster
else
duration = libdebuff.objects[unitname][0][effect].duration
timeleft = duration + libdebuff.objects[unitname][0][effect].start - GetTime()
-- clean up invalid values
data[effect] = nil
end
end
return effect, rank, texture, stacks, dtype, duration, timeleft
return effect, rank, texture, stacks, dtype, duration, timeleft, caster
end
local cache = {}
function libdebuff:UnitOwnDebuff(unit, id)
-- clean cache
for k, v in pairs(cache) do cache[k] = nil end
-- detect own debuffs
local count = 1
for i=1,16 do
local effect, rank, texture, stacks, dtype, duration, timeleft, caster = libdebuff:UnitDebuff(unit, i)
if effect and not cache[effect] and caster and caster == "player" then
cache[effect] = true
if count == id then
return effect, rank, texture, stacks, dtype, duration, timeleft, caster
else
count = count + 1
end
end
end
end
-- add libdebuff to pfUI API
+83 -21
View File
@@ -35,6 +35,51 @@ do -- Prayer of Healing
PRAYER_OF_HEALING = locales[GetLocale()] or locales["enUS"]
end
local REJUVENATION
do -- Rejuvenation
local locales = {
["deDE"] = "Verjüngung",
["enUS"] = "Rejuvenation",
["esES"] = "Rejuvenecimiento",
["frFR"] = "Récupération",
["koKR"] = "회복",
["ruRU"] = "Омоложение",
["zhCN"] = "回春术",
}
REJUVENATION = locales[GetLocale()] or locales["enUS"]
end
local RENEW
do -- Renew
local locales = {
["deDE"] = "Erneuerung",
["enUS"] = "Renew",
["esES"] = "Renovar",
["frFR"] = "Rénovation",
["koKR"] = "소생",
["ruRU"] = "Обновление",
["zhCN"] = "恢复",
}
RENEW = locales[GetLocale()] or locales["enUS"]
end
local REGROWTH
do -- Regrowth
local locales = {
["deDE"] = "Nachwachsen",
["enUS"] = "Regrowth",
["esES"] = "Recrecimiento",
["frFR"] = "Rétablissement",
["koKR"] = "재생",
["ruRU"] = "Восстановление",
["zhCN"] = "愈合",
}
REGROWTH = locales[GetLocale()] or locales["enUS"]
end
local libpredict = CreateFrame("Frame")
libpredict:RegisterEvent("UNIT_HEALTH")
libpredict:RegisterEvent("CHAT_MSG_ADDON")
@@ -271,7 +316,7 @@ local realm = GetRealmName()
local player = UnitName("player")
local cache, gear_string = {}, ""
local resetcache = CreateFrame("Frame")
local rejuvDuration, renewDuration = 12, 12 --default durations
local rejuvDuration, renewDuration = 12, 15 --default durations
local hotsetbonus = libtipscan:GetScanner("hotsetbonus")
resetcache:RegisterEvent("PLAYER_ENTERING_WORLD")
resetcache:RegisterEvent("LEARNED_SPELL_IN_TAB")
@@ -312,7 +357,7 @@ resetcache:SetScript("OnEvent", function()
hotsetbonus:SetInventoryItem("player", i)
if hotsetbonus:Find(L["healduration"]["Renew"]) then setBonusCounter = setBonusCounter + 1 end
end
renewDuration = setBonusCounter == 5 and 15 or 12
renewDuration = setBonusCounter == 5 and 18 or 15
end
-- flag all cached heals for renewal
@@ -352,7 +397,7 @@ hooksecurefunc("CastSpell", function(id, bookType)
spell_queue[1] = effect
spell_queue[2] = effect.. ( rank or "" )
spell_queue[3] = UnitName("target") and UnitCanAssist("player", "target") and UnitName("target") or UnitName("player")
end, true)
end)
hooksecurefunc("CastSpellByName", function(effect, target)
if not libpredict.sender.enabled then return end
@@ -363,10 +408,14 @@ hooksecurefunc("CastSpellByName", function(effect, target)
local default = UnitName("target") and UnitCanAssist("player", "target") and UnitName("target") or UnitName("player")
target = target and type(target) == "string" and UnitName(target) or target
target = target and target == true and UnitName("player") or target
target = target and target == 1 and UnitName("player") or target
spell_queue[1] = effect
spell_queue[2] = effect.. ( rank or "" )
spell_queue[3] = mouseover or default
end, true)
spell_queue[3] = target or mouseover or default
end)
local scanner = libtipscan:GetScanner("prediction")
hooksecurefunc("UseAction", function(slot, target, selfcast)
@@ -378,7 +427,7 @@ hooksecurefunc("UseAction", function(slot, target, selfcast)
spell_queue[1] = effect
spell_queue[2] = effect.. ( rank or "" )
spell_queue[3] = selfcast and UnitName("player") or UnitName("target") and UnitCanAssist("player", "target") and UnitName("target") or UnitName("player")
end, true)
end)
libpredict.sender = CreateFrame("Frame", "pfPredictionSender", UIParent)
libpredict.sender.enabled = true
@@ -391,6 +440,19 @@ libpredict.sender.SendResCommMsg = function(self, msg)
SendAddonMessage("CTRA", msg, "BATTLEGROUND")
end
libpredict.sender:SetScript("OnUpdate", function()
-- trigger delayed regrowth timers
if this.regrowth_timer and GetTime() > this.regrowth_timer then
local target = this.regrowth_target or player
local duration = 21
libpredict:Hot(player, target, "Regr", duration)
libpredict.sender:SendHealCommMsg("Regr/"..target.."/"..duration.."/")
this.regrowth_target = this.regrowth_target_next
this.regrowth_timer = nil
end
end)
-- tbc
libpredict.sender:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
libpredict.sender:RegisterEvent("UNIT_SPELLCAST_START")
@@ -411,14 +473,6 @@ libpredict.sender:RegisterEvent("SPELLCAST_DELAYED")
libpredict.sender:RegisterEvent("UNIT_INVENTORY_CHANGED")
libpredict.sender:RegisterEvent("SKILL_LINES_CHANGED")
local regrowthCancel = false
function libpredict.triggerRegrowth(target, duration)
if regrowthCancel == true then regrowthCancel = false return end
libpredict:Hot(player, target, "Regr", duration)
libpredict.sender:SendHealCommMsg("Regr/"..target.."/"..duration.."/")
end
libpredict.sender:SetScript("OnEvent", function()
if event == "CHAT_MSG_SPELL_SELF_BUFF" then -- vanilla
local spell, _, heal = cmatch(arg1, HEALEDSELFOTHER) -- "Your %s heals %s for %d."
@@ -468,6 +522,14 @@ libpredict.sender:SetScript("OnEvent", function()
local amount = cache[spell_queue[2]][1]
local casttime = time
if spell == REGROWTH then
if this.regrowth_timer then
this.regrowth_target_next = spell_queue[3]
else
this.regrowth_target = spell_queue[3]
end
end
if spell == PRAYER_OF_HEALING then
target = sender
@@ -501,7 +563,6 @@ libpredict.sender:SetScript("OnEvent", function()
end
elseif strfind(event, "SPELLCAST_FAILED", 1) or strfind(event, "SPELLCAST_INTERRUPTED", 1) then
if strfind(event, "UNIT_", 1) and arg1 ~= "player" then return end
regrowthCancel = true
if libpredict.sender.healing then
libpredict:HealStop(player)
if pfUI.client < 20000 then -- vanilla
@@ -517,6 +578,9 @@ libpredict.sender:SetScript("OnEvent", function()
libpredict.sender:SendResCommMsg("RESNO " .. target)
libpredict.sender.resurrecting = nil
end
if spell_queue[1] == REGROWTH then
this.regrowth_timer = nil
end
elseif event == "SPELLCAST_DELAYED" then
if libpredict.sender.healing then
libpredict:HealDelay(player, arg1)
@@ -526,16 +590,14 @@ libpredict.sender:SetScript("OnEvent", function()
if strfind(event, "UNIT_", 1) and arg1 ~= "player" then return end
libpredict:HealStop(player)
if pfUI.client < 20000 then -- vanilla
if spell_queue[1] == "Rejuvenation" then
if spell_queue[1] == REJUVENATION then
libpredict:Hot(player, spell_queue[3], "Reju", rejuvDuration)
libpredict.sender:SendHealCommMsg("Reju/"..spell_queue[3].."/"..rejuvDuration.."/")
elseif spell_queue[1] == "Renew" then
elseif spell_queue[1] == RENEW then
libpredict:Hot(player, spell_queue[3], "Renew", renewDuration)
libpredict.sender:SendHealCommMsg("Renew/"..spell_queue[3].."/"..renewDuration.."/")
elseif spell_queue[1] == "Regrowth" then
local duration = 21 --Made this a variable even tho it is static in case future items mess with it
regrowthCancel = false
QueueFunction(libpredict.triggerRegrowth,spell_queue[3], duration) --SPELLCAST_STOP seem to fire before SPELLCAST_INTERRUPTED so we enqueue execution to be on the safe side
elseif spell_queue[1] == REGROWTH then
this.regrowth_timer = GetTime() + 0.1
end
else -- tbc
--todo
+2 -1
View File
@@ -46,6 +46,7 @@ end
-- return: [number],[string] spell index and spellbook id
local spellindex = {}
function libspell.GetSpellIndex(name, rank)
if not name then return end
name = string.lower(name)
local cache = spellindex[name..(rank and ("("..rank..")") or "")]
if cache then return cache[1], cache[2] end
@@ -120,7 +121,7 @@ function libspell.GetSpellInfo(index, bookType)
local _, sec = scanner:Find(gsub(SPELL_CAST_TIME_SEC, "%%.3g", "%(.+%)"), false)
local _, min = scanner:Find(gsub(SPELL_CAST_TIME_MIN, "%%.3g", "%(.+%)"), false)
local _, range = scanner:Find(gsub(SPELL_RANGE, "%%s", "%(.+%)"), false)
castingTime = (tonumber(sec) or tonumber(min) or 0) * 1000
if range then
local _, _, min, max = string.find(range, "(.+)-(.+)")
+2 -3
View File
@@ -141,9 +141,8 @@ end
local pfHookSetAuctionItem = GameTooltip.SetAuctionItem
function GameTooltip.SetAuctionItem(self, atype, index)
local itemName, _, itemCount = GetAuctionItemInfo(atype, index)
libtooltip.itemCount = itemCount
libtooltip.itemLink = GetItemLinkByName(itemName)
_, _, libtooltip.itemCount = GetAuctionItemInfo(atype, index)
libtooltip.itemLink = GetAuctionItemLink(atype, index)
return pfHookSetAuctionItem(self, atype, index)
end
+3 -3
View File
@@ -158,13 +158,13 @@ hooksecurefunc("CastSpell", function(id, bookType)
local name, rank, icon = libspell.GetSpellInfo(id, bookType)
if not name then return end
if libtotem:CheckAddQueue(name, rank, icon) then return end
end, true)
end)
hooksecurefunc("CastSpellByName", function(effect, target)
local name, rank, icon = libspell.GetSpellInfo(effect)
if not name then return end
if libtotem:CheckAddQueue(name, rank, icon) then return end
end, true)
end)
local scanner = libtipscan:GetScanner("prediction")
hooksecurefunc("UseAction", function(slot, target, selfcast)
@@ -174,4 +174,4 @@ hooksecurefunc("UseAction", function(slot, target, selfcast)
local icon = GetActionTexture(slot)
if not name then return end
if libtotem:CheckAddQueue(name, rank, icon) then return end
end, true)
end)
+58 -41
View File
@@ -386,11 +386,8 @@ pfUI:RegisterModule("actionbar", "vanilla:tbc", function ()
self.spellslot = nil
self.booktype = nil
if macro then
local name, body, _
for slot = 1, 36 do
name, _, body = GetMacroInfo(slot)
if name == macro then break end
end
local slot = GetMacroIndexByName(macro)
local name, _, body = GetMacroInfo(slot)
if name and body then
local match
@@ -1404,6 +1401,24 @@ pfUI:RegisterModule("actionbar", "vanilla:tbc", function ()
bars[i]:SetPoint("BOTTOM", bars[6], "TOP", 0, 3*border)
elseif i == 12 then -- pet
bars[i]:SetPoint("BOTTOM", bars[6], "TOP", 0, 3*border)
-- make stance bar dodge by default
bars[i]:SetScript("OnShow", function()
if bars[11] and bars[11]:IsShown() then
bars[11]:ClearAllPoints()
bars[11]:SetPoint("BOTTOM", bars[12], "TOP", 0, 3*border)
UpdateMovable(bars[11], true)
end
end)
-- restore old stance bar position
bars[i]:SetScript("OnHide", function()
if bars[11] and bars[11]:IsShown() then
bars[11]:ClearAllPoints()
bars[11]:SetPoint("BOTTOM", bars[6], "TOP", 0, 3*border)
UpdateMovable(bars[11], true)
end
end)
else -- others
bars[i]:SetPoint("TOP", 0, -i*50)
end
@@ -1415,48 +1430,50 @@ pfUI:RegisterModule("actionbar", "vanilla:tbc", function ()
CreateBackdrop(bars[i], border)
CreateBackdropShadow(bars[i])
bars[i].backdrop:Show()
elseif bars[i].backdrop then
bars[i].backdrop:Hide()
end
-- share backdrop of main and top actionbar
if i == 6 then
bars[6].OnMove = bars[6].OnMove or function()
local _, a, _ = bars[6]:GetPoint()
if a == bars[1] and C.bars.bar1.enable == "1"
and C.bars.bar1.background == "1" and C.bars.bar6.background == "1"
and C.bars.bar1.autohide == "0" and C.bars.bar6.autohide == "0"
and C.bars.bar1.icon_size == C.bars.bar6.icon_size
and C.bars.bar1.spacing == C.bars.bar6.spacing
and C.bars.bar1.formfactor == C.bars.bar6.formfactor
and C.bars.bar1.buttons == C.bars.bar6.buttons
then
bars[1].backdrop:ClearAllPoints()
bars[1].backdrop:SetPoint("BOTTOMRIGHT", bars[1], "BOTTOMRIGHT", border, -border)
bars[1].backdrop:SetPoint("TOPLEFT", bars[6], "TOPLEFT", -border, border)
-- share backdrop of main and top actionbar
if bars[6] and bars[1] then
bars[6].OnMove = bars[6].OnMove or function()
bars[1].mergedBackdrop = bars[1].mergedBackdrop or CreateFrame("Frame", nil, UIParent)
bars[1].mergedBackdrop:SetPoint("TOPLEFT", bars[6], "TOPLEFT", 0, 0)
bars[1].mergedBackdrop:SetPoint("BOTTOMRIGHT", bars[1], "BOTTOMRIGHT", 0, 0)
CreateBackdrop(bars[1].mergedBackdrop)
local _, anchor, _ = bars[6]:GetPoint()
if anchor == bars[1] and C.bars.bar1.enable == "1"
and C.bars.bar1.enable == "1" and C.bars.bar6.enable == "1"
and C.bars.bar1.background == "1" and C.bars.bar6.background == "1"
and C.bars.bar1.autohide == "0" and C.bars.bar6.autohide == "0"
and C.bars.bar1.icon_size == C.bars.bar6.icon_size
and C.bars.bar1.spacing == C.bars.bar6.spacing
and C.bars.bar1.formfactor == C.bars.bar6.formfactor
and C.bars.bar1.buttons == C.bars.bar6.buttons
then
bars[1].mergedBackdrop:Show()
if C.bars.bar1.background == "1" and bars[1].backdrop then
bars[1].backdrop:Hide()
end
if C.bars.bar6.background == "1" and bars[6].backdrop then
bars[6].backdrop:Hide()
else
if C.bars.bar1.background == "1" then
-- create/reset bar1 backdrop if required
CreateBackdrop(bars[1], border)
bars[1].backdrop:ClearAllPoints()
bars[1].backdrop:SetPoint("BOTTOMRIGHT", bars[1], "BOTTOMRIGHT", border, -border)
bars[1].backdrop:SetPoint("TOPLEFT", bars[1], "TOPLEFT", -border, border)
end
end
else
bars[1].mergedBackdrop:Hide()
if C.bars.bar6.background == "1" then
bars[6].backdrop:Show()
end
if C.bars.bar1.background == "1" and bars[1].backdrop then
bars[1].backdrop:Show()
end
if C.bars.bar6.background == "1" and bars[6].backdrop then
bars[6].backdrop:Show()
end
end
bars[i].OnMove()
end
else
if bars[i].backdrop then
bars[i].backdrop:Hide()
end
if bars[i].shadow then
bars[i].shadow:Hide()
end
bars[6].OnMove()
end
end
+57 -59
View File
@@ -32,12 +32,11 @@ pfUI:RegisterModule("addonbuttons", "vanilla:tbc", function ()
pfUI.addonbuttons = CreateFrame("Frame", "pfMinimapButtons", UIParent)
pfUI.addonbuttons:SetFrameStrata("HIGH")
pfUI.addonbuttons:Hide()
CreateBackdrop(pfUI.addonbuttons)
CreateBackdropShadow(pfUI.addonbuttons)
pfUI.addonbuttons.minimapbutton = CreateFrame("Button", "pfMinimapButton", pfUI.minimap or UIParent)
pfUI.addonbuttons.minimapbutton:SetFrameStrata("MEDIUM")
pfUI.addonbuttons.minimapbutton:SetFrameLevel(24)
pfUI.addonbuttons.minimapbutton:SetWidth(12)
pfUI.addonbuttons.minimapbutton:SetHeight(12)
@@ -49,28 +48,12 @@ pfUI:RegisterModule("addonbuttons", "vanilla:tbc", function ()
end
end)
-- hide flyout frame when entering combat
local pfUIAddonButtonHide = CreateFrame("Frame", nil, UIParent)
pfUIAddonButtonHide:RegisterEvent('PLAYER_REGEN_DISABLED')
pfUIAddonButtonHide:SetScript("OnEvent", function()
local enabled = C.appearance.minimap.addon_buttons == "1"
if enabled then
if pfUI.addonbuttons:IsShown() then
pfUI.addonbuttons:Hide()
end
end
end)
pfUI.addonbuttons.buttons = {}
pfUI.addonbuttons.overrides = {}
pfUI.addonbuttons.last_updated = 0
pfUI.addonbuttons.rows = 1
pfUI.addonbuttons.max_button_size = 40
pfUI.addonbuttons:RegisterEvent("PLAYER_LOGIN")
pfUI.addonbuttons:RegisterEvent("PLAYER_REGEN_DISABLED")
local function GetButtonSize()
if C.abuttons.position == "bottom" or C.abuttons.position == "top" then
return (pfUI.minimap:GetWidth() - (tonumber(C.abuttons.spacing) * (tonumber(C.abuttons.rowsize) + 1))) / tonumber(C.abuttons.rowsize)
@@ -111,27 +94,32 @@ pfUI:RegisterModule("addonbuttons", "vanilla:tbc", function ()
end
local function IsButtonValid(frame)
if frame:GetName() ~= nil then
if frame:IsVisible() then
if frame:IsFrameType("Button") then
if frame:GetScript("OnClick") ~= nil or frame:GetScript("OnMouseDown") ~= nil or frame:GetScript("OnMouseUp") ~= nil then
if frame:GetHeight() < pfUI.addonbuttons.max_button_size and frame:GetWidth() < pfUI.addonbuttons.max_button_size then
if not TablePartialMatch(ignored_icons, frame:GetName()) then
return true
end
end
end
elseif frame:IsFrameType("Frame") and (strfind(strlower(frame:GetName()), "icon") or strfind(strlower(frame:GetName()), "button")) then
if frame:GetScript("OnMouseDown") ~= nil or frame:GetScript("OnMouseUp") ~= nil then
if frame:GetHeight() < pfUI.addonbuttons.max_button_size and frame:GetWidth() < pfUI.addonbuttons.max_button_size then
if not TablePartialMatch(ignored_icons, frame:GetName()) then
return true
end
end
end
end
-- ignore invalid and invisible frames
if not frame:GetName() then return false end
if not frame:IsVisible() then return false end
-- ignore frames with invalid sizes
if frame:GetHeight() > pfUI.addonbuttons.max_button_size then return false end
if frame:GetWidth() > pfUI.addonbuttons.max_button_size then return false end
-- ignore other frame types
if not frame:IsFrameType("Button") and not frame:IsFrameType("Frame") then return false end
-- ignore manually selected frames
if TablePartialMatch(ignored_icons, frame:GetName()) then return false end
-- check button/frame script handlers
if frame:IsFrameType("Button") then
if frame:GetScript("OnClick") or frame:GetScript("OnMouseDown") or frame:GetScript("OnMouseUp") then
return true
end
elseif frame:IsFrameType("Frame") and (strfind(strlower(frame:GetName()), "icon") or strfind(strlower(frame:GetName()), "button")) then
if frame:GetScript("OnMouseDown") or frame:GetScript("OnMouseUp") then
return true
end
end
-- ignore everything else
return false
end
@@ -398,44 +386,55 @@ pfUI:RegisterModule("addonbuttons", "vanilla:tbc", function ()
function pfUI.addonbuttons:ProcessButtons()
UpdatePanel()
for i, button_name in ipairs(pfUI.addonbuttons.buttons) do
if _G[button_name] then
local i = 1
for _, button_name in ipairs(pfUI.addonbuttons.buttons) do
if _G[button_name] and _G[button_name]:IsVisible() then
BackupButton(_G[button_name])
MoveButton(i, _G[button_name])
i = i + 1
end
end
end
function pfUI.addonbuttons:UpdateConfig()
pfUI.addonbuttons:ProcessButtons()
pfUI.addonbuttons:GetScript("OnEvent")()
end
pfUI.addonbuttons.scanner = CreateFrame("Frame", "pfAddonButtonScanner", UIParent)
pfUI.addonbuttons.scanner:SetScript("OnUpdate", function()
-- throttle updates to once per 3 seconds
if ( this.tick or 1) > GetTime() then return else this.tick = GetTime() + 3 end
pfUI.addonbuttons:SetScript("OnShow", function()
pfUI.addonbuttons:ProcessButtons()
end)
pfUI.addonbuttons:SetScript("OnUpdate", function()
-- check if the panel should be shown by default
if not this.initialized then
if C.abuttons.showdefault == "1" and GetNumButtons() > 0 then
pfUI.addonbuttons:Show()
else
pfUI.addonbuttons:Hide()
end
-- update all buttons
pfUI.addonbuttons:ProcessButtons()
this.initialized = true
end
-- throttle updates to once per 5 seconds
if ( this.tick or 1) > GetTime() then return else this.tick = GetTime() + 5 end
-- reload/rescan minimap buttons
pfUI.addonbuttons:ProcessButtons()
-- re-apply addon button workarounds
for k, v in pairs(pfUI.addonbuttons.overrides) do
_G[k] = v
end
end)
pfUI.addonbuttons:RegisterEvent("PLAYER_REGEN_DISABLED")
pfUI.addonbuttons:SetScript("OnEvent", function()
if event == "PLAYER_REGEN_DISABLED" then
if C.abuttons.hideincombat == "1" and pfUI.addonbuttons:IsShown() then
pfUI.addonbuttons:Hide()
end
else
pfUI.addonbuttons:ProcessButtons()
if event == "PLAYER_LOGIN" then
if C.abuttons.showdefault == "1" and GetNumButtons() > 0 then
pfUI.addonbuttons:Show()
else
pfUI.addonbuttons:Hide()
end
end
if C.abuttons.hideincombat == "1" and pfUI.addonbuttons:IsShown() then
pfUI.addonbuttons:Hide()
end
end)
@@ -443,5 +442,4 @@ pfUI:RegisterModule("addonbuttons", "vanilla:tbc", function ()
_G.SLASH_PFABP1, _G.SLASH_PFABP2 = "/abp", "/pfabp"
_G.SlashCmdList.PFABP = ManualAddOrRemove
end)
+5 -1
View File
@@ -99,7 +99,11 @@ pfUI:RegisterModule("afkcam", "vanilla:tbc", function ()
local time = ""
if C.global.twentyfour == "0" then
if C.global.servertime == "1" then
if h > 12 then
if h == 0 then
h = 12
elseif h == 12 then
noon = "PM"
elseif h > 12 then
h = h - 12
noon = "PM"
end
+49 -64
View File
@@ -2,31 +2,7 @@ pfUI:RegisterModule("autoshift", "vanilla", function ()
pfUI.autoshift = CreateFrame("Frame")
pfUI.autoshift:RegisterEvent("UI_ERROR_MESSAGE")
pfUI.autoshift.lastError = ""
pfUI.autoshift.CastSpellByName = _G["CastSpellByName"]
pfUI.autoshift.scanString = string.gsub(SPELL_FAILED_ONLY_SHAPESHIFT, "%%s", "(.+)")
function pfUI.autoshift:SwitchStance()
for stance in gfind(pfUI.autoshift.lastError, pfUI.autoshift.scanString) do
for _, stance in pairs({ strsplit(",", stance)}) do
pfUI.autoshift.CastSpellByName(string.gsub(stance,"^%s*(.-)%s*$", "%1"))
end
end
pfUI.autoshift.lastError = ""
end
hooksecurefunc("CastSpell", function(spellId, spellbookTabNum)
pfUI.autoshift:SwitchStance()
end)
hooksecurefunc("CastSpellByName", function(spellName, onSelf)
pfUI.autoshift:SwitchStance()
end)
hooksecurefunc("UseAction", function(slot, checkCursor, onSelf)
pfUI.autoshift:SwitchStance()
end)
pfUI.autoshift.mounts = {
-- deDE
"^Erhöht Tempo um (.+)%%",
@@ -44,7 +20,8 @@ pfUI:RegisterModule("autoshift", "vanilla", function ()
"^速度提高(.+)%%",
-- turtle-wow
"speed based on", "Slow and steady...", "Riding",
"根据骑术技能提高速度。", "又慢又稳......",
"Lento y constante...", "Aumenta la velocidad según tu habilidad de Montar.",
"根据您的骑行技能提高速度。", "根据骑术技能提高速度。", "又慢又稳......",
}
pfUI.autoshift.shapeshifts = {
@@ -81,54 +58,62 @@ pfUI:RegisterModule("autoshift", "vanilla", function ()
pfUI.autoshift.scanner = libtipscan:GetScanner("dismount")
pfUI.autoshift:SetScript("OnEvent", function()
pfUI.autoshift.lastError = arg1
local CancelLater = nil
if arg1 == SPELL_FAILED_NOT_STANDING then
SitOrStand()
return
-- switch stance if required
for stances in string.gfind(arg1, pfUI.autoshift.scanString) do
for _, stance in pairs({ strsplit(",", stances)}) do
CastSpellByName(string.gsub(stance,"^%s*(.-)%s*$", "%1"))
end
end
-- scan through buffs and cancel shapeshift/mount
for id, errorstring in pairs(pfUI.autoshift.errors) do
if arg1 == errorstring then
-- dont's cancel form when clicking on npcs while in combat
if arg1 == ERR_CANT_INTERACT_SHAPESHIFTED and UnitAffectingCombat("player") then
return
-- check if we need to stand up
if arg1 == SPELL_FAILED_NOT_STANDING then
SitOrStand()
return
end
-- delay shapeshift cancel
local CancelLater = nil
-- scan through buffs and cancel shapeshift/mount
for id, errorstring in pairs(pfUI.autoshift.errors) do
if arg1 == errorstring then
-- dont's cancel form when clicking on npcs while in combat
if arg1 == ERR_CANT_INTERACT_SHAPESHIFTED and UnitAffectingCombat("player") then
return
end
for i=0,31,1 do
-- detect mounts based on tooltip text
pfUI.autoshift.scanner:SetPlayerBuff(i)
for _, str in pairs(pfUI.autoshift.mounts) do
if pfUI.autoshift.scanner:Find(str) then
CancelPlayerBuff(i)
return
end
end
for i=0,31,1 do
-- detect mounts based on tooltip text
pfUI.autoshift.scanner:SetPlayerBuff(i)
for _, str in pairs(pfUI.autoshift.mounts) do
if pfUI.autoshift.scanner:Find(str) then
CancelPlayerBuff(i)
return
end
end
-- detect shapeshift based on texture
local buff = GetPlayerBuffTexture(i)
if buff then
for id, bufftype in pairs(pfUI.autoshift.shapeshifts) do
if string.find(string.lower(buff), bufftype, 1) then
if string.find(string.lower(buff), "spell_shadow_shadowform", 1) then
-- only cancel shadow form if no other buff was hindering casting
CancelLater = i
else
CancelPlayerBuff(i)
return
end
-- detect shapeshift based on texture
local buff = GetPlayerBuffTexture(i)
if buff then
for id, bufftype in pairs(pfUI.autoshift.shapeshifts) do
if string.find(string.lower(buff), bufftype, 1) then
if string.find(string.lower(buff), "spell_shadow_shadowform", 1) then
-- only cancel shadow form if no other buff was hindering casting
CancelLater = i
else
CancelPlayerBuff(i)
return
end
end
end
end
end
-- if nothing else was found, cancel shadowform
if CancelLater then
CancelPlayerBuff(CancelLater)
end
-- if nothing else was found, cancel shadowform
if CancelLater then
CancelPlayerBuff(CancelLater)
end
end
end)
end
end)
end)
+53 -60
View File
@@ -6,7 +6,32 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
Spell_Nature_MoonKey = {frame="picklock"},
}
local scanner = libtipscan:GetScanner("openable")
local openable = {}
-- function to detect openable items in inventory
local openable = { bag = nil, slot = nil, icon = nil }
local function GetNextOpenable()
if openable.icon and openable.icon == GetContainerItemInfo(openable.bag, openable.slot) then
return openable.bag, openable.slot
end
for bag=-2, 11 do
local bagsize = GetContainerNumSlots(bag)
if bag == -2 and pfUI.bag.showKeyring == true then bagsize = GetKeyRingSize() end
for slot=1, bagsize do
if GetContainerItemInfo(bag, slot) then
scanner:SetBagItem(bag, slot)
if scanner:Find(_G.ITEM_OPENABLE, true) then
openable.bag = bag
openable.slot = slot
openable.icon = GetContainerItemInfo(bag, slot)
return openable.bag, openable.slot
end
end
end
end
end
-- prevent from being placed offscreen
_G.StackSplitFrame:SetClampedToScreen(true)
@@ -346,30 +371,6 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
end
end
function pfUI.bag:Openable(bag, slot, hasItem)
local prev_bag, prev_slot = openable.bag, openable.slot
if bag == prev_bag and slot == prev_slot then
openable.bag = nil
openable.slot = nil
openable.name = nil
end
if hasItem then
scanner:SetBagItem(bag, slot)
if scanner:Find(_G.ITEM_OPENABLE, true) then
openable.bag = bag
openable.slot = slot
openable.name = scanner:Line(1)
end
end
if pfUI.bag.right and pfUI.bag.right.open then
if openable.bag and openable.slot then
pfUI.bag.right.open.texture:SetTexture(pfUI.media["img:full"])
else
pfUI.bag.right.open.texture:SetTexture(pfUI.media["img:empty"])
end
end
end
function pfUI.bag:UpdateSlot(bag, slot)
if not pfUI.bags[bag] then return end
@@ -399,7 +400,9 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
bagslot.cd.pfCooldownType = "ALL"
end
CreateBackdrop(pfUI.bags[bag].slots[slot].frame, default_border)
if not pfUI.bags[bag].slots[slot].frame.backdrop then
CreateBackdrop(pfUI.bags[bag].slots[slot].frame, default_border)
end
local highlight = pfUI.bags[bag].slots[slot].frame:GetHighlightTexture()
highlight:SetTexture(.5, .5, .5, .5)
@@ -447,30 +450,20 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
SetItemButtonCount(pfUI.bags[bag].slots[slot].frame, count)
SetItemButtonDesaturated(pfUI.bags[bag].slots[slot].frame, locked, 0.5, 0.5, 0.5)
local hasItem
if texture then
hasItem = 1
else
hasItem = nil
end
local hasItem = texture and 1 or nil
pfUI.bags[bag].slots[slot].frame.hasItem = hasItem
pfUI.bags[bag].slots[slot].frame.qtext:SetText("")
pfUI.bag:Openable(bag, slot, hasItem)
ContainerFrame_UpdateCooldown(bag, pfUI.bags[bag].slots[slot].frame)
-- detect backdrop border color
if quality and quality > tonumber(C.appearance.bags.borderlimit) then
if texture and itype == "Quest" then
pfUI.bags[bag].slots[slot].frame.backdrop:SetBackdropBorderColor(1, .8, .2, .8)
pfUI.bags[bag].slots[slot].frame.qtext:SetText("?")
elseif texture and quality and quality > tonumber(C.appearance.bags.borderlimit) then
pfUI.bags[bag].slots[slot].frame.backdrop:SetBackdropBorderColor(GetItemQualityColor(quality))
elseif texture then
if itype == "Quest" then
pfUI.bags[bag].slots[slot].frame.backdrop:SetBackdropBorderColor(1, .8, .2, .8)
pfUI.bags[bag].slots[slot].frame.qtext:SetText("?")
else
pfUI.bags[bag].slots[slot].frame.backdrop:SetBackdropBorderColor(.5,.5,.5,1)
end
elseif texture and quality then
pfUI.bags[bag].slots[slot].frame.backdrop:SetBackdropBorderColor(.5,.5,.5,1)
else
local bagtype = GetBagFamily(bag)
@@ -506,11 +499,6 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
end
end
-- update red color on unusable items
if pfUI.unusable then
pfUI.unusable:UpdateSlot(bag, slot)
end
pfUI.bags[bag].slots[slot].frame:Show()
end
@@ -687,8 +675,11 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
for slot=1, bagsize do
if pfUI.bags[bag] and pfUI.bags[bag].slots[slot] and pfUI.bags[bag].slots[slot].frame:IsShown() then
local _, _, locked, _ = GetContainerItemInfo(bag, slot)
SetItemButtonDesaturated(pfUI.bags[bag].slots[slot].frame, locked, 0.5, 0.5, 0.5)
if pfUI.unusable then pfUI.unusable:UpdateSlot(bag, slot) end
if pfUI.bags[bag].slots[slot].locked ~= locked then
SetItemButtonDesaturated(pfUI.bags[bag].slots[slot].frame, locked, 0.5, 0.5, 0.5)
if pfUI.unusable then pfUI.unusable:UpdateSlot(bag, slot) end
pfUI.bags[bag].slots[slot].locked = locked
end
end
end
end
@@ -799,9 +790,10 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
frame.open.backdrop:SetBackdropBorderColor(1,1,.25,1)
frame.open.texture:SetVertexColor(1,1,.25,1)
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
if openable.bag and openable.slot then
-- GameTooltip:SetText(openable.name) -- title only
GameTooltip:SetBagItem(openable.bag, openable.slot)
local bag, slot = GetNextOpenable()
if bag and slot then
GameTooltip:SetBagItem(bag, slot)
else
GameTooltip:SetText(_G.EMPTY)
end
@@ -817,22 +809,23 @@ pfUI:RegisterModule("bags", "vanilla:tbc", function ()
end)
frame.open:SetScript("OnClick", function()
if openable.bag and openable.slot then
-- open next container item
local bag, slot = GetNextOpenable()
if bag and slot then
ClearCursor()
if MerchantFrame:IsShown() then
HideUIPanel(MerchantFrame)
end
UseContainerItem(openable.bag, openable.slot)
UseContainerItem(bag, slot)
end
-- update tooltip
if openable.bag and openable.slot then
-- GameTooltip:SetText(openable.name) -- title only
GameTooltip:SetBagItem(openable.bag, openable.slot)
-- reload tootltip
local bag, slot = GetNextOpenable()
if bag and slot then
GameTooltip:SetBagItem(bag, slot)
else
GameTooltip:SetText(_G.EMPTY)
end
GameTooltip:Show()
end)
end
+11 -6
View File
@@ -74,7 +74,7 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
return anchor
end
local function GetBuffData(unit, id, type, skipTooltip)
local function GetBuffData(unit, id, type, selfdebuff)
if unit == "player" then
local bid = GetPlayerBuff(PLAYER_BUFF_START_ID+id, type)
local stacks = GetPlayerBuffApplications(bid)
@@ -82,12 +82,15 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local texture = GetPlayerBuffTexture(bid)
local name
if not skipTooltip and texture then
if texture then
scanner:SetPlayerBuff(bid)
name = scanner:Line(1)
end
return remaining, texture, name, stacks
elseif libdebuff and selfdebuff then
local name, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitOwnDebuff(unit, id)
return timeleft, texture, name, stacks
elseif libdebuff then
local name, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitDebuff(unit, id)
return timeleft, texture, name, stacks
@@ -228,8 +231,10 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local function RefreshBuffBarFrame(frame)
-- reinitialize all active buffs
local selfdebuff = frame.config.selfdebuff == "1"
for i=1,32 do
local timeleft, texture, name, stacks = GetBuffData(frame.unit, i, frame.type)
local timeleft, texture, name, stacks = GetBuffData(frame.unit, i, frame.type, selfdebuff)
timeleft = timeleft or 0
if texture and name and name ~= "" and BuffIsVisible(frame.config, name) then
@@ -416,7 +421,7 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local br, bg, bb, ba = strsplit(",", config.bordercolor)
local tr, tg, tb, ta = strsplit(",", config.textcolor)
pfUI.uf.player.buffbar:SetWidth(config.width == "-1" and C.unitframes.player.width or config.width)
pfUI.uf.player.buffbar:SetWidth(config.width == "-1" and pfUI.uf.player:GetWidth() or config.width)
pfUI.uf.player.buffbar:SetHeight(config.height)
pfUI.uf.player.buffbar.threshold = tonumber(config.threshold)
pfUI.uf.player.buffbar.config = config
@@ -443,7 +448,7 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local tr, tg, tb, ta = strsplit(",", config.textcolor)
pfUI.uf.player.debuffbar = CreateBuffBarFrame("Player", "HARMFUL")
pfUI.uf.player.debuffbar:SetWidth(config.width == "-1" and C.unitframes.player.width or config.width)
pfUI.uf.player.debuffbar:SetWidth(config.width == "-1" and pfUI.uf.player:GetWidth() or config.width)
pfUI.uf.player.debuffbar:SetHeight(config.height)
pfUI.uf.player.debuffbar.threshold = tonumber(config.threshold)
pfUI.uf.player.debuffbar.config = config
@@ -471,7 +476,7 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local tr, tg, tb, ta = strsplit(",", config.textcolor)
pfUI.uf.target.debuffbar = CreateBuffBarFrame("Target", "HARMFUL")
pfUI.uf.target.debuffbar:SetWidth(config.width == "-1" and C.unitframes.target.width or config.width)
pfUI.uf.target.debuffbar:SetWidth(config.width == "-1" and pfUI.uf.target:GetWidth() or config.width)
pfUI.uf.target.debuffbar:SetHeight(config.height)
pfUI.uf.target.debuffbar.config = config
pfUI.uf.target.debuffbar.buffcmp = config.sort == "asc" and asc or desc
+35 -24
View File
@@ -40,8 +40,8 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
-- text left
cb.bar.left = cb.bar:CreateFontString("Status", "DIALOG", "GameFontNormal")
cb.bar.left:ClearAllPoints()
cb.bar.left:SetPoint("TOPLEFT", cb.bar, "TOPLEFT", 3, 0)
cb.bar.left:SetPoint("BOTTOMRIGHT", cb.bar, "BOTTOMRIGHT", -3, 0)
cb.bar.left:SetPoint("TOPLEFT", cb.bar, "TOPLEFT", 3 + C.castbar[unitstr].txtleftoffx, C.castbar[unitstr].txtleftoffy)
cb.bar.left:SetPoint("BOTTOMRIGHT", cb.bar, "BOTTOMRIGHT", -3 + C.castbar[unitstr].txtleftoffx, C.castbar[unitstr].txtleftoffy)
cb.bar.left:SetNonSpaceWrap(false)
cb.bar.left:SetFontObject(GameFontWhite)
cb.bar.left:SetTextColor(1,1,1,1)
@@ -51,8 +51,8 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
-- text right
cb.bar.right = cb.bar:CreateFontString("Status", "DIALOG", "GameFontNormal")
cb.bar.right:ClearAllPoints()
cb.bar.right:SetPoint("TOPLEFT", cb.bar, "TOPLEFT", 3, 0)
cb.bar.right:SetPoint("BOTTOMRIGHT", cb.bar, "BOTTOMRIGHT", -3, 0)
cb.bar.right:SetPoint("TOPLEFT", cb.bar, "TOPLEFT", 3 + C.castbar[unitstr].txtrightoffx, C.castbar[unitstr].txtrightoffy)
cb.bar.right:SetPoint("BOTTOMRIGHT", cb.bar, "BOTTOMRIGHT", -3 + C.castbar[unitstr].txtrightoffx, C.castbar[unitstr].txtrightoffy)
cb.bar.right:SetNonSpaceWrap(false)
cb.bar.right:SetFontObject(GameFontWhite)
cb.bar.right:SetTextColor(1,1,1,1)
@@ -83,11 +83,10 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
end
local channel = nil
local name = this.unitstr and UnitName(this.unitstr) or this.unitname
local query = this.unitstr or this.unitname
if not name then return end
local query = this.unitstr ~= "" and this.unitstr or this.unitname
if not query then return end
-- try to read cast and guid from SuperWoW (except for self casts)
-- transform all non player unitstrings to unit guids
if superwow_active and this.unitstr and not UnitIsUnit(this.unitstr, 'player') then
local _, guid = UnitExists(this.unitstr)
query = guid or query
@@ -214,8 +213,9 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
pfUI.castbar.player.spacing = default_border * 2 + tonumber(C.unitframes.player.pspace) * GetPerfectPixel()
if pfUI.uf.player then
local width = C.castbar.player.width ~= "-1" and C.castbar.player.width or pfUI.uf.player:GetWidth()
pfUI.castbar.player:SetPoint("TOPLEFT", pfUI.uf.player, "BOTTOMLEFT", 0, -pfUI.castbar.player.spacing)
local anchor = pfUI.uf.player.portrait:GetHeight() > pfUI.uf.player:GetHeight() and pfUI.uf.player.power or pfUI.uf.player
local width = C.castbar.player.width ~= "-1" and C.castbar.player.width or anchor:GetWidth()
pfUI.castbar.player:SetPoint("TOPLEFT", anchor, "BOTTOMLEFT", 0, -pfUI.castbar.player.spacing)
pfUI.castbar.player:SetWidth(width)
else
local width = C.castbar.player.width ~= "-1" and C.castbar.player.width or 200
@@ -241,8 +241,9 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
pfUI.castbar.target.spacing = default_border * 2 + tonumber(C.unitframes.target.pspace) * GetPerfectPixel()
if pfUI.uf.target then
local width = C.castbar.target.width ~= "-1" and C.castbar.target.width or pfUI.uf.target:GetWidth()
pfUI.castbar.target:SetPoint("TOPLEFT", pfUI.uf.target, "BOTTOMLEFT", 0, -pfUI.castbar.target.spacing)
local anchor = pfUI.uf.target.portrait:GetHeight() > pfUI.uf.target:GetHeight() and pfUI.uf.target.power or pfUI.uf.target
local width = C.castbar.target.width ~= "-1" and C.castbar.target.width or anchor:GetWidth()
pfUI.castbar.target:SetPoint("TOPLEFT", anchor, "BOTTOMLEFT", 0, -pfUI.castbar.target.spacing)
pfUI.castbar.target:SetWidth(width)
else
local width = C.castbar.target.width ~= "-1" and C.castbar.target.width or 200
@@ -272,28 +273,38 @@ pfUI:RegisterModule("castbar", "vanilla:tbc", function ()
pfUI.castbar.focus.unitstr = nil
end
local width = C.castbar.focus.width ~= "-1" and C.castbar.focus.width or pfUI.uf.focus:GetWidth()
pfUI.castbar.focus:SetPoint("TOPLEFT", pfUI.uf.focus, "BOTTOMLEFT", 0, -pfUI.castbar.focus.spacing)
local anchor = pfUI.uf.focus.portrait:GetHeight() > pfUI.uf.focus:GetHeight() and pfUI.uf.focus.power or pfUI.uf.focus
local width = C.castbar.focus.width ~= "-1" and C.castbar.focus.width or anchor:GetWidth()
pfUI.castbar.focus:SetPoint("TOPLEFT", anchor, "BOTTOMLEFT", 0, -pfUI.castbar.focus.spacing)
pfUI.castbar.focus:SetWidth(width)
if C.castbar.focus.height ~= "-1" then
pfUI.castbar.focus:SetHeight(C.castbar.focus.height)
end
-- make sure the castbar is set to the same name as the focus frame is
-- keep unit values in sync with focus unitframe
HookScript(pfUI.castbar.focus, "OnUpdate", function()
-- remove unitname when focus unit changed
if this.lastunit ~= pfUI.uf.focus.unitname then
this.lastunit = pfUI.uf.focus.unitname
-- clear on empty focus frames
if pfUI.uf.focus.unitname == nil and pfUI.uf.focus.label == nil then
pfUI.castbar.focus.unitstr = nil
pfUI.castbar.focus.unitname = nil
return
end
-- attach a proper unitname as soon as we get a unitstr
if not pfUI.castbar.focus.unitname and pfUI.uf.focus.unitname ~= "focus" and pfUI.uf.focus.label and pfUI.uf.focus.id then
local unitstr = string.format("%s%s", pfUI.uf.focus.label, pfUI.uf.focus.id)
if UnitExists(unitstr) and strlower(UnitName(unitstr)) == pfUI.uf.focus.unitname then
pfUI.castbar.focus.unitname = UnitName(unitstr)
end
-- skip on initial values
if pfUI.uf.focus.unitname == "focus" then return end
if pfUI.uf.focus.unitname == "" then return end
-- try to obtain a unitstr
pfUI.castbar.focus.unitstr = string.format("%s%s", (pfUI.uf.focus.label or ""), (pfUI.uf.focus.id or ""))
pfUI.castbar.focus.unitstr = pfUI.castbar.focus.unitstr == "" and nil or pfUI.castbar.focus.unitstr
if pfUI.castbar.focus.unitstr then
-- read non-lowercase unitname when possible
pfUI.castbar.focus.unitname = UnitName(pfUI.castbar.focus.unitstr) or pfUI.castbar.focus.unitname
elseif strlower(pfUI.castbar.focus.unitname) ~= strlower(pfUI.uf.focus.unitname) then
-- sync unitname with focus frame's lowercase value
pfUI.castbar.focus.unitname = pfUI.uf.focus.unitname
end
end)
+6 -4
View File
@@ -368,10 +368,6 @@ pfUI:RegisterModule("chat", "vanilla:tbc", function ()
frame:SetPoint("TOPLEFT", pfUI.chat.right ,"TOPLEFT", default_border, -panelheight)
frame:SetPoint("BOTTOMRIGHT", pfUI.chat.right ,"BOTTOMRIGHT", -default_border, bottompadding)
frame:Show()
elseif i == 2 and C.chat.global.combathide == "1" then
-- Combat Log
FCF_UnDockFrame(frame)
FCF_Close(frame)
elseif frame.isDocked then
-- Left Chat
local bottompadding = pfUI.panel and pfUI.panel.left:IsShown() and not pfUI_config.position["pfPanelLeft"] and panelheight or default_border
@@ -391,6 +387,12 @@ pfUI:RegisterModule("chat", "vanilla:tbc", function ()
tab:SetParent(UIParent)
end
-- Combat Log
if C.chat.global.combathide == "1" and frame.pfCombatLog then
FCF_UnDockFrame(frame)
FCF_Close(frame)
end
-- hide textures
for j,v in ipairs({tab:GetRegions()}) do
if j==5 then v:SetTexture(0,0,0,0) end
+6 -5
View File
@@ -6,20 +6,21 @@ pfUI:RegisterModule("combopoints", "vanilla:tbc", function ()
ComboFrame:UnregisterAllEvents()
local _, class = UnitClass("player")
local combo_size = C["unitframes"]["combosize"]
local combo_width = C["unitframes"]["combowidth"]
local combo_height = C["unitframes"]["comboheight"]
pfUI.combopoints = {}
for point = 1, 5 do
pfUI.combopoints[point] = CreateFrame("Frame", "pfCombo" .. point, UIParent)
pfUI.combopoints[point]:SetFrameStrata("HIGH")
pfUI.combopoints[point]:SetWidth(combo_size)
pfUI.combopoints[point]:SetHeight(combo_size)
pfUI.combopoints[point]:SetWidth(combo_width)
pfUI.combopoints[point]:SetHeight(combo_height)
pfUI.combopoints[point]:Hide()
if pfUI.uf.target then
pfUI.combopoints[point]:SetPoint("TOPLEFT", pfUI.uf.target, "TOPRIGHT", border*3, -(point - 1) * (combo_size + border*3))
pfUI.combopoints[point]:SetPoint("TOPLEFT", pfUI.uf.target, "TOPRIGHT", border*3, -(point - 1) * (combo_height + border*3))
else
pfUI.combopoints[point]:SetPoint("CENTER", UIParent, "CENTER", (point - 3) * (combo_size + border*3), 10 )
pfUI.combopoints[point]:SetPoint("CENTER", UIParent, "CENTER", (point - 3) * (combo_width + border*3), 10 )
end
pfUI.combopoints[point].tex = pfUI.combopoints[point]:CreateTexture("OVERLAY")
+4 -4
View File
@@ -58,7 +58,7 @@ pfUI:RegisterModule("cooldown", "vanilla:tbc", function ()
local function pfCreateCoolDown(cooldown, start, duration)
cooldown.pfCooldownText = CreateFrame("Frame", "pfCooldownFrame", cooldown:GetParent())
cooldown.pfCooldownText:SetAllPoints(cooldown)
cooldown.pfCooldownText:SetFrameLevel(cooldown:GetParent():GetFrameLevel() + 1)
cooldown.pfCooldownText:SetFrameLevel(cooldown:GetParent():GetFrameLevel() + 2)
cooldown.pfCooldownText.text = cooldown.pfCooldownText:CreateFontString("pfCooldownFrameText", "OVERLAY")
if not cooldown.pfCooldownType then
@@ -77,7 +77,7 @@ pfUI:RegisterModule("cooldown", "vanilla:tbc", function ()
size = math.max((height > 0 and height * .64 or 16), size)
end
cooldown.pfCooldownText.text:SetFont(pfUI.font_unit, size, "OUTLINE")
cooldown.pfCooldownText.text:SetFont(pfUI.media[C.appearance.cd.font], size, "OUTLINE")
cooldown.pfCooldownText.text:SetPoint("CENTER", cooldown.pfCooldownText, "CENTER", 0, 0)
cooldown.pfCooldownText:SetScript("OnUpdate", pfCooldownOnUpdate)
end
@@ -104,12 +104,12 @@ pfUI:RegisterModule("cooldown", "vanilla:tbc", function ()
-- don't draw global cooldowns
if this.pfCooldownType == "NOGCD" and duration < tonumber(C.appearance.cd.threshold) then
return
start, duration = 0, 0
end
-- disable GCDs on non pfUI frames
if not this.pfCooldownType and duration < tonumber(C.appearance.cd.threshold) then
return
start, duration = 0, 0
end
-- hide animation
+43
View File
@@ -1,10 +1,51 @@
pfUI:RegisterModule("eqcompare", "vanilla", function ()
local sides = { "Left", "Right" }
local loc = pfUI.cache["locale"]
for key, value in pairs(L["itemtypes"]) do setglobal(key, value) end
INVTYPE_WEAPON_OTHER = INVTYPE_WEAPON.."_other"
INVTYPE_FINGER_OTHER = INVTYPE_FINGER.."_other"
INVTYPE_TRINKET_OTHER = INVTYPE_TRINKET.."_other"
local function AddHeader(tooltip)
local name = tooltip:GetName()
-- shift all entries one line down
for i=tooltip:NumLines(), 1, -1 do
for _, side in pairs(sides) do
local current = _G[name.."Text"..side..i]
local below = _G[name.."Text"..side..i+1]
if current and current:IsShown() then
local text = current:GetText()
local r, g, b = current:GetTextColor()
if text and text ~= "" then
if tooltip:NumLines() < i+1 then
-- add new line if required
tooltip:AddLine(text, r, g, b, true)
else
-- update existing lines
below:SetText(text)
below:SetTextColor(r, g, b)
below:Show()
-- hide processed line
current:Hide()
end
end
end
end
end
-- add label to first line
_G[name.."TextLeft1"]:SetTextColor(.5, .5, .5, 1)
_G[name.."TextLeft1"]:SetText(CURRENTLY_EQUIPPED)
_G[name.."TextLeft1"]:Show()
-- update tooltip sizes
tooltip:Show()
end
local slotTable = {
[INVTYPE_2HWEAPON] = "MainHandSlot",
[INVTYPE_BODY] = "ShirtSlot",
@@ -154,6 +195,7 @@ pfUI:RegisterModule("eqcompare", "vanilla", function ()
ShoppingTooltip1:SetInventoryItem("player", slotID)
ShoppingTooltip1:Show()
AddHeader(ShoppingTooltip1)
-- second tooltip
if slotTable[slotType .. "_other"] then
@@ -170,6 +212,7 @@ pfUI:RegisterModule("eqcompare", "vanilla", function ()
ShoppingTooltip2:SetInventoryItem("player", slotID_other)
ShoppingTooltip2:Show()
AddHeader(ShoppingTooltip2)
end
return true
end
+48 -17
View File
@@ -109,10 +109,9 @@ pfUI:RegisterModule("firstrun", "vanilla:tbc", function ()
f.abort:SetWidth(80)
f.abort:SetHeight(20)
f.abort:SetPoint("BOTTOMRIGHT", f.progress.backdrop, "BOTTOMLEFT", -8, 0)
f.abort:SetText(T["Defaults"])
f.abort:SetText(T["Cancel"])
f.abort:SetScript("OnClick", function()
autoconfig = true
f.next:Click()
f:Hide()
end)
SkinButton(f.abort)
f:Hide()
@@ -135,7 +134,7 @@ pfUI:RegisterModule("firstrun", "vanilla:tbc", function ()
f.Modern = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Modern:SetWidth(120)
f.Modern:SetHeight(20)
f.Modern:SetPoint("BOTTOM", -65, 80)
f.Modern:SetPoint("BOTTOM", -65, 100)
f.Modern:SetTextColor(1,1,1)
f.Modern:SetText("Modern")
f.Modern:SetScript("OnClick", function()
@@ -145,10 +144,23 @@ pfUI:RegisterModule("firstrun", "vanilla:tbc", function ()
end)
SkinButton(f.Modern)
f.Nostalgia = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Nostalgia:SetWidth(120)
f.Nostalgia:SetHeight(20)
f.Nostalgia:SetPoint("BOTTOM", 65, 100)
f.Nostalgia:SetTextColor(1,1,1)
f.Nostalgia:SetText("Nostalgia")
f.Nostalgia:SetScript("OnClick", function()
_G["pfUI_config"] = CopyTable(pfUI_profiles["Nostalgia"])
pfUI:LoadConfig()
ReloadUI()
end)
SkinButton(f.Nostalgia)
f.Legacy = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Legacy:SetWidth(120)
f.Legacy:SetHeight(20)
f.Legacy:SetPoint("BOTTOM", 65, 80)
f.Legacy:SetPoint("BOTTOM", 65, 75)
f.Legacy:SetTextColor(1,1,1)
f.Legacy:SetText("Legacy")
f.Legacy:SetScript("OnClick", function()
@@ -161,7 +173,7 @@ pfUI:RegisterModule("firstrun", "vanilla:tbc", function ()
f.Slim = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Slim:SetWidth(120)
f.Slim:SetHeight(20)
f.Slim:SetPoint("BOTTOM", -65, 55)
f.Slim:SetPoint("BOTTOM", -65, 75)
f.Slim:SetTextColor(1,1,1)
f.Slim:SetText("Slim")
f.Slim:SetScript("OnClick", function()
@@ -171,18 +183,37 @@ pfUI:RegisterModule("firstrun", "vanilla:tbc", function ()
end)
SkinButton(f.Slim)
f.Adapta = CreateFrame("Button", nil, f, "UIPanelButtonTemplate")
f.Adapta:SetWidth(120)
f.Adapta:SetHeight(20)
f.Adapta:SetPoint("BOTTOM", 65, 55)
f.Adapta:SetTextColor(1,1,1)
f.Adapta:SetText("Adapta")
f.Adapta:SetScript("OnClick", function()
_G["pfUI_config"] = CopyTable(pfUI_profiles["Adapta"])
pfUI:LoadConfig()
ReloadUI()
f.Slider = CreateFrame("Slider", "pfFirstRunWizardScaleSlider", f, "OptionsSliderTemplate")
f.Slider.text = f.Slider:CreateFontString("Status", "LOW", "GameFontWhite")
f.Slider.text:SetPoint("TOP", f.Slider, "BOTTOM", 0, 2)
f.Slider.text:SetText(T["Scale"])
f.Slider:SetWidth(240)
f.Slider:SetHeight(20)
f.Slider:SetPoint("BOTTOM", 0, 50)
f.Slider:SetOrientation('HORIZONTAL')
f.Slider:SetMinMaxValues(0.5, 2.0)
f.Slider:SetValue(UIParent:GetScale())
f.Slider:SetScript("OnMouseUp", function()
local scale = round(this:GetValue(),2)
SetCVar("uiScale", scale)
SetCVar("useUiScale", 1)
UIParent:SetScale(scale)
this:SetValue(scale)
end)
SkinButton(f.Adapta)
f.Slider:SetScript("OnValueChanged", function()
local scale = round(this:GetValue(),2)
this:SetValue(scale)
end)
f.Slider:SetScript("OnUpdate", function()
local scale = round(this:GetValue(),2)
this.text:SetText(T["Scale"] .. ": " .. scale * 100 .. "%")
end)
SkinSlider(f.Slider)
return f
end)
+49
View File
@@ -0,0 +1,49 @@
pfUI:RegisterModule("gryphons", "vanilla:tbc", function ()
pfUI.gryphons = {
frames = {
left = CreateFrame("Frame"),
right = CreateFrame("Frame"),
}
}
pfUI.gryphons.textures = {
["None"] = nil,
["Gryphon"] = "Interface\\MainMenuBar\\UI-MainMenuBar-EndCap-Dwarf",
["Lion"] = "Interface\\MainMenuBar\\UI-MainMenuBar-EndCap-Human",
}
pfUI.gryphons.UpdateConfig = function()
for position, frame in pairs(pfUI.gryphons.frames) do
local anchor = _G[C.bars.gryphons["anchor_"..position]]
local texture = pfUI.gryphons.textures[C.bars.gryphons.texture]
local r, g, b, a = GetStringColor(C.bars.gryphons.color)
local size = tonumber(C.bars.gryphons.size) or 50
local offset_h = tonumber(C.bars.gryphons.offset_h) or 0
local offset_v = tonumber(C.bars.gryphons.offset_v) or 0
local relative = "BOTTOM"..string.upper(position)
frame:SetParent(anchor)
frame:SetWidth(size)
frame:SetHeight(size)
frame:SetPoint(relative, anchor, relative, (position == "right" and -1 or 1) * offset_h, offset_v)
frame:SetFrameLevel(128)
frame.texture = frame.texture or frame:CreateTexture(nil, "OVERLAY")
frame.texture:SetTexture(texture)
frame.texture:SetVertexColor(r, g, b, a)
frame.texture:SetAllPoints()
if position == "right" then
frame.texture:SetTexCoord(1, 0, 0, 1)
end
if texture then
frame:Show()
else
frame:Hide()
end
end
end
pfUI.gryphons.UpdateConfig()
end)
+123 -32
View File
@@ -193,13 +193,13 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
local preview = this.prev
function ColorPickerFrame.func()
local r,g,b = ColorPickerFrame:GetColorRGB()
local r, g, b = ColorPickerFrame:GetColorRGB()
local a = 1 - OpacitySliderFrame:GetValue()
r = round(r, 1)
g = round(g, 1)
b = round(b, 1)
a = round(a, 1)
r = round(r, 3)
g = round(g, 3)
b = round(b, 3)
a = round(a, 3)
preview:SetTexture(r,g,b,a)
@@ -825,8 +825,8 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
"frFR:French",
"koKR:Korean",
"ruRU:Russian",
"zhCN:Chinese (simplified; China)",
"zhTW:Chinese (traditional; Taiwan)",
"zhCN:Chinese (Simplified)",
"zhTW:Chinese (Traditional)",
-- http://wowprogramming.com/docs/api/GetLocale
},
["fonts"] = {
@@ -1069,6 +1069,10 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
"combat:" .. T["Combat Timer"],
"ammo:" .. T["Ammo Counter"],
"soulshard:" .. T["Soulshard Counter"],
"bindlocation:" .. T["Hearth"],
"thistletea:" .. T["Thistle Tea"],
"flashpowder:" .. T["Flash Powder"],
"blindpowder:" .. T["Blinding Powder"],
"bagspace:" .. T["Bagspace"]
},
["tooltip_position"] = {
@@ -1192,6 +1196,11 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
"CENTER:" .. T["Center"],
"RIGHT:" .. T["Right"],
},
["gryphons"] = {
"None:"..T["None"],
"Gryphon:"..T["Gryphon"],
"Lion:"..T["Lion"],
}
}
-- add locale dependent client fonts to the list
@@ -1396,6 +1405,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(function() return end, T["Select profile"], C.global, "profile", "dropdown", function()
local values = {}
for name, config in pairs(pfUI_profiles) do table.insert(values, name) end
table.sort(values)
return values
end, false, "Profile")
@@ -1404,9 +1414,18 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
if C.global.profile and pfUI_profiles[C.global.profile] then
CreateQuestionDialog(T["Load profile"] .. " '|cff33ffcc" .. C.global.profile .. "|r'?", function()
local selp = C.global.profile
local rchat = C.chat.right.enable
-- load profile
_G["pfUI_config"] = CopyTable(pfUI_profiles[C.global.profile])
-- restore values
pfUI:UpdateConfig("global", nil, "profile", selp)
pfUI:UpdateConfig("chat", "right", "enable", rchat)
-- add default values
pfUI:LoadConfig()
C.global.profile = selp
ReloadUI()
end)
end
@@ -1560,6 +1579,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Cooldown Color (Hours)"], C.appearance.cd, "hourcolor", "color")
CreateConfig(nil, T["Cooldown Color (Days)"], C.appearance.cd, "daycolor", "color")
CreateConfig(nil, T["Use Dynamic Font Size"], C.appearance.cd, "dynamicsize", "checkbox")
CreateConfig(nil, T["Cooldown Text Font"], C.appearance.cd, "font", "dropdown", pfUI.gui.dropdowns.fonts)
CreateConfig(nil, T["Cooldown Text Font Size"], C.appearance.cd, "font_size")
CreateConfig(nil, T["Cooldown Text Font Size (Blizzard Frames)"], C.appearance.cd, "font_size_blizz")
CreateConfig(nil, T["Cooldown Text Font Size (Foreign Frames)"], C.appearance.cd, "font_size_foreign")
@@ -1597,7 +1617,8 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Always Use 2D Portraits"], C.unitframes, "always2dportrait", "checkbox")
CreateConfig(nil, T["Enable 2D Portraits As Fallback"], C.unitframes, "portraittexture", "checkbox")
CreateConfig(nil, T["Unit Frame Layout"], C.unitframes, "layout", "dropdown", pfUI.gui.dropdowns.uf_layout)
CreateConfig(nil, T["Combopoint Size"], C.unitframes, "combosize")
CreateConfig(nil, T["Combopoint Width"], C.unitframes, "combowidth")
CreateConfig(nil, T["Combopoint Height"], C.unitframes, "comboheight")
CreateConfig(nil, T["Show Resting"], C.unitframes.player, "showRest", "checkbox")
CreateConfig(nil, T["Enable Energy Ticks"], C.unitframes.player, "energy", "checkbox")
CreateConfig(nil, T["Enable Mana Ticks"], C.unitframes.player, "manatick", "checkbox")
@@ -1631,6 +1652,11 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Rage Color"], C.unitframes, "ragecolor", "color")
CreateConfig(nil, T["Energy Color"], C.unitframes, "energycolor", "color")
CreateConfig(nil, T["Focus Color"], C.unitframes, "focuscolor", "color")
CreateConfig(nil, T["SuperWoW Settings"], nil, nil, "header")
CreateConfig(nil, T["Show Druid Mana Bar"], C.unitframes, "druidmanabar", "checkbox", nil, nil, nil, nil, "vanilla" )
CreateConfig(nil, T["Druid Mana Bar Height"], C.unitframes, "druidmanaheight", nil, nil, nil, nil, nil, "vanilla" )
CreateConfig(nil, T["Druid Mana Bar Text"], C.unitframes, "druidmanatext", "checkbox", nil, nil, nil, nil, "vanilla" )
end)
-- Shared Unit- and Groupframes
@@ -1714,6 +1740,10 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U[c], T["Power Bar Texture"], C.unitframes[c], "pbartexture", "dropdown", pfUI.gui.dropdowns.uf_bartexture)
CreateConfig(U[c], T["UnitFrame Spacing"], C.unitframes[c], "pspace")
CreateConfig(U[c], T["Show PvP-Flag"], C.unitframes[c], "showPVP", "checkbox")
CreateConfig(U[c], T["PVP Flag Size"], C.unitframes[c], "pvpiconsize")
CreateConfig(U[c], T["PvP Flag Position"], C.unitframes[c], "pvpiconalign", "dropdown", pfUI.gui.dropdowns.positions)
CreateConfig(U[c], T["PvP Flag X-Offset"], C.unitframes[c], "pvpiconoffx")
CreateConfig(U[c], T["PvP Flag Y-Offset"], C.unitframes[c], "pvpiconoffy")
CreateConfig(U[c], T["Show Loot Icon"], C.unitframes[c], "looticon", "checkbox")
CreateConfig(U[c], T["Show Leader Icon"], C.unitframes[c], "leadericon", "checkbox")
if c == "pet" then
@@ -1721,11 +1751,18 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U[c], T["Happiness Icon Size"], C.unitframes[c], "happinesssize")
end
CreateConfig(U[c], T["Show Raid Mark"], C.unitframes[c], "raidicon", "checkbox")
CreateConfig(U[c], T["Raid Mark Position"], C.unitframes[c], "raidiconalign", "dropdown", pfUI.gui.dropdowns.positions)
CreateConfig(U[c], T["Raid Mark X-Offset"], C.unitframes[c], "raidiconoffx")
CreateConfig(U[c], T["Raid Mark Y-Offset"], C.unitframes[c], "raidiconoffy")
CreateConfig(U[c], T["Raid Mark Size"], C.unitframes[c], "raidiconsize")
CreateConfig(U[c], T["Heal Color"], C.unitframes[c], "healcolor", "color")
CreateConfig(U[c], T["Display Overheal"], C.unitframes[c], "overhealperc", "dropdown", pfUI.gui.dropdowns.uf_overheal)
if c == "raid" then
CreateConfig(U["raid"], T["Display Raid Group Label"], C.unitframes[c], "raidgrouplabel", "checkbox")
CreateConfig(U["raid"], T["Group Label X-Offset"], C.unitframes[c], "grouplabelxoff")
CreateConfig(U["raid"], T["Group Label Y-Offset"], C.unitframes[c], "grouplabelyoff")
CreateConfig(U[c], T["Layout"], nil, nil, "header")
CreateConfig(U["raid"], T["Raid Padding"], C.unitframes[c], "raidpadding")
CreateConfig(U["raid"], T["Raid Layout"], C.unitframes[c], "raidlayout", "dropdown", pfUI.gui.dropdowns.uf_raidlayout)
@@ -1778,6 +1815,22 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U[c], T["Show Timer Text"], C.unitframes[c], "cooldown_text", "checkbox")
CreateConfig(U[c], T["Show Timer Animation"], C.unitframes[c], "cooldown_anim", "checkbox")
CreateConfig(U[c], T["Buffs"], nil, nil, "header")
CreateConfig(U[c], T["Buff Position"], C.unitframes[c], "buffs", "dropdown", pfUI.gui.dropdowns.uf_buff_position)
CreateConfig(U[c], T["Buff Size"], C.unitframes[c], "buffsize")
CreateConfig(U[c], T["Buff Limit"], C.unitframes[c], "bufflimit")
CreateConfig(U[c], T["Buffs Per Row"], C.unitframes[c], "buffperrow")
CreateConfig(U[c], T["Debuffs"], nil, nil, "header")
CreateConfig(U[c], T["Debuff Position"], C.unitframes[c], "debuffs", "dropdown", pfUI.gui.dropdowns.uf_buff_position)
CreateConfig(U[c], T["Debuff Size"], C.unitframes[c], "debuffsize")
CreateConfig(U[c], T["Debuff Limit"], C.unitframes[c], "debufflimit")
CreateConfig(U[c], T["Debuffs Per Row"], C.unitframes[c], "debuffperrow")
if c ~= "player" then
CreateConfig(U[c], T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.unitframes[c], "selfdebuff", "checkbox")
end
CreateConfig(U[c], T["Combat/Aggro Indicators"], nil, nil, "header")
CreateConfig(U[c], T["Display Aggro Indicator"], C.unitframes[c], "squareaggro", "checkbox")
CreateConfig(U[c], T["Display Combat Indicator"], C.unitframes[c], "squarecombat", "checkbox")
@@ -1805,18 +1858,6 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U[c], T["Indicator Position"], C.unitframes[c], "debuff_ind_pos", "dropdown", pfUI.gui.dropdowns.positions)
CreateConfig(U[c], T["Indicator Size"], C.unitframes[c], "debuff_ind_size", "dropdown", pfUI.gui.dropdowns.uf_debuff_indicator_size)
CreateConfig(U[c], T["Buffs"], nil, nil, "header")
CreateConfig(U[c], T["Buff Position"], C.unitframes[c], "buffs", "dropdown", pfUI.gui.dropdowns.uf_buff_position)
CreateConfig(U[c], T["Buff Size"], C.unitframes[c], "buffsize")
CreateConfig(U[c], T["Buff Limit"], C.unitframes[c], "bufflimit")
CreateConfig(U[c], T["Buffs Per Row"], C.unitframes[c], "buffperrow")
CreateConfig(U[c], T["Debuffs"], nil, nil, "header")
CreateConfig(U[c], T["Debuff Position"], C.unitframes[c], "debuffs", "dropdown", pfUI.gui.dropdowns.uf_buff_position)
CreateConfig(U[c], T["Debuff Size"], C.unitframes[c], "debuffsize")
CreateConfig(U[c], T["Debuff Limit"], C.unitframes[c], "debufflimit")
CreateConfig(U[c], T["Debuffs Per Row"], C.unitframes[c], "debuffperrow")
CreateConfig(U[c], T["Overwrite Fonts"], nil, nil, "header")
CreateConfig(U[c], T["Use Custom Font Settings"], C.unitframes[c], "customfont", "checkbox")
CreateConfig(U[c], T["Custom Font Name"], C.unitframes[c], "customfont_name", "dropdown", pfUI.gui.dropdowns.fonts)
@@ -1868,6 +1909,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateGUIEntry(T["Minimap"], T["Minimap"], function()
CreateConfig(U["minimap"], T["Minimap Size (|cffffaaaaExperimental|r)"], C.appearance.minimap, "size")
CreateConfig(U["minimap"], T["Minimap Player Arrow Scale"], C.appearance.minimap, "arrowscale")
CreateConfig(nil, T["Zone Text On Minimap"], C.appearance.minimap, "zonetext", "dropdown", pfUI.gui.dropdowns.minimap_zone_visibility)
CreateConfig(nil, T["Coordinates On Minimap"], C.appearance.minimap, "coordstext", "dropdown", pfUI.gui.dropdowns.minimap_cords_visibility)
CreateConfig(nil, T["Coordinates Location"], C.appearance.minimap, "coordsloc", "dropdown", pfUI.gui.dropdowns.minimap_cords_position)
@@ -1958,6 +2000,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Color Debuff Stacks"], C.buffbar.tdebuff, "colorstacks", "checkbox")
CreateConfig(nil, T["Buffbar Width"], C.buffbar.tdebuff, "width")
CreateConfig(nil, T["Buffbar Height"], C.buffbar.tdebuff, "height")
CreateConfig(nil, T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.buffbar.tdebuff, "selfdebuff", "checkbox")
CreateConfig(nil, T["Filter Mode"], C.buffbar.tdebuff, "filter", "dropdown", pfUI.gui.dropdowns.buffbarfilter)
CreateConfig(nil, T["Time Threshold"], C.buffbar.tdebuff, "threshold")
CreateConfig(nil, T["Whitelist"], C.buffbar.tdebuff, "whitelist", "list")
@@ -2003,6 +2046,16 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Range Based Hunter Paging"], C.bars, "hunterbar", "checkbox", nil, nil, nil, nil, "vanilla")
end)
CreateGUIEntry(T["Actionbar"], T["Gryphons"], function()
CreateConfig(U["gryphons"], T["Texture"], C.bars.gryphons, "texture", "dropdown", pfUI.gui.dropdowns.gryphons)
CreateConfig(U["gryphons"], T["Color"], C.bars.gryphons, "color", "color")
CreateConfig(U["gryphons"], T["Left Anchor"], C.bars.gryphons, "anchor_left", "dropdown", pfUI.gui.dropdowns.xpanchors)
CreateConfig(U["gryphons"], T["Right Anchor"], C.bars.gryphons, "anchor_right", "dropdown", pfUI.gui.dropdowns.xpanchors)
CreateConfig(U["gryphons"], T["Size"], C.bars.gryphons, "size")
CreateConfig(U["gryphons"], T["Horizontal Offset"], C.bars.gryphons, "offset_h")
CreateConfig(U["gryphons"], T["Vertical Offset"], C.bars.gryphons, "offset_v")
end)
-- Shared Actionbar Settings
local barnames = {
-- default
@@ -2099,6 +2152,11 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["xpbar"], T["Aligned Position"], C.panel.xp, "xp_position", "dropdown", pfUI.gui.dropdowns.xp_position)
CreateConfig(U["xpbar"], T["Don't overlap rested"], C.panel.xp, "dont_overlap", "checkbox")
CreateConfig(nil, T["Text"], nil, nil, "header")
CreateConfig(U["xpbar"], T["Show Text"], C.panel.xp, "xp_text", "checkbox")
CreateConfig(U["xpbar"], T["Vertical Text Offset"], C.panel.xp, "xp_text_off_y")
CreateConfig(U["xpbar"], T["Only Show On Mouse Over"], C.panel.xp, "xp_text_mouse", "checkbox")
CreateConfig(nil, T["Colors"], nil, nil, "header")
CreateConfig(U["xpbar"], T["Experience Color"], C.panel.xp, "xp_color", "color")
CreateConfig(U["xpbar"], T["Rested Color"], C.panel.xp, "rest_color", "color")
@@ -2114,6 +2172,11 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["xpbar"], T["Orientation"], C.panel.xp, "rep_mode", "dropdown", pfUI.gui.dropdowns.orientation)
CreateConfig(U["xpbar"], T["Frame Anchor"], C.panel.xp, "rep_anchor", "dropdown", pfUI.gui.dropdowns.xpanchors)
CreateConfig(U["xpbar"], T["Aligned Position"], C.panel.xp, "rep_position", "dropdown", pfUI.gui.dropdowns.xp_position)
CreateConfig(nil, T["Text"], nil, nil, "header")
CreateConfig(U["xpbar"], T["Show Text"], C.panel.xp, "rep_text", "checkbox")
CreateConfig(U["xpbar"], T["Vertical Text Offset"], C.panel.xp, "rep_text_off_y")
CreateConfig(U["xpbar"], T["Only Show On Mouse Over"], C.panel.xp, "rep_text_mouse", "checkbox")
end)
CreateGUIEntry(T["Tooltip"], nil, function()
@@ -2142,34 +2205,46 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Disable Blizzard Castbar"], C.castbar.player, "hide_blizz", "checkbox")
CreateConfig(nil, T["Player Castbar"], nil, nil, "header")
CreateConfig(nil, T["Disable Player Castbar"], C.castbar.player, "hide_pfui", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.player, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.player, "height")
CreateConfig(nil, T["Show Spell Icon"], C.castbar.player, "showicon", "checkbox")
CreateConfig(nil, T["Show Spell Name"], C.castbar.player, "showname", "checkbox")
CreateConfig(nil, T["Show Timer"], C.castbar.player, "showtimer", "checkbox")
CreateConfig(nil, T["Left Text X Offset"], C.castbar.player, "txtleftoffx")
CreateConfig(nil, T["Left Text Y Offset"], C.castbar.player, "txtleftoffy")
CreateConfig(nil, T["Show Lag"], C.castbar.player, "showlag", "checkbox")
CreateConfig(nil, T["Show Rank"], C.castbar.player, "showrank", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.player, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.player, "height")
CreateConfig(nil, T["Disable Player Castbar"], C.castbar.player, "hide_pfui", "checkbox")
CreateConfig(nil, T["Right Text X Offset"], C.castbar.player, "txtrightoffx")
CreateConfig(nil, T["Right Text Y Offset"], C.castbar.player, "txtrightoffy")
CreateConfig(nil, T["Target Castbar"], nil, nil, "header")
CreateConfig(nil, T["Disable Target Castbar"], C.castbar.target, "hide_pfui", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.target, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.target, "height")
CreateConfig(nil, T["Show Spell Icon"], C.castbar.target, "showicon", "checkbox")
CreateConfig(nil, T["Show Spell Name"], C.castbar.target, "showname", "checkbox")
CreateConfig(nil, T["Show Timer"], C.castbar.target, "showtimer", "checkbox")
CreateConfig(nil, T["Left Text X Offset"], C.castbar.target, "txtleftoffx")
CreateConfig(nil, T["Left Text Y Offset"], C.castbar.target, "txtleftoffy")
CreateConfig(nil, T["Show Lag"], C.castbar.target, "showlag", "checkbox")
CreateConfig(nil, T["Show Rank"], C.castbar.target, "showrank", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.target, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.target, "height")
CreateConfig(nil, T["Disable Target Castbar"], C.castbar.target, "hide_pfui", "checkbox")
CreateConfig(nil, T["Right Text X Offset"], C.castbar.target, "txtrightoffx")
CreateConfig(nil, T["Right Text Y Offset"], C.castbar.target, "txtrightoffy")
CreateConfig(nil, T["Focus Castbar"], nil, nil, "header")
CreateConfig(nil, T["Disable Focus Castbar"], C.castbar.focus, "hide_pfui", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.focus, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.focus, "height")
CreateConfig(nil, T["Show Spell Icon"], C.castbar.focus, "showicon", "checkbox")
CreateConfig(nil, T["Show Spell Name"], C.castbar.focus, "showname", "checkbox")
CreateConfig(nil, T["Show Timer"], C.castbar.focus, "showtimer", "checkbox")
CreateConfig(nil, T["Left Text X Offset"], C.castbar.focus, "txtleftoffx")
CreateConfig(nil, T["Left Text Y Offset"], C.castbar.focus, "txtleftoffy")
CreateConfig(nil, T["Show Lag"], C.castbar.focus, "showlag", "checkbox")
CreateConfig(nil, T["Show Rank"], C.castbar.focus, "showrank", "checkbox")
CreateConfig(nil, T["Castbar Width"], C.castbar.focus, "width")
CreateConfig(nil, T["Castbar Height"], C.castbar.focus, "height")
CreateConfig(nil, T["Disable Focus Castbar"], C.castbar.focus, "hide_pfui", "checkbox")
CreateConfig(nil, T["Right Text X Offset"], C.castbar.focus, "txtrightoffx")
CreateConfig(nil, T["Right Text Y Offset"], C.castbar.focus, "txtrightoffy")
end)
CreateGUIEntry(T["Chat"], nil, function()
@@ -2188,7 +2263,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Generate Playerlinks"], C.chat.text, "playerlinks", "checkbox")
CreateConfig(nil, T["Enable URL Detection"], C.chat.text, "detecturl", "checkbox")
CreateConfig(nil, T["Enable Class Colors"], C.chat.text, "classcolor", "checkbox")
CreateConfig(nil, T["Who Search Unknown Classes"], C.chat.text, "whosearchunknown", "checkbox")
CreateConfig(nil, T["Who Search Unknown Classes (|cffffaaaaExperimental|r)"], C.chat.text, "whosearchunknown", "checkbox")
CreateConfig(nil, T["Colorize Unknown Classes"], C.chat.text, "tintunknown", "checkbox")
CreateConfig(nil, T["Unknown Class Color"], C.chat.text, "unknowncolor", "color")
CreateConfig(nil, T["Left Chat Width"], C.chat.left, "width")
@@ -2223,6 +2298,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["nameplates"], T["Inactive Nameplate Alpha"], C.nameplates, "notargalpha", "dropdown", pfUI.gui.dropdowns.percent_small)
CreateConfig(U["nameplates"], T["Draw Glow Around Target Nameplate"], C.nameplates, "targetglow", "checkbox")
CreateConfig(U["nameplates"], T["Glow Color Around Target Nameplate"], C.nameplates, "glowcolor", "color")
CreateConfig(U["nameplates"], T["Red Name Text On Infight Units"], C.nameplates, "namefightcolor", "checkbox")
CreateConfig(U["nameplates"], T["Zoom Target Nameplate"], C.nameplates, "targetzoom", "checkbox")
CreateConfig(U["nameplates"], T["Target Nameplate Zoom Factor"], C.nameplates, "targetzoomval", "dropdown", pfUI.gui.dropdowns.percent_small)
CreateConfig(U["nameplates"], T["Nameplate Width"], C.nameplates, "width")
@@ -2258,6 +2334,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["nameplates"], T["Debuff Icon Size"], C.nameplates, "debuffsize")
CreateConfig(U["nameplates"], T["Estimate Debuffs"], C.nameplates, "guessdebuffs", "checkbox")
CreateConfig(U["nameplates"], T["Show Debuff Stacks"], C.nameplates.debuffs, "showstacks", "checkbox")
CreateConfig(U["nameplates"], T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.nameplates, "selfdebuff", "checkbox")
CreateConfig(U["nameplates"], T["Filter Mode"], C.nameplates.debuffs, "filter", "dropdown", pfUI.gui.dropdowns.buffbarfilter)
CreateConfig(U["nameplates"], T["Blacklist"], C.nameplates.debuffs, "blacklist", "list")
CreateConfig(U["nameplates"], T["Whitelist"], C.nameplates.debuffs, "whitelist", "list")
@@ -2269,7 +2346,6 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["nameplates"], T["Red Border On Enemy Units"], C.nameplates, "outenemy", "checkbox")
CreateConfig(U["nameplates"], T["Border Around Target Unit"], C.nameplates, "targethighlight", "checkbox")
CreateConfig(U["nameplates"], T["Border Color Around Target Unit"], C.nameplates, "highlightcolor", "color")
CreateConfig(U["nameplates"], T["Overwrite Border Color With Combat State"], C.nameplates, "outcombatstate", "checkbox")
CreateConfig(nil, T["Healthbar"], nil, nil, "header")
CreateConfig(U["nameplates"], T["Healthbar Vertical Offset"], C.nameplates.health, "offset")
@@ -2288,6 +2364,21 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(U["nameplates"], T["Always Show On Units With Missing HP"], C.nameplates, "fullhealth", "checkbox")
CreateConfig(U["nameplates"], T["Always Show On Target Units"], C.nameplates, "target", "checkbox")
CreateConfig(U["nameplates"], T["Vertical Healthbar"], C.nameplates, "verticalhealth", "checkbox")
CreateConfig(nil, T["SuperWoW Settings"], nil, nil, "header")
CreateConfig(U["nameplates"], T["Overwrite Border Color With Combat State"], C.nameplates, "outcombatstate", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite Health Color With Combat State"], C.nameplates, "barcombatstate", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite If Unit Is Attacking You"], C.nameplates, "ccombatthreat", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite If Unit Is Attacking Off-Tank"], C.nameplates, "ccombatofftank", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite If Unit Is Attacking Others"], C.nameplates, "ccombatnothreat", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite If Unit Is Attacking No One"], C.nameplates, "ccombatstun", "checkbox")
CreateConfig(U["nameplates"], T["Overwrite If Unit Is Casting"], C.nameplates, "ccombatcasting", "checkbox")
CreateConfig(U["nameplates"], T["Unit Is Attacking You Color"], C.nameplates, "combatthreat", "color")
CreateConfig(U["nameplates"], T["Unit Is Attacking Off-Tank Color"], C.nameplates, "combatofftank", "color")
CreateConfig(U["nameplates"], T["Unit Is Attacking Others Color"], C.nameplates, "combatnothreat", "color")
CreateConfig(U["nameplates"], T["Unit Is Attacking No One Color"], C.nameplates, "combatstun", "color")
CreateConfig(U["nameplates"], T["Unit Is Casting Color"], C.nameplates, "combatcasting", "color")
CreateConfig(U["nameplates"], T["Off-Tank Names"], C.nameplates, "combatofftanks", "list")
end)
CreateGUIEntry(T["Thirdparty"], T["Integrations"], function()
+44 -10
View File
@@ -2,30 +2,64 @@ pfUI:RegisterModule("itemclick", "vanilla", function ()
-- small module that tries to decide if an item should be used or dropped into
-- the auctionhouse search or trade window
-- helper functions
local IsTrading = function()
return TradeFrame:IsShown()
end
local IsAuctionBrowsing = function()
return AuctionFrame and AuctionFrame:IsShown() and AuctionFrameBrowse and AuctionFrameBrowse:IsShown()
end
local IsAuctionSelling = function()
return AuctionFrame and AuctionFrame:IsShown() and AuctionFrameAuctions and AuctionFrameAuctions:IsShown()
end
-- overwrite use/trade logic unless shift is pressed
local pfHookUseContainerItem = _G.UseContainerItem
function _G.UseContainerItem(bag,slot)
if TradeFrame:IsShown() then
PickupContainerItem(bag,slot)
function _G.UseContainerItem(bag, slot)
if IsTrading() and not IsShiftKeyDown() then
-- move item to trade window
PickupContainerItem(bag, slot)
local slot = TradeFrame_GetAvailableSlot()
if slot then ClickTradeButton(slot) end
if CursorHasItem() then
ClearCursor()
end
elseif AuctionFrame and AuctionFrame:IsShown() and
AuctionFrameBrowse and AuctionFrameBrowse:IsShown() then
local link = GetContainerItemLink(bag,slot)
elseif IsAuctionBrowsing() and not IsShiftKeyDown() then
-- search item in auction house
local link = GetContainerItemLink(bag, slot)
local name = link and string.sub(link, string.find(link, "%[")+1, string.find(link, "%]")-1) or ""
BrowseName:SetText(name)
AuctionFrameBrowse_Search()
elseif AuctionFrame and AuctionFrame:IsShown() and
AuctionFrameAuctions and AuctionFrameAuctions:IsShown() then
PickupContainerItem(bag,slot)
elseif IsAuctionSelling() and not IsShiftKeyDown() then
-- sell item to auction house
PickupContainerItem(bag, slot)
AuctionsItemButton:Click()
if CursorHasItem() then
ClearCursor()
end
else
pfHookUseContainerItem(bag,slot)
-- default action
pfHookUseContainerItem(bag, slot)
end
end
-- detect bag button tooltips
local showHelperNextTooltip = false
local pfHookSetBagItem = GameTooltip.SetBagItem
function GameTooltip.SetBagItem(self, container, slot)
showHelperNextTooltip = IsTrading() or IsAuctionBrowsing() or IsAuctionSelling()
return pfHookSetBagItem(self, container, slot)
end
-- add helper text to tooltips
local tooltip = CreateFrame("Frame", "pfItemClickHelpMessage", GameTooltip)
tooltip:SetScript("OnShow", function()
if showHelperNextTooltip then
GameTooltip:AddLine(T["Hold [Shift] to use item."], 0.50, 0.75, 1.00)
GameTooltip:Show()
showHelperNextTooltip = false
end
end)
end)
+1 -1
View File
@@ -426,7 +426,7 @@ pfUI:RegisterModule("loot", "vanilla:tbc", function ()
end
end
end
end,true)
end)
else
pfUI.loot:RemoveMasterlootMenus()
UIDropDownMenu_Initialize(GroupLootDropDown, GroupLootDropDown_Initialize, "MENU")
+11 -1
View File
@@ -63,7 +63,17 @@ pfUI:RegisterModule("map", "vanilla:tbc", function ()
end
if IsControlKeyDown() then
scale = clamp(WorldMapFrame:GetScale() + arg1/10, 0.1, 2.0)
local oldscale = WorldMapFrame:GetScale()
local point, rel, relpoint, offx, offy = WorldMapFrame:GetPoint()
scale = clamp(oldscale + arg1/10, 0.1, 2.0)
-- recalculate world frame position based on old and new scale
if point == "TOPLEFT" and relpoint == "TOPLEFT" then
offx = offx*oldscale/scale
offy = offy*oldscale/scale
WorldMapFrame:SetPoint(point, rel, relpoint, offx, offy)
end
WorldMapFrame:SetScale(scale)
UpdateTooltipScale()
end
+17 -1
View File
@@ -38,6 +38,22 @@ pfUI:RegisterModule("minimap", "vanilla:tbc", function ()
Minimap:SetWidth(size)
Minimap:SetHeight(size)
-- vanilla+tbc: do the best to detect the minimap arrow
local arrowscale = tonumber(C.appearance.minimap.arrowscale)
local minimaparrow = ({Minimap:GetChildren()})[9]
for k, v in pairs({Minimap:GetChildren()}) do
if v:IsObjectType("Model") and not v:GetName() then
if string.find(strlower(v:GetModel()), "interface\\minimap\\minimaparrow") then
minimaparrow = v
break
end
end
end
if minimaparrow then
minimaparrow:SetScale(arrowscale)
end
end
pfUI.minimap:UpdateConfig()
@@ -56,7 +72,7 @@ pfUI:RegisterModule("minimap", "vanilla:tbc", function ()
pfUI.minimap:SetAlpha(0)
Minimap:Hide()
end
end, true)
end)
-- battleground icon
MiniMapBattlefieldFrame:ClearAllPoints()
+139 -56
View File
@@ -10,6 +10,18 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
["FRIENDLY_PLAYER"] = { .2, .6, 1, .8 }
}
local offtanks = {}
local combatstate = {
-- gets overwritten by user config
["OFFTANK"] = { r = .7, g = .4, b = .2, a = 1 },
["NOTHREAT"] = { r = .7, g = .7, b = .2, a = 1 },
["THREAT"] = { r = .7, g = .2, b = .2, a = 1 },
["CASTING"] = { r = .7, g = .2, b = .7, a = 1 },
["STUN"] = { r = .2, g = .7, b = .7, a = 1 },
["NONE"] = { r = .2, g = .2, b = .2, a = 1 },
}
local elitestrings = {
["elite"] = "+",
["rareelite"] = "R+",
@@ -28,6 +40,33 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
-- cache default border color
local er, eg, eb, ea = GetStringColor(pfUI_config.appearance.border.color)
local function GetCombatStateColor(guid)
local target = guid.."target"
local color = false
if UnitAffectingCombat("player") and UnitAffectingCombat(guid) and not UnitCanAssist("player", guid) then
if C.nameplates.ccombatcasting == "1" and (UnitCastingInfo(guid) or UnitChannelInfo(guid)) then
color = combatstate.CASTING
elseif C.nameplates.ccombatthreat == "1" and UnitIsUnit(target, "player") then
color = combatstate.THREAT
elseif C.nameplates.ccombatofftank == "1" and UnitName(target) and offtanks[strlower(UnitName(target))] then
color = combatstate.OFFTANK
elseif C.nameplates.ccombatofftank == "1" and pfUI.uf and pfUI.uf.raid and pfUI.uf.raid.tankrole[UnitName(target)] then
color = combatstate.OFFTANK
elseif C.nameplates.ccombatnothreat == "1" and UnitExists(target) then
color = combatstate.NOTHREAT
elseif C.nameplates.ccombatstun == "1" and not UnitExists(target) and not UnitIsPlayer(guid) then
color = combatstate.STUN
end
end
return color
end
local function DoNothing()
return
end
local function IsNamePlate(frame)
if frame:GetObjectType() ~= NAMEPLATE_FRAMETYPE then return nil end
regions = plate:GetRegions()
@@ -161,8 +200,15 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
if not self.debuffcache then self.debuffcache = {} end
for id = 1, 16 do
local effect, _, texture, stacks, _, duration, timeleft = libdebuff:UnitDebuff(unitstr, id)
if effect and timeleft then
local effect, _, texture, stacks, _, duration, timeleft
if unitstr and C.nameplates.selfdebuff == "1" then
effect, _, texture, stacks, _, duration, timeleft = libdebuff:UnitOwnDebuff(unitstr, id)
else
effect, _, texture, stacks, _, duration, timeleft = libdebuff:UnitDebuff(unitstr, id)
end
if effect and timeleft and timeleft > 0 then
local start = GetTime() - ( (duration or 0) - ( timeleft or 0) )
local stop = GetTime() + ( timeleft or 0 )
self.debuffcache[id] = self.debuffcache[id] or {}
@@ -172,9 +218,7 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
self.debuffcache[id].duration = duration or 0
self.debuffcache[id].start = start
self.debuffcache[id].stop = stop
elseif self.debuffcache[id] then
self.debuffcache[id] = nil
table.remove(self.debuffcache, id)
self.debuffcache[id].empty = nil
end
end
@@ -182,10 +226,16 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
end
local function PlateUnitDebuff(self, id)
-- break on unknown data
if not self.debuffcache then return end
if not self.debuffcache[id] then return end
if not self.debuffcache[id].stop then return end
-- break on timeout debuffs
if self.debuffcache[id].empty then return end
if self.debuffcache[id].stop < GetTime() then return end
-- return cached debuff
local c = self.debuffcache[id]
return c.effect, c.rank, c.texture, c.stacks, c.dtype, c.duration, (c.stop - GetTime())
end
@@ -205,7 +255,18 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
plate.debuffs[index].stacks:SetJustifyV("BOTTOM")
plate.debuffs[index].stacks:SetTextColor(1,1,0)
plate.debuffs[index].cd = CreateFrame(COOLDOWN_FRAME_TYPE, plate.platename.."Debuff"..index.."Cooldown", plate.debuffs[index], "CooldownFrameTemplate")
if pfUI.client <= 11200 then
-- create a fake animation frame on vanilla to improve performance
plate.debuffs[index].cd = CreateFrame("Frame", plate.platename.."Debuff"..index.."Cooldown", plate.debuffs[index])
plate.debuffs[index].cd:SetScript("OnUpdate", CooldownFrame_OnUpdateModel)
plate.debuffs[index].cd.AdvanceTime = DoNothing
plate.debuffs[index].cd.SetSequence = DoNothing
plate.debuffs[index].cd.SetSequenceTime = DoNothing
else
-- use regular cooldown animation frames on burning crusade and later
plate.debuffs[index].cd = CreateFrame(COOLDOWN_FRAME_TYPE, plate.platename.."Debuff"..index.."Cooldown", plate.debuffs[index], "CooldownFrameTemplate")
end
plate.debuffs[index].cd.pfCooldownStyleAnimation = 0
plate.debuffs[index].cd.pfCooldownType = "ALL"
end
@@ -455,6 +516,18 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
local healthoffset = tonumber(C.nameplates.health.offset)
local orientation = C.nameplates.verticalhealth == "1" and "VERTICAL" or "HORIZONTAL"
local c = combatstate -- load combat state colors
c.CASTING.r, c.CASTING.g, c.CASTING.b, c.CASTING.a = GetStringColor(C.nameplates.combatcasting)
c.THREAT.r, c.THREAT.g, c.THREAT.b, c.THREAT.a = GetStringColor(C.nameplates.combatthreat)
c.NOTHREAT.r, c.NOTHREAT.g, c.NOTHREAT.b, c.NOTHREAT.a = GetStringColor(C.nameplates.combatnothreat)
c.OFFTANK.r, c.OFFTANK.g, c.OFFTANK.b, c.OFFTANK.a = GetStringColor(C.nameplates.combatofftank)
c.STUN.r, c.STUN.g, c.STUN.b, c.STUN.a = GetStringColor(C.nameplates.combatstun)
offtanks = {}
for k, v in pairs({strsplit("#", C.nameplates.combatofftanks)}) do
offtanks[string.lower(v)] = true
end
nameplate:SetWidth(plate_width)
nameplate:SetHeight(plate_height)
nameplate:SetPoint("TOP", parent, "TOP", 0, 0)
@@ -499,7 +572,7 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
nameplate.castbar:SetPoint("TOPLEFT", nameplate.health, "BOTTOMLEFT", 0, -default_border*3)
nameplate.castbar:SetPoint("TOPRIGHT", nameplate.health, "BOTTOMRIGHT", 0, -default_border*3)
nameplate.castbar:SetHeight(C.nameplates.heightcast)
nameplate.castbar:SetStatusBarTexture(pfUI.media["img:bar"])
nameplate.castbar:SetStatusBarTexture(hptexture)
nameplate.castbar:SetStatusBarColor(.9,.8,0,1)
CreateBackdrop(nameplate.castbar, default_border)
@@ -584,29 +657,23 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
-- target indicator
if superwow_active and C.nameplates.outcombatstate == "1" then
local guid = plate.parent:GetName(1) or ""
local target = guid.."target"
if UnitAffectingCombat(guid) then
if UnitIsUnit(target, "player") then
plate.health.backdrop:SetBackdropBorderColor(.7,.2,.3,1)
elseif UnitExists(target) or UnitIsPlayer(guid) then
plate.health.backdrop:SetBackdropBorderColor(.7,.7,.2,1)
else
plate.health.backdrop:SetBackdropBorderColor(.2,.7,.7,1)
end
else
plate.health.backdrop:SetBackdropBorderColor(.2,.2,.2,1)
end
-- determine color based on combat state
local color = GetCombatStateColor(guid)
if not color then color = combatstate.NONE end
-- set border color
plate.health.backdrop:SetBackdropBorderColor(color.r, color.g, color.b, color.a)
elseif target and C.nameplates.targethighlight == "1" then
plate.health.backdrop:SetBackdropBorderColor(plate.health.hlr, plate.health.hlg, plate.health.hlb, plate.health.hla)
elseif C.nameplates.outfriendlynpc == "1" and unittype == "FRIENDLY_NPC" then
plate.health.backdrop:SetBackdropBorderColor(.2,.7,.3,1)
plate.health.backdrop:SetBackdropBorderColor(unpack(unitcolors[unittype]))
elseif C.nameplates.outfriendly == "1" and unittype == "FRIENDLY_PLAYER" then
plate.health.backdrop:SetBackdropBorderColor(.2,.3,.7,1)
plate.health.backdrop:SetBackdropBorderColor(unpack(unitcolors[unittype]))
elseif C.nameplates.outneutral == "1" and strfind(unittype, "NEUTRAL") then
plate.health.backdrop:SetBackdropBorderColor(.7,.7,.2,1)
plate.health.backdrop:SetBackdropBorderColor(unpack(unitcolors[unittype]))
elseif C.nameplates.outenemy == "1" and strfind(unittype, "ENEMY") then
plate.health.backdrop:SetBackdropBorderColor(.7,.2,.3,1)
plate.health.backdrop:SetBackdropBorderColor(unpack(unitcolors[unittype]))
else
plate.health.backdrop:SetBackdropBorderColor(er,eg,eb,ea)
end
@@ -712,6 +779,15 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
r, g, b, a = .5, .5, .5, .8
end
if superwow_active and C.nameplates.barcombatstate == "1" then
local guid = plate.parent:GetName(1) or ""
local color = GetCombatStateColor(guid)
if color then
r, g, b, a = color.r, color.g, color.b, color.a
end
end
if r ~= plate.cache.r or g ~= plate.cache.g or b ~= plate.cache.b then
plate.health:SetStatusBarColor(r, g, b, a)
plate.cache.r, plate.cache.g, plate.cache.b = r, g, b
@@ -742,7 +818,10 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
-- update all debuff icons
for i = 1, 16 do
local effect, rank, texture, stacks, dtype, duration, timeleft
if unitstr then
if unitstr and C.nameplates.selfdebuff == "1" then
effect, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitOwnDebuff(unitstr, i)
elseif unitstr then
effect, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitDebuff(unitstr, i)
elseif plate.verify == verify then
effect, rank, texture, stacks, dtype, duration, timeleft = plate:UnitDebuff(i)
@@ -799,6 +878,7 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
local name = original.name:GetText()
local target = UnitExists("target") and frame:GetAlpha() == 1 or nil
local mouseover = UnitExists("mouseover") and original.glow:IsShown() or nil
local namefightcolor = C.nameplates.namefightcolor == "1"
-- trigger queued event update
if nameplate.eventcache then
@@ -831,12 +911,6 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
nameplate:SetAlpha(tonumber(C.nameplates.notargalpha))
end
-- use timer based updates
if not nameplate.tick or nameplate.tick < GetTime() then
nameplate.tick = GetTime() + .2
update = true
end
-- queue update on visual target update
if nameplate.cache.target ~= target then
nameplate.cache.target = target
@@ -859,15 +933,20 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
local r, g, b = original.name:GetTextColor()
if r + g + b ~= nameplate.cache.namecolor then
nameplate.cache.namecolor = r + g + b
if r > .9 and g < .2 and b < .2 then
nameplate.name:SetTextColor(1,0.4,0.2,1) -- infight
if namefightcolor then
if r > .9 and g < .2 and b < .2 then
nameplate.name:SetTextColor(1,0.4,0.2,1) -- infight
else
nameplate.name:SetTextColor(r,g,b,1)
end
else
nameplate.name:SetTextColor(r,g,b,1)
nameplate.name:SetTextColor(1,1,1,1)
end
update = true
end
-- trigger update when name color changed
-- trigger update when level color changed
local r, g, b = original.level:GetTextColor()
r, g, b = r + .3, g + .3, b + .3
if r + g + b ~= nameplate.cache.levelcolor then
@@ -878,31 +957,23 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
-- scan for debuff timeouts
if nameplate.debuffcache then
-- delete timed out caches
for id, data in pairs(nameplate.debuffcache) do
if not data.stop or data.stop < GetTime() then
nameplate.debuffcache[id] = nil
trigger = true
if ( not data.stop or data.stop < GetTime() ) and not data.empty then
data.empty = true
update = true
end
end
end
-- remove nil keys whenever a value was removed
if trigger then
local count = 1
for id, data in pairs(nameplate.debuffcache) do
if id ~= count then
nameplate.debuffcache[count] = nameplate.debuffcache[id]
nameplate.debuffcache[id] = nil
end
count = count + 1
end
update = true
end
-- use timer based updates
if not nameplate.tick or nameplate.tick < GetTime() then
update = true
end
-- run full updates if required
if update then
nameplates:OnDataChanged(nameplate)
nameplate.tick = GetTime() + .5
end
-- target zoom
@@ -960,22 +1031,34 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function ()
-- castbar update
if C.nameplates["showcastbar"] == "1" and ( C.nameplates["targetcastbar"] == "0" or target ) then
local cast, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitCastingInfo(target and "target" or name)
local channel, cast, nameSubtext, text, texture, startTime, endTime, isTradeSkill
-- detect cast or channel bars
cast, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitCastingInfo(target and "target" or name)
if not cast then channel, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitChannelInfo(target and "target" or name) end
-- read enemy casts from SuperWoW if enabled
if superwow_active then
cast, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitCastingInfo(nameplate.parent:GetName(1))
if not cast then channel, nameSubtext, text, texture, startTime, endTime, isTradeSkill = UnitChannelInfo(nameplate.parent:GetName(1)) end
end
if not cast then
if not cast and not channel then
nameplate.castbar:Hide()
elseif cast then
elseif cast or channel then
local effect = cast or channel
local duration = endTime - startTime
local max = duration / 1000
local cur = GetTime() - startTime / 1000
-- invert castbar values while channeling
if channel then cur = max + startTime/1000 - GetTime() end
nameplate.castbar:SetMinMaxValues(0, duration/1000)
nameplate.castbar:SetValue(GetTime() - startTime/1000)
nameplate.castbar.text:SetText(round(startTime/1000 + duration/1000 - GetTime(),1))
nameplate.castbar:SetValue(cur)
nameplate.castbar.text:SetText(round(cur,1))
if C.nameplates.spellname == "1" then
nameplate.castbar.spell:SetText(cast)
nameplate.castbar.spell:SetText(effect)
else
nameplate.castbar.spell:SetText("")
end
+151 -143
View File
@@ -17,7 +17,11 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
local servertime
local time
if C.global.twentyfour == "0" then
if h > 12 then
if h == 0 then
h = 12
elseif h == 12 then
noon = " PM"
elseif h > 12 then
h = h - 12
noon = " PM"
end
@@ -67,7 +71,11 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
local secondsenabled = C.panel.seconds == "1"
if C.global.twentyfour == "0" then
if C.global.servertime == "1" then
if h > 12 then
if h == 0 then
h = 12
elseif h == 12 then
noon = "PM"
elseif h > 12 then
h = h - 12
noon = "PM"
end
@@ -267,6 +275,20 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
local widget = CreateFrame("Frame", "pfPanelWidgetGold", UIParent)
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("PLAYER_MONEY")
widget.Click = function()
if IsShiftKeyDown() then
-- read current data
local realm = GetRealmName()
local unit = UnitName("player")
local money = GetMoney()
-- reset gold value and hide tooltip
pfUI_cache["gold"][realm] = { [unit] = money }
GameTooltip:Hide()
else
OpenAllBags()
end
end
widget.Tooltip = function()
local gold = floor(GetMoney()/ 10000)
local silver = floor(mod((GetMoney()/100),100))
@@ -296,6 +318,8 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
GameTooltip:AddDoubleLine("|cffffffff","")
GameTooltip:AddDoubleLine(T["This Session"] .. ":", dmod .. CreateGoldString(math.abs(pfUI.panel.diffMoney)))
GameTooltip:AddDoubleLine(T["Total Gold"] .. ":", CreateGoldString(totalgold))
GameTooltip:AddLine(" ")
GameTooltip:AddLine(T["Shift-Click to reset all money totals"], .5, .5, .5, 1)
GameTooltip:Show()
end
widget:SetScript("OnEvent", function()
@@ -310,7 +334,7 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
pfUI_cache["gold"][realm] = pfUI_cache["gold"][realm] or {}
pfUI_cache["gold"][realm][unit] = money
pfUI.panel:OutputPanel("gold", goldstr, widget.Tooltip, OpenAllBags)
pfUI.panel:OutputPanel("gold", goldstr, widget.Tooltip, widget.Click)
end)
end
@@ -554,25 +578,59 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("BAG_UPDATE")
widget:SetScript("OnEvent", function()
local count = 0
local _, class = UnitClass("player")
if class == "WARLOCK" then
for bag=0,4 do
for slot=1,GetContainerNumSlots(bag) do
local link = GetContainerItemLink(bag,slot)
if link then
local _, _, id = string.find(link, "item:(%d+):%d+:%d+:%d+")
if id == "6265" then
local _, itemCount = GetContainerItemInfo(bag,slot)
count = count + itemCount
end
end
end
end
local count = pfUI.api.GetItemCount(T["Soul Shard"])
pfUI.panel:OutputPanel("soulshard", T["Soulshards"] .. ": " .. count)
end
end)
end
pfUI.panel:OutputPanel("soulshard", T["Soulshards"] .. ": " .. count)
do -- Hearthstone bind location
local widget = CreateFrame("Frame", "pfPanelBindLocation", UIParent)
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("CHAT_MSG_SYSTEM")
widget:SetScript("OnEvent", function()
pfUI.panel:OutputPanel("bindlocation", T["Hearthstone"] .. ": " .. (GetBindLocation() or T["Not Set"]))
end)
end
do -- Flash Powder
local widget = CreateFrame("Frame", "pfPanelFlashPowder", UIParent)
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("BAG_UPDATE")
widget:SetScript("OnEvent", function()
local _, class = UnitClass("player")
if class == "ROGUE" then
local count = pfUI.api.GetItemCount(T["Flash Powder"])
pfUI.panel:OutputPanel("flashpowder", T["Flash Powder"] .. ": " .. count)
end
end)
end
do -- Thistle Tea
local widget = CreateFrame("Frame", "pfPanelThistleTea", UIParent)
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("BAG_UPDATE")
widget:SetScript("OnEvent", function()
local _, class = UnitClass("player")
if class == "ROGUE" then
local count = pfUI.api.GetItemCount(T["Thistle Tea"])
pfUI.panel:OutputPanel("thistletea", T["Thistle Tea"] .. ": " .. count)
end
end)
end
do -- Blinding Powder
local widget = CreateFrame("Frame", "pfPanelBlindingPowder", UIParent)
widget:RegisterEvent("PLAYER_ENTERING_WORLD")
widget:RegisterEvent("BAG_UPDATE")
widget:SetScript("OnEvent", function()
local _, class = UnitClass("player")
if class == "ROGUE" then
local count = pfUI.api.GetItemCount(T["Blinding Powder"])
pfUI.panel:OutputPanel("blindpowder", T["Blinding Powder"] .. ": " .. count)
end
end)
end
end
@@ -621,10 +679,62 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
end
end
local function CreatePanelButton(parent, width, location, tjustify)
local frame = CreateFrame("Button", nil, parent)
frame:SetFrameLevel(0)
frame:ClearAllPoints()
frame:SetWidth(width)
frame:SetHeight(parent:GetHeight())
frame:SetPoint(location, 0, 0)
frame.text = frame:CreateFontString("Status", "LOW", "GameFontNormal")
frame.text:ClearAllPoints()
frame.text:SetAllPoints(frame)
frame.text:SetPoint(location, 0, 0)
frame.text:SetJustifyH(tjustify)
frame.text:SetFont(font, font_size, "OUTLINE")
frame.text:SetFontObject(GameFontWhite)
return frame
end
pfUI.panel.left = CreateFrame("Frame", "pfPanelLeft", UIParent)
pfUI.panel.left:SetFrameStrata("FULLSCREEN")
pfUI.panel.left:ClearAllPoints()
local function CreatePanel(panelname, default_border)
local frame = CreateFrame("Frame", panelname, UIParent)
frame:SetFrameStrata("FULLSCREEN")
frame:ClearAllPoints()
frame:SetFrameStrata("DIALOG")
frame:SetHeight(C.global.font_size*1.5)
CreateBackdrop(frame, default_border, nil)
CreateBackdropShadow(frame)
return frame
end
local function CreatePanelHide(parent, leftright)
parent.hide = CreateFrame("Button", nil, parent)
parent.hide:SetFrameLevel(4)
parent.hide:SetPoint(leftright, parent.backdrop, leftright, 0, 0)
parent.hide:SetPoint("TOP", parent.backdrop, "TOP", 0, 0)
parent.hide:SetPoint("BOTTOM", parent.backdrop, "BOTTOM", 0, 0)
parent.hide:SetWidth(12)
return parent.hide
end
local function CreatePanelHideTexture(parent, framename, leftright)
SkinButton(parent)
parent:SetBackdropColor(0,0,0,0)
parent.texture = parent:CreateTexture(framename)
local imgstring = "img:" .. leftright
parent.texture:SetTexture(pfUI.media[imgstring])
parent.texture:SetPoint("CENTER", 0, 0)
parent.texture:SetWidth(8)
parent.texture:SetHeight(8)
parent.texture:SetVertexColor(.25,.25,.25,1)
return parent.texture
end
-- left panel
pfUI.panel.left = CreatePanel("pfPanelLeft", default_border)
pfUI.panel.left.hide = CreatePanelHide(pfUI.panel.left, "LEFT", -5)
pfUI.panel.left.hide.texture = CreatePanelHideTexture(pfUI.panel.left.hide, "pfPanelLeftHide", "left")
if pfUI.chat then
pfUI.panel.left:SetScale(pfUI.chat.left:GetScale())
@@ -635,74 +745,22 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
pfUI.panel.left:SetPoint("BOTTOMLEFT", UIParent, "BOTTOMLEFT", 5, 5)
end
pfUI.panel.left:SetFrameStrata("DIALOG")
pfUI.panel.left:SetHeight(C.global.font_size*1.5)
CreateBackdrop(pfUI.panel.left, default_border, nil)
CreateBackdropShadow(pfUI.panel.left)
UpdateMovable(pfUI.panel.left)
pfUI.panel.left.hide = CreateFrame("Button", nil, pfUI.panel.left)
pfUI.panel.left.hide:SetFrameLevel(4)
pfUI.panel.left.hide:SetPoint("LEFT", pfUI.panel.left.backdrop, "LEFT", 0, 0)
pfUI.panel.left.hide:SetPoint("TOP", pfUI.panel.left.backdrop, "TOP", 0, 0)
pfUI.panel.left.hide:SetPoint("BOTTOM", pfUI.panel.left.backdrop, "BOTTOM", 0, 0)
pfUI.panel.left.hide:SetWidth(12)
pfUI.panel.left.hide:SetScript("OnClick", function()
if pfUI.chat.left:IsShown() then pfUI.chat.left:Hide() else pfUI.chat.left:Show() end
end)
if not pfUI.chat then pfUI.panel.left.hide:Hide() end
SkinButton(pfUI.panel.left.hide)
pfUI.panel.left.hide:SetBackdropColor(0,0,0,0)
-- buttons for left panel
local width = pfUI.panel.left:GetWidth() / 3 - 2
width = C.panel.left.left == "none" and C.panel.left.right == "none" and pfUI.panel.left:GetWidth() - 2 or width
width = C.panel.left.center == "none" and pfUI.panel.left:GetWidth() / 2 - 2 or width
pfUI.panel.left.hide.texture = pfUI.panel.left.hide:CreateTexture("pfPanelLeftHide")
pfUI.panel.left.hide.texture:SetTexture(pfUI.media["img:left"])
pfUI.panel.left.hide.texture:SetPoint("CENTER", 0, 0)
pfUI.panel.left.hide.texture:SetWidth(8)
pfUI.panel.left.hide.texture:SetHeight(8)
pfUI.panel.left.hide.texture:SetVertexColor(.25,.25,.25,1)
pfUI.panel.left.left = CreateFrame("Button", nil, pfUI.panel.left)
pfUI.panel.left.left:SetFrameLevel(0)
pfUI.panel.left.left:ClearAllPoints()
pfUI.panel.left.left:SetWidth(115)
pfUI.panel.left.left:SetHeight(pfUI.panel.left:GetHeight())
pfUI.panel.left.left:SetPoint("LEFT", 0, 0)
pfUI.panel.left.left.text = pfUI.panel.left.left:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.left.left.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.left.left.text:ClearAllPoints()
pfUI.panel.left.left.text:SetAllPoints(pfUI.panel.left.left)
pfUI.panel.left.left.text:SetPoint("CENTER", 0, 0)
pfUI.panel.left.left.text:SetFontObject(GameFontWhite)
pfUI.panel.left.center = CreateFrame("Button", nil, pfUI.panel.left)
pfUI.panel.left.center:SetFrameLevel(0)
pfUI.panel.left.center:ClearAllPoints()
pfUI.panel.left.center:SetWidth(115)
pfUI.panel.left.center:SetHeight(pfUI.panel.left:GetHeight())
pfUI.panel.left.center:SetPoint("CENTER", 0, 0)
pfUI.panel.left.center.text = pfUI.panel.left.center:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.left.center.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.left.center.text:ClearAllPoints()
pfUI.panel.left.center.text:SetAllPoints(pfUI.panel.left.center)
pfUI.panel.left.center.text:SetPoint("CENTER", 0, 0)
pfUI.panel.left.center.text:SetFontObject(GameFontWhite)
pfUI.panel.left.right = CreateFrame("Button", nil, pfUI.panel.left)
pfUI.panel.left.right:SetFrameLevel(0)
pfUI.panel.left.right:ClearAllPoints()
pfUI.panel.left.right:SetWidth(115)
pfUI.panel.left.right:SetHeight(pfUI.panel.left:GetHeight())
pfUI.panel.left.right:SetPoint("RIGHT", 0, 0)
pfUI.panel.left.right.text = pfUI.panel.left.right:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.left.right.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.left.right.text:ClearAllPoints()
pfUI.panel.left.right.text:SetAllPoints(pfUI.panel.left.right)
pfUI.panel.left.right.text:SetPoint("CENTER", 0, 0)
pfUI.panel.left.right.text:SetFontObject(GameFontWhite)
pfUI.panel.left.left = CreatePanelButton(pfUI.panel.left, width, "LEFT", "CENTER")
pfUI.panel.left.center = CreatePanelButton(pfUI.panel.left, width, "CENTER", "CENTER")
pfUI.panel.left.right = CreatePanelButton(pfUI.panel.left, width, "RIGHT", "CENTER")
if C.panel.left.left == "none"
and C.panel.left.center == "none"
@@ -710,9 +768,11 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
pfUI.panel.left:Hide()
end
pfUI.panel.right = CreateFrame("Frame", "pfPanelRight", UIParent)
pfUI.panel.right:SetFrameStrata("FULLSCREEN")
pfUI.panel.right:ClearAllPoints()
-- right panel
pfUI.panel.right = CreatePanel("pfPanelRight", default_border)
pfUI.panel.right.hide = CreatePanelHide(pfUI.panel.right, "RIGHT", 5)
pfUI.panel.right.hide.texture = CreatePanelHideTexture(pfUI.panel.right.hide, "pfPanelRightHide", "right")
if pfUI.chat then
pfUI.panel.right:SetScale(pfUI.chat.right:GetScale())
pfUI.panel.right:SetWidth(tonumber(C.chat.right.width) - 4)
@@ -722,74 +782,22 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
pfUI.panel.right:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -5, 5)
end
pfUI.panel.right:SetFrameStrata("DIALOG")
pfUI.panel.right:SetHeight(C.global.font_size*1.5)
CreateBackdrop(pfUI.panel.right, default_border, nil)
CreateBackdropShadow(pfUI.panel.right)
UpdateMovable(pfUI.panel.right)
pfUI.panel.right.hide = CreateFrame("Button", nil, pfUI.panel.right)
pfUI.panel.right.hide:SetFrameLevel(4)
pfUI.panel.right.hide:SetPoint("RIGHT", pfUI.panel.right.backdrop, "RIGHT", 0, 0)
pfUI.panel.right.hide:SetPoint("TOP", pfUI.panel.right.backdrop, "TOP", 0, 0)
pfUI.panel.right.hide:SetPoint("BOTTOM", pfUI.panel.right.backdrop, "BOTTOM", 0, 0)
pfUI.panel.right.hide:SetWidth(12)
pfUI.panel.right.hide:SetScript("OnClick", function()
if pfUI.chat.right:IsShown() then pfUI.chat.right:Hide() else pfUI.chat.right:Show() end
end)
if not pfUI.chat then pfUI.panel.right.hide:Hide() end
SkinButton(pfUI.panel.right.hide)
pfUI.panel.right.hide:SetBackdropColor(0,0,0,0)
-- buttons for right panel
local width = pfUI.panel.right:GetWidth() / 3 - 2
width = C.panel.right.left == "none" and C.panel.right.right == "none" and pfUI.panel.right:GetWidth() - 2 or width
width = C.panel.right.center == "none" and pfUI.panel.right:GetWidth() / 2 - 2 or width
pfUI.panel.right.hide.texture = pfUI.panel.right.hide:CreateTexture("pfPanelRightHide")
pfUI.panel.right.hide.texture:SetTexture(pfUI.media["img:right"])
pfUI.panel.right.hide.texture:SetPoint("CENTER", 0, 0)
pfUI.panel.right.hide.texture:SetWidth(8)
pfUI.panel.right.hide.texture:SetHeight(8)
pfUI.panel.right.hide.texture:SetVertexColor(.25,.25,.25,1)
pfUI.panel.right.left = CreateFrame("Button", nil, pfUI.panel.right)
pfUI.panel.right.left:SetFrameLevel(0)
pfUI.panel.right.left:ClearAllPoints()
pfUI.panel.right.left:SetWidth(115)
pfUI.panel.right.left:SetHeight(pfUI.panel.right:GetHeight())
pfUI.panel.right.left:SetPoint("LEFT", 0, 0)
pfUI.panel.right.left.text = pfUI.panel.right.left:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.right.left.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.right.left.text:ClearAllPoints()
pfUI.panel.right.left.text:SetAllPoints(pfUI.panel.right.left)
pfUI.panel.right.left.text:SetPoint("CENTER", 0, 0)
pfUI.panel.right.left.text:SetFontObject(GameFontWhite)
pfUI.panel.right.center = CreateFrame("Button", nil, pfUI.panel.right)
pfUI.panel.right.center:SetFrameLevel(0)
pfUI.panel.right.center:ClearAllPoints()
pfUI.panel.right.center:SetWidth(115)
pfUI.panel.right.center:SetHeight(pfUI.panel.right:GetHeight())
pfUI.panel.right.center:SetPoint("CENTER", 0, 0)
pfUI.panel.right.center.text = pfUI.panel.right.center:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.right.center.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.right.center.text:ClearAllPoints()
pfUI.panel.right.center.text:SetAllPoints(pfUI.panel.right.center)
pfUI.panel.right.center.text:SetPoint("CENTER", 0, 0)
pfUI.panel.right.center.text:SetFontObject(GameFontWhite)
pfUI.panel.right.right = CreateFrame("Button", nil, pfUI.panel.right)
pfUI.panel.right.right:SetFrameLevel(0)
pfUI.panel.right.right:ClearAllPoints()
pfUI.panel.right.right:SetWidth(115)
pfUI.panel.right.right:SetHeight(pfUI.panel.right:GetHeight())
pfUI.panel.right.right:SetPoint("RIGHT", 0, 0)
pfUI.panel.right.right.text = pfUI.panel.right.right:CreateFontString("Status", "LOW", "GameFontNormal")
pfUI.panel.right.right.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.right.right.text:ClearAllPoints()
pfUI.panel.right.right.text:SetAllPoints(pfUI.panel.right.right)
pfUI.panel.right.right.text:SetPoint("CENTER", 0, 0)
pfUI.panel.right.right.text:SetFontObject(GameFontWhite)
pfUI.panel.right.left = CreatePanelButton(pfUI.panel.right, width, "LEFT", "CENTER")
pfUI.panel.right.center = CreatePanelButton(pfUI.panel.right, width, "CENTER", "CENTER")
pfUI.panel.right.right = CreatePanelButton(pfUI.panel.right, width, "RIGHT", "CENTER")
if C.panel.right.left == "none"
and C.panel.right.center == "none"
@@ -816,7 +824,7 @@ pfUI:RegisterModule("panel", "vanilla:tbc", function()
pfUI.panel.minimap.text = pfUI.panel.minimap:CreateFontString("MinimapZoneText", "LOW", "GameFontNormal")
pfUI.panel.minimap.text:SetFont(font, font_size, "OUTLINE")
pfUI.panel.minimap.text:SetPoint("CENTER", 0, 0)
pfUI.panel.minimap.text:SetAllPoints()
pfUI.panel.minimap.text:SetFontObject(GameFontWhite)
if C.panel.other.minimap == "none" then pfUI.panel.minimap:Hide() end
+5 -4
View File
@@ -113,10 +113,11 @@ pfUI:RegisterModule("raid", "vanilla:tbc", function ()
end)
-- raid popup option to toggle tank role
local iupm = table.getn(UnitPopupMenus["RAID"])
for label, data in pairs(pfUI.uf.raid.tanksfirst) do
UnitPopupButtons[label] = { text = TEXT(data[1]), dist = 0 }
table.insert(UnitPopupMenus["RAID"], iupm-1, label)
for _, menu in pairs({"RAID", "PARTY"}) do
for label, data in pairs(pfUI.uf.raid.tanksfirst) do
UnitPopupButtons[label] = { text = TEXT(data[1]), dist = 0 }
table.insert(UnitPopupMenus[menu], 3, label)
end
end
hooksecurefunc("UnitPopup_OnClick", function()
+2 -2
View File
@@ -32,8 +32,8 @@ pfUI:RegisterModule("sellvalue", "vanilla:tbc", function ()
pfUI.sellvalue:SetScript("OnShow", function()
if libtooltip:GetItemLink() then
local id = libtooltip:GetItemID()
local count = libtooltip:GetItemCount() or 1
AddVendorPrices(GameTooltip, id, count)
local count = tonumber(libtooltip:GetItemCount()) or 1
AddVendorPrices(GameTooltip, id, math.max(count, 1))
end
end)
+1
View File
@@ -256,6 +256,7 @@ pfUI:RegisterModule("share", "vanilla:tbc", function ()
f:RegisterForDrag("LeftButton")
f:SetScript("OnDragStart", function() f:StartMoving() end)
f:SetScript("OnDragStop", function() f:StopMovingOrSizing() end)
f:SetFrameStrata("DIALOG")
f:SetScript("OnShow", function()
if pfUI.gui and pfUI.gui:IsShown() then
+3 -3
View File
@@ -66,7 +66,7 @@ pfUI:RegisterModule("socialmod", "vanilla:tbc", function ()
end
end
end
end, true)
end)
end
do -- add colors to friend list
@@ -119,7 +119,7 @@ pfUI:RegisterModule("socialmod", "vanilla:tbc", function ()
friendInfo:SetVertexColor(1,1,1,.4)
end
end
end, true)
end)
end
do -- add colors to who list
@@ -193,6 +193,6 @@ pfUI:RegisterModule("socialmod", "vanilla:tbc", function ()
local color = GetDifficultyColor(level)
_G["WhoFrameButton"..i.."Level"]:SetTextColor(color.r, color.g, color.b)
end
end, true)
end)
end
end)
+178 -3
View File
@@ -46,6 +46,133 @@ pfUI:RegisterModule("superwow", "vanilla", function ()
end)
end
-- Add native mouseover support
if SUPERWOW_VERSION and pfUI.uf and pfUI.uf.mouseover then
_G.SlashCmdList.PFCAST = function(msg)
local func = loadstring(msg or "")
local unit = "mouseover"
if not UnitExists(unit) then
local frame = GetMouseFocus()
if frame.label and frame.id then
unit = frame.label .. frame.id
elseif UnitExists("target") then
unit = "target"
elseif GetCVar("autoSelfCast") == "1" then
unit = "player"
else
return
end
end
if func then
-- set mouseover to target for script if needed
local switch_target = not UnitIsUnit("target", unit)
if switch_target then TargetUnit(unit) end
func()
if switch_target then TargetLastTarget() end
else
-- write temporary unit name
pfUI.uf.mouseover.unit = unit
-- cast spell to unitstr
CastSpellByName(msg, unit)
-- remove temporary mouseover unit
pfUI.uf.mouseover.unit = nil
end
end
end
-- Add support for druid mana bars
if SUPERWOW_VERSION and pfUI.uf and pfUI.uf.player and pfUI_config.unitframes.druidmanabar == "1" then
local parent = pfUI.uf.player.power.bar
local config = pfUI.uf.player.config
local mana = config.defcolor == "0" and config.manacolor or pfUI_config.unitframes.manacolor
local r, g, b, a = pfUI.api.strsplit(",", mana)
local rawborder, default_border = GetBorderSize("unitframes")
local _, class = UnitClass("player")
local width = config.pwidth ~= "-1" and config.pwidth or config.width
local fontname = pfUI.font_unit
local fontsize = tonumber(pfUI_config.global.font_unit_size)
local fontstyle = pfUI_config.global.font_unit_style
if config.customfont == "1" then
fontname = pfUI.media[config.customfont_name]
fontsize = tonumber(config.customfont_size)
fontstyle = config.customfont_style
end
local druidmana = CreateFrame("StatusBar", "pfDruidMana", UIParent)
druidmana:SetFrameStrata(parent:GetFrameStrata())
druidmana:SetFrameLevel(parent:GetFrameLevel() + 16)
druidmana:SetStatusBarTexture(pfUI.media[config.pbartexture])
druidmana:SetStatusBarColor(r, g, b, a)
druidmana:SetPoint("TOPLEFT", parent, "BOTTOMLEFT", 0, -2*default_border - config.pspace)
druidmana:SetPoint("TOPRIGHT", parent, "BOTTOMRIGHT", 0, -2*default_border - config.pspace)
druidmana:SetWidth(width)
druidmana:SetHeight(tonumber(pfUI_config.unitframes.druidmanaheight) or 6)
druidmana:EnableMouse(true)
druidmana:Hide()
UpdateMovable(druidmana)
CreateBackdrop(druidmana)
CreateBackdropShadow(druidmana)
druidmana:RegisterEvent("UNIT_MANA")
druidmana:RegisterEvent("UNIT_MAXMANA")
druidmana:RegisterEvent("UNIT_DISPLAYPOWER")
druidmana:SetScript("OnEvent", function()
if UnitPowerType("player") == 0 then
this:Hide()
return
end
local _, mana = UnitMana("player")
local _, max = UnitManaMax("player")
local perc = math.ceil(mana / max * 100)
if perc == 100 then
this.text:SetText(string.format("%s", Abbreviate(mana)))
else
this.text:SetText(string.format("%s - %s%%", Abbreviate(mana), perc))
end
this:SetMinMaxValues(0, max)
this:SetValue(mana)
this:Show()
end)
druidmana.text = druidmana:CreateFontString("Status", "OVERLAY", "GameFontNormalSmall")
druidmana.text:SetFontObject(GameFontWhite)
druidmana.text:SetFont(fontname, fontsize, fontstyle)
druidmana.text:SetPoint("RIGHT", -2*(default_border + config.txtpowerrightoffx), 0)
druidmana.text:SetPoint("LEFT", 2*(default_border + config.txtpowerrightoffx), 0)
druidmana.text:SetJustifyH("RIGHT")
if config["powercolor"] == "1" then
local r = ManaBarColor[0].r
local g = ManaBarColor[0].g
local b = ManaBarColor[0].b
if pfUI_config.unitframes.pastel == "1" then
druidmana.text:SetTextColor((r+.75)*.5, (g+.75)*.5, (b+.75)*.5, 1)
else
druidmana.text:SetTextColor(r, g, b, a)
end
end
if pfUI_config.unitframes.druidmanatext == "1" then
druidmana.text:Show()
else
druidmana.text:Hide()
end
if class ~= "DRUID" then
druidmana:UnregisterAllEvents()
druidmana:Hide()
end
end
-- Add support for guid based focus frame
if SUPERWOW_VERSION and pfUI.uf and pfUI.uf.focus then
local focus = function(unitstr)
@@ -97,9 +224,57 @@ pfUI:RegisterModule("superwow", "vanilla", function ()
end
end
local unitcast = CreateFrame("Frame")
unitcast:RegisterEvent("UNIT_CASTEVENT")
unitcast:SetScript("OnEvent", function()
-- Enhance libdebuff with SuperWoW data
local superdebuff = CreateFrame("Frame")
superdebuff:RegisterEvent("UNIT_CASTEVENT")
superdebuff:SetScript("OnEvent", function()
-- variable assignments
local caster, target, event, spell, duration = arg1, arg2, arg3, arg4
-- skip other caster and empty target events
local _, guid = UnitExists("player")
if caster ~= guid then return end
if event ~= "CAST" then return end
if not target or target == "" then return end
-- assign all required data
local unit = UnitName(target)
local unitlevel = UnitLevel(target)
local effect, rank = SpellInfo(spell)
local duration = libdebuff:GetDuration(effect, rank)
local caster = "player"
-- add effect to current debuff data
libdebuff:AddEffect(unit, unitlevel, effect, duration, caster)
end)
-- Enhance libcast with SuperWoW data
local supercast = CreateFrame("Frame")
supercast:RegisterEvent("UNIT_CASTEVENT")
supercast:SetScript("OnEvent", function()
if not supercast.init then
-- disable combat parsing events in superwow mode
libcast:UnregisterEvent("CHAT_MSG_SPELL_SELF_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_HOSTILEPLAYER_BUFF")
libcast:UnregisterEvent("CHAT_MSG_SPELL_FRIENDLYPLAYER_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_FRIENDLYPLAYER_BUFF")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_BUFFS")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PARTY_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PARTY_BUFF")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS")
libcast:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE")
libcast:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF")
supercast.init = true
end
if arg3 == "START" or arg3 == "CAST" or arg3 == "CHANNEL" then
-- human readable argument list
local guid = arg1
+21 -10
View File
@@ -536,7 +536,7 @@ pfUI:RegisterModule("thirdparty-vanilla", "vanilla", function()
local colorstr = rgbhex(RAID_CLASS_COLORS[class].r, RAID_CLASS_COLORS[class].g, RAID_CLASS_COLORS[class].b, RAID_CLASS_COLORS[class].a)
_G.WIM_ClassColors[wimclass] = gsub(colorstr, "^|cff", "")
end
end, true)
end)
-- convo menu
CreateBackdrop(WIM_Icon_ToolTip, 0, nil, tonumber(C.tooltip.alpha))
@@ -560,7 +560,7 @@ pfUI:RegisterModule("thirdparty-vanilla", "vanilla", function()
btn:SetText(btn_txt)
end
end
end, true)
end)
if WIM_HistoryFrame then -- history frame
CreateBackdrop(WIM_HistoryFrame, nil, nil, .8)
@@ -1228,21 +1228,32 @@ pfUI:RegisterModule("thirdparty-vanilla", "vanilla", function()
StripTextures(xpsp3Frame)
CreateBackdrop(xpsp3Frame)
CreateBackdropShadow(xpsp3Frame)
StripTextures(xpsp3tooltip)
CreateBackdrop(xpsp3tooltip)
CreateBackdropShadow(xpsp3tooltip)
SkinCheckbox(xpsp3_checkButton_minimapButton)
SkinCheckbox(xpsp3_checkButton_modernNameplate)
SkinCheckbox(xpsp3_checkButton_prioritizeTargetNameplate)
SkinCheckbox(xpsp3_checkButton_prioritizeMarkedNameplate)
SkinCheckbox(xpsp3_checkButton_nameplateCombatFilter)
SkinCheckbox(xpsp3_checkButton_showInCombatNameplatesNearPlayer)
SkinCheckbox(xpsp3_checkButton_notify_flashTaskbarIcon)
SkinCheckbox(xpsp3_checkButton_notify_playSystemDefaultSound)
SkinCheckbox(xpsp3_checkButton_cameraPinHeight)
local buttons = {
xpsp3_button_close,
xpsp3_button_cameraHeight_raise,
xpsp3_button_cameraHeight_lower,
}
for _, button in pairs(buttons) do
SkinButton(button)
end
SkinButton(xpsp3_button_cameraHeight_raise)
SkinButton(xpsp3_button_cameraHeight_lower)
SkinButton(xpsp3_button_cameraPitch_up)
SkinButton(xpsp3_button_cameraPitch_down)
SkinButton(xpsp3_button_cameraHorizontalDisplacement_leftPlayer)
SkinButton(xpsp3_button_cameraHorizontalDisplacement_rightPlayer)
SkinButton(xpsp3_buttonCancel_resetCamera)
SkinButton(xpsp3_buttonCancel_close)
StripTextures(xpsp3_editBox_FPScap, "BACKGROUND")
CreateBackdrop(xpsp3_editBox_FPScap)
end)
end)
+69 -47
View File
@@ -11,7 +11,12 @@ pfUI:RegisterModule("thirdparty", "vanilla:tbc", function()
do -- addon dockframe
pfUI.thirdparty.meters = CreateFrame("Frame")
pfUI.thirdparty.meters:SetScript("OnEvent", function()
pfUI.thirdparty.meters.state = nil
if C.thirdparty.showmeter == "1" then
pfUI.thirdparty.meters.state = nil
else
pfUI.thirdparty.meters.state = true
end
pfUI.thirdparty.meters:Toggle()
this:UnregisterAllEvents()
end)
@@ -42,10 +47,8 @@ pfUI:RegisterModule("thirdparty", "vanilla:tbc", function()
end)
end
-- toggle meter by default if configured
if C.thirdparty.showmeter == "1" then
self:RegisterEvent("PLAYER_ENTERING_WORLD")
end
-- show/hide meter on login by default
self:RegisterEvent("PLAYER_ENTERING_WORLD")
end
end
@@ -232,80 +235,99 @@ pfUI:RegisterModule("thirdparty", "vanilla:tbc", function()
-- Vanilla: https://github.com/shagu/ShaguDPS
-- TBC: https://github.com/shagu/ShaguDPS
HookAddonOrVariable("ShaguDPS", function()
local hookRefresh = ShaguDPSWindow.Refresh
ShaguDPSWindow.Refresh = function(arg1, arg2)
hookRefresh(arg1, arg2)
-- keep backdrop hidden
if C.thirdparty.shagudps.skin == "1" then
ShaguDPSWindow:SetBackdrop(nil)
ShaguDPSWindow.border:SetBackdrop(nil)
end
end
local docktable = { "shagudps", "ShaguDPS", "ShaguDPSWindow",
function() -- single
ShaguDPSWindow:ClearAllPoints()
ShaguDPSWindow:SetAllPoints(pfUI.chat.right)
ShaguDPSWindow:SetWidth(pfUI.chat.right:GetWidth())
if ShaguDPSWindow.Resize then ShaguDPSWindow:Resize() end
end,
function() -- dual
ShaguDPSWindow:ClearAllPoints()
ShaguDPSWindow:SetPoint("TOPLEFT", pfUI.chat.right, "TOP", 0, 0)
ShaguDPSWindow:SetPoint("BOTTOMRIGHT", pfUI.chat.right, "BOTTOMRIGHT", 0, 0)
ShaguDPSWindow:SetWidth(pfUI.chat.right:GetWidth() / 2)
if ShaguDPSWindow.Resize then ShaguDPSWindow:Resize() end
end,
function() -- show
ShaguDPS.config.visible = 1
ShaguDPSWindow.Refresh(true)
ShaguDPS.window.Refresh(true)
end,
function() -- hide
ShaguDPS.config.visible = 0
ShaguDPSWindow.Refresh(true)
ShaguDPS.window.Refresh(true)
end
}
pfUI.thirdparty.meters:RegisterMeter("damage", docktable)
if C.thirdparty.shagudps.skin == "1" then
if ShaguDPSWindow then
local window = ShaguDPSWindow
local _, chat_border = GetBorderSize("chat")
local hookRefresh = ShaguDPS.window.Refresh
ShaguDPS.window.Refresh = function (arg1, arg2)
hookRefresh(arg1, arg2)
window.title:Hide()
window.title:SetPoint("TOPLEFT", 1, -1)
window.title:SetPoint("TOPRIGHT", -1, -1)
for wid=1,10 do
local window = ShaguDPS.window[wid]
CreateBackdrop(window, chat_border, nil, (C.thirdparty.chatbg == "1" and .8))
CreateBackdropShadow(window)
-- legacy single-window support
if wid == 1 and not window then
window = ShaguDPS.window
end
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
local r, g, b, a = strsplit(",", C.chat.global.background)
window.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
if window then
local _, chat_border = GetBorderSize("chat")
local r, g, b, a = strsplit(",", C.chat.global.border)
window.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
end
window.title:Hide()
window.title:SetPoint("TOPLEFT", 1, -1)
window.title:SetPoint("TOPRIGHT", -1, -1)
-- skin buttons
window.btnAnnounce:SetWidth(14)
window.btnReset:SetWidth(14)
CreateBackdrop(window, chat_border, nil, (C.thirdparty.chatbg == "1" and .8))
CreateBackdropShadow(window)
local buttons = {
window.btnAnnounce, window.btnReset, window.btnSegment, window.btnMode,
window.btnDamage, window.btnDPS, window.btnHeal, window.btnHPS,
window.btnCurrent, window.btnOverall,
}
local hook = window.Refresh
if not window.pfRefreshHook then
window.pfRefreshHook = window.Refresh
window.Refresh = function(self, arg1, arg2)
window.pfRefreshHook(self, arg1, arg2)
for _, button in pairs(buttons) do
if button then
button:SetHeight(14)
CreateBackdrop(button, nil, true, .75)
button:SetBackdropBorderColor(.4,.4,.4,1)
-- keep backdrop hidden
if C.thirdparty.shagudps.skin == "1" then
window:SetBackdrop(nil)
window.border:SetBackdrop(nil)
end
end
end
if C.thirdparty.chatbg == "1" and C.chat.global.custombg == "1" then
local r, g, b, a = strsplit(",", C.chat.global.background)
window.backdrop:SetBackdropColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
local r, g, b, a = strsplit(",", C.chat.global.border)
window.backdrop:SetBackdropBorderColor(tonumber(r), tonumber(g), tonumber(b), tonumber(a))
end
-- skin buttons
local buttons = {
window.btnAnnounce, window.btnReset, window.btnSegment, window.btnMode,
window.btnDamage, window.btnDPS, window.btnHeal, window.btnHPS,
window.btnCurrent, window.btnOverall, window.btnWindow, window.btnSettings,
}
for _, button in pairs(buttons) do
if button then
button:SetHeight(14)
CreateBackdrop(button, -1, true, .75)
button:SetBackdropBorderColor(.4,.4,.4,1)
if button:GetWidth() == 16 then
button:SetWidth(14)
end
end
end
window.border:Hide()
end
end
window.border:Hide()
end
end
end)
+17 -11
View File
@@ -83,6 +83,14 @@ pfUI:RegisterModule("tooltip", "vanilla:tbc", function ()
return pfUI.tooltip.unit
end
pfUI.tooltip.dodge = {
"pfPanelRight", "pfChatRight"
}
if C.appearance.bags.movable == "0" then
table.insert(pfUI.tooltip.dodge, "pfBag")
end
pfUI.tooltip:SetAllPoints()
pfUI.tooltip:SetScript("OnShow", function()
pfUI.tooltip:Update()
@@ -97,16 +105,10 @@ pfUI:RegisterModule("tooltip", "vanilla:tbc", function ()
elseif C.tooltip.position == "chat" then
local anchor = nil
if pfUI.panel and pfUI.panel.right:IsShown() then
anchor = pfUI.panel.right
end
if pfUI.chat and pfUI.chat.right:IsShown() then
anchor = pfUI.chat.right
end
if pfUI.bag and pfUI.bag.right and pfUI.bag.right:IsShown() and C.appearance.bags.movable == "0" then
anchor = pfUI.bag.right
for _, frame in pairs(pfUI.tooltip.dodge) do
if _G[frame] and _G[frame]:IsShown() then
anchor = _G[frame]
end
end
if anchor then
@@ -133,7 +135,11 @@ pfUI:RegisterModule("tooltip", "vanilla:tbc", function ()
this.level = UnitLevel("mouseover")
end)
pfUI.tooltipStatusBar.HP = pfUI.tooltipStatusBar:CreateFontString("Status", "DIALOG", "GameFontNormal")
pfUI.tooltipStatusBar.text = CreateFrame("Frame", nil, pfUI.tooltipStatusBar)
pfUI.tooltipStatusBar.text:SetFrameLevel(16)
pfUI.tooltipStatusBar.text:SetAllPoints()
pfUI.tooltipStatusBar.HP = pfUI.tooltipStatusBar.text:CreateFontString("Status", "OVERLAY", "GameFontNormal")
pfUI.tooltipStatusBar.HP:SetAllPoints()
pfUI.tooltipStatusBar.HP:SetNonSpaceWrap(false)
pfUI.tooltipStatusBar.HP:SetFontObject(GameFontWhite)
+40 -20
View File
@@ -47,6 +47,8 @@ pfUI:RegisterModule("tracking", "vanilla", function ()
}
pfUI.tracking = CreateFrame("Button", "pfUITracking", UIParent)
pfUI.tracking.invalidSpells = {}
pfUI.tracking:SetFrameStrata("HIGH")
CreateBackdrop(pfUI.tracking, border)
CreateBackdropShadow(pfUI.tracking)
@@ -72,26 +74,7 @@ pfUI:RegisterModule("tracking", "vanilla", function ()
end
this:RefreshSpells()
local texture = GetTrackingTexture()
if texture and texture ~= state.texture then
state.texture = texture
this.pulse = nil
this.icon:SetTexture(texture)
this.icon:SetVertexColor(1,1,1,1)
this:Show()
elseif not texture then
state.texture = nil
if pulse and HasEntries(state.spells) then
this.pulse = true
this.icon:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
this.icon:SetVertexColor(1,1,1,1)
this:Show()
else
this.pulse = nil
this:Hide()
end
end
this:RefreshMenu()
end)
pfUI.tracking:SetScript("OnUpdate", function()
@@ -141,6 +124,20 @@ pfUI:RegisterModule("tracking", "vanilla", function ()
local _, _, offset, numSpells = GetSpellTabInfo(tabIndex)
for spellIndex = offset + 1, offset + numSpells do
local spellTexture = GetSpellTexture(spellIndex, BOOKTYPE_SPELL)
local spellName = GetSpellName(spellIndex, BOOKTYPE_SPELL)
-- disable and remove invalid spells
if pfUI.tracking.invalidSpells[spellName] then
-- delete all previously set bad spell icons
for _, texture in pairs(knownTrackingSpellTextures["any"]) do
if spellTexture and strfind(spellTexture, texture) then
state.spells[texture] = nil
end
end
-- unset current variable to stop here
spellTexture = nil
end
-- scan for generic tracking icons
for _, texture in pairs(knownTrackingSpellTextures["any"]) do
@@ -174,6 +171,29 @@ pfUI:RegisterModule("tracking", "vanilla", function ()
end
end
function pfUI.tracking:RefreshMenu()
local texture = GetTrackingTexture()
if texture and texture ~= state.texture then
state.texture = texture
pfUI.tracking.pulse = nil
pfUI.tracking.icon:SetTexture(texture)
pfUI.tracking.icon:SetVertexColor(1,1,1,1)
pfUI.tracking:Show()
elseif not texture then
state.texture = nil
if pulse and HasEntries(state.spells) then
pfUI.tracking.pulse = true
pfUI.tracking.icon:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
pfUI.tracking.icon:SetVertexColor(1,1,1,1)
pfUI.tracking:Show()
else
pfUI.tracking.pulse = nil
pfUI.tracking:Hide()
end
end
end
function pfUI.tracking:PlayerIsDruidInCatForm(playerClass)
if playerClass == "DRUID" then
for i = 0, 31 do
+2389 -1810
View File
File diff suppressed because it is too large Load Diff
+32 -4
View File
@@ -15,10 +15,18 @@ pfUI:RegisterModule("uf_tukui", "vanilla:tbc", function ()
-- adjust layout
pfUI.uf.player:UpdateFrameSize()
pfUI.uf.player:SetFrameStrata("LOW")
pfUI.uf.player:SetHeight(pfUI.uf.player:GetHeight() + 2*default_border + (C.global.font_size * 1.5) + pspacing)
pfUI.uf.player:SetHeight(pfUI.uf.player:GetHeight() + 2*default_border + (C.global.font_size * 1.25) + pspacing)
if pfUI.uf.player.config.portrait == "left" then
pfUI.uf.player.portrait:ClearAllPoints()
pfUI.uf.player.portrait:SetPoint("TOPLEFT", pfUI.uf.player, "TOPLEFT", 0, 0)
elseif pfUI.uf.player.config.portrait == "right" then
pfUI.uf.player.portrait:ClearAllPoints()
pfUI.uf.player.portrait:SetPoint("TOPRIGHT", pfUI.uf.player, "TOPRIGHT", 0, 0)
end
pfUI.uf.player.caption = pfUI.uf.player.caption or CreateFrame("Frame", "pfPlayerCaption", pfUI.uf.player)
pfUI.uf.player.caption:SetHeight(C.global.font_size * 1.5)
pfUI.uf.player.caption:SetHeight(C.global.font_size * 1.25)
pfUI.uf.player.caption:SetPoint("BOTTOMRIGHT",pfUI.uf.player, "BOTTOMRIGHT",0, 0)
pfUI.uf.player.caption:SetPoint("BOTTOMLEFT",pfUI.uf.player, "BOTTOMLEFT",0, 0)
@@ -36,6 +44,12 @@ pfUI:RegisterModule("uf_tukui", "vanilla:tbc", function ()
pfUI.castbar.player:SetAllPoints(pfUI.uf.player.caption)
UpdateMovable(pfUI.castbar.player, true)
local _, anchor = pfUI.castbar.player:GetPoint()
if anchor and anchor == pfUI.uf.player.caption then
pfUI.castbar.player:SetHeight(pfUI.uf.player.caption:GetHeight())
end
CreateBackdrop(pfUI.uf.player.caption, default_border)
if pfUI.castbar.player.bar.backdrop_shadow then
pfUI.castbar.player.bar.backdrop_shadow:Hide()
@@ -56,10 +70,18 @@ pfUI:RegisterModule("uf_tukui", "vanilla:tbc", function ()
-- adjust layout
pfUI.uf.target:UpdateFrameSize()
pfUI.uf.target:SetFrameStrata("LOW")
pfUI.uf.target:SetHeight(pfUI.uf.target:GetHeight() + 2*default_border + (C.global.font_size * 1.5) + tspacing)
pfUI.uf.target:SetHeight(pfUI.uf.target:GetHeight() + 2*default_border + (C.global.font_size * 1.25) + tspacing)
if pfUI.uf.target.config.portrait == "left" then
pfUI.uf.target.portrait:ClearAllPoints()
pfUI.uf.target.portrait:SetPoint("TOPLEFT", pfUI.uf.target, "TOPLEFT", 0, 0)
elseif pfUI.uf.target.config.portrait == "right" then
pfUI.uf.target.portrait:ClearAllPoints()
pfUI.uf.target.portrait:SetPoint("TOPRIGHT", pfUI.uf.target, "TOPRIGHT", 0, 0)
end
pfUI.uf.target.caption = pfUI.uf.target.caption or CreateFrame("Frame", "pfTargetCaption", pfUI.uf.target)
pfUI.uf.target.caption:SetHeight(C.global.font_size * 1.5)
pfUI.uf.target.caption:SetHeight(C.global.font_size * 1.25)
pfUI.uf.target.caption:SetPoint("BOTTOMRIGHT",pfUI.uf.target,"BOTTOMRIGHT", 0, 0)
pfUI.uf.target.caption:SetPoint("BOTTOMLEFT",pfUI.uf.target,"BOTTOMLEFT", 0, 0)
@@ -77,6 +99,12 @@ pfUI:RegisterModule("uf_tukui", "vanilla:tbc", function ()
pfUI.castbar.target:SetAllPoints(pfUI.uf.target.caption)
UpdateMovable(pfUI.castbar.target, true)
local _, anchor = pfUI.castbar.target:GetPoint()
if anchor and anchor == pfUI.uf.target.caption then
pfUI.castbar.target:SetHeight(pfUI.uf.target.caption:GetHeight())
end
CreateBackdrop(pfUI.uf.target.caption, default_border)
if pfUI.castbar.target.bar.backdrop_shadow then
pfUI.castbar.target.bar.backdrop_shadow:Hide()
+16 -31
View File
@@ -1,26 +1,19 @@
pfUI:RegisterModule("unusable", "vanilla:tbc", function ()
if not pfUI.bag then return end
if C.appearance.bags.unusable ~= "1" then return end
pfUI.unusable = CreateFrame("Frame")
pfUI.unusable:RegisterEvent("PLAYER_LEVEL_UP")
pfUI.unusable:RegisterEvent("SKILL_LINES_CHANGED")
pfUI.unusable:RegisterEvent("ITEM_LOCK_CHANGED")
pfUI.unusable:RegisterEvent("ACTIONBAR_HIDEGRID")
pfUI.unusable:RegisterEvent("PLAYERBANKSLOTS_CHANGED")
pfUI.unusable:RegisterEvent("BANKFRAME_OPENED")
pfUI.unusable.cache = {}
pfUI.unusable = {}
local scanner = libtipscan:GetScanner("unusable")
local durability = string.gsub(DURABILITY_TEMPLATE, "%%[^%s]+", "(.+)")
local r, g, b, a = strsplit(",", C.appearance.bags.unusable_color)
function pfUI.unusable:UpdateSlot(bag, slot)
-- create bag cache and clear slot cache
self.cache[bag] = self.cache[bag] or {}
self.cache[bag][slot] = nil
-- break on invalid bag slots
if not pfUI.bags[bag] then return end
if not pfUI.bags[bag].slots[slot] then return end
-- add button shortcuts
local frame = pfUI.bags[bag].slots[slot].frame
local name = frame:GetName()
@@ -47,25 +40,17 @@ pfUI:RegisterModule("unusable", "vanilla:tbc", function ()
_G.SetItemButtonTextureVertexColor(frame, r, g, b, a)
end
function pfUI.unusable:UpdateCache()
local self = self or pfUI.unusable
-- iterate through all known caches
for bag, slots in pairs(self.cache) do
for slot, state in pairs(slots) do
pfUI.bag:UpdateSlot(bag, slot)
end
end
-- update on regular pfUI button updates
local HookUpdateSlot = pfUI.bag.UpdateSlot
pfUI.bag.UpdateSlot = function(self, bag, slot)
HookUpdateSlot(self, bag, slot)
pfUI.unusable:UpdateSlot(bag, slot)
end
pfUI.unusable:SetScript("OnEvent", function()
-- update all cached buttons
if event == "PLAYERBANKSLOTS_CHANGED" or event == "BANKFRAME_OPENED" then
-- BankFrameItemButton_OnUpdate fires after UpdateSlot overriding changes
QueueFunction(this.UpdateCache, this)
else
-- regular button update
this:UpdateCache()
end
end)
-- update on bank frame itemlock updates
local HookBankFrameItemButton_UpdateLock = BankFrameItemButton_UpdateLock
_G.BankFrameItemButton_UpdateLock = function()
HookBankFrameItemButton_UpdateLock()
pfUI.unusable:UpdateSlot(-1, this:GetID())
end
end)
+39
View File
@@ -115,6 +115,14 @@ end
local function OnUpdate(self)
local self = self or this
if self.text_mouse == "1" then
if MouseIsOver(self) then
self.bar.text:Show()
else
self.bar.text:Hide()
end
end
if self.always then return end
if self:GetAlpha() == 0 or MouseIsOver(self) then return end
if ( self.tick or 1) > GetTime() then return else self.tick = GetTime() + .01 end
@@ -160,6 +168,13 @@ end
self.restedbar:Hide()
end
local text = "%s: %s%%"
local xp, xpmax, ex = UnitXP("player"), UnitXPMax("player"), GetXPExhaustion()
local xpperc = round(xp / xpmax * 100)
local experc = ex and round(ex / xpmax * 100) or 0
if ex then text = "%s: %s%% (%s%% %s)" end
self.bar.text:SetText(string.format(text, T["Experience"], xpperc, experc, T["Rested"]))
self.tick = GetTime() + self.timeout
return
elseif mode == "PETXP" then
@@ -170,6 +185,11 @@ end
local currXP, nextXP = GetPetExperience()
self.bar:SetMinMaxValues(min(0, currXP), nextXP)
self.bar:SetValue(currXP)
local text = "%s: %s%%"
local xpperc = nextXP and nextXP ~= 0 and round(currXP / nextXP * 100) or 0
self.bar.text:SetText(string.format(text, T["Pet Experience"], xpperc))
self.tick = GetTime() + self.timeout
return
elseif mode == "REP" then
@@ -194,6 +214,11 @@ end
self.bar:SetStatusBarColor(.5,.5,.5,1)
end
local text = "%s: %s%% (%s)"
local perc = round(barValue / barMax * 100)
local standing = GetText("FACTION_STANDING_LABEL"..standingID, gender)
self.bar.text:SetText(string.format(text, name, perc, standing))
self.tick = GetTime() + self.timeout
return
end
@@ -218,6 +243,9 @@ end
b.anchor = t == "XP" and C.panel.xp.xp_anchor or C.panel.xp.rep_anchor
b.position = t == "XP" and C.panel.xp.xp_position or C.panel.xp.rep_position
b.display = t == "XP" and C.panel.xp.xp_display or C.panel.xp.rep_display
b.text = t == "XP" and C.panel.xp.xp_text or C.panel.xp.rep_text
b.text_off_y = t == "XP" and C.panel.xp.xp_text_off_y or C.panel.xp.rep_text_off_y
b.text_mouse = t == "XP" and C.panel.xp.xp_text_mouse or C.panel.xp.rep_text_mouse
local barLevel, restedLevel = 0, 1
if C.panel.xp.dont_overlap == "1" then
@@ -251,6 +279,17 @@ end
b.bar:SetStatusBarColor(cr,cg,cb,ca)
b.bar:SetOrientation(b.mode)
b.bar.text = b.bar.text or b.bar:CreateFontString()
b.bar.text:SetPoint("CENTER", b, "CENTER", 0, b.text_off_y)
b.bar.text:SetJustifyH("CENTER")
b.bar.text:SetFont(pfUI.font_default, C.global.font_size, "OUTLINE")
if b.text == "1" then
b.bar.text:Show()
else
b.bar.text:Hide()
end
b.restedbar = b.restedbar or CreateFrame("StatusBar", nil, b)
b.restedbar:SetStatusBarTexture(pfUI.media[C.panel.xp.texture])
b.restedbar:ClearAllPoints()
+1 -1
View File
@@ -3,7 +3,7 @@
## Author: Shagu
## Notes: A complete user interface replacement.
## Notes-ruRU: Полная замена пользовательского интерфейса.
## Version: 5.4.14
## Version: 5.5.4
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
+2 -2
View File
@@ -356,13 +356,13 @@ pfUI.backdrop_blizz_bg = {
}
pfUI.backdrop_blizz_border = {
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 12,
edgeFile = pfUI.media["img:border_blizz"], edgeSize = 6,
insets = { left = 3, right = 3, top = 3, bottom = 3 }
}
pfUI.backdrop_blizz_full = {
bgFile = "Interface\\BUTTONS\\WHITE8X8", tile = true, tileSize = 8,
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 12,
edgeFile = pfUI.media["img:border_blizz"], edgeSize = 6,
insets = { left = 3, right = 3, top = 3, bottom = 3 }
}
+1 -1
View File
@@ -3,7 +3,7 @@
## Author: Shagu
## Notes: A complete user interface replacement.
## Notes-ruRU: Полная замена пользовательского интерфейса.
## Version: 5.4.14
## Version: 5.5.4
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
+5 -5
View File
@@ -15,7 +15,7 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla:tbc", function ()
hooksecurefunc("AuctionFrame_OnShow", function()
AuctionFrame:ClearAllPoints()
AuctionFrame:SetPoint("TOPLEFT", 10, -104)
end, 1)
end)
StripTextures(AuctionFrame, true)
CreateBackdrop(AuctionFrame, nil, nil, .75)
@@ -80,7 +80,7 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla:tbc", function ()
for i = 1, NUM_BROWSE_TO_DISPLAY do
HandleIcon(_G["BrowseButton"..i.."Item"], _G["BrowseButton"..i.."ItemIconTexture"])
end
end, 1)
end)
SkinArrowButton(BrowsePrevPageButton, "left", 18)
SkinArrowButton(BrowseNextPageButton, "right", 18)
@@ -149,7 +149,7 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla:tbc", function ()
for i = 1, NUM_BIDS_TO_DISPLAY do
HandleIcon(_G["BidButton"..i.."Item"], _G["BidButton"..i.."ItemIconTexture"])
end
end, 1)
end)
SkinMoneyInputFrame(BidBidPrice)
BidBidPrice:ClearAllPoints()
@@ -195,13 +195,13 @@ pfUI:RegisterSkin("Auctionhouse", "vanilla:tbc", function ()
for i = 1, NUM_AUCTIONS_TO_DISPLAY do
HandleIcon(_G["AuctionsButton"..i.."Item"], _G["AuctionsButton"..i.."ItemIconTexture"])
end
end, 1)
end)
SkinButton(AuctionsItemButton)
hooksecurefunc("AuctionSellItemButton_OnEvent", function()
if event ~= "NEW_AUCTION_UPDATE" then return end
HandleIcon(AuctionsItemButton, AuctionsItemButton:GetNormalTexture())
end, 1)
end)
SkinMoneyInputFrame(StartPrice)
SkinMoneyInputFrame(BuyoutPrice)
+1 -1
View File
@@ -22,6 +22,6 @@ pfUI:RegisterSkin("Battlefield Minimap", "vanilla:tbc", function ()
hooksecurefunc("BattlefieldMinimap_ShowOpacity", function()
OpacityFrame:ClearAllPoints()
OpacityFrame:SetPoint("TOPRIGHT", "BattlefieldMinimap", "TOPLEFT", -2*border, 0)
end, 1)
end)
end)
end)
+1 -1
View File
@@ -142,7 +142,7 @@ pfUI:RegisterSkin("Character", "vanilla:tbc", function ()
RefreshCharacterSlot(this)
end
end)
hooksecurefunc("PetTab_Update", RefreshPetPosition, 1)
hooksecurefunc("PetTab_Update", RefreshPetPosition)
this.hooked = true
end
end)
+1 -1
View File
@@ -264,7 +264,7 @@ pfUI:RegisterSkin("Inspect", "vanilla", function ()
UpdateSlots()
QueueFunction(UpdateSlots)
end, 1)
end)
end
do -- Honor Tab
+1 -1
View File
@@ -67,7 +67,7 @@ pfUI:RegisterSkin("Mailbox", "vanilla:tbc", function ()
else
SendMailPackageButton:SetBackdropBorderColor(GetStringColor(pfUI_config.appearance.border.color))
end
end, 1)
end)
end
end)
skin:RegisterEvent("MAIL_SHOW")
+1 -1
View File
@@ -63,7 +63,7 @@ pfUI:RegisterSkin("Merchant", "vanilla:tbc", function ()
_G["MerchantItem"..i]:SetPoint("TOPLEFT", _G["MerchantItem"..i-2], "BOTTOMLEFT", 0, -15)
end
end
end, 1)
end)
StripTextures(MerchantPrevPageButton)
SkinArrowButton(MerchantPrevPageButton, "left", 18)
+6 -3
View File
@@ -96,7 +96,6 @@ pfUI:RegisterSkin("Options - Interface", "vanilla", function ()
UIOptionsFrame.backdrop:SetPoint("BOTTOMRIGHT", 0, 50)
UIOptionsFrame:SetHitRectInsets(0,0,0,50)
local close = GetNoNameObject(UIOptionsFrame, "Button", nil, "UI-Panel-MinimizeButton-Up")
-- increase button layer
UIOptionsFrameTab1:SetFrameLevel(8)
@@ -104,9 +103,13 @@ pfUI:RegisterSkin("Options - Interface", "vanilla", function ()
UIOptionsFrameDefaults:SetFrameLevel(8)
UIOptionsFrameCancel:SetFrameLevel(8)
UIOptionsFrameOkay:SetFrameLevel(8)
close:SetFrameLevel(8)
SkinCloseButton(close, UIOptionsFrame.backdrop, -6, -6)
local close = GetNoNameObject(UIOptionsFrame, "Button", nil, "UI-Panel-MinimizeButton-Up")
if close then
close:SetFrameLevel(8)
SkinCloseButton(close, UIOptionsFrame.backdrop, -6, -6)
end
if UIOptionsFrameTitle then
UIOptionsFrameTitle:ClearAllPoints()
UIOptionsFrameTitle:SetPoint("TOP", UIOptionsFrame.backdrop, "TOP", 0, -10)
+1 -1
View File
@@ -216,7 +216,7 @@ pfUI:RegisterSkin("Profession", "vanilla:tbc", function ()
end
end
end
end, true)
end)
end
-- Compatibility
+2 -2
View File
@@ -27,7 +27,7 @@ pfUI:RegisterSkin("Quest Log", "vanilla:tbc", function ()
hooksecurefunc("QuestLog_OnShow", function()
QuestLogFrame:ClearAllPoints()
QuestLogFrame:SetPoint("TOPLEFT", 10, -104)
end, 1)
end)
QuestLogFrame:SetWidth(676)
QuestLogFrame:SetHeight(440)
@@ -191,7 +191,7 @@ pfUI:RegisterSkin("Quest Log", "vanilla:tbc", function ()
end
end
end
end, 1)
end)
end
do -- right pane
+3 -3
View File
@@ -7,7 +7,7 @@ pfUI:RegisterSkin("Readycheck", "vanilla:tbc", function ()
else -- vanilla
update_func = "ReadyCheck_OnUpdate"
end
StripTextures(ReadyCheckFrame, true)
CreateBackdrop(ReadyCheckFrame, nil, nil, .75)
CreateBackdropShadow(ReadyCheckFrame)
@@ -41,7 +41,7 @@ pfUI:RegisterSkin("Readycheck", "vanilla:tbc", function ()
hooksecurefunc("ShowReadyCheck", function()
max = ReadyCheckFrame.timer
frame.bar:SetMinMaxValues(0, max)
end, 1)
end)
hooksecurefunc(update_func, function()
if not ReadyCheckFrame.timer then return end
@@ -50,6 +50,6 @@ pfUI:RegisterSkin("Readycheck", "vanilla:tbc", function ()
frame.bar:SetStatusBarColor(GetColorGradient(perc))
frame.bar:SetValue(ReadyCheckFrame.timer)
frame.bar.text:SetText(round(ReadyCheckFrame.timer, 2))
end, 1)
end)
end)
end)
+1 -1
View File
@@ -34,6 +34,6 @@ pfUI:RegisterSkin("GM Survey", "vanilla", function ()
GMSurveyFrameComment:SetMaxLetters(2000)
hooksecurefunc("GMSurveyFrame_Update", function()
GMSurveyFrameComment:SetWidth(505)
end, 1)
end)
end)
end)
+1 -1
View File
@@ -43,7 +43,7 @@ pfUI:RegisterSkin("Trade", "vanilla:tbc", function ()
hooksecurefunc("TradeFrame_UpdateTargetItem", function(id)
HandleIcon(_G["TradeRecipientItem"..id.."ItemButton"], _G["TradeRecipientItem"..id..'IconTexture'])
end, 1)
end)
SkinMoneyInputFrame(TradePlayerInputMoneyFrame)
+1 -1
View File
@@ -38,7 +38,7 @@ pfUI:RegisterSkin("Trainer", "vanilla:tbc", function ()
SkinButton(ClassTrainerSkillIcon, nil, nil, nil, nil, true)
hooksecurefunc("ClassTrainer_SetSelection", function()
HandleIcon(ClassTrainerSkillIcon, ClassTrainerSkillIcon:GetNormalTexture())
end, 1)
end)
StripTextures(ClassTrainerExpandButtonFrame)
StripTextures(ClassTrainerCollapseAllButton)