diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc index 535ac86..4e5264d 100644 --- a/Interface/AddOns/SVUI/SVUI.toc +++ b/Interface/AddOns/SVUI/SVUI.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 4.7 +## Version: 4.8 ## Title: |cffFF9900SVUI|r ## Notes: Supervillain UI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua index 5b72ec7..feddff9 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/LibSuperVillain-1.0.lua @@ -498,7 +498,7 @@ end function lib:NewCache(index) index = index or CoreObject.Schema - AllowedIndexes.C[index] = true + AllowedIndexes.C[index] = index if(not CACHE_SV[index]) then CACHE_SV[index] = {} end @@ -507,7 +507,7 @@ end function lib:NewGlobal(index) index = index or CoreObject.Schema - AllowedIndexes.G[index] = true + AllowedIndexes.G[index] = index if(not GLOBAL_SV[index]) then GLOBAL_SV[index] = {} end @@ -801,7 +801,7 @@ function lib:NewPlugin(addonName, addonObject) if(not PLUGINS) then PLUGINS = {} end PLUGINS[#PLUGINS+1] = schema - AllowedIndexes.P[schema] = true + AllowedIndexes.P[schema] = schema local infoString = SetPluginString(addonName) local oldString = PluginString @@ -879,7 +879,7 @@ local Core_NewPackage = function(self, schema, header) if(not MODULES) then MODULES = {} end MODULES[#MODULES+1] = schema - AllowedIndexes.P[schema] = true + AllowedIndexes.P[schema] = schema local addonName = ("SVUI [%s]"):format(schema) @@ -993,8 +993,8 @@ function lib:Initialize() GLOBAL_SV.profileKeys[k] = k end - AllowedIndexes.G["profileKeys"] = true - AllowedIndexes.G["profiles"] = true + AllowedIndexes.G["profileKeys"] = "profileKeys" + AllowedIndexes.G["profiles"] = "profiles" --CACHE SAVED VARIABLES if not _G[CACHE_FILENAME] then _G[CACHE_FILENAME] = {} end diff --git a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/Changelog-libdatabroker-1-1-v1.1.4.txt b/Interface/AddOns/SVUI/libs/libdatabroker-1.1/Changelog-libdatabroker-1-1-v1.1.4.txt deleted file mode 100644 index d5b31ed..0000000 --- a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/Changelog-libdatabroker-1-1-v1.1.4.txt +++ /dev/null @@ -1,33 +0,0 @@ -tag v1.1.4 -ddb0519a000c69ddf3a28c3f9fe2e62bb3fd00c5 -Tekkub <tekkub@gmail.com> -2008-11-06 22:03:04 -0700 - -Build 1.1.4 - - --------------------- - -Tekkub: - Add pairs and ipairs iters, since we can't use the normal iters on our dataobjs - Simplify readme, all docs have been moved into GitHub wiki pages - Documentation on how to use LDB data (for display addons) - Add StatBlockCore forum link - Add link to Fortress thread - And rearrange the addon list a bit too - Make field lists into nice pretty tables - Add list of who is using LDB - Always with the typos, I hate my fingers - Add tooltiptext and OnTooltipShow to data addon spec - Readme rejiggering - Add in some documentation on how to push data into LDB - Meh, fuck you textile - Adding readme - Pass current dataobj with attr change callbacks to avoid excessive calls to :GetDataObjectByName -Tekkub Stoutwrithe: - Make passed dataobj actually work - I always forget the 'then' - Minor memory optimization - - Only hold upvalues to locals in the functions called frequently - - Retain the metatable across future lib upgrades (the one in v1 will be lost) - Allow caller to pass a pre-populated table to NewDataObject diff --git a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/LibDataBroker-1.1.lua b/Interface/AddOns/SVUI/libs/libdatabroker-1.1/LibDataBroker-1.1.lua deleted file mode 100644 index f47c0cd..0000000 --- a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/LibDataBroker-1.1.lua +++ /dev/null @@ -1,90 +0,0 @@ - -assert(LibStub, "LibDataBroker-1.1 requires LibStub") -assert(LibStub:GetLibrary("CallbackHandler-1.0", true), "LibDataBroker-1.1 requires CallbackHandler-1.0") - -local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 4) -if not lib then return end -oldminor = oldminor or 0 - - -lib.callbacks = lib.callbacks or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib) -lib.attributestorage, lib.namestorage, lib.proxystorage = lib.attributestorage or {}, lib.namestorage or {}, lib.proxystorage or {} -local attributestorage, namestorage, callbacks = lib.attributestorage, lib.namestorage, lib.callbacks - -if oldminor < 2 then - lib.domt = { - __metatable = "access denied", - __index = function(self, key) return attributestorage[self] and attributestorage[self][key] end, - } -end - -if oldminor < 3 then - lib.domt.__newindex = function(self, key, value) - if not attributestorage[self] then attributestorage[self] = {} end - if attributestorage[self][key] == value then return end - attributestorage[self][key] = value - local name = namestorage[self] - if not name then return end - callbacks:Fire("LibDataBroker_AttributeChanged", name, key, value, self) - callbacks:Fire("LibDataBroker_AttributeChanged_"..name, name, key, value, self) - callbacks:Fire("LibDataBroker_AttributeChanged_"..name.."_"..key, name, key, value, self) - callbacks:Fire("LibDataBroker_AttributeChanged__"..key, name, key, value, self) - end -end - -if oldminor < 2 then - function lib:NewDataObject(name, dataobj) - if self.proxystorage[name] then return end - - if dataobj then - assert(type(dataobj) == "table", "Invalid dataobj, must be nil or a table") - self.attributestorage[dataobj] = {} - for i,v in pairs(dataobj) do - self.attributestorage[dataobj][i] = v - dataobj[i] = nil - end - end - dataobj = setmetatable(dataobj or {}, self.domt) - self.proxystorage[name], self.namestorage[dataobj] = dataobj, name - self.callbacks:Fire("LibDataBroker_DataObjectCreated", name, dataobj) - return dataobj - end -end - -if oldminor < 1 then - function lib:DataObjectIterator() - return pairs(self.proxystorage) - end - - function lib:GetDataObjectByName(dataobjectname) - return self.proxystorage[dataobjectname] - end - - function lib:GetNameByDataObject(dataobject) - return self.namestorage[dataobject] - end -end - -if oldminor < 4 then - local next = pairs(attributestorage) - function lib:pairs(dataobject_or_name) - local t = type(dataobject_or_name) - assert(t == "string" or t == "table", "Usage: ldb:pairs('dataobjectname') or ldb:pairs(dataobject)") - - local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name - assert(attributestorage[dataobj], "Data object not found") - - return next, attributestorage[dataobj], nil - end - - local ipairs_iter = ipairs(attributestorage) - function lib:ipairs(dataobject_or_name) - local t = type(dataobject_or_name) - assert(t == "string" or t == "table", "Usage: ldb:ipairs('dataobjectname') or ldb:ipairs(dataobject)") - - local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name - assert(attributestorage[dataobj], "Data object not found") - - return ipairs_iter, attributestorage[dataobj], 0 - end -end diff --git a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/README.textile b/Interface/AddOns/SVUI/libs/libdatabroker-1.1/README.textile deleted file mode 100644 index ef16fed..0000000 --- a/Interface/AddOns/SVUI/libs/libdatabroker-1.1/README.textile +++ /dev/null @@ -1,13 +0,0 @@ -LibDataBroker is a small WoW addon library designed to provide a "MVC":http://en.wikipedia.org/wiki/Model-view-controller interface for use in various addons. -LDB's primary goal is to "detach" plugins for TitanPanel and FuBar from the display addon. -Plugins can provide data into a simple table, and display addons can receive callbacks to refresh their display of this data. -LDB also provides a place for addons to register "quicklaunch" functions, removing the need for authors to embed many large libraries to create minimap buttons. -Users who do not wish to be "plagued" by these buttons simply do not install an addon to render them. - -Due to it's simple generic design, LDB can be used for any design where you wish to have an addon notified of changes to a table. - -h2. Links - -* "API documentation":http://github.com/tekkub/libdatabroker-1-1/wikis/api -* "Data specifications":http://github.com/tekkub/libdatabroker-1-1/wikis/data-specifications -* "Addons using LDB":http://github.com/tekkub/libdatabroker-1-1/wikis/addons-using-ldb diff --git a/Interface/AddOns/SVUI/libs/libs.xml b/Interface/AddOns/SVUI/libs/libs.xml index 5b4ca2f..bc724e1 100644 --- a/Interface/AddOns/SVUI/libs/libs.xml +++ b/Interface/AddOns/SVUI/libs/libs.xml @@ -4,6 +4,5 @@ <Script file="CallbackHandler-1.0\CallbackHandler-1.0.lua"/> <Script file="LibSharedMedia-3.0\LibSharedMedia-3.0.lua"/> <Script file="LibActionButton-1.0\LibActionButton-1.0.lua"/> - <Script file="LibDataBroker-1.1\LibDataBroker-1.1.lua"/> <Include file="oUF_Villain\oUF_Villain.xml"/> </Ui> \ No newline at end of file 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 017ed59..5517fa0 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: 4.7 +## Version: 4.8 ## 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 85eec06..f86751f 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: 4.7 +## Version: 4.8 ## 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 afd78ed..4c12506 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: 4.7 +## Version: 4.8 ## 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 4d49a4a..2d58083 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: 4.70 +## Version: 4.80 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/packages/stats/SVStats.lua b/Interface/AddOns/SVUI/packages/stats/SVStats.lua index d807661..3d94bb0 100644 --- a/Interface/AddOns/SVUI/packages/stats/SVStats.lua +++ b/Interface/AddOns/SVUI/packages/stats/SVStats.lua @@ -24,10 +24,12 @@ local pairs = _G.pairs; local type = _G.type; local string = _G.string; local math = _G.math; +local table = _G.table; --[[ STRING METHODS ]]-- -local join = string.join; +local join, len = string.join, string.len; --[[ MATH METHODS ]]-- local min = math.min; +local tsort, twipe = table.sort, _G.wipe; --[[ ########################################################## GET ADDON DATA @@ -36,11 +38,12 @@ GET ADDON DATA local SV = select(2, ...) local L = SV.L local LSM = LibStub("LibSharedMedia-3.0") -local LDB = LibStub("LibDataBroker-1.1") +local LDB = LibStub("LibDataBroker-1.1", true) local MOD = SV:NewPackage("SVStats", L["Statistics"]); MOD.Anchors = {}; MOD.Statistics = {}; +MOD.DisabledList = {}; MOD.StatListing = {[""] = "None"}; MOD.tooltip = CreateFrame("GameTooltip", "StatisticTooltip", UIParent, "GameTooltipTemplate") MOD.BGPanels = { @@ -62,6 +65,7 @@ MOD.BGStats = { ["Changes"] = {13, RATING_CHANGE}, ["Spec"] = {16, SPECIALIZATION} }; +MOD.ListNeedsUpdate = true --[[ ########################################################## LOCALIZED GLOBALS @@ -81,10 +85,9 @@ local myName = UnitName("player"); local myClass = select(2,UnitClass("player")); local classColor = RAID_CLASS_COLORS[myClass]; local StatMenuFrame = CreateFrame("Frame", "SVUI_StatMenu", UIParent); -local ListNeedsUpdate = true local SCORE_CACHE = {}; local hexHighlight = "FFFFFF"; - +local StatMenuListing = {} -- When its vertical then "left" = "top" and "right" = "bottom". Yes I know thats ghetto, bite me! local positionIndex = {{"middle", "left", "right"}, {"middle", "top", "bottom"}}; --[[ @@ -183,7 +186,7 @@ function MOD:ShowTip(noSpace) end function MOD:NewAnchor(parent, maxCount, tipAnchor, isTop, customTemplate, isVertical) - ListNeedsUpdate = true + self.ListNeedsUpdate = true local activeIndex = isVertical and 2 or 1 local template, strata @@ -273,6 +276,7 @@ function MOD:Extend(newStat, eventList, onEvents, update, click, focus, blur, in if not newStat then return end self.Statistics[newStat] = {} self.StatListing[newStat] = newStat + tinsert(StatMenuListing, newStat) if type(eventList) == "table" then self.Statistics[newStat]["events"] = eventList; self.Statistics[newStat]["event_handler"] = onEvents @@ -294,14 +298,6 @@ function MOD:Extend(newStat, eventList, onEvents, update, click, focus, blur, in end end -function MOD:UnSet(parent) - parent:UnregisterAllEvents() - parent:SetScript("OnUpdate", nil) - parent:SetScript("OnEnter", nil) - parent:SetScript("OnLeave", nil) - parent:SetScript("OnClick", nil) -end - do local dataStrings = { NAME, @@ -386,6 +382,7 @@ do for i=1, #StatMenuFrame.buttons do StatMenuFrame.buttons[i]:Hide() end + for i=1, #list do if not StatMenuFrame.buttons[i] then StatMenuFrame.buttons[i] = CreateFrame("Button", nil, StatMenuFrame) @@ -441,7 +438,8 @@ do end end - local function _load(parent, config) + local function _load(parent, name, config) + parent.StatParent = name if config["events"]then for _, event in pairs(config["events"])do parent:RegisterEvent(event) @@ -544,22 +542,34 @@ do SV:AddonMessage(L["Battleground statistics temporarily hidden, to show type \"/sv bg\" or \"/sv pvp\""]) end - local function SetMenuLists() - for place,parent in pairs(MOD.Anchors)do + local sortMenuList = function(a, b) return a < b end + + function MOD:SetMenuLists() + local stats = self.Anchors; + local list = StatMenuListing; + local disabled = self.DisabledList; + + tsort(list) + + for place,parent in pairs(stats)do for i = 1, parent.numPoints do local this = positionIndex[parent.useIndex][i] - tinsert(parent.holders[this].MenuList,{text = NONE, func = function() MOD:ChangeDBVar(NONE, this, "panels", place); MOD:Generate() end}); - for name,config in pairs(MOD.Statistics) do - tinsert(parent.holders[this].MenuList,{text = name, func = function() MOD:ChangeDBVar(name, this, "panels", place); MOD:Generate() end}); - end + local subList = twipe(parent.holders[this].MenuList) + + tinsert(subList,{text = NONE, func = function() MOD:ChangeDBVar(NONE, this, "panels", place); MOD:Generate() end}); + for _,name in pairs(list) do + if(not disabled[name]) then + tinsert(subList,{text = name, func = function() MOD:ChangeDBVar(name, this, "panels", place); MOD:Generate() end}); + end + end end - ListNeedsUpdate = false; + self.ListNeedsUpdate = false; end end function MOD:Generate() - if(ListNeedsUpdate) then - SetMenuLists() + if(self.ListNeedsUpdate) then + self:SetMenuLists() end local instance, groupType = IsInInstance() local anchorTable = self.Anchors @@ -607,11 +617,11 @@ do for panelName, panelData in pairs(db.panels) do if(panelData and type(panelData) == "table") then if(panelName == place and panelData[position] and panelData[position] == name) then - _load(parent.holders[position], config) + _load(parent.holders[position], name, config) end elseif(panelData and type(panelData) == "string" and panelData == name) then if(name == place) then - _load(parent.holders[position], config) + _load(parent.holders[position], name, config) end end end @@ -623,57 +633,14 @@ do end end -local function LoadStatBroker() - for dataName, dataObj in LDB:DataObjectIterator() do - - local OnEnter, OnLeave, OnClick, lastObj; - - if dataObj.OnTooltipShow then - function OnEnter(self) - MOD:Tip(self) - dataObj.OnTooltipShow(MOD.tooltip) - MOD:ShowTip() - end - end - - if dataObj.OnEnter then - function OnEnter(self) - MOD:Tip(self) - dataObj.OnEnter(MOD.tooltip) - MOD:ShowTip() - end - end - - if dataObj.OnLeave then - function OnLeave(self) - dataObj.OnLeave(self) - MOD.tooltip:Hide() - end - end - - if dataObj.OnClick then - function OnClick(self, button) - dataObj.OnClick(self, button) - end - end - - local function textUpdate(event, name, key, value, dataobj) - if value == nil or (len(value) > 5) or value == 'n/a' or name == value then - lastObj.text:SetText(value ~= 'n/a' and value or name) - else - lastObj.text:SetText(name..': '.. '|cff' .. hexHighlight ..value..'|r') - end - end - - local function OnEvent(self) - lastObj = self; - LDB:RegisterCallback("LibDataBroker_AttributeChanged_"..dataName.."_text", textUpdate) - LDB:RegisterCallback("LibDataBroker_AttributeChanged_"..dataName.."_value", textUpdate) - LDB.callbacks:Fire("LibDataBroker_AttributeChanged_"..dataName.."_text", dataName, nil, dataObj.text, dataObj) - end - - MOD:Extend(dataName, {"PLAYER_ENTERING_WORLD"}, OnEvent, nil, OnClick, OnEnter, OnLeave) - end +function MOD:UnSet(parent) + parent:UnregisterAllEvents() + parent:SetScript("OnUpdate", nil) + parent:SetScript("OnEnter", nil) + parent:SetScript("OnLeave", nil) + parent:SetScript("OnClick", nil) + self.DisabledList[parent.StatParent] = true + self:SetMenuLists() end --[[ ########################################################## @@ -698,8 +665,6 @@ function MOD:Load() self.Accountant[playerRealm]["tokens"] = self.Accountant[playerRealm]["tokens"] or {}; self.Accountant[playerRealm]["tokens"][playerName] = self.Accountant[playerRealm]["tokens"][playerName] or 738; - LoadStatBroker() - self:LoadServerGold() self:CacheRepData() self:CacheTokenData() @@ -712,6 +677,59 @@ function MOD:Load() self.tooltip:SetFrameStrata("DIALOG") self.tooltip:HookScript("OnShow", _hook_TooltipOnShow) + if(LDB) then + for dataName, dataObj in LDB:DataObjectIterator() do + + local OnEnter, OnLeave, OnClick, lastObj; + + if dataObj.OnTooltipShow then + function OnEnter(self) + MOD:Tip(self) + dataObj.OnTooltipShow(MOD.tooltip) + MOD:ShowTip() + end + end + + if dataObj.OnEnter then + function OnEnter(self) + MOD:Tip(self) + dataObj.OnEnter(MOD.tooltip) + MOD:ShowTip() + end + end + + if dataObj.OnLeave then + function OnLeave(self) + dataObj.OnLeave(self) + MOD.tooltip:Hide() + end + end + + if dataObj.OnClick then + function OnClick(self, button) + dataObj.OnClick(self, button) + end + end + + local function textUpdate(event, name, key, value, dataobj) + if value == nil or (len(value) > 5) or value == 'n/a' or name == value then + lastObj.text:SetText(value ~= 'n/a' and value or name) + else + lastObj.text:SetText(name..': '.. '|cff' .. hexHighlight ..value..'|r') + end + end + + local function OnEvent(self) + lastObj = self; + LDB:RegisterCallback("LibDataBroker_AttributeChanged_"..dataName.."_text", textUpdate) + LDB:RegisterCallback("LibDataBroker_AttributeChanged_"..dataName.."_value", textUpdate) + LDB.callbacks:Fire("LibDataBroker_AttributeChanged_"..dataName.."_text", dataName, nil, dataObj.text, dataObj) + end + + MOD:Extend(dataName, {"PLAYER_ENTERING_WORLD"}, OnEvent, nil, OnClick, OnEnter, OnLeave) + end + end + self:Generate() self:RegisterEvent("PLAYER_ENTERING_WORLD", "Generate") diff --git a/Interface/AddOns/SVUI/packages/stats/stats/experience.lua b/Interface/AddOns/SVUI/packages/stats/stats/experience.lua index 76746e1..eafb704 100644 --- a/Interface/AddOns/SVUI/packages/stats/stats/experience.lua +++ b/Interface/AddOns/SVUI/packages/stats/stats/experience.lua @@ -19,6 +19,7 @@ STATS:Extend EXAMPLE USAGE: MOD:Extend(newStat,eventList,onEvents,update,click,f LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +if (UnitLevel("player") == GetMaxPlayerLevel()) then return end; --[[ GLOBALS ]]-- local _G = _G; local unpack = _G.unpack; @@ -129,7 +130,7 @@ local function Experience_OnEnter(self) end local function ExperienceBar_OnLoad(self) - if (UnitLevel("player") == GetMaxPlayerLevel())then + if (UnitLevel("player") == GetMaxPlayerLevel()) then self:Hide() MOD:UnSet(self) end diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 81e418c..12023ad 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -1487,7 +1487,7 @@ function MOD:SPELLS_CHANGED() end if GetSpellInfo(droodSpell1) == droodSpell2 then self.Dispellable["Disease"] = true - elseif(SV.Dispellable["Disease"]) then + elseif(self.Dispellable["Disease"]) then self.Dispellable["Disease"] = nil end end diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua index ec67c00..5b1397b 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua @@ -52,7 +52,8 @@ local PLUGIN = select(2, ...) local Schema = PLUGIN.Schema; local PlayersName = UnitName("player") -local SV = _G["SVUI"]; +local SV = _G["SVUI"] +local L = SV.L --[[ ########################################################## LOCAL VARS diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc index 9eb5673..b0f87ae 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: 4.7 +## Version: 4.8 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAuto-Chat Gadgets|r] ## RequiredDeps: SVUI diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc index b303934..0bb6d7b 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc @@ -1,7 +1,7 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 4.7 -## Title: |cffFF9900SVUI |r|cffFFEF00Config O Matic|r +## Version: 4.8 +## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r ## Notes: Supervillain UI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI ## LoadOnDemand: 1 diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc index 01a991d..c32772a 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: 4.7 +## Version: 4.8 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r ## Notes: Supervillain UI [|cff9911FFProfession Tools|r]. ## Interface: 60000 diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc index cfb7232..b58b7c1 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc @@ -1,7 +1,7 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 4.7 -## Title: |cffFF9900SVUI |r|cffFFEF00Fight O Matic|r +## Version: 4.8 +## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r ## Notes: Supervillain UI [|cff9911FFPvP Tools|r]. ## SavedVariables: FightOMatic_Data ## SavedVariablesPerCharacter: FightOMatic_Cache diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc index 726cdca..0196894 100644 --- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc +++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc @@ -1,7 +1,7 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 4.7 -## Title: |cffFF9900SVUI |r|cffFFEF00Log O Matic|r +## Version: 4.8 +## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r ## Notes: Supervillain UI [|cff9911FFData Logging|r]. ## SavedVariables: LogOMatic_Data ## SavedVariablesPerCharacter: LogOMatic_Cache diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc index 319dae5..a7f1c43 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc @@ -1,7 +1,7 @@ ## Interface: 60000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 4.7 -## Title: |cffFF9900SVUI |r|cffFFEF00Style O Matic|r +## Version: 4.8 +## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAddon Skins|r]. ## RequiredDeps: SVUI ## OptionalDeps: Blizzard_DebugTools, Blizzard_PetJournal, SharedMedia diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc index 6257485..10c2ffa 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc @@ -1,7 +1,7 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 4.7 -## Title: |cffFF9900SVUI |r|cffFFEF00Track O Matic|r +## Version: 4.8 +## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r]. ## RequiredDeps: SVUI ## LoadOnDemand: 1