diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc index 3a3d11c..a84b988 100644 --- a/Interface/AddOns/SVUI/SVUI.toc +++ b/Interface/AddOns/SVUI/SVUI.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI|r ## Notes: Supervillain UI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global, SVUI_Errors diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua index bbdc2cd..1a8b1d5 100644 --- a/Interface/AddOns/SVUI/data/defaults.lua +++ b/Interface/AddOns/SVUI/data/defaults.lua @@ -807,7 +807,6 @@ SV.defaults["SVUnit"] = { ["enable"] = true, ["width"] = 215, ["height"] = 40, - ["lowmana"] = 30, ["combatfade"] = false, ["predict"] = false, ["threatEnabled"] = true, @@ -854,7 +853,6 @@ SV.defaults["SVUnit"] = { ["xOffset"] = 0, ["yOffset"] = 0, ["detachedWidth"] = 250, - ["attachTextToPower"] = false, ["druidMana"] = true, ["fontSize"] = 11, ["classColor"] = false, @@ -882,11 +880,10 @@ SV.defaults["SVUnit"] = { ["portrait"] = { ["enable"] = true, - ["width"] = 50, - ["overlay"] = true, + ["width"] = 50, ["camDistanceScale"] = 1.4, ["rotation"] = 0, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["buffs"] = { @@ -962,8 +959,7 @@ SV.defaults["SVUnit"] = { }, ["classbar"] = { - ["enable"] = true, - ["slideLeft"] = true, + ["enable"] = true, ["inset"] = "inset", ["height"] = 25, ["detachFromFrame"] = false, @@ -1046,7 +1042,6 @@ SV.defaults["SVUnit"] = { ["hideonnpc"] = true, ["xOffset"] = 0, ["yOffset"] = 0, - ["attachTextToPower"] = false, ["fontSize"] = 11, ["classColor"] = false, }, @@ -1067,7 +1062,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1.4, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["buffs"] = { @@ -1301,7 +1296,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["buffs"] = { @@ -1828,7 +1823,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["buffs"] = { @@ -2087,7 +2082,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["name"] = { @@ -2230,7 +2225,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, ["buffs"] = { @@ -2483,7 +2478,7 @@ SV.defaults["SVUnit"] = { ["overlay"] = true, ["rotation"] = 0, ["camDistanceScale"] = 1, - ["style"] = "3D", + ["style"] = "3DOVERLAY", }, }, ["raid"] = { diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc index 217c23c..5192212 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc @@ -2,7 +2,7 @@ ## Title: oUF ActionPanel ## Notes: Adds a backing to all unit frames that provides many utilities. ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc index de28291..e1856ba 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc @@ -2,7 +2,7 @@ ## Title: oUF Afflicted ## Notes: Adds Custom Debuff Highlighting to oUF. ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc index 4d33260..9f98003 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.toc @@ -2,7 +2,7 @@ ## Title: oUF Arcane Charge ## Notes: Adds support for arcane charge indicators to oUF. ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Dependencies: oUF oUF_ArcaneCharge.lua \ No newline at end of file diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc index 62f83be..7b7c819 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.toc @@ -2,7 +2,7 @@ ## Title: oUF Combatant ## Notes: Adds PvP trinket status and spec icons to oUF frames. ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua index 53467f7..147ffc7 100644 --- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua +++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua @@ -81,17 +81,6 @@ local RefProfessionColors = { local BagFilters = CreateFrame("Frame", "SVUI_BagFilterMenu", UIParent); --[[ ########################################################## -UPVALUES -########################################################## -]]-- -local DIALOG_FONT = [[Interface\AddOns\SVUI\assets\fonts\Default.ttf]]; -local DIALOG_FONTSIZE = 12; -local DIALOG_FONTOUTLINE = "OUTLINE"; -local NUMBER_FONT = [[Interface\AddOns\SVUI\assets\fonts\Default.ttf]]; -local NUMBER_FONTSIZE = 12; -local NUMBER_FONTOUTLINE = "OUTLINE"; ---[[ -########################################################## LOCAL FUNCTIONS ########################################################## ]]-- @@ -1800,15 +1789,6 @@ end BUILD FUNCTION / UPDATE ########################################################## ]]-- -function MOD:UpdateLocals() - DIALOG_FONT = LSM:Fetch("font", SV.db.font.bagdialog.file); - DIALOG_FONTSIZE = SV.db.font.bagdialog.size or 11; - DIALOG_FONTOUTLINE = SV.db.font.bagdialog.outline; - NUMBER_FONT = LSM:Fetch("font", SV.db.font.bagnumber.file); - NUMBER_FONTSIZE = SV.db.font.bagnumber.size; - NUMBER_FONTOUTLINE = SV.db.font.bagnumber.outline; -end - function MOD:ReLoad() if not SV.db.SVBag.enable then return end self:RefreshBagFrames() diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 1959408..5ba5487 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -417,12 +417,12 @@ function MOD:RefreshUnitLayout(frame, template) local PORTRAIT_STYLE = 'None'; if(db.portrait) then PORTRAIT_ENABLED = (not GRID_MODE and db.portrait.enable); - PORTRAIT_OVERLAY = (not GRID_MODE and PORTRAIT_ENABLED and db.portrait.overlay); + PORTRAIT_STYLE = db.portrait.style; + PORTRAIT_OVERLAY = (not GRID_MODE and PORTRAIT_ENABLED and PORTRAIT_STYLE == '3DOVERLAY'); PORTRAIT_OVERLAY_ANIMATION = (PORTRAIT_OVERLAY) and SV.db.SVUnit.overlayAnimation or false; if(PORTRAIT_ENABLED and (not PORTRAIT_OVERLAY)) then PORTRAIT_WIDTH = ((db.portrait.width * TOP_MODIFIER) + (1 * TOP_MODIFIER)); end - PORTRAIT_STYLE = db.portrait.style; if(frame.Portrait) then frame.Portrait:Hide() @@ -552,11 +552,6 @@ function MOD:RefreshUnitLayout(frame, template) cY = db.power.yOffset powertext:ClearAllPoints() SV:SetReversePoint(powertext, point, TEXT_GRIP, cX, cY) - if db.power.attachTextToPower then - powertext:SetParent(POWER_GRIP) - else - powertext:SetParent(TEXT_GRIP) - end end frame:Tag(powertext, db.power.tags) end diff --git a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua index 6598388..5540ec8 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua @@ -123,6 +123,8 @@ local Aura_UpdateTooltip = function(self) GameTooltip:SetUnitAura(self.parent.__owner.unit, self:GetID(), self.filter) end +local _hook_AuraBGBorderColor = function(self, ...) self.bg:SetBackdropBorderColor(...) end + local CreateAuraIcon = function(icons, index) local baseSize = icons.size or 16 local aura = CreateFrame("Button", nil, icons) @@ -138,7 +140,7 @@ local CreateAuraIcon = function(icons, index) tile = false, tileSize = 0, edgeFile = [[Interface\BUTTONS\WHITE8X8]], - edgeSize = 2, + edgeSize = 1, insets = { left = 0, right = 0, @@ -149,12 +151,37 @@ local CreateAuraIcon = function(icons, index) aura:SetBackdropColor(0, 0, 0, 0) aura:SetBackdropBorderColor(0, 0, 0) + local bg = CreateFrame("Frame", nil, aura) + bg:SetFrameStrata("BACKGROUND") + bg:SetFrameLevel(0) + bg:SetAllPointsOut(aura, 2, 2) + bg:SetBackdrop({ + bgFile = [[Interface\BUTTONS\WHITE8X8]], + tile = false, + tileSize = 0, + edgeFile = [[Interface\AddOns\SVUI\assets\artwork\Template\GLOW]], + edgeSize = 1, + insets = { + left = 1, + right = 1, + top = 1, + bottom = 1 + } + }) + bg:SetBackdropColor(0, 0, 0, 0) + bg:SetBackdropBorderColor(0, 0, 0, 0) + aura.bg = bg; + + --hooksecurefunc(aura, "SetBackdropBorderColor", _hook_AuraBGBorderColor) + local fontgroup = "unitauralarge"; if(baseSize < 18) then fontgroup = "unitaurasmall"; elseif(baseSize < 24) then fontgroup = "unitauramedium"; end + --print(baseSize) + --print(fontgroup) local cd = CreateFrame("Cooldown", nil, aura, "CooldownFrameTemplate"); cd:SetAllPointsIn(aura, 1, 1); @@ -178,7 +205,7 @@ local CreateAuraIcon = function(icons, index) icon:SetTexCoord(0.1, 0.9, 0.1, 0.9); local overlay = aura:CreateTexture(nil, "OVERLAY"); - overlay:SetAllPoints(aura); + overlay:SetAllPointsIn(aura, 1, 1); overlay:SetTexture(BASIC_TEXTURE); overlay:SetVertexColor(0, 0, 0); overlay:Hide(); @@ -259,21 +286,31 @@ local PostUpdateAuraIcon = function(self, unit, button, index, offset) if button.isDebuff then if(not isFriend and button.owner and button.owner ~= "player" and button.owner ~= "vehicle") then button:SetBackdropBorderColor(0.9, 0.1, 0.1, 1) + button.bg:SetBackdropColor(1, 0, 0, 1) + button.bg:SetBackdropBorderColor(0, 0, 0, 1) button.icon:SetDesaturated((unit and not unit:find('arena%d')) and true or false) else local color = DebuffTypeColor[dtype] or DebuffTypeColor.none if (name == "Unstable Affliction" or name == "Vampiric Touch") and SV.class ~= "WARLOCK" then button:SetBackdropBorderColor(0.05, 0.85, 0.94, 1) + button.bg:SetBackdropColor(0, 0.9, 1, 1) + button.bg:SetBackdropBorderColor(0, 0, 0, 1) else button:SetBackdropBorderColor(color.r * 0.6, color.g * 0.6, color.b * 0.6, 1) + button.bg:SetBackdropColor(color.r, color.g, color.b, 1) + button.bg:SetBackdropBorderColor(0, 0, 0, 1) end button.icon:SetDesaturated(false) end else if (isStealable) and not isFriend then button:SetBackdropBorderColor(0.92, 0.91, 0.55, 1) + button.bg:SetBackdropColor(1, 1, 0.5, 1) + button.bg:SetBackdropBorderColor(0, 0, 0, 1) else - button:SetBackdropBorderColor(0, 0, 0, 1) + button:SetBackdropBorderColor(0, 0, 0, 1) + button.bg:SetBackdropColor(0, 0, 0, 0) + button.bg:SetBackdropBorderColor(0, 0, 0, 0) end end diff --git a/Interface/AddOns/SVUI/packages/unit/frames.lua b/Interface/AddOns/SVUI/packages/unit/frames.lua index 3554e06..c21e255 100644 --- a/Interface/AddOns/SVUI/packages/unit/frames.lua +++ b/Interface/AddOns/SVUI/packages/unit/frames.lua @@ -475,7 +475,7 @@ CONSTRUCTORS["targettarget"] = function(self, unit) self.Debuffs = MOD:CreateDebuffs(self, key) self.RaidIcon = MOD:CreateRaidIcon(self) self.Range = { insideAlpha = 1, outsideAlpha = 1 } - self:SetPointToScale("BOTTOM", SV.Screen, "BOTTOM", 0, 192) + self:SetPointToScale("BOTTOM", SV.Screen, "BOTTOM", 0, 182) SV.Mentalo:Add(self, L["TargetTarget Frame"]) self.MediaUpdate = MOD.RefreshUnitMedia diff --git a/Interface/AddOns/SVUI/setup/installer.lua b/Interface/AddOns/SVUI/setup/installer.lua index e19b3b2..0444153 100644 --- a/Interface/AddOns/SVUI/setup/installer.lua +++ b/Interface/AddOns/SVUI/setup/installer.lua @@ -161,7 +161,7 @@ local function UFMoveBottomQuadrant(toggle) anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278182" anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278122" --anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0181" - anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0198" + anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0182" anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495182" elseif toggle == "shift" then @@ -170,7 +170,7 @@ local function UFMoveBottomQuadrant(toggle) anchors.SVUI_Target_MOVE = "BOTTOMSVUIParentBOTTOM278210" anchors.SVUI_TargetCastbar_MOVE = "BOTTOMSVUIParentBOTTOM278150" --anchors.SVUI_Pet_MOVE = "BOTTOMSVUIParentBOTTOM0209" - anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0226" + anchors.SVUI_TargetTarget_MOVE = "BOTTOMSVUIParentBOTTOM0210" anchors.SVUI_Focus_MOVE = "BOTTOMSVUIParentBOTTOM310432" anchors.SVUI_ThreatBar_MOVE = "BOTTOMRIGHTSVUIParentBOTTOMRIGHT-495210" elseif toggle == "minimal" then diff --git a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua index 5a600c7..ad2d404 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua @@ -28,10 +28,12 @@ local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") AddonObject.defaults = { - ["saveChats"] = false, - ["service"] = true, - ["autoAnswer"] = false, - ["prefix"] = true + ["general"] = { + ["saveChats"] = false, + ["service"] = true, + ["autoAnswer"] = false, + ["prefix"] = true + } } local PLUGIN = LibSuperVillain("Registry"):NewPlugin(AddonName, AddonObject, "ChatOMatic_Profile", nil, "ChatOMatic_Cache") @@ -47,30 +49,30 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["saveChats"] = { order = 2, name = "Save Chat History", type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN.db[key[#key]] = value end + get = function(key) return PLUGIN.db.general[key[#key]] end, + set = function(key,value) PLUGIN.db.general[key[#key]] = value end } SV.Options.args.plugins.args.pluginOptions.args[Schema].args["service"] = { order = 3, name = "Answering Service", type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN.db[key[#key]] = value end + get = function(key) return PLUGIN.db.general[key[#key]] end, + set = function(key,value) PLUGIN.db.general[key[#key]] = value end } SV.Options.args.plugins.args.pluginOptions.args[Schema].args["autoAnswer"] = { order = 4, name = "Auto Answer", type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN.db[key[#key]] = value end + get = function(key) return PLUGIN.db.general[key[#key]] end, + set = function(key,value) PLUGIN.db.general[key[#key]] = value end } SV.Options.args.plugins.args.pluginOptions.args[Schema].args["prefix"] = { order = 5, name = "Prefix Messages", type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN.db[key[#key]] = value end + get = function(key) return PLUGIN.db.general[key[#key]] end, + set = function(key,value) PLUGIN.db.general[key[#key]] = value end } \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua index df4bfdd..b2017d5 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua @@ -35,19 +35,19 @@ EVENTS ########################################################## ]]-- function PLUGIN:CHAT_MSG_WHISPER(event, ...) - if(SV.db.SVChat.enable and self.db.saveChats) then + if(SV.db.SVChat.enable and self.db.general.saveChats) then self:SAVE_CHAT_HISTORY(event, ...) end - if(self.db.service) then + if(self.db.general.service) then self:AUTO_MSG_WHISPER(event, ...) end end function PLUGIN:CHAT_MSG_BN_WHISPER(event, ...) - if(SV.db.SVChat.enable and self.db.saveChats) then + if(SV.db.SVChat.enable and self.db.general.saveChats) then self:SAVE_CHAT_HISTORY(event, ...) end - if(self.db.service and self.ServiceEnabled) then + if(self.db.general.service and self.ServiceEnabled) then self:AUTO_MSG_BN_WHISPER(event, ...) end end @@ -57,11 +57,11 @@ LOAD AND CONSTRUCT ########################################################## ]]-- function PLUGIN:Load() - if(SV.db.SVChat.enable and self.db.saveChats) then + if(SV.db.SVChat.enable and self.db.general.saveChats) then self:EnableChatHistory() end - if(self.db.service) then + if(self.db.general.service) then self:EnableAnsweringService() end diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc index 99d2507..77bd7a0 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r ## Notes: Supervillain UI [|cff9911FFVarious Chat Gadgets|r] ## SavedVariables: ChatOMatic_Data diff --git a/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua b/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua index 9a470d8..5daf398 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua @@ -446,7 +446,7 @@ LOCAL FUNCTIONS ########################################################## ]]-- local function ServiceMessage(msg) - local msgFrom = PLUGIN.db.prefix == true and "Minion Answering Service" or ""; + local msgFrom = PLUGIN.db.general.prefix == true and "Minion Answering Service" or ""; print("|cffffcc1a" .. msgFrom .. ":|r", msg) end @@ -694,7 +694,7 @@ do if(not outbound) then outbound = PhraseSearch(sInput, mapkey, data) end - if(PLUGIN.db.prefix == true) then + if(PLUGIN.db.general.prefix == true) then return ("%s's Answering Service: %s"):format(PlayersName, outbound) else return outbound @@ -737,7 +737,7 @@ function PLUGIN:AddCaller(caller) btn.Text:SetText(caller); PhoneLines[caller].Line = x call_answered = true - if self.db.autoAnswer == true then + if self.db.general.autoAnswer == true then PhoneLines[caller].InUse = true; btn:SetPanelColor("green"); self.Docklet.DockButton:SetPanelColor("green"); @@ -938,7 +938,7 @@ function PLUGIN:EnableAnsweringService() --self.Docklet:Hide() local strMsg - if self.db.autoAnswer == true then + if self.db.general.autoAnswer == true then strMsg = "The Henchmen Operators Are Screening Your Calls.." else strMsg = "The Henchmen Operators Are Standing By.." diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc index 32ca44d..24d8ae4 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r ## Notes: Supervillain UI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/bag.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/bag.lua index 52ec7ff..4158cf2 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/bag.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/bag.lua @@ -96,14 +96,8 @@ SV.Options.args.SVBag = { set = function(a,b) MOD:ChangeDBVar(b,a[#a]) MOD:RefreshBagFrames("BankFrame") end, disabled = function()return SV.db.SVBag.alignToChat end }, - sortInverted = { - order = 3, - type = "toggle", - name = L["Sort Inverted"], - desc = L["Direction the bag sorting will use to allocate the items."] - }, bagWidth = { - order = 4, + order = 3, type = "range", name = L["Panel Width (Bags)"], desc = L["Adjust the width of the bag frame."], @@ -114,7 +108,7 @@ SV.Options.args.SVBag = { disabled = function()return SV.db.SVBag.alignToChat end }, bankWidth = { - order = 5, + order = 4, type = "range", name = L["Panel Width (Bank)"], desc = L["Adjust the width of the bank frame."], @@ -125,7 +119,7 @@ SV.Options.args.SVBag = { disabled = function() return SV.db.SVBag.alignToChat end }, currencyFormat = { - order = 6, + order = 5, type = "select", name = L["Currency Format"], desc = L["The display format of the currency icons that get displayed below the main bag. (You have to be watching a currency for this to display)"], @@ -135,6 +129,12 @@ SV.Options.args.SVBag = { }, set = function(a,b)MOD:ChangeDBVar(b,a[#a]) MOD:RefreshTokens() end }, + sortInverted = { + order = 6, + type = "toggle", + name = L["Sort Inverted"], + desc = L["Direction the bag sorting will use to allocate the items."] + }, bagTools = { order = 7, type = "toggle", @@ -177,7 +177,6 @@ SV.Options.args.SVBag = { order = 2, type = "range", name = L["X Offset"], - width = "full", min = -600, max = 600, step = 1, @@ -186,7 +185,6 @@ SV.Options.args.SVBag = { order = 3, type = "range", name = L["Y Offset"], - width = "full", min = -600, max = 600, step = 1, @@ -212,7 +210,6 @@ SV.Options.args.SVBag = { order = 2, type = "range", name = L["X Offset"], - width = "full", min = -600, max = 600, step = 1, @@ -221,7 +218,6 @@ SV.Options.args.SVBag = { order = 3, type = "range", name = L["Y Offset"], - width = "full", min = -600, max = 600, step = 1, @@ -242,7 +238,7 @@ SV.Options.args.SVBag = { enable = { order = 1, type = "toggle", - name = L["Enable"], + name = L["Bags Bar Enabled"], desc = L["Enable/Disable the Bag-Bar."], get = function() return SV.db.SVBag.bagBar.enable end, set = function(key, value) MOD:ChangeDBVar(value, key[#key], "bagBar"); SV:StaticPopup_Show("RL_CLIENT")end @@ -259,8 +255,14 @@ SV.Options.args.SVBag = { desc = L["Show/Hide bag bar backdrop"], type = "toggle" }, - size = { + spacer = { order = 4, + name = "", + type = "description", + width = "full", + }, + size = { + order = 5, type = "range", name = L["Button Size"], desc = L["Set the size of your bag buttons."], @@ -269,7 +271,7 @@ SV.Options.args.SVBag = { step = 1 }, spacing = { - order = 5, + order = 6, type = "range", name = L["Button Spacing"], desc = L["The spacing between buttons."], @@ -278,7 +280,7 @@ SV.Options.args.SVBag = { step = 1 }, sortDirection = { - order = 6, + order = 7, type = "select", name = L["Sort Direction"], desc = L["The direction that the bag frames will grow from the anchor."], @@ -288,7 +290,7 @@ SV.Options.args.SVBag = { } }, showBy = { - order = 7, + order = 8, type = "select", name = L["Bar Direction"], desc = L["The direction that the bag frames be (Horizontal or Vertical)."], diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua index a180d91..b550031 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/fonts.lua @@ -310,7 +310,6 @@ local function GenerateFontGroup() min = 6, max = 22, step = 1, - width = 'full', }, } } diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua index 45678ea..c785ede 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua @@ -52,6 +52,22 @@ local textStringFormats = { ["curmax"] = "Current - Maximum", ["curmax-percent"] = "Current - Maximum | %", } +local FRAME_MAP = { + ["player"] = "SVUI_Player", + ["target"] = "SVUI_Target", + ["targettarget"] = "SVUI_TargetTarget", + ["pet"] = "SVUI_Pet", + ["pettarget"] = "SVUI_PetTarget", + ["focus"] = "SVUI_Focus", + ["focustarget"] = "SVUI_FocusTarget", + --["boss"] = "SVUI_Boss", + --["arena"] = "SVUI_Arena", + --["party"] = "SVUI_Party", + --["raid"] = "SVUI_Raid", + --["raidpet"] = "SVUI_Raidpet", + --["tank"] = "SVUI_Tank", + --["assist"] = "SVUI_Assist", +}; --[[ ########################################################## SET PACKAGE OPTIONS @@ -439,53 +455,21 @@ function ns:SetHealthConfigGroup(partyRaid, updateFunction, unitName, count) end, args = { commonGroup = { - order = 2, + order = 1, type = "group", guiInline = true, name = L["Base Settings"], args = { - configureButton = { - order = 1, - width = "full", - name = L["Coloring"], - type = "execute", - func = function() ACD:SelectGroup(SV.NameID, "SVUnit", "common", "allColorsGroup", "healthGroup") end - }, - classColor = { - order = 2, - type = "toggle", - name = L["Class Health"], - desc = L["Color health by classcolor or reaction."], - }, - valueColor = { - order = 3, - type = "toggle", - name = L["Health By Value"], - desc = L["Color health by amount remaining."], - }, - classBackdrop = { - order = 4, - type = "toggle", - name = L["Class Backdrop"], - desc = L["Color the health backdrop by class or reaction."], - }, - reversed = { - type = "toggle", - order = 5, - name = L["Reverse Fill"], - desc = L["Invert this bars fill direction"] - }, position = { type = "select", - order = 6, + order = 1, name = L["Text Position"], desc = L["Set the anchor for this bars value text"], values = SV.PointIndexes }, xOffset = { - order = 7, + order = 2, type = "range", - width = "full", name = L["Text xOffset"], desc = L["Offset position for text."], min = -300, @@ -493,19 +477,30 @@ function ns:SetHealthConfigGroup(partyRaid, updateFunction, unitName, count) step = 1 }, yOffset = { - order = 8, + order = 3, type = "range", - width = "full", name = L["Text yOffset"], desc = L["Offset position for text."], min = -300, max = 300, step = 1 }, + spacer1 = { + order = 4, + name = "", + type = "description", + width = "full", + }, + reversed = { + type = "toggle", + order = 5, + name = L["Reverse Fill"], + desc = L["Invert this bars fill direction"] + }, } }, formatGroup = { - order = 100, + order = 2, type = "group", guiInline = true, name = L["Text Settings"], @@ -540,19 +535,52 @@ function ns:SetHealthConfigGroup(partyRaid, updateFunction, unitName, count) values = textStringFormats, } } + }, + colorGroup = { + order = 3, + type = "group", + guiInline = true, + name = L["Color Settings"], + args = { + classColor = { + order = 1, + type = "toggle", + name = L["Class Health"], + desc = L["Color health by classcolor or reaction."], + }, + valueColor = { + order = 2, + type = "toggle", + name = L["Health By Value"], + desc = L["Color health by amount remaining."], + }, + classBackdrop = { + order = 3, + type = "toggle", + name = L["Class Backdrop"], + desc = L["Color the health backdrop by class or reaction."], + }, + configureButton = { + order = 4, + name = L["Coloring"], + type = "execute", + width = 'full', + func = function() ACD:SelectGroup(SV.NameID, "SVUnit", "common", "allColorsGroup", "healthGroup") end + }, + } } } } if partyRaid then - healthOptions.args.frequentUpdates = { + healthOptions.args.commonGroup.args.frequentUpdates = { type = "toggle", - order = 1, + order = 6, name = L["Frequent Updates"], desc = L["Rapidly update the health, uses more memory and cpu. Only recommended for healing."] } - healthOptions.args.orientation = { + healthOptions.args.commonGroup.args.orientation = { type = "select", - order = 2, + order = 7, name = L["Orientation"], desc = L["Direction the health bar moves when gaining/losing health."], values = {["HORIZONTAL"] = L["Horizontal"], ["VERTICAL"] = L["Vertical"]} @@ -574,46 +602,23 @@ function ns:SetPowerConfigGroup(playerTarget, updateFunction, unitName, count) updateFunction(MOD, unitName, count) end, args = { - enable = {type = "toggle", order = 1, name = L["Enable"]}, + enable = {type = "toggle", order = 1, name = L["Power Bar Enabled"]}, commonGroup = { order = 2, type = "group", guiInline = true, name = L["Base Settings"], - args = { - configureButton = { - order = 1, - name = L["Coloring"], - width = "full", - type = "execute", - func = function()ACD:SelectGroup(SV.NameID, "SVUnit", "common", "allColorsGroup", "powerGroup")end - }, - classColor = { - order = 2, - type = "toggle", - name = L["Class Power"], - desc = L["Color power by classcolor or reaction."], - }, + args = { position = { type = "select", - order = 3, + order = 1, name = L["Text Position"], desc = L["Set the anchor for this bars value text"], values = SV.PointIndexes - }, - height = { - type = "range", - name = L["Height"], - order = 4, - width = "full", - min = 3, - max = 50, - step = 1 - }, + }, xOffset = { - order = 5, + order = 2, type = "range", - width = "full", name = L["Text xOffset"], desc = L["Offset position for text."], min = -300, @@ -621,19 +626,26 @@ function ns:SetPowerConfigGroup(playerTarget, updateFunction, unitName, count) step = 1 }, yOffset = { - order = 6, + order = 3, type = "range", - width = "full", name = L["Text yOffset"], desc = L["Offset position for text."], min = -300, max = 300, step = 1 - }, + }, + height = { + type = "range", + name = L["Height"], + order = 4, + min = 3, + max = 50, + step = 1 + }, } }, formatGroup = { - order = 100, + order = 3, type = "group", guiInline = true, name = L["Text Settings"], @@ -684,25 +696,31 @@ function ns:SetPowerConfigGroup(playerTarget, updateFunction, unitName, count) values = textStringFormats, } } + }, + colorGroup = { + order = 4, + type = "group", + guiInline = true, + name = L["Color Settings"], + args = { + classColor = { + order = 1, + type = "toggle", + name = L["Class Power"], + desc = L["Color power by classcolor or reaction."], + }, + configureButton = { + order = 2, + name = L["Coloring"], + type = "execute", + width = 'full', + func = function() ACD:SelectGroup(SV.NameID, "SVUnit", "common", "allColorsGroup", "powerGroup") end + }, + } } } } - if(playerTarget) then - powerOptions.args.formatGroup.args.attachTextToPower = { - type = "toggle", - order = 2, - name = L["Attach Text to Power"], - get = function(key) - return SV.db.SVUnit[unitName]["power"].attachTextToPower - end, - set = function(key, value) - MOD:ChangeDBVar(value, "attachTextToPower", unitName, "power"); - updateFunction(MOD, unitName, count) - end, - } - end - return powerOptions end @@ -720,22 +738,21 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) end, args = { commonGroup = { - order = 2, + order = 1, type = "group", guiInline = true, name = L["Base Settings"], args = { position = { type = "select", - order = 3, + order = 1, name = L["Text Position"], desc = L["Set the anchor for this units name text"], values = SV.PointIndexes }, xOffset = { - order = 6, + order = 2, type = "range", - width = "full", name = L["Text xOffset"], desc = L["Offset position for text."], min = -300, @@ -743,9 +760,8 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) step = 1 }, yOffset = { - order = 7, - type = "range", - width = "full", + order = 3, + type = "range", name = L["Text yOffset"], desc = L["Offset position for text."], min = -300, @@ -784,7 +800,6 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) name = L["Font Size"], desc = L["Set the font size."], type = "range", - width = "full", min = 6, max = 22, step = 1 @@ -829,7 +844,6 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) name = L["Name Length"], desc = L["TEXT_FORMAT_DESC"], type = "range", - width = "full", get = function() return SV.db.SVUnit[unitName]["formatting"].name_length end, min = 1, max = 30, @@ -842,14 +856,7 @@ function ns:SetNameConfigGroup(updateFunction, unitName, count) return k end -local function getAvailablePortraitConfig(unit) - local db = SV.db.SVUnit[unit].portrait; - if db.overlay then - return {["3D"] = L["3D"]} - else - return {["2D"] = L["2D"], ["3D"] = L["3D"]} - end -end +local portraitStyles = {["2D"] = L["2D"], ["3D"] = L["3D"], ["3DOVERLAY"] = L["3D Overlay"]}; function ns:SetPortraitConfigGroup(updateFunction, unitName, count) local k = { @@ -867,7 +874,7 @@ function ns:SetPortraitConfigGroup(updateFunction, unitName, count) enable = { type = "toggle", order = 1, - name = L["Enable"] + name = L["Unit Portrait Enabled"] }, styleGroup = { order = 2, @@ -880,24 +887,16 @@ function ns:SetPortraitConfigGroup(updateFunction, unitName, count) type = "select", name = L["Style"], desc = L["Select the display method of the portrait. NOTE: if overlay is set then only 3D will be available"], - values = function() return getAvailablePortraitConfig(unitName) end - }, - overlay = { - order = 2, - type = "toggle", - name = L["Overlay"], - desc = L["Overlay the healthbar"], - disabled = function() return SV.db.SVUnit[unitName]["portrait"].style == "2D" end + values = portraitStyles }, width = { - order = 3, + order = 2, type = "range", - width = "full", name = L["Width"], min = 15, max = 150, step = 1, - disabled = function() return SV.db.SVUnit[unitName]["portrait"].overlay == true end + disabled = function() return SV.db.SVUnit[unitName]["portrait"].style == "3DOVERLAY" end } } }, @@ -964,10 +963,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -988,10 +988,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1012,10 +1013,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1036,10 +1038,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1060,10 +1063,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1084,10 +1088,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1108,10 +1113,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1132,10 +1138,11 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count) end, args = { enable = {type = "toggle", order = 1, name = L["Enable"]}, - attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, - size = {type = "range", name = L["Size"], width = "full", order = 3, min = 8, max = 60, step = 1}, - xOffset = {order = 4, type = "range", name = L["xOffset"], width = "full", min = -300, max = 300, step = 1}, - yOffset = {order = 5, type = "range", name = L["yOffset"], width = "full", min = -300, max = 300, step = 1} + attachTo = {type = "select", order = 2, name = L["Position"], values = SV.PointIndexes}, + spacer = { order = 3, name = "", type = "description", width = "full"}, + size = {type = "range", name = L["Size"], order = 3, min = 8, max = 60, step = 1}, + xOffset = {order = 4, type = "range", name = L["xOffset"], min = -300, max = 300, step = 1}, + yOffset = {order = 5, type = "range", name = L["yOffset"], min = -300, max = 300, step = 1} } } grouporder = grouporder + 1 @@ -1157,10 +1164,10 @@ local BoolFilters = { local function setAuraFilteringOptions(configTable, unitName, auraType, updateFunction, isPlayer) if BoolFilters[unitName] then configTable.filterGroup = { - order = 10, + order = 18, guiInline = true, type = "group", - name = L["Filter Options"], + name = L["Aura filtering..."], args = { filterWhiteList = { order = 1, @@ -1215,223 +1222,179 @@ local function setAuraFilteringOptions(configTable, unitName, auraType, updateFu set = function(key, value) SV.db.SVUnit[unitName][auraType].filterRaid = value; updateFunction(MOD, unitName) end, disabled = function() return SV.db.SVUnit[unitName][auraType].filterWhiteList end, }, - useFilter = { - order = 6, - type = "select", - name = L["Custom Filter"], - desc = L["Select a custom filter to include."], - values = function() - filterList = {} - filterList[""] = NONE; - for n in pairs(SV.filters.Custom) do - filterList[n] = n - end - return filterList - end, - get = function(key) return SV.db.SVUnit[unitName][auraType].useFilter end, - set = function(key, value) SV.db.SVUnit[unitName][auraType].useFilter = value; updateFunction(MOD, unitName) end, - disabled = function() return not SV.db.SVUnit.arena.pvp.enable end, - } } } else - configTable.filterGroup = { - order = 10, + configTable.friendlyGroup = { + order = 18, guiInline = true, type = "group", - name = L["Filter Options"], + name = L["When the unit is friendly..."], args = { - friendlyGroup = { + filterAll = { order = 1, - guiInline = true, - type = "group", - name = L["When the unit is friendly..."], - args = { - filterAll = { - order = 1, - type = "toggle", - name = L["Hide All"], - desc = L["Don't display any " .. auraType .. "."], - get = function(key) return SV.db.SVUnit[unitName][auraType].filterAll.friendly end, - set = function(key, value) - SV.db.SVUnit[unitName][auraType].filterAll.friendly = value; - if(value) then - SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = false; - SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = false; - SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = false; - SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = false; - if(SV.db.SVUnit[unitName][auraType].filterRaid) then - SV.db.SVUnit[unitName][auraType].filterRaid.friendly = false; - end - end - updateFunction(MOD, unitName) - end, - }, - filterWhiteList = { - order = 2, - type = "toggle", - name = L["Only White Listed"], - desc = L["Only show auras that are on the whitelist."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = value; updateFunction(MOD, unitName) end, - set = function(key, value) - SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = value; - if(value) then - SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = false; - SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = false; - SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = false; - if(SV.db.SVUnit[unitName][auraType].filterRaid) then - SV.db.SVUnit[unitName][auraType].filterRaid.friendly = false; - end - end - updateFunction(MOD, unitName) - end, - disabled = function() - return SV.db.SVUnit[unitName][auraType].filterAll.friendly - end, - }, - filterPlayer = { - order = 3, - type = "toggle", - name = L["From You"], - desc = L["Only show auras that were cast by you."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.friendly end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) - end, - }, - filterDispellable = { - order = 4, - type = "toggle", - name = L["You Can Remove"], - desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.friendly end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) - end, - }, - filterInfinite = { - order = 5, - type = "toggle", - name = L["No Duration"], - desc = L["Don't display auras that have no duration."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.friendly end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) - end, - }, - }, + type = "toggle", + name = L["Hide All"], + desc = L["Don't display any " .. auraType .. "."], + get = function(key) return SV.db.SVUnit[unitName][auraType].filterAll.friendly end, + set = function(key, value) + SV.db.SVUnit[unitName][auraType].filterAll.friendly = value; + if(value) then + SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = false; + SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = false; + SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = false; + SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = false; + if(SV.db.SVUnit[unitName][auraType].filterRaid) then + SV.db.SVUnit[unitName][auraType].filterRaid.friendly = false; + end + end + updateFunction(MOD, unitName) + end, }, - enemyGroup = { + filterWhiteList = { order = 2, - guiInline = true, - type = "group", - name = L["When the unit is hostile..."], - args = { - filterAll = { - order = 1, - type = "toggle", - name = L["Hide All"], - desc = L["Don't display any " .. auraType .. "."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterAll.enemy end, - set = function(key, value) - SV.db.SVUnit[unitName][auraType].filterAll.enemy = value; - if(value) then - SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy = false; - SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = false; - SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = false; - SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = false; - if(SV.db.SVUnit[unitName][auraType].filterRaid) then - SV.db.SVUnit[unitName][auraType].filterRaid.enemy = false; - end - end - updateFunction(MOD, unitName) - end, - }, - filterWhiteList = { - order = 2, - type = "toggle", - name = L["Only White Listed"], - desc = L["Only show auras that are on the whitelist."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end, - set = function(key, value) - SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy = value; - if(value) then - SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = false; - SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = false; - SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = false; - if(SV.db.SVUnit[unitName][auraType].filterRaid) then - SV.db.SVUnit[unitName][auraType].filterRaid.enemy = false; - end - end - updateFunction(MOD, unitName) - end, - disabled = function() - return SV.db.SVUnit[unitName][auraType].filterAll.enemy - end, - }, - filterPlayer = { - order = 3, - type = "toggle", - name = L["From You"], - desc = L["Only show auras that were cast by you."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) - end, - }, - filterDispellable = { - order = 4, - type = "toggle", - name = L["You Can Remove"], - desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.enemy end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) - end, - }, - filterInfinite = { - order = 5, - type = "toggle", - name = L["No Duration"], - desc = L["Don't display auras that have no duration."], - get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.enemy end, - set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = value; updateFunction(MOD, unitName) end, - disabled = function() - return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) - end, - }, - }, + type = "toggle", + name = L["Only White Listed"], + desc = L["Only show auras that are on the whitelist."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = value; updateFunction(MOD, unitName) end, + set = function(key, value) + SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly = value; + if(value) then + SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = false; + SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = false; + SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = false; + if(SV.db.SVUnit[unitName][auraType].filterRaid) then + SV.db.SVUnit[unitName][auraType].filterRaid.friendly = false; + end + end + updateFunction(MOD, unitName) + end, + disabled = function() + return SV.db.SVUnit[unitName][auraType].filterAll.friendly + end, + }, + filterPlayer = { + order = 3, + type = "toggle", + name = L["From You"], + desc = L["Only show auras that were cast by you."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.friendly end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = value; updateFunction(MOD, unitName) end, + disabled = function() + return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) + end, + }, + filterDispellable = { + order = 4, + type = "toggle", + name = L["You Can Remove"], + desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.friendly end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = value; updateFunction(MOD, unitName) end, + disabled = function() + return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) + end, + }, + filterInfinite = { + order = 5, + type = "toggle", + name = L["No Duration"], + desc = L["Don't display auras that have no duration."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.friendly end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = value; updateFunction(MOD, unitName) end, + disabled = function() + return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) + end, + }, + }, + } + configTable.enemyGroup = { + order = 19, + guiInline = true, + type = "group", + name = L["When the unit is hostile..."], + args = { + filterAll = { + order = 1, + type = "toggle", + name = L["Hide All"], + desc = L["Don't display any " .. auraType .. "."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterAll.enemy end, + set = function(key, value) + SV.db.SVUnit[unitName][auraType].filterAll.enemy = value; + if(value) then + SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy = false; + SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = false; + SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = false; + SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = false; + if(SV.db.SVUnit[unitName][auraType].filterRaid) then + SV.db.SVUnit[unitName][auraType].filterRaid.enemy = false; + end + end + updateFunction(MOD, unitName) + end, + }, + filterWhiteList = { + order = 2, + type = "toggle", + name = L["Only White Listed"], + desc = L["Only show auras that are on the whitelist."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end, + set = function(key, value) + SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy = value; + if(value) then + SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = false; + SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = false; + SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = false; + if(SV.db.SVUnit[unitName][auraType].filterRaid) then + SV.db.SVUnit[unitName][auraType].filterRaid.enemy = false; + end + end + updateFunction(MOD, unitName) + end, + disabled = function() + return SV.db.SVUnit[unitName][auraType].filterAll.enemy + end, }, - useFilter = { + filterPlayer = { order = 3, - type = "select", - name = L["Custom Filter"], - desc = L["Select a custom filter to include."], - values = function() - filterList = {} - filterList[""] = NONE; - for n in pairs(SV.filters.Custom) do - filterList[n] = n - end - return filterList + type = "toggle", + name = L["From You"], + desc = L["Only show auras that were cast by you."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = value; updateFunction(MOD, unitName) end, + disabled = function() + return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) end, - get = function(key) return SV.db.SVUnit[unitName][auraType].useFilter end, - set = function(key, value) SV.db.SVUnit[unitName][auraType].useFilter = value; updateFunction(MOD, unitName) end, + }, + filterDispellable = { + order = 4, + type = "toggle", + name = L["You Can Remove"], + desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.enemy end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = value; updateFunction(MOD, unitName) end, disabled = function() return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) end, - } - } + }, + filterInfinite = { + order = 5, + type = "toggle", + name = L["No Duration"], + desc = L["Don't display auras that have no duration."], + get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.enemy end, + set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = value; updateFunction(MOD, unitName) end, + disabled = function() + return (SV.db.SVUnit[unitName][auraType].filterAll.enemy or SV.db.SVUnit[unitName][auraType].filterWhiteList.enemy) + end, + }, + }, } if(SV.db.SVUnit[unitName][auraType].filterRaid) then - configTable.filterGroup.args.friendlyGroup.args.filterRaid = { + configTable.friendlyGroup.args.filterRaid = { order = 6, type = "toggle", name = L["Consolidated Buffs"], @@ -1442,7 +1405,7 @@ local function setAuraFilteringOptions(configTable, unitName, auraType, updateFu return (SV.db.SVUnit[unitName][auraType].filterAll.friendly or SV.db.SVUnit[unitName][auraType].filterWhiteList.friendly) end, }; - configTable.filterGroup.args.enemyGroup.args.filterRaid = { + configTable.enemyGroup.args.filterRaid = { order = 6, type = "toggle", name = L["Consolidated Buffs"], @@ -1460,6 +1423,14 @@ end function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitName, count) local groupOrder = auraType == "buffs" and 600 or 700 local groupName = auraType == "buffs" and L["Buffs"] or L["Debuffs"] + local attachToValue, attachToName; + if auraType == "buffs"then + attachToValue = "DEBUFFS" + attachToName = L["Debuffs"] + else + attachToValue = "BUFFS" + attachToName = L["Buffs"] + end local configTable = { order = groupOrder, @@ -1475,110 +1446,168 @@ function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitN args = { enable = { type = "toggle", - order = 1, - name = L["Enable"] - }, - commonGroup = { order = 2, - guiInline = true, - type = "group", - name = L["Base Settings"], - args = { - verticalGrowth = { - type = "select", - order = 1, - name = L["Vertical Growth"], - desc = L["The vertical direction that the auras will position themselves"], - values = {UP = "UP", DOWN = "DOWN"} - }, - horizontalGrowth = { - type = "select", - order = 2, - name = L["Horizontal Growth"], - desc = L["The horizontal direction that the auras will position themselves"], - values = {LEFT = "LEFT", RIGHT = "RIGHT"} - }, - perrow = { - type = "range", - order = 3, - width = "full", - name = L["Per Row"], - min = 1, - max = 20, - step = 1 - }, - numrows = { - type = "range", - order = 4, - width = "full", - name = L["Num Rows"], - min = 1, - max = 4, - step = 1 - }, - sizeOverride = { - type = "range", - order = 5, - width = "full", - name = L["Size Override"], - desc = L["If not set to 0 then override the size of the aura icon to this."], - min = 0, - max = 60, - step = 1 - }, - } + name = L["Enable "..groupName] }, - positionGroup = { + attachTo1 = { + type = "toggle", order = 3, - guiInline = true, - type = "group", - name = L["Position Settings"], - args = { - xOffset = { - order = 1, - type = "range", - name = L["xOffset"], - width = "full", - min = -60, - max = 60, - step = 1 - }, - yOffset = { - order = 2, - type = "range", - name = L["yOffset"], - width = "full", - min = -60, - max = 60, - step = 1 - }, - anchorPoint = { - type = "select", - order = 3, - name = L["Anchor Point"], - desc = L["What point to anchor to the frame you set to attach to."], - values = SV.PointIndexes - }, - } - } + name = L["Attach To"] .. " " .. L["Frame"], + get = function(key) + return SV.db.SVUnit[unitName][auraType]["attachTo"] == "FRAME" + end, + set = function(key, value) + if(not value) then + MOD:ChangeDBVar(attachToValue, "attachTo", unitName, auraType) + else + MOD:ChangeDBVar("FRAME", "attachTo", unitName, auraType) + end + updateFunction(MOD, unitName, count) + end, + }, + attachTo2 = { + type = "toggle", + order = 4, + name = L["Attach To"] .. " " .. attachToName, + get = function(key) + return SV.db.SVUnit[unitName][auraType]["attachTo"] == attachToValue + end, + set = function(key, value) + if(not value) then + MOD:ChangeDBVar("FRAME", "attachTo", unitName, auraType) + else + MOD:ChangeDBVar(attachToValue, "attachTo", unitName, auraType) + end + updateFunction(MOD, unitName, count) + end, + }, + spacer1 = { + order = 5, + name = "", + type = "description", + width = "full", + }, + anchorPoint = { + type = "select", + order = 6, + name = L["Anchor Point"], + desc = L["What point to anchor to the frame you set to attach to."], + values = SV.PointIndexes + }, + verticalGrowth = { + type = "select", + order = 7, + name = L["Vertical Growth"], + desc = L["The vertical direction that the auras will position themselves"], + values = {UP = "UP", DOWN = "DOWN"} + }, + horizontalGrowth = { + type = "select", + order = 8, + name = L["Horizontal Growth"], + desc = L["The horizontal direction that the auras will position themselves"], + values = {LEFT = "LEFT", RIGHT = "RIGHT"} + }, + spacer2 = { + order = 9, + name = "", + type = "description", + width = "full", + }, + perrow = { + type = "range", + order = 10, + name = L["Per Row"], + min = 1, + max = 20, + step = 1 + }, + numrows = { + type = "range", + order = 11, + name = L["Num Rows"], + min = 1, + max = 4, + step = 1 + }, + sizeOverride = { + type = "range", + order = 12, + name = L["Size Override"], + desc = L["If not set to 0 then override the size of the aura icon to this."], + min = 0, + max = 60, + step = 1 + }, + spacer3 = { + order = 13, + name = "", + type = "description", + width = "full", + }, + xOffset = { + order = 14, + type = "range", + name = L["xOffset"], + min = -60, + max = 60, + step = 1 + }, + yOffset = { + order = 15, + type = "range", + name = L["yOffset"], + width = "fill", + min = -60, + max = 60, + step = 1 + }, + useFilter = { + order = 16, + type = "select", + name = L["Custom Filter"], + desc = L["Select a custom filter to include."], + values = function() + filterList = {} + filterList[""] = NONE; + for n in pairs(SV.filters.Custom) do + filterList[n] = n + end + return filterList + end, + get = function(key) return SV.db.SVUnit[unitName][auraType].useFilter end, + set = function(key, value) SV.db.SVUnit[unitName][auraType].useFilter = value; updateFunction(MOD, unitName) end, + }, + spacer4 = { + order = 17, + name = "", + type = "description", + width = "full", + }, } } - if auraType == "buffs"then - configTable.args.positionGroup.args.attachTo = { - type = "select", - order = 7, - name = L["Attach To"], - desc = L["What to attach the buff anchor frame to."], - values = {["FRAME"] = L["Frame"], ["DEBUFFS"] = L["Debuffs"]} + local unitGlobalName = FRAME_MAP[unitName]; + if(unitGlobalName) then + configTable.args.showAuras = { + order = 0, + type = "execute", + name = L["Show Auras"], + func = function() + local unitframe = _G[unitGlobalName]; + if unitframe.forceShowAuras then + unitframe.forceShowAuras = nil + else + unitframe.forceShowAuras = true + end + updateFunction(MOD, unitName, count) + end } - else - configTable.args.positionGroup.args.attachTo = { - type = "select", - order = 7, - name = L["Attach To"], - desc = L["What to attach the buff anchor frame to."], - values = {["FRAME"] = L["Frame"], ["BUFFS"] = L["Buffs"]} + configTable.args.showAurasSpacer = { + order = 1, + name = "", + type = "description", + width = "full", } end @@ -1604,7 +1633,7 @@ function ns:SetAurabarConfigGroup(isPlayer, updateFunction, unitName) enable = { type = "toggle", order = 1, - name = L["Enable"] + name = L["Aura Bars Enabled"] }, commonGroup = { order = 2, @@ -1621,31 +1650,29 @@ function ns:SetAurabarConfigGroup(isPlayer, updateFunction, unitName) order = 2, name = L["Coloring (Specific)"], type = "execute", func = function() ns:SetToFilterConfig("AuraBars") end - }, - anchorPoint = { - type = "select", + }, + spacer = { order = 3, - name = L["Anchor Point"], desc = L["What point to anchor to the frame you set to attach to."], values = {["ABOVE"] = L["Above"], ["BELOW"] = L["Below"]} - }, + name = "", + type = "description", + width = "full", + }, attachTo = { type = "select", order = 4, name = L["Attach To"], desc = L["The object you want to attach to."], values = {["FRAME"] = L["Frame"], ["DEBUFFS"] = L["Debuffs"], ["BUFFS"] = L["Buffs"]} - }, + }, + anchorPoint = { + type = "select", + order = 5, + name = L["Anchor Point"], desc = L["What point to anchor to the frame you set to attach to."], values = {["ABOVE"] = L["Above"], ["BELOW"] = L["Below"]} + }, height = { type = "range", - order = 5, - name = L["Height"], min = 6, max = 40, step = 1 - }, - statusbar = { - type = "select", - dialogControl = "LSM30_Statusbar", order = 6, - name = L["StatusBar Texture"], - desc = L["Aurabar texture."], - values = AceGUIWidgetLSMlists.statusbar - } + name = L["Height"], min = 6, max = 40, step = 1 + }, } }, filterGroup = { @@ -1773,7 +1800,6 @@ SV.Options.args.SVUnit = { min = 0, max = 1, step = 0.01, - width = "full", set = function(key, value) MOD:ChangeDBVar(value, key[#key]); end @@ -1786,7 +1812,6 @@ SV.Options.args.SVUnit = { min = 0, max = 1, step = 0.01, - width = "full", set = function(key, value) MOD:ChangeDBVar(value, key[#key]); end diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/party.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/party.lua index ba5c2a3..4fc8e22 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/party.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/party.lua @@ -126,7 +126,7 @@ SV.Options.args.SVUnit.args.commonGroup.args.party = { set = function(key, value) MOD:ChangeDBVar(value, key[#key], "party", "grid"); MOD:SetGroupFrame("party", true); - SV.Options.args.SVUnit.args.commonGroup.args.party.args.tabGroups.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "party"); + SV.Options.args.SVUnit.args.commonGroup.args.party.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "party"); end, }, invertGroupingOrder = { diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/player.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/player.lua index 31f49f9..dceadb9 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/player.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/player.lua @@ -39,7 +39,7 @@ local _, ns = ... ################################################################################################## ################################################################################################## ]] -SV.Options.args.SVUnit.args.commonGroup.args.player={ +SV.Options.args.SVUnit.args.commonGroup.args.player = { name = L['Player'], type = 'group', order = 3, @@ -84,23 +84,8 @@ SV.Options.args.SVUnit.args.commonGroup.args.player={ guiInline = true, name = L["Base Settings"], args = { - showAuras = { - order = 1, - type = "execute", - name = L["Show Auras"], - func = function()local U = SVUI_Player;if U.forceShowAuras then U.forceShowAuras = nil else U.forceShowAuras = true end MOD:SetUnitFrame("player")end - }, - lowmana = { - order = 2, - name = L["Low Mana Threshold"], - desc = L["When you mana falls below this point, text will flash on the player frame."], - type = "range", - min = 0, - max = 100, - step = 1 - }, combatfade = { - order = 3, + order = 1, name = L["Combat Fade"], desc = L["Fade the unitframe when out of combat, not casting, no target exists."], type = "toggle", @@ -115,33 +100,25 @@ SV.Options.args.SVUnit.args.commonGroup.args.player={ end }, predict = { - order = 4, + order = 2, name = L["Heal Prediction"], desc = L["Show a incomming heal prediction bar on the unitframe. Also display a slightly different colored bar for incoming overheals."], type = "toggle" }, - hideonnpc = { - type = "toggle", - order = 5, - name = L["Text Toggle On NPC"], - desc = L["Power text will be hidden on NPC targets, in addition the name text will be repositioned to the power texts anchor point."], - get = function(l)return SV.db.SVUnit["player"]["power"].hideonnpc end, - set = function(l, m)SV.db.SVUnit["player"]["power"].hideonnpc = m;MOD:SetUnitFrame("player")end - }, threatEnabled = { type = "toggle", - order = 6, + order = 3, name = L["Show Threat"] }, playerExpBar = { - order = 7, + order = 4, name = "Playerframe Experience Bar", desc = "Show player experience on power bar mouseover", type = "toggle", set = function(l, m)MOD:ChangeDBVar(m, l[#l], "player");SV:StaticPopup_Show("RL_CLIENT")end }, playerRepBar = { - order = 8, + order = 5, name = "Playerframe Reputation Bar", desc = "Show player reputations on power bar mouseover", type = "toggle", @@ -237,66 +214,47 @@ SV.Options.args.SVUnit.args.commonGroup.args.player={ enable = { type = "toggle", order = 1, - name = L["Enable"] + name = L["Classbar Enabled"] }, - commonGroup = { - order = 2, - type = "group", - guiInline = true, - name = L["Base Settings"], - args = { - slideLeft = { - type = "toggle", - order = 1, - name = L["Slide Left"] - }, - detachFromFrame = { - type = "toggle", - order = 2, - name = L["Detach From Frame"] - }, - stagger = { - type = "toggle", - order = 3, - name = L["Stagger Bar"], - get = function(l)return SV.db.SVUnit["player"]["stagger"].enable end, - set = function(l, m)MOD:ChangeDBVar(m, "enable", "player", "stagger");MOD:SetUnitFrame("player")end, - disabled = SV.class ~= "MONK", - }, - druidMana = { - type = "toggle", - order = 12, - name = L["Druid Mana"], - desc = L["Display druid mana bar when in cat or bear form and when mana is not 100%."], - get = function(key) - return SV.db.SVUnit["player"]["power"].druidMana - end, - set = function(key, value) - MOD:ChangeDBVar(value, "druidMana", "player", "power"); - MOD:SetUnitFrame("player") - end, - disabled = SV.class ~= "DRUID", - } - } + detachFromFrame = { + type = "toggle", + order = 2, + name = L["Detach From Frame"] + }, + height = { + type = "range", + order = 4, + name = L["Classbar Height (Size)"], + min = 15, + max = 45, + step = 1 }, - sizeGroup = { - order = 3, - guiInline = true, - type = "group", - name = L["Size Settings"], - args = { - height = { - type = "range", - order = 4, - width = "full", - name = L["Size"], - min = 15, - max = 45, - step = 1 - } - } - } } } } -} \ No newline at end of file +} + +if(SV.class == "MONK") then + SV.Options.args.SVUnit.args.commonGroup.args.player.args.classbar.args.stagger = { + type = "toggle", + order = 3, + name = L["Stagger Bar"], + get = function(l)return SV.db.SVUnit["player"]["stagger"].enable end, + set = function(l, m)MOD:ChangeDBVar(m, "enable", "player", "stagger");MOD:SetUnitFrame("player")end, + } +end +if(SV.class == "DRUID") then + SV.Options.args.SVUnit.args.commonGroup.args.player.args.classbar.args.druidMana = { + type = "toggle", + order = 3, + name = L["Druid Mana"], + desc = L["Display druid mana bar when in cat or bear form and when mana is not 100%."], + get = function(key) + return SV.db.SVUnit["player"]["power"].druidMana + end, + set = function(key, value) + MOD:ChangeDBVar(value, "druidMana", "player", "power"); + MOD:SetUnitFrame("player") + end, + } +end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/raid.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/raid.lua index a877c38..05f4b4c 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/raid.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/raid.lua @@ -127,7 +127,7 @@ SV.Options.args.SVUnit.args.commonGroup.args["raid"] = { set = function(key, value) MOD:ChangeDBVar(value, key[#key], "raid", "grid"); MOD:SetGroupFrame("raid", true); - SV.Options.args.SVUnit.args.commonGroup.args.raid.args.tabGroups.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "raid"); + SV.Options.args.SVUnit.args.commonGroup.args.raid.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "raid"); end, }, showPlayer = { @@ -503,7 +503,7 @@ SV.Options.args.SVUnit.args.commonGroup.args.raidpet = { set = function(key, value) MOD:ChangeDBVar(value, key[#key], "raidpet", "grid"); MOD:SetGroupFrame("raidpet", true); - SV.Options.args.SVUnit.args.commonGroup.args.raidpet.args.tabGroups.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "raidpet"); + SV.Options.args.SVUnit.args.commonGroup.args.raidpet.args.general.args.layoutGroup.args.sizing = ns:SetSizeConfigGroup(value, "raidpet"); end, }, invertGroupingOrder = { diff --git a/Interface/AddOns/SVUI_CraftOMatic/Loader.lua b/Interface/AddOns/SVUI_CraftOMatic/Loader.lua index 9f22cf0..0ca38d4 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/Loader.lua @@ -28,20 +28,22 @@ local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") AddonObject.defaults = { - ["fontSize"] = 12, - ["farming"] = { - ["buttonsize"] = 35, - ["buttonspacing"] = 3, - ["onlyactive"] = false, - ["droptools"] = true, - ["toolbardirection"] = "HORIZONTAL", - }, - ["fishing"] = { - ["autoequip"] = true, - }, - ["cooking"] = { - ["autoequip"] = true, - }, + ["general"] = { + ["fontSize"] = 12, + ["farming"] = { + ["buttonsize"] = 35, + ["buttonspacing"] = 3, + ["onlyactive"] = false, + ["droptools"] = true, + ["toolbardirection"] = "HORIZONTAL", + }, + ["fishing"] = { + ["autoequip"] = true, + }, + ["cooking"] = { + ["autoequip"] = true, + }, + } } local PLUGIN = LibSuperVillain("Registry"):NewPlugin(AddonName, AddonObject, "CraftOMatic_Profile", nil, "CraftOMatic_Cache") @@ -61,7 +63,7 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["fontSize"] = { min = 6, max = 22, step = 1, - get = function(key) return PLUGIN.db[key[#key]] end, + get = function(key) return PLUGIN.db.general[key[#key]] end, set = function(key,value) PLUGIN:ChangeDBVar(value, key[#key]); PLUGIN:UpdateLogWindow() end } @@ -76,7 +78,7 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["fishing"] = { order = 1, name = L['AutoEquip'], desc = L['Enable/Disable automatically equipping fishing gear.'], - get = function(key)return PLUGIN.db.fishing[key[#key]] end, + get = function(key)return PLUGIN.db.general.fishing[key[#key]] end, set = function(key, value)PLUGIN:ChangeDBVar(value, key[#key], "fishing") end } } @@ -93,7 +95,7 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["cooking"] = { order = 1, name = L['AutoEquip'], desc = L['Enable/Disable automatically equipping cooking gear.'], - get = function(key)return PLUGIN.db.cooking[key[#key]]end, + get = function(key)return PLUGIN.db.general.cooking[key[#key]]end, set = function(key, value)PLUGIN:ChangeDBVar(value, key[#key], "cooking")end } } @@ -104,8 +106,8 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["farming"] = { type = "group", name = L["Farming Mode Settings"], guiInline = true, - get = function(key)return PLUGIN.db.farming[key[#key]]end, - set = function(key, value)PLUGIN.db.farming[key[#key]] = value end, + get = function(key)return PLUGIN.db.general.farming[key[#key]]end, + set = function(key, value)PLUGIN.db.general.farming[key[#key]] = value end, args = { buttonsize = { type = 'range', diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua index 0e4f6db..845f555 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua @@ -306,7 +306,7 @@ function PLUGIN:ChangeModeGear() end function PLUGIN:UpdateLogWindow() - self.LogWindow:SetFont(SV.Media.font.dialog, self.db.fontSize, "OUTLINE") + self.LogWindow:SetFont(SV.Media.font.dialog, self.db.general.fontSize, "OUTLINE") end function PLUGIN:SKILL_LINES_CHANGED() diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc index 8b966ee..795ce94 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r ## Notes: Supervillain UI [|cff9911FFProfession Tools|r]. ## SavedVariablesPerCharacter: CraftOMatic_Profile, CraftOMatic_Cache diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua b/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua index ca26aae..1a03a9f 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/cooking.lua @@ -193,7 +193,7 @@ CORE METHODS function PLUGIN.Cooking:Enable() PLUGIN.Cooking:Update() if(not PLUGIN.Docklet:IsShown()) then PLUGIN.Docklet.DockButton:Click() end - if(PLUGIN.db.cooking.autoequip) then + if(PLUGIN.db.general.cooking.autoequip) then UpdateChefWear(); end PlaySoundFile("Sound\\Spells\\Tradeskills\\CookingPrepareA.wav") diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua b/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua index ae7f86d..bc903a5 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/farming.lua @@ -157,7 +157,7 @@ do if(InCombatLockdown()) then return end if(event == "ZONE_CHANGED") then local inZone = InFarmZone() - if not inZone and PLUGIN.db.farming.droptools then + if not inZone and PLUGIN.db.general.farming.droptools then for k, v in pairs(refTools) do local container, slot = FindItemInBags(k) if container and slot then @@ -318,7 +318,7 @@ do PLUGIN.TitleWindow:AddMessage("|cffffff11Loading Farm Tools...|r|cffff1111PLEASE WAIT|r") PLUGIN.FarmLoadTimer = SV.Timers:ExecuteTimer(LoadFarmingModeTools, 5) else - local horizontal = PLUGIN.db.farming.toolbardirection == 'HORIZONTAL' + local horizontal = PLUGIN.db.general.farming.toolbardirection == 'HORIZONTAL' local seeds, farmtools, portals = {},{},{} @@ -406,7 +406,7 @@ function PLUGIN.Farming:Disable() DisableListener() return end - if PLUGIN.db.farming.droptools then + if PLUGIN.db.general.farming.droptools then for k, v in pairs(refTools) do local container, slot = FindItemInBags(k) if container and slot then @@ -425,8 +425,8 @@ CORE FUNCTIONS ########################################################## ]]-- function PLUGIN:RefreshFarmingTools() - local count, horizontal = 0, self.db.farming.toolbardirection == 'HORIZONTAL' - local BUTTONSPACE = self.db.farming.buttonspacing or 2; + local count, horizontal = 0, self.db.general.farming.toolbardirection == 'HORIZONTAL' + local BUTTONSPACE = self.db.general.farming.buttonspacing or 2; local lastBar; if not FarmToolBar:IsShown() then _G["FarmSeedBarAnchor"]:SetPoint("TOPLEFT", _G["FarmModeFrameSlots"], "TOPLEFT", 0, 0) @@ -441,10 +441,10 @@ function PLUGIN:RefreshFarmingTools() local BUTTONSIZE = seedBar.ButtonSize; button:SetPointToScale("TOPLEFT", seedBar, "TOPLEFT", horizontal and (count * (BUTTONSIZE + BUTTONSPACE) + 1) or 1, horizontal and -1 or -(count * (BUTTONSIZE + BUTTONSPACE) + 1)) button:SetSizeToScale(BUTTONSIZE,BUTTONSIZE) - if (not self.db.farming.onlyactive or (self.db.farming.onlyactive and button.items > 0)) then + if (not self.db.general.farming.onlyactive or (self.db.general.farming.onlyactive and button.items > 0)) then button.icon:SetVertexColor(1,1,1) count = count + 1 - elseif (not self.db.farming.onlyactive and button.items <= 0) then + elseif (not self.db.general.farming.onlyactive and button.items <= 0) then button:Show() button.icon:SetVertexColor(0.25,0.25,0.25) count = count + 1 @@ -452,7 +452,7 @@ function PLUGIN:RefreshFarmingTools() button:Hide() end end - if(self.db.farming.onlyactive and not self.db.farming.undocked) then + if(self.db.general.farming.onlyactive and not self.db.general.farming.undocked) then if count==0 then seedBar:Hide() else @@ -474,11 +474,11 @@ function PLUGIN:RefreshFarmingTools() local BUTTONSIZE = FarmToolBar.ButtonSize; button:SetPointToScale("TOPLEFT", FarmToolBar, "TOPLEFT", horizontal and (count * (BUTTONSIZE + BUTTONSPACE) + 1) or 1, horizontal and -1 or -(count * (BUTTONSIZE + BUTTONSPACE) + 1)) button:SetSizeToScale(BUTTONSIZE,BUTTONSIZE) - if (not self.db.farming.onlyactive or (self.db.farming.onlyactive and button.items > 0)) then + if (not self.db.general.farming.onlyactive or (self.db.general.farming.onlyactive and button.items > 0)) then button:Show() button.icon:SetVertexColor(1,1,1) count = count + 1 - elseif (not self.db.farming.onlyactive and button.items == 0) then + elseif (not self.db.general.farming.onlyactive and button.items == 0) then button:Show() button.icon:SetVertexColor(0.25,0.25,0.25) count = count + 1 @@ -486,7 +486,7 @@ function PLUGIN:RefreshFarmingTools() button:Hide() end end - if(self.db.farming.onlyactive and not self.db.farming.undocked) then + if(self.db.general.farming.onlyactive and not self.db.general.farming.undocked) then if count==0 then FarmToolBarAnchor:Hide() FarmPortalBar:SetPoint("TOPLEFT", FarmModeFrameSlots, "TOPLEFT", 0, 0) @@ -502,11 +502,11 @@ function PLUGIN:RefreshFarmingTools() local BUTTONSIZE = FarmPortalBar.ButtonSize; button:SetPointToScale("TOPLEFT", FarmPortalBar, "TOPLEFT", horizontal and (count * (BUTTONSIZE + BUTTONSPACE) + 1) or 1, horizontal and -1 or -(count * (BUTTONSIZE + BUTTONSPACE) + 1)) button:SetSizeToScale(BUTTONSIZE,BUTTONSIZE) - if (not self.db.farming.onlyactive or (self.db.farming.onlyactive and button.items > 0)) then + if (not self.db.general.farming.onlyactive or (self.db.general.farming.onlyactive and button.items > 0)) then button:Show() button.icon:SetVertexColor(1,1,1) count = count + 1 - elseif (not self.db.farming.onlyactive and button.items == 0) then + elseif (not self.db.general.farming.onlyactive and button.items == 0) then button:Show() button.icon:SetVertexColor(0.25,0.25,0.25) count = count + 1 @@ -514,7 +514,7 @@ function PLUGIN:RefreshFarmingTools() button:Hide() end end - if(self.db.farming.onlyactive) then + if(self.db.general.farming.onlyactive) then if count==0 then FarmPortalBar:Hide() else @@ -524,13 +524,13 @@ function PLUGIN:RefreshFarmingTools() end function PLUGIN:PrepareFarmingTools() - local horizontal = self.db.farming.toolbardirection == "HORIZONTAL" - local BUTTONSPACE = self.db.farming.buttonspacing or 2; + local horizontal = self.db.general.farming.toolbardirection == "HORIZONTAL" + local BUTTONSPACE = self.db.general.farming.buttonspacing or 2; ModeLogsFrame = self.LogWindow; DockButton = self.Docklet.DockButton - if not self.db.farming.undocked then + if not self.db.general.farming.undocked then local bgTex = [[Interface\BUTTONS\WHITE8X8]] local bdTex = SV.Media.bar.glow local farmingDocklet = CreateFrame("ScrollFrame", "FarmModeFrame", ModeLogsFrame); @@ -605,7 +605,7 @@ function PLUGIN:PrepareFarmingTools() farmingDocklet:Hide() else - local BUTTONSIZE = self.db.farming.buttonsize or 35; + local BUTTONSIZE = self.db.general.farming.buttonsize or 35; -- SEEDS local farmSeedBarAnchor = CreateFrame("Frame", "FarmSeedBarAnchor", UIParent) diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua b/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua index 1f8af1d..c0adf55 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/fishing.lua @@ -334,7 +334,7 @@ CORE METHODS function PLUGIN.Fishing:Enable() PLUGIN:UpdateFishingMode() if(not PLUGIN.Docklet:IsShown()) then PLUGIN.Docklet.DockButton:Click() end - UpdateFishingGear(PLUGIN.db.fishing.autoequip); + UpdateFishingGear(PLUGIN.db.general.fishing.autoequip); PlaySoundFile("Sound\\Spells\\Tradeskills\\FishCast.wav") PLUGIN.ModeAlert:SetBackdropColor(0.25, 0.52, 0.1) if(not IsSpellKnown(131474)) then diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc index f0817e4..16bc0cc 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r ## Notes: Supervillain UI [|cff9911FFPvP Tools|r]. ## SavedVariablesPerCharacter: FightOMatic_Profile, FightOMatic_Cache diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc index d66c77a..004f01b 100644 --- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc +++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r ## Notes: Supervillain UI [|cff9911FFData Logging|r]. ## SavedVariables: LogOMatic_Data diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua index c485aae..7990cf3 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua @@ -221,13 +221,6 @@ function PLUGIN:PLAYER_ENTERING_WORLD(event, ...) desc = L["Addon Styling"], get = function(key) return PLUGIN:IsAddonReady(key[#key]) end, set = function(key,value) PLUGIN:ChangeDBVar(value, key[#key], "addons"); SV:StaticPopup_Show("RL_CLIENT") end, - disabled = function() - if addonName then - return not PLUGIN.StyledAddons[addonName] - else - return false - end - end } end if(self.db.addons[addonName] == nil) then diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc index 1b3d846..ecaf9f3 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAddon Skins|r]. ## SavedVariables: StyleOMatic_Global diff --git a/Interface/AddOns/SVUI_TrackOMatic/Loader.lua b/Interface/AddOns/SVUI_TrackOMatic/Loader.lua index 065760b..e44a29e 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/Loader.lua @@ -28,10 +28,12 @@ local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") AddonObject.defaults = { - ["size"] = 75, - ["fontSize"] = 12, - ["groups"] = true, - ["proximity"] = false, + ["general"] = { + ["size"] = 75, + ["fontSize"] = 12, + ["groups"] = true, + ["proximity"] = false, + } } local PLUGIN = LibSuperVillain("Registry"):NewPlugin(AddonName, AddonObject, "TrackOMatic_Profile", "TrackOMatic_Global") @@ -48,17 +50,17 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["groups"] = { name = L["GPS"], desc = L["Use group frame GPS elements"], type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN:ChangeDBVar(value, key[#key]); end + get = function(key) return PLUGIN.db.general.groups end, + set = function(key,value) PLUGIN.db.general.groups = value; end } SV.Options.args.plugins.args.pluginOptions.args[Schema].args["proximity"] = { order = 4, name = L["GPS Proximity"], - desc = L["Only point to closest low health unit"], + desc = L["Only point to closest low health unit (if one is in range)."], type = "toggle", - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN:ChangeDBVar(value, key[#key]); end + get = function(key) return PLUGIN.db.general.proximity end, + set = function(key,value) PLUGIN.db.general.proximity = value; end } SV.Options.args.plugins.args.pluginOptions.args[Schema].args["fontSize"] = { @@ -69,6 +71,6 @@ SV.Options.args.plugins.args.pluginOptions.args[Schema].args["fontSize"] = { min = 6, max = 22, step = 1, - get = function(key) return PLUGIN.db[key[#key]] end, - set = function(key,value) PLUGIN:ChangeDBVar(value, key[#key]); end + get = function(key) return PLUGIN.db.general.fontSize end, + set = function(key,value) PLUGIN.db.general.fontSize = value; end } \ No newline at end of file diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua index 5c2a6cb..df76873 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua @@ -188,7 +188,7 @@ local QuestTracker_OnUpdate = function(self, elapsed) self.questID = nil self.throttle = 4 self.Arrow:SetAlpha(0) - self.BG:SetVertexColor(0.1,0.1,0.1) + self.BG:SetVertexColor(0.1,0.1,0.1,0) else self.throttle = 0.02 local range = floor(distance) @@ -197,15 +197,15 @@ local QuestTracker_OnUpdate = function(self, elapsed) self.Arrow:SetAlpha(1) self.BG:SetAlpha(1) if(range > 100) then - self.BG:SetVertexColor(0.8,0.1,0.1) + self.BG:SetVertexColor(0.8,0.1,0.1,1) elseif(range > 40) then - self.BG:SetVertexColor(0.8,0.8,0.1) + self.BG:SetVertexColor(0.8,0.8,0.1,1) else - self.BG:SetVertexColor(0.1,0.8,0.1) + self.BG:SetVertexColor(0.1,0.8,0.1,1) end self.Range:SetText(range) else - self.BG:SetVertexColor(0.1,0.1,0.1) + self.BG:SetVertexColor(0.1,0.1,0.1,0) self.Arrow:SetAlpha(0) self.BG:SetAlpha(0) self.Range:SetText("") @@ -237,8 +237,7 @@ end function SV:AddQuestCompass(parent, anchor, size) if anchor.Compass then return end local compass = CreateFrame("Frame", nil, parent) - compass:SetPoint("CENTER", anchor, "CENTER", 0, 0) - compass:SetSize(size, size) + compass:SetAllPoints(anchor) compass:SetFrameLevel(anchor:GetFrameLevel() + 99) compass.BG = compass:CreateTexture(nil, 'BACKGROUND') compass.BG:SetAllPointsIn(compass) @@ -265,9 +264,9 @@ CORE ########################################################## ]]-- function PLUGIN:ReLoad() - local frameSize = self.db.size or 70 + local frameSize = self.db.general.size or 70 local arrowSize = frameSize * 0.5 - local fontSize = self.db.fontSize or 14 + local fontSize = self.db.general.fontSize or 14 local frame = _G["SVUI_UnitTrackingCompass"] frame:SetSize(frameSize, frameSize) diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc index 1dbb5c5..a234f2b 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.1 +## Version: 5.4.15 ## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r]. ## SavedVariables: TrackOMatic_Global diff --git a/Interface/AddOns/SVUI_TrackOMatic/components/unitframe_gps.lua b/Interface/AddOns/SVUI_TrackOMatic/components/unitframe_gps.lua index 04bcad1..b90f45d 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/components/unitframe_gps.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/components/unitframe_gps.lua @@ -181,7 +181,7 @@ end local RefreshGPS = function(self, frame, template) if(frame.GPS) then - local config = PLUGIN.db + local config = PLUGIN.db.general if(config.groups) then frame.GPS.OnlyProximity = config.proximity local actualSz = min(frame.GPS.DefaultSize, (frame:GetHeight() - 2))