diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua index 64b5b30..e8c3cba 100644 --- a/Interface/AddOns/SVUI/data/defaults.lua +++ b/Interface/AddOns/SVUI/data/defaults.lua @@ -803,6 +803,7 @@ SV.defaults["SVUnit"] = { ["auraBarShield"] = true, ["castClassColor"] = false, ["xrayFocus"] = true, + ["resolveBar"] = true, ["player"] = { ["enable"] = true, ["width"] = 215, diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/readycheck.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/readycheck.lua index 1326eb8..b6718a9 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/readycheck.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/readycheck.lua @@ -113,6 +113,7 @@ local Enable = function(self, unit) self:RegisterEvent('READY_CHECK', Path, true) self:RegisterEvent('READY_CHECK_CONFIRM', Path, true) self:RegisterEvent('READY_CHECK_FINISHED', Path, true) + Start(readyCheck) return true end diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua index faee9d6..313b2b7 100644 --- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua +++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua @@ -1002,6 +1002,7 @@ do ScrollIndicator:Hide() elseif(not self:AtBottom() and not ScrollIndicator:IsShown()) then ScrollIndicator:Show() + ScrollIndicator.parent = self SV.Animate:Flash(ScrollIndicator,1,true) end end @@ -1076,6 +1077,12 @@ do end end +local ScrollFullButton = function(self) + if(not self.parent) then return end + self.parent:ScrollToBottom() + self:Hide() +end + local function removeIconFromLine(text) for i=1, 8 do text = gsub(text, "|TInterface\\TargetingFrame\\UI%-RaidTargetingIcon_"..i..":0|t", "") @@ -1188,11 +1195,13 @@ function MOD:Load() ScrollIndicator:SetSize(20,20) ScrollIndicator:SetPoint("BOTTOMRIGHT", self.Dock, "BOTTOMRIGHT", 6, 0) ScrollIndicator:SetFrameStrata("HIGH") - ScrollIndicator.icon = ScrollIndicator:CreateTexture(nil, "OVERLAY") + ScrollIndicator:EnableMouse(true) + ScrollIndicator.icon = ScrollIndicator:CreateTexture(nil, "BACKGROUND") ScrollIndicator.icon:SetAllPoints() ScrollIndicator.icon:SetTexture(SCROLL_ALERT) ScrollIndicator.icon:SetBlendMode("ADD") ScrollIndicator:Hide() + ScrollIndicator:SetScript("OnMouseDown", ScrollFullButton) self:RegisterEvent('UPDATE_CHAT_WINDOWS', 'RefreshChatFrames') self:RegisterEvent('UPDATE_FLOATING_CHAT_WINDOWS', 'RefreshChatFrames') diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua index a5d0b08..6331e3e 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua @@ -528,7 +528,7 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) frame.ActionPanel = CreateActionPanel(frame, 2) frame.TextGrip = CreateFrame("Frame", nil, frame) frame.TextGrip:SetFrameStrata("LOW") - frame.TextGrip:SetFrameLevel(20) + frame.TextGrip:SetFrameLevel(99) frame.TextGrip:SetPointToScale("TOPLEFT", frame.ActionPanel, "TOPLEFT", 2, -2) frame.TextGrip:SetPointToScale("BOTTOMRIGHT", frame.ActionPanel, "BOTTOMRIGHT", -2, 2) end diff --git a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua index dea2c2e..20677f9 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua @@ -140,9 +140,11 @@ function MOD:CreateResurectionIcon(frame) end function MOD:CreateReadyCheckIcon(frame) - local rdy = frame.TextGrip:CreateTexture(nil, "OVERLAY", nil, 7) - rdy:SetSizeToScale(12) - rdy:SetPointToScale("BOTTOM", frame.Health, "BOTTOM", 0, 2) + local rdyHolder = CreateFrame("Frame", nil, frame.TextGrip) + rdyHolder:SetAllPoints(frame) + local rdy = rdyHolder:CreateTexture(nil, "OVERLAY", nil, 7) + rdy:SetSizeToScale(18) + rdy:SetPointToScale("RIGHT", rdyHolder, "RIGHT", 0, 0) return rdy end @@ -640,24 +642,26 @@ local function IsTank() end local ResolveBar_OnEvent = function(self, event, unit) - if(event == 'UNIT_AURA') then - local _, _, _, _, _, _, _, _, _, _, _, _, _, _, value, amount = UnitBuff(unit, resolveId) - if(value and amount and (cached_resolve ~= amount)) then - cached_resolve = amount - self.bar:SetValue(value) - self.bar.text:SetText(Short(amount)) - self:FadeIn() - end - else - if IsTank() then - if(not self.bar:IsShown()) then - self:RegisterUnitEvent("UNIT_AURA", "player") - self.bar:Show() + if(SV.db.SVUnit.resolveBar) then + if(event == 'UNIT_AURA') then + local _, _, _, _, _, _, _, _, _, _, _, _, _, _, value, amount = UnitBuff(unit, resolveId) + if(value and amount and (cached_resolve ~= amount)) then + cached_resolve = amount + self.bar:SetValue(value) + self.bar.text:SetText(Short(amount)) + self:FadeIn() end else - if(self.bar:IsShown()) then - self:UnregisterEvent("UNIT_AURA") - self.bar:Hide() + if IsTank() then + if(not self.bar:IsShown()) then + self:RegisterUnitEvent("UNIT_AURA", "player") + self.bar:Show() + end + else + if(self.bar:IsShown()) then + self:UnregisterEvent("UNIT_AURA") + self.bar:Hide() + end end end end diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua index c785ede..0c882a3 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua @@ -1792,8 +1792,20 @@ SV.Options.args.SVUnit = { desc = L["Use handy graphics to focus the current target, or clear the current focus"], type = "toggle" }, - OORAlpha = { + resolveBar = { order = 5, + name = L["Resolve Meter"], + desc = L["A convenient meter for tanks to display their current resolve."], + type = "toggle" + }, + spacer99 = { + order = 6, + name = "", + type = "description", + width = "full", + }, + OORAlpha = { + order = 7, name = L["Range Fading"], desc = L["The transparency of units that are out of range."], type = "range", @@ -1805,7 +1817,7 @@ SV.Options.args.SVUnit = { end }, groupOORAlpha = { - order = 6, + order = 8, name = L["Group Range Fading"], desc = L["The transparency of group units that are out of range."], type = "range",