Added buff containers for vanity and consolidated buffs to match base… (#98)
* Added buff containers for vanity and consolidated buffs to match base ui feature * use locals and don't unpack values 2x * Moved vanity and consolidated settings to base profile instead of private per character
This commit is contained in:
+195
-10
@@ -1,4 +1,4 @@
|
|||||||
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
local E, L, V, P, G = unpack(select(2, ...)) --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||||
local A = E:GetModule("Auras")
|
local A = E:GetModule("Auras")
|
||||||
local NP = E:GetModule("NamePlates")
|
local NP = E:GetModule("NamePlates")
|
||||||
local LSM = E.Libs.LSM
|
local LSM = E.Libs.LSM
|
||||||
@@ -69,7 +69,7 @@ local enchantableSlots = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
local weaponEnchantTime = {}
|
local weaponEnchantTime = {}
|
||||||
A.EnchanData = weaponEnchantTime
|
-- A.EnchanData = weaponEnchantTime -- unused and misspelled?
|
||||||
|
|
||||||
function A:UpdateTime(elapsed)
|
function A:UpdateTime(elapsed)
|
||||||
self.timeLeft = self.timeLeft - elapsed
|
self.timeLeft = self.timeLeft - elapsed
|
||||||
@@ -265,11 +265,29 @@ function A:Update_CooldownOptions(button)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local buttons = {}
|
local buttons = {}
|
||||||
|
local vanityButton = {}
|
||||||
|
local consolidatedButton = {}
|
||||||
|
local expiringVanityOrConsolidated = 0
|
||||||
|
|
||||||
|
function A:triggerUpdateOnNext()
|
||||||
|
expiringVanityOrConsolidated = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
local function checkExpiringVanityAndConsolidated()
|
||||||
|
if expiringVanityOrConsolidated > 0 and expiringVanityOrConsolidated <= GetTime() then
|
||||||
|
expiringVanityOrConsolidated = 0
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function A:ConfigureAuras(header, auraTable, weaponPosition)
|
function A:ConfigureAuras(header, auraTable, weaponPosition)
|
||||||
local headerName = header:GetName()
|
local headerName = header:GetName()
|
||||||
local db = self.db.debuffs
|
local db = self.db.debuffs
|
||||||
if header.filter == "HELPFUL" then
|
if header.filter == "HELPFUL" then
|
||||||
db = self.db.buffs
|
db = self.db.buffs
|
||||||
|
expiringVanityOrConsolidated = 0
|
||||||
|
wipe(vanityButton)
|
||||||
|
wipe(consolidatedButton)
|
||||||
end
|
end
|
||||||
|
|
||||||
local xOffset, yOffset, wrapXOffset, wrapYOffset, minWidth, minHeight
|
local xOffset, yOffset, wrapXOffset, wrapYOffset, minWidth, minHeight
|
||||||
@@ -335,19 +353,73 @@ function A:ConfigureAuras(header, auraTable, weaponPosition)
|
|||||||
button.text:Hide()
|
button.text:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
button.texture:SetTexture(buffInfo.icon)
|
||||||
|
|
||||||
|
button:SetParent(header)
|
||||||
if buffInfo.filter == "HARMFUL" then
|
if buffInfo.filter == "HARMFUL" then
|
||||||
local color = DebuffTypeColor[buffInfo.dispelType or ""]
|
local color = DebuffTypeColor[buffInfo.dispelType or ""]
|
||||||
button:SetBackdropBorderColor(color.r, color.g, color.b)
|
button:SetBackdropBorderColor(color.r, color.g, color.b)
|
||||||
button.statusBar.backdrop:SetBackdropBorderColor(color.r, color.g, color.b)
|
button.statusBar.backdrop:SetBackdropBorderColor(color.r, color.g, color.b)
|
||||||
|
button:SetParent(header)
|
||||||
|
buttons[i] = button
|
||||||
else
|
else
|
||||||
local cr, cg, cb = unpack(E.media.bordercolor)
|
local cr, cg, cb = unpack(E.media.bordercolor)
|
||||||
button:SetBackdropBorderColor(cr, cg, cb)
|
button:SetBackdropBorderColor(cr, cg, cb)
|
||||||
button.statusBar.backdrop:SetBackdropBorderColor(cr, cg, cb)
|
button.statusBar.backdrop:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
|
||||||
|
local exitTime, expiring = 0, false
|
||||||
|
if buffInfo.expires > 0 and buffInfo.duration > 30 then
|
||||||
|
exitTime = buffInfo.expires - max(10, buffInfo.duration / 10)
|
||||||
|
expiring = exitTime < GetTime()
|
||||||
|
end
|
||||||
|
|
||||||
|
if E.db.auras.mergeVanity and not expiring and C_VanityCollection.IsConsolidatedVanityBuff(buffInfo.spellID) then
|
||||||
|
button:SetParent(ElvuiVanityBuffsTooltip)
|
||||||
|
button:Show()
|
||||||
|
vanityButton[#vanityButton+1] = button
|
||||||
|
if exitTime > 0 then
|
||||||
|
if expiringVanityOrConsolidated > 0 then
|
||||||
|
expiringVanityOrConsolidated = min(expiringVanityOrConsolidated, exitTime)
|
||||||
|
else
|
||||||
|
expiringVanityOrConsolidated = exitTime
|
||||||
|
end
|
||||||
|
end
|
||||||
|
elseif E.db.auras.mergeConsolidated and not expiring and buffInfo.shouldConsolidate then
|
||||||
|
button:SetParent(ElvuiConsolidatedBuffsTooltip)
|
||||||
|
button:Show()
|
||||||
|
consolidatedButton[#consolidatedButton+1] = button
|
||||||
|
if exitTime > 0 then
|
||||||
|
if expiringVanityOrConsolidated > 0 then
|
||||||
|
expiringVanityOrConsolidated = min(expiringVanityOrConsolidated, exitTime)
|
||||||
|
else
|
||||||
|
expiringVanityOrConsolidated = exitTime
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
buttons[#buttons+1] = button
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
button.texture:SetTexture(buffInfo.icon)
|
end
|
||||||
|
|
||||||
buttons[i] = button
|
if header.filter == "HELPFUL" then
|
||||||
|
if #vanityButton > 0 then
|
||||||
|
ElvuiVanityBuffs:Show()
|
||||||
|
ElvuiVanityBuffs.count:SetText(#vanityButton)
|
||||||
|
tinsert(buttons, 1, ElvuiVanityBuffs)
|
||||||
|
else
|
||||||
|
ElvuiVanityBuffs:Hide()
|
||||||
|
ElvuiVanityBuffs.count:SetText("")
|
||||||
|
end
|
||||||
|
|
||||||
|
if #consolidatedButton > 0 then
|
||||||
|
ElvuiConsolidatedBuffs:Show()
|
||||||
|
ElvuiConsolidatedBuffs.count:SetText(#consolidatedButton)
|
||||||
|
tinsert(buttons, 1, ElvuiConsolidatedBuffs)
|
||||||
|
else
|
||||||
|
ElvuiConsolidatedBuffs:Hide()
|
||||||
|
ElvuiConsolidatedBuffs.count:SetText("")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if weaponPosition then
|
if weaponPosition then
|
||||||
@@ -476,6 +548,8 @@ function A:ConfigureAuras(header, auraTable, weaponPosition)
|
|||||||
header:SetWidth(minWidth)
|
header:SetWidth(minWidth)
|
||||||
header:SetHeight(minHeight)
|
header:SetHeight(minHeight)
|
||||||
end
|
end
|
||||||
|
A:ElvuiConsolidatedBuffs_UpdateAllAnchors()
|
||||||
|
A:ElvuiVanityBuffs_UpdateAllAnchors()
|
||||||
end
|
end
|
||||||
|
|
||||||
local freshTable
|
local freshTable
|
||||||
@@ -505,7 +579,7 @@ local function sortFactory(key, separateOwn, reverse)
|
|||||||
else
|
else
|
||||||
return a.filter < b.filter
|
return a.filter < b.filter
|
||||||
end
|
end
|
||||||
end;
|
end
|
||||||
else
|
else
|
||||||
return function(a, b)
|
return function(a, b)
|
||||||
if a.filter == b.filter then
|
if a.filter == b.filter then
|
||||||
@@ -517,7 +591,7 @@ local function sortFactory(key, separateOwn, reverse)
|
|||||||
else
|
else
|
||||||
return a.filter < b.filter
|
return a.filter < b.filter
|
||||||
end
|
end
|
||||||
end;
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if reverse then
|
if reverse then
|
||||||
@@ -527,7 +601,7 @@ local function sortFactory(key, separateOwn, reverse)
|
|||||||
else
|
else
|
||||||
return a.filter < b.filter
|
return a.filter < b.filter
|
||||||
end
|
end
|
||||||
end;
|
end
|
||||||
else
|
else
|
||||||
return function(a, b)
|
return function(a, b)
|
||||||
if a.filter == b.filter then
|
if a.filter == b.filter then
|
||||||
@@ -535,7 +609,7 @@ local function sortFactory(key, separateOwn, reverse)
|
|||||||
else
|
else
|
||||||
return a.filter < b.filter
|
return a.filter < b.filter
|
||||||
end
|
end
|
||||||
end;
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -569,7 +643,7 @@ function A:UpdateHeader(header)
|
|||||||
local i = 1
|
local i = 1
|
||||||
repeat
|
repeat
|
||||||
local aura, _ = freshTable()
|
local aura, _ = freshTable()
|
||||||
aura.name, _, aura.icon, aura.count, aura.dispelType, aura.duration, aura.expires, aura.caster = UnitAura("player", i, filter)
|
aura.name, _, aura.icon, aura.count, aura.dispelType, aura.duration, aura.expires, aura.caster, _, aura.shouldConsolidate, aura.spellID = UnitAura("player", i, filter)
|
||||||
if aura.name then
|
if aura.name then
|
||||||
aura.filter = filter
|
aura.filter = filter
|
||||||
aura.index = i
|
aura.index = i
|
||||||
@@ -628,6 +702,115 @@ function A:CreateAuraHeader(filter)
|
|||||||
return header
|
return header
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function A:ActuallyUpdateAllAnchors(buttons, tooltip)
|
||||||
|
local index = 0
|
||||||
|
db = self.db.buffs
|
||||||
|
local xOffset, wrapYOffset
|
||||||
|
local size = db.size
|
||||||
|
local wrapAfter = 4
|
||||||
|
local offset = floor(size / 2)
|
||||||
|
|
||||||
|
xOffset = db.horizontalSpacing + size
|
||||||
|
wrapYOffset = (db.verticalSpacing + size) * -1
|
||||||
|
|
||||||
|
for _, buff in pairs(buttons) do
|
||||||
|
index = index + 1
|
||||||
|
local tick, cycle = floor((index - 1) % wrapAfter), floor((index - 1) / wrapAfter)
|
||||||
|
buff:ClearAllPoints()
|
||||||
|
buff:SetPoint("TOPLEFT", tooltip, offset + tick * xOffset, cycle * wrapYOffset - offset)
|
||||||
|
buff:SetSize(size, size)
|
||||||
|
end
|
||||||
|
local wm, hm = min(index, wrapAfter), floor((index + wrapAfter - 1) / wrapAfter)
|
||||||
|
tooltip:SetWidth( size + wm * size + (wm - 1) * db.horizontalSpacing)
|
||||||
|
tooltip:SetHeight( offset + hm * size + hm * db.verticalSpacing)
|
||||||
|
end
|
||||||
|
|
||||||
|
function A:ElvuiConsolidatedBuffs_UpdateAllAnchors()
|
||||||
|
self:ActuallyUpdateAllAnchors(consolidatedButton, ElvuiConsolidatedBuffsTooltip)
|
||||||
|
end
|
||||||
|
|
||||||
|
function A:ElvuiVanityBuffs_UpdateAllAnchors()
|
||||||
|
self:ActuallyUpdateAllAnchors(vanityButton, ElvuiVanityBuffsTooltip)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function ElvuiConsolidatedBuffs_OnUpdate(self)
|
||||||
|
-- tooltip stuff
|
||||||
|
-- need 1-pixel outer padding because otherwise at certain resolutions OnEnter will trigger with IsMouseOver returning false
|
||||||
|
if ( self.mousedOver and not self:IsMouseOver(1, -1, -1, 1) ) then
|
||||||
|
self.mousedOver = nil
|
||||||
|
if ( not ElvuiConsolidatedBuffsTooltip:IsMouseOver() ) then
|
||||||
|
ElvuiConsolidatedBuffsTooltip:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function ElvuiConsolidatedBuffs_OnEnter(self)
|
||||||
|
ElvuiConsolidatedBuffsTooltip:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 0, 0)
|
||||||
|
A:ElvuiConsolidatedBuffs_UpdateAllAnchors()
|
||||||
|
ElvuiConsolidatedBuffsTooltip:Show()
|
||||||
|
ElvuiConsolidatedBuffs.mousedOver = true
|
||||||
|
end
|
||||||
|
|
||||||
|
local function ElvuiVanityBuffs_OnUpdate(self)
|
||||||
|
-- tooltip stuff
|
||||||
|
-- need 1-pixel outer padding because otherwise at certain resolutions OnEnter will trigger with IsMouseOver returning false
|
||||||
|
if ( self.mousedOver and not self:IsMouseOver(1, -1, -1, 1) ) then
|
||||||
|
self.mousedOver = nil
|
||||||
|
if ( not ElvuiVanityBuffsTooltip:IsMouseOver() ) then
|
||||||
|
ElvuiVanityBuffsTooltip:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function ElvuiVanityBuffs_OnEnter(self)
|
||||||
|
ElvuiVanityBuffsTooltip:SetPoint("TOPLEFT", self, "BOTTOMLEFT", 0, 0)
|
||||||
|
A:ElvuiVanityBuffs_UpdateAllAnchors()
|
||||||
|
ElvuiVanityBuffsTooltip:Show()
|
||||||
|
ElvuiVanityBuffs.mousedOver = true
|
||||||
|
end
|
||||||
|
|
||||||
|
local function InitConsolidated(offset)
|
||||||
|
local cr, cg, cb = unpack(E.media.bordercolor)
|
||||||
|
local br, bg, bb = unpack(E.media.backdropcolor)
|
||||||
|
|
||||||
|
A:CreateIcon(ElvuiConsolidatedBuffs)
|
||||||
|
ElvuiConsolidatedBuffs.statusBar:Hide()
|
||||||
|
ElvuiConsolidatedBuffs.texture:SetTexture("Interface\\Buttons\\BuffConsolidation")
|
||||||
|
ElvuiConsolidatedBuffs.texture:SetTexCoord(0.1, 0.4, 0.2, 0.8)
|
||||||
|
ElvuiConsolidatedBuffs.texture:SetInside()
|
||||||
|
ElvuiConsolidatedBuffs:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiConsolidatedBuffs.statusBar.backdrop:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiConsolidatedBuffs:SetScript("OnUpdate", ElvuiConsolidatedBuffs_OnUpdate)
|
||||||
|
ElvuiConsolidatedBuffs:SetScript("OnEnter", ElvuiConsolidatedBuffs_OnEnter)
|
||||||
|
ElvuiConsolidatedBuffsTooltip:SetBackdrop({
|
||||||
|
bgFile = E.media.glossTex or E.media.blankTex,
|
||||||
|
edgeFile = E.media.blankTex,
|
||||||
|
edgeSize = E.mult,
|
||||||
|
insets = {left = -E.mult, right = -E.mult, top = -E.mult, bottom = -E.mult}
|
||||||
|
})
|
||||||
|
ElvuiConsolidatedBuffsTooltip:SetScale(E.global.general.UIScale)
|
||||||
|
ElvuiConsolidatedBuffsTooltip:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiConsolidatedBuffsTooltip:SetBackdropColor(br, bg, bb)
|
||||||
|
|
||||||
|
|
||||||
|
A:CreateIcon(ElvuiVanityBuffs)
|
||||||
|
ElvuiVanityBuffs.statusBar:Hide()
|
||||||
|
ElvuiVanityBuffs.texture:SetTexture("Interface\\Icons\\INV_Chest_Awakening")
|
||||||
|
ElvuiVanityBuffs:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiVanityBuffs.statusBar.backdrop:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiVanityBuffs:SetScript("OnUpdate", ElvuiVanityBuffs_OnUpdate)
|
||||||
|
ElvuiVanityBuffs:SetScript("OnEnter", ElvuiVanityBuffs_OnEnter)
|
||||||
|
ElvuiVanityBuffsTooltip:SetBackdrop({
|
||||||
|
bgFile = E.media.glossTex or E.media.blankTex,
|
||||||
|
edgeFile = E.media.blankTex,
|
||||||
|
edgeSize = E.mult,
|
||||||
|
insets = {left = -E.mult, right = -E.mult, top = -E.mult, bottom = -E.mult}
|
||||||
|
})
|
||||||
|
ElvuiVanityBuffsTooltip:SetScale(E.global.general.UIScale)
|
||||||
|
ElvuiVanityBuffsTooltip:SetBackdropBorderColor(cr, cg, cb)
|
||||||
|
ElvuiVanityBuffsTooltip:SetBackdropColor(br, bg, bb)
|
||||||
|
end
|
||||||
|
|
||||||
function A:Initialize()
|
function A:Initialize()
|
||||||
if E.private.auras.disableBlizzard then
|
if E.private.auras.disableBlizzard then
|
||||||
BuffFrame:Kill()
|
BuffFrame:Kill()
|
||||||
@@ -647,6 +830,8 @@ function A:Initialize()
|
|||||||
self.LBFGroup = LBF and LBF:Group("ElvUI", "Auras")
|
self.LBFGroup = LBF and LBF:Group("ElvUI", "Auras")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
InitConsolidated(floor(self.db.buffs.size / 2))
|
||||||
|
|
||||||
self.BuffFrame = self:CreateAuraHeader("HELPFUL")
|
self.BuffFrame = self:CreateAuraHeader("HELPFUL")
|
||||||
self.BuffFrame:Point("TOPRIGHT", MMHolder, "TOPLEFT", -(6 + E.Border), -E.Border - E.Spacing)
|
self.BuffFrame:Point("TOPRIGHT", MMHolder, "TOPLEFT", -(6 + E.Border), -E.Border - E.Spacing)
|
||||||
E:CreateMover(self.BuffFrame, "BuffsMover", L["Player Buffs"], nil, nil, nil, nil, nil, "auras,buffs")
|
E:CreateMover(self.BuffFrame, "BuffsMover", L["Player Buffs"], nil, nil, nil, nil, nil, "auras,buffs")
|
||||||
@@ -665,7 +850,7 @@ function A:Initialize()
|
|||||||
if GetRangedWeaponEnchantInfo then
|
if GetRangedWeaponEnchantInfo then
|
||||||
hasRangedEnchant, rangedExpiration = GetRangedWeaponEnchantInfo()
|
hasRangedEnchant, rangedExpiration = GetRangedWeaponEnchantInfo()
|
||||||
end
|
end
|
||||||
if A:HasEnchant(1, hasMainHandEnchant, mainHandExpiration) or A:HasEnchant(2, hasOffHandEnchant, offHandExpiration) or A:HasEnchant(3, hasRangedEnchant, rangedExpiration) then
|
if A:HasEnchant(1, hasMainHandEnchant, mainHandExpiration) or A:HasEnchant(2, hasOffHandEnchant, offHandExpiration) or A:HasEnchant(3, hasRangedEnchant, rangedExpiration) or checkExpiringVanityAndConsolidated() then
|
||||||
A:UpdateHeader(bf)
|
A:UpdateHeader(bf)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|||||||
@@ -1,3 +1,83 @@
|
|||||||
<Ui xmlns="http://www.blizzard.com/wow/ui/">
|
<Ui xmlns="http://www.blizzard.com/wow/ui/">
|
||||||
<Script file="Auras.lua"/>
|
<Script file="Auras.lua"/>
|
||||||
|
|
||||||
|
<Button name="ElvuiConsolidatedBuffs" parent="UIParent" inherits="AuraButtonTemplate" hidden="true">
|
||||||
|
</Button>
|
||||||
|
<Frame name="ElvuiConsolidatedBuffsTooltip" frameStrata="FULLSCREEN_DIALOG" clampedToScreen="true" hidden="true">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" />
|
||||||
|
</Anchors>
|
||||||
|
<Size>
|
||||||
|
<AbsDimension x="60" y="60"/>
|
||||||
|
</Size>
|
||||||
|
<Backdrop bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
|
||||||
|
<EdgeSize>
|
||||||
|
<AbsValue val="16"/>
|
||||||
|
</EdgeSize>
|
||||||
|
<TileSize>
|
||||||
|
<AbsValue val="16"/>
|
||||||
|
</TileSize>
|
||||||
|
<BackgroundInsets>
|
||||||
|
<AbsInset left="4" right="4" top="4" bottom="4"/>
|
||||||
|
</BackgroundInsets>
|
||||||
|
</Backdrop>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b);
|
||||||
|
self:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
|
||||||
|
</OnLoad>
|
||||||
|
<OnEnter>
|
||||||
|
self.mousedOver = true;
|
||||||
|
</OnEnter>
|
||||||
|
<OnUpdate>
|
||||||
|
if ( self.mousedOver and not ElvuiConsolidatedBuffs.mousedOver and not self:IsMouseOver() ) then
|
||||||
|
self.mousedOver = nil;
|
||||||
|
self:Hide();
|
||||||
|
end
|
||||||
|
</OnUpdate>
|
||||||
|
<OnHide>
|
||||||
|
self.mousedOver = nil;
|
||||||
|
</OnHide>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
|
|
||||||
|
<Button name="ElvuiVanityBuffs" parent="UIParent" inherits="AuraButtonTemplate" hidden="true">
|
||||||
|
</Button>
|
||||||
|
<Frame name="ElvuiVanityBuffsTooltip" frameStrata="FULLSCREEN_DIALOG" clampedToScreen="true" hidden="true">
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="TOPLEFT" />
|
||||||
|
</Anchors>
|
||||||
|
<Size>
|
||||||
|
<AbsDimension x="60" y="60"/>
|
||||||
|
</Size>
|
||||||
|
<Backdrop bgFile="Interface\Tooltips\UI-Tooltip-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
|
||||||
|
<EdgeSize>
|
||||||
|
<AbsValue val="16"/>
|
||||||
|
</EdgeSize>
|
||||||
|
<TileSize>
|
||||||
|
<AbsValue val="16"/>
|
||||||
|
</TileSize>
|
||||||
|
<BackgroundInsets>
|
||||||
|
<AbsInset left="4" right="4" top="4" bottom="4"/>
|
||||||
|
</BackgroundInsets>
|
||||||
|
</Backdrop>
|
||||||
|
<Scripts>
|
||||||
|
<OnLoad>
|
||||||
|
self:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b);
|
||||||
|
self:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
|
||||||
|
</OnLoad>
|
||||||
|
<OnEnter>
|
||||||
|
self.mousedOver = true;
|
||||||
|
</OnEnter>
|
||||||
|
<OnUpdate>
|
||||||
|
if ( self.mousedOver and not ElvuiVanityBuffs.mousedOver and not self:IsMouseOver() ) then
|
||||||
|
self.mousedOver = nil;
|
||||||
|
self:Hide();
|
||||||
|
end
|
||||||
|
</OnUpdate>
|
||||||
|
<OnHide>
|
||||||
|
self.mousedOver = nil;
|
||||||
|
</OnHide>
|
||||||
|
</Scripts>
|
||||||
|
</Frame>
|
||||||
</Ui>
|
</Ui>
|
||||||
@@ -818,7 +818,8 @@ P.auras = {
|
|||||||
mmssColor = {r = 0.56, g = 0.56, b = 0.56},
|
mmssColor = {r = 0.56, g = 0.56, b = 0.56},
|
||||||
hhmmThreshold = -1,
|
hhmmThreshold = -1,
|
||||||
mmssThreshold = -1
|
mmssThreshold = -1
|
||||||
}
|
},
|
||||||
|
mergeVanity = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
--Chat
|
--Chat
|
||||||
|
|||||||
@@ -149,6 +149,26 @@ E.Options.args.auras = {
|
|||||||
E:StaticPopup_Show("PRIVATE_RL")
|
E:StaticPopup_Show("PRIVATE_RL")
|
||||||
end
|
end
|
||||||
},
|
},
|
||||||
|
mergeVanity = {
|
||||||
|
order = 3.1,
|
||||||
|
type = "toggle",
|
||||||
|
name = L["Merge Vanity"],
|
||||||
|
get = function(info) return E.db.auras[info[#info]] end,
|
||||||
|
set = function(info, value)
|
||||||
|
E.db.auras[info[#info]] = value
|
||||||
|
A:triggerUpdateOnNext()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
mergeConsolidated = {
|
||||||
|
order = 3.2,
|
||||||
|
type = "toggle",
|
||||||
|
name = L["Merge Consolidated"],
|
||||||
|
get = function(info) return E.db.auras[info[#info]] end,
|
||||||
|
set = function(info, value)
|
||||||
|
E.db.auras[info[#info]] = value
|
||||||
|
A:triggerUpdateOnNext()
|
||||||
|
end
|
||||||
|
},
|
||||||
general = {
|
general = {
|
||||||
order = 4,
|
order = 4,
|
||||||
type = "group",
|
type = "group",
|
||||||
|
|||||||
@@ -326,6 +326,8 @@ L["Disable Bank Sort"] = true
|
|||||||
L["Disable Debuff Highlight"] = true
|
L["Disable Debuff Highlight"] = true
|
||||||
L["Disabled Blizzard Frames"] = true
|
L["Disabled Blizzard Frames"] = true
|
||||||
L["Disabled Blizzard"] = true
|
L["Disabled Blizzard"] = true
|
||||||
|
L["Merge Vanity"] = true
|
||||||
|
L["Merge Consolidated"] = true
|
||||||
L["Disables the focus and target of focus unitframes."] = true
|
L["Disables the focus and target of focus unitframes."] = true
|
||||||
L["Disables the player and pet unitframes."] = true
|
L["Disables the player and pet unitframes."] = true
|
||||||
L["Disables the target and target of target unitframes."] = true
|
L["Disables the target and target of target unitframes."] = true
|
||||||
|
|||||||
Reference in New Issue
Block a user