From 5828d18a1e1f8c9c07ef14a626e12e864874b2e4 Mon Sep 17 00:00:00 2001 From: shagu Date: Sun, 12 Jul 2020 11:46:14 +0200 Subject: [PATCH] nameplates: add option to set debuff position --- api/config.lua | 1 + modules/gui.lua | 5 +++++ modules/nameplates.lua | 20 ++++++++++++++++---- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/api/config.lua b/api/config.lua index e4a8c57a..7c3b231d 100644 --- a/api/config.lua +++ b/api/config.lua @@ -666,6 +666,7 @@ function pfUI:LoadConfig() pfUI:UpdateConfig("nameplates", "debuffs", "whitelist", "") pfUI:UpdateConfig("nameplates", "debuffs", "blacklist", "") pfUI:UpdateConfig("nameplates", "debuffs", "showstacks", "0") + pfUI:UpdateConfig("nameplates", "debuffs", "position", "BOTTOM") pfUI:UpdateConfig("abuttons", nil, "enable", "0") pfUI:UpdateConfig("abuttons", nil, "position", "bottom") diff --git a/modules/gui.lua b/modules/gui.lua index 92c4ab68..2179e11d 100644 --- a/modules/gui.lua +++ b/modules/gui.lua @@ -1065,6 +1065,10 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function () "left:" .. T["Left"], "right:" .. T["Right"] }, + ["debuffposition"] = { + "TOP:" .. T["Top"], + "BOTTOM:" .. T["Bottom"], + }, ["gmserver_text"] = { "elysium:" .. T["Elysium Based Core"], }, @@ -2110,6 +2114,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function () CreateConfig(nil, T["Debuffs"], nil, nil, "header") CreateConfig(U["nameplates"], T["Enable Debuffs"], C.nameplates, "showdebuffs", "checkbox") + CreateConfig(U["nameplates"], T["Debuff Position"], C.nameplates.debuffs, "position", "dropdown", pfUI.gui.dropdowns.debuffposition) CreateConfig(U["nameplates"], T["Estimate Debuffs"], C.nameplates, "guessdebuffs", "checkbox") CreateConfig(U["nameplates"], T["Debuff Icon Size"], C.nameplates, "debuffsize") CreateConfig(U["nameplates"], T["Show Debuff Stacks"], C.nameplates.debuffs, "showstacks", "checkbox") diff --git a/modules/nameplates.lua b/modules/nameplates.lua index 24227d02..56ed444b 100644 --- a/modules/nameplates.lua +++ b/modules/nameplates.lua @@ -292,11 +292,15 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function () castbar:Hide() castbar:SetScript("OnShow", function() - nameplate.debuffs[1]:SetPoint("TOPLEFT", this, "BOTTOMLEFT", 0, -4) + if C.nameplates.debuffs["position"] == "BOTTOM" then + nameplate.debuffs[1]:SetPoint("TOPLEFT", this, "BOTTOMLEFT", 0, -4) + end end) castbar:SetScript("OnHide", function() - nameplate.debuffs[1]:SetPoint("TOPLEFT", this:GetParent(), "BOTTOMLEFT", 0, -4) + if C.nameplates.debuffs["position"] == "BOTTOM" then + nameplate.debuffs[1]:SetPoint("TOPLEFT", this, "BOTTOMLEFT", 0, -4) + end end) castbar.text = castbar:CreateFontString("Status", "DIALOG", "GameFontNormal") @@ -378,15 +382,23 @@ pfUI:RegisterModule("nameplates", "vanilla:tbc", function () -- update debuff positions local limit = floor(width / debuffsize) + + local aligna, alignb, offs, space + if C.nameplates.debuffs["position"] == "BOTTOM" then + aligna, alignb, offs, space = "TOPLEFT", "BOTTOMLEFT", -4, -1 + else + aligna, alignb, offs, space = "BOTTOMLEFT", "TOPLEFT", 20, 1 + end + for i=1,16 do nameplate.debuffs[i].stacks:SetFont(font, font_size, font_style) nameplate.debuffs[i]:ClearAllPoints() if i == 1 then - nameplate.debuffs[i]:SetPoint("TOPLEFT", nameplate.health, "BOTTOMLEFT", 0, -4) + nameplate.debuffs[i]:SetPoint(aligna, nameplate.health, alignb, 0, offs) elseif i <= limit then nameplate.debuffs[i]:SetPoint("LEFT", nameplate.debuffs[i-1], "RIGHT", 1, 0) elseif i > limit then - nameplate.debuffs[i]:SetPoint("TOPLEFT", nameplate.debuffs[i-limit], "BOTTOMLEFT", 0, -1) + nameplate.debuffs[i]:SetPoint(aligna, nameplate.debuffs[i-limit], alignb, 0, space) end nameplate.debuffs[i]:SetWidth(tonumber(C.nameplates.debuffsize))