From 41e120003ea68f1407b67988b1abdaa9273c8f37 Mon Sep 17 00:00:00 2001 From: Munglunch Date: Wed, 1 Oct 2014 12:14:32 -0500 Subject: [PATCH] 4.7.5 --- Interface/AddOns/SVUI/SVUI.lua | 3 - .../LibSuperVillain-1.0/LibSuperVillain-1.0.lua | 9 - Interface/AddOns/SVUI/packages/unit/SVUnit.lua | 66 ++++ .../AddOns/SVUI/packages/unit/elements/auras.lua | 4 +- Interface/AddOns/SVUI/system/load.lua | 26 +- Interface/AddOns/SVUI/system/utilities.lua | 26 -- Interface/AddOns/SVUI/system/visibility.lua | 20 +- Interface/AddOns/SVUI_ChatOMatic/Loader.lua | 32 +- .../AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua | 19 - .../AddOns/SVUI_ConfigOMatic/modules/_load.xml | 1 - .../AddOns/SVUI_ConfigOMatic/modules/dynamic.lua | 42 --- Interface/AddOns/SVUI_CraftOMatic/Bindings.xml | 8 +- Interface/AddOns/SVUI_CraftOMatic/Loader.lua | 119 +++++- .../AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua | 122 +------ Interface/AddOns/SVUI_FightOMatic/Bindings.xml | 2 +- Interface/AddOns/SVUI_FightOMatic/Loader.lua | 21 +- .../AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua | 6 +- Interface/AddOns/SVUI_LogOMatic/Loader.lua | 19 +- Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.lua | 10 - Interface/AddOns/SVUI_StyleOMatic/Loader.lua | 329 ++++++++++++++++- .../AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.lua | 382 ++------------------ Interface/AddOns/SVUI_TrackOMatic/Bindings.xml | 5 + Interface/AddOns/SVUI_TrackOMatic/Loader.lua | 40 +- .../AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua | 99 ++--- 24 files changed, 715 insertions(+), 695 deletions(-) delete mode 100644 Interface/AddOns/SVUI_ConfigOMatic/modules/dynamic.lua create mode 100644 Interface/AddOns/SVUI_TrackOMatic/Bindings.xml diff --git a/Interface/AddOns/SVUI/SVUI.lua b/Interface/AddOns/SVUI/SVUI.lua index 5d55510..e043bf4 100644 --- a/Interface/AddOns/SVUI/SVUI.lua +++ b/Interface/AddOns/SVUI/SVUI.lua @@ -264,9 +264,6 @@ local SVUI = SVLib:NewCore("SVUI_Global", "SVUI_Profile", "SVUI_Cache") SVUI.ConfigID = "SVUI_ConfigOMatic"; SVUI.Media = {} -SVUI.DisplayAudit = {} -SVUI.DynamicOptions = {} -SVUI.Dispellable = {} SVUI.class = playerClass SVUI.ClassRole = "" 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 294908d..5b72ec7 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 @@ -630,14 +630,6 @@ local unregisterUpdate = function(self, updatefunc) end end -local appendOptions = function(self, index, data) - local addonName = self.NameID - local schema = self.Schema - local header = GetAddOnMetadata(addonName, HeaderFromMeta) - - CoreObject.Options.args.plugins.args.pluginOptions.args[schema].args[index] = data -end - local function SetPluginString(addonName) local author = GetAddOnMetadata(addonName, "Author") or "Unknown" local name = GetAddOnMetadata(addonName, "Title") or addonName @@ -781,7 +773,6 @@ function lib:NewPlugin(addonName, addonObject) addonObject.UnregisterEvent = unregisterEvent addonObject.RegisterUpdate = registerUpdate addonObject.UnregisterUpdate = unregisterUpdate - addonObject.AddOption = appendOptions if(IsAddOnLoaded(addonName) and not lod) then CoreObject.Options.args.plugins.args.pluginOptions.args[schema] = { diff --git a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua index 4b04436..81e418c 100644 --- a/Interface/AddOns/SVUI/packages/unit/SVUnit.lua +++ b/Interface/AddOns/SVUI/packages/unit/SVUnit.lua @@ -67,6 +67,7 @@ MODULE AND INNER CLASSES local MOD = SV:NewPackage("SVUnit", L["UnitFrames"]) MOD.Units = {} MOD.Headers = {} +MOD.Dispellable = {} oUF_Villain.SVConfigs = {} --[[ @@ -1436,6 +1437,62 @@ local UnitFrameThreatIndicator_Hook = function(unit, unitFrame) end --[[ ########################################################## +CLASS SPECIFIC INFO +########################################################## +]]-- +local RefMagicSpec; +local PlayerClass = select(2,UnitClass("player")); +local droodSpell1, droodSpell2 = GetSpellInfo(110309), GetSpellInfo(4987); + +if(PlayerClass == "PRIEST") then + MOD.Dispellable = {["Magic"] = true, ["Disease"] = true} +elseif(PlayerClass == "MAGE") then + MOD.Dispellable = {["Curse"] = true} +elseif(PlayerClass == "DRUID") then + RefMagicSpec = 4 + MOD.Dispellable = {["Curse"] = true, ["Poison"] = true} +elseif(PlayerClass == "SHAMAN") then + RefMagicSpec = 3 + MOD.Dispellable = {["Curse"] = true} +elseif(PlayerClass == "MONK") then + RefMagicSpec = 2 + MOD.Dispellable = {["Disease"] = true, ["Poison"] = true} +elseif(PlayerClass == "PALADIN") then + RefMagicSpec = 1 + MOD.Dispellable = {["Poison"] = true, ["Disease"] = true} +end + +local function GetTalentInfo(arg) + if type(arg) == "number" then + return arg == GetActiveSpecGroup(); + else + return false; + end +end + +function MOD:CanClassDispel() + if RefMagicSpec then + if(GetTalentInfo(RefMagicSpec)) then + self.Dispellable["Magic"] = true + elseif(self.Dispellable["Magic"]) then + self.Dispellable["Magic"] = nil + end + end +end + +function MOD:SPELLS_CHANGED() + if (PlayerClass ~= "DRUID") then + self:UnregisterEvent("SPELLS_CHANGED") + return + end + if GetSpellInfo(droodSpell1) == droodSpell2 then + self.Dispellable["Disease"] = true + elseif(SV.Dispellable["Disease"]) then + self.Dispellable["Disease"] = nil + end +end +--[[ +########################################################## BUILD FUNCTION / UPDATE ########################################################## ]]-- @@ -1451,9 +1508,18 @@ function MOD:Load() local SVUI_UnitFrameParent = CreateFrame("Frame", "SVUI_UnitFrameParent", SV.UIParent, "SecureHandlerStateTemplate") RegisterStateDriver(SVUI_UnitFrameParent, "visibility", "[petbattle] hide; show") + self:CanClassDispel() + self:FrameForge() self:RegisterEvent("PLAYER_ENTERING_WORLD") self:RegisterEvent("PLAYER_REGEN_DISABLED") + self:RegisterEvent("SPELLS_CHANGED") + + self:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED", "CanClassDispel") + self:RegisterEvent("PLAYER_TALENT_UPDATE", "CanClassDispel") + self:RegisterEvent("CHARACTER_POINTS_CHANGED", "CanClassDispel") + self:RegisterEvent("UNIT_INVENTORY_CHANGED", "CanClassDispel") + self:RegisterEvent("UPDATE_BONUS_ACTIONBAR", "CanClassDispel") if(SV.db.SVUnit.disableBlizzard) then self:KillBlizzardRaidFrames() diff --git a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua index 3d0fc2e..20d02f2 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua @@ -331,7 +331,7 @@ do pass = true end if _test(auraDB.filterDispellable, friendly) then - if (auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not SV.Dispellable[debuffType]) or debuffType == nil then + if (auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil then filtered = false end pass = true @@ -407,7 +407,7 @@ do pass = true end if _test(barDB.filterDispellable, friendly) then - if (debuffType and not SV.Dispellable[debuffType]) or debuffType == nil then + if (debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil then filtered = false end pass = true diff --git a/Interface/AddOns/SVUI/system/load.lua b/Interface/AddOns/SVUI/system/load.lua index 78e6330..eea477c 100644 --- a/Interface/AddOns/SVUI/system/load.lua +++ b/Interface/AddOns/SVUI/system/load.lua @@ -127,18 +127,17 @@ function SV:Launch() NewHook("StaticPopup_Show", self.StaticPopup_Show) - self.UIParent:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); - self.UIParent:RegisterEvent("PLAYER_TALENT_UPDATE"); - self.UIParent:RegisterEvent("CHARACTER_POINTS_CHANGED"); - self.UIParent:RegisterEvent("UNIT_INVENTORY_CHANGED"); - self.UIParent:RegisterEvent("UPDATE_BONUS_ACTIONBAR"); - self.UIParent:RegisterEvent("UI_SCALE_CHANGED"); self.UIParent:RegisterEvent("PLAYER_ENTERING_WORLD"); + self.UIParent:RegisterEvent("UI_SCALE_CHANGED"); self.UIParent:RegisterEvent("PET_BATTLE_CLOSE"); self.UIParent:RegisterEvent("PET_BATTLE_OPENING_START"); self.UIParent:RegisterEvent("ADDON_ACTION_BLOCKED"); self.UIParent:RegisterEvent("ADDON_ACTION_FORBIDDEN"); - self.UIParent:RegisterEvent("SPELLS_CHANGED"); + self.UIParent:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); + self.UIParent:RegisterEvent("PLAYER_TALENT_UPDATE"); + self.UIParent:RegisterEvent("CHARACTER_POINTS_CHANGED"); + self.UIParent:RegisterEvent("UNIT_INVENTORY_CHANGED"); + self.UIParent:RegisterEvent("UPDATE_BONUS_ACTIONBAR"); SVLib:Update("SVMap"); @@ -156,9 +155,6 @@ end EVENT HANDLERS ########################################################## ]]-- -local PlayerClass = select(2,UnitClass("player")); -local droodSpell1, droodSpell2 = GetSpellInfo(110309), GetSpellInfo(4987); - local SVUISystem_OnEvent = function(self, event, arg, ...) if(event == "ADDON_LOADED" and arg == "SVUI") then if(not SV.AddonLoaded) then @@ -193,16 +189,6 @@ local SVUISystem_OnEvent = function(self, event, arg, ...) if(not InCombatLockdown()) then collectgarbage("collect") end - elseif(event == "SPELLS_CHANGED") then - if (PlayerClass ~= "DRUID") then - self:UnregisterEvent("SPELLS_CHANGED") - return - end - if GetSpellInfo(droodSpell1) == droodSpell2 then - SV.Dispellable["Disease"] = true - elseif(SV.Dispellable["Disease"]) then - SV.Dispellable["Disease"] = nil - end elseif(event == "PET_BATTLE_CLOSE") then SV:PushDisplayAudit() elseif(event == "PET_BATTLE_OPENING_START") then diff --git a/Interface/AddOns/SVUI/system/utilities.lua b/Interface/AddOns/SVUI/system/utilities.lua index 40c6df7..fe7abb1 100644 --- a/Interface/AddOns/SVUI/system/utilities.lua +++ b/Interface/AddOns/SVUI/system/utilities.lua @@ -45,13 +45,11 @@ MISC UTILITY FUNCTIONS ########################################################## ]]-- local RefClassRoles, RefUnitRoles; -local RefMagicSpec; local PlayerClass = select(2,UnitClass("player")); if(PlayerClass == "PRIEST") then RefClassRoles = {"C", "C", "C"} RefUnitRoles = {"HEALER", "HEALER", "DAMAGER"} - SV.Dispellable = {["Magic"] = true, ["Disease"] = true} elseif(PlayerClass == "WARLOCK") then RefClassRoles = {"C", "C", "C"} RefUnitRoles = {"DAMAGER", "DAMAGER", "DAMAGER"} @@ -67,38 +65,21 @@ elseif(PlayerClass == "ROGUE") then elseif(PlayerClass == "MAGE") then RefClassRoles = {"C", "C", "C"} RefUnitRoles = {"DAMAGER", "DAMAGER", "DAMAGER"} - SV.Dispellable = {["Curse"] = true} elseif(PlayerClass == "DEATHKNIGHT") then RefClassRoles = {"T", "M", "M"} RefUnitRoles = {"TANK", "DAMAGER", "DAMAGER"} elseif(PlayerClass == "DRUID") then - RefMagicSpec = 4 RefClassRoles = {"C", "M", "T", "C"} RefUnitRoles = {"DAMAGER", "DAMAGER", "TANK", "HEALER"} - SV.Dispellable = {["Curse"] = true, ["Poison"] = true} elseif(PlayerClass == "SHAMAN") then - RefMagicSpec = 3 RefClassRoles = {"C", "M", "C"} RefUnitRoles = {"DAMAGER", "DAMAGER", "HEALER"} - SV.Dispellable = {["Curse"] = true} elseif(PlayerClass == "MONK") then - RefMagicSpec = 2 RefClassRoles = {"T", "C", "M"} RefUnitRoles = {"TANK", "HEALER", "DAMAGER"} - SV.Dispellable = {["Disease"] = true, ["Poison"] = true} elseif(PlayerClass == "PALADIN") then - RefMagicSpec = 1 RefClassRoles = {"C", "T", "M"} RefUnitRoles = {"HEALER", "TANK", "DAMAGER"} - SV.Dispellable = {["Poison"] = true, ["Disease"] = true} -end - -local function GetTalentInfo(arg) - if type(arg) == "number" then - return arg == GetActiveSpecGroup(); - else - return false; - end end function SV:DefinePlayerRole() @@ -136,13 +117,6 @@ function SV:DefinePlayerRole() self.RoleChangedCallback() end end - if RefMagicSpec then - if(GetTalentInfo(RefMagicSpec)) then - self.Dispellable["Magic"] = true - elseif(self.Dispellable["Magic"]) then - self.Dispellable["Magic"] = nil - end - end end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI/system/visibility.lua b/Interface/AddOns/SVUI/system/visibility.lua index e8b0f91..3842d35 100644 --- a/Interface/AddOns/SVUI/system/visibility.lua +++ b/Interface/AddOns/SVUI/system/visibility.lua @@ -34,6 +34,7 @@ LOCALS ########################################################## ]]-- local DisplayEventHandler = CreateFrame("Frame"); +local DisplayFrames = {}; local SecureFadeManager = CreateFrame("Frame"); local SecureFadeFrames = {}; --[[ @@ -42,27 +43,24 @@ FRAME VISIBILITY MANAGEMENT ########################################################## ]]-- function SV:AddToDisplayAudit(frame) - if frame.IsVisible and frame:GetName() then - self.DisplayAudit[frame:GetName()] = true + if frame.IsVisible and frame.GetParent then + DisplayFrames[frame] = frame:GetParent() end end function SV:FlushDisplayAudit() if InCombatLockdown() then return end - for frame,_ in pairs(self.DisplayAudit)do - if _G[frame] then - _G[frame]:SetParent(SV.Cloaked) - end + for frame,_ in pairs(DisplayFrames)do + frame:SetParent(SV.Cloaked) end DisplayEventHandler:RegisterEvent("PLAYER_REGEN_DISABLED") end function SV:PushDisplayAudit() - if InCombatLockdown() then return end - for frame,_ in pairs(self.DisplayAudit)do - if _G[frame] then - _G[frame]:SetParent(UIParent) - end + if InCombatLockdown() then return end + local default = self.UIParent + for frame,parent in pairs(DisplayFrames)do + frame:SetParent(parent or default) end DisplayEventHandler:UnregisterEvent("PLAYER_REGEN_DISABLED") end diff --git a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua index 5021d5b..8537d1c 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua @@ -24,9 +24,33 @@ local PLUGIN = LibSuperVillain:NewPlugin(AddonName, AddonObject) local Schema = PLUGIN.Schema; local SV = _G["SVUI"]; - +--[[ +########################################################## +CONFIG DATA +########################################################## +]]-- SV.configs[Schema] = { - ["enable"] = true, - ["autoAnswer"] = false, - ["prefix"] = true + ["enable"] = true, + ["autoAnswer"] = false, + ["prefix"] = true +} +--[[ +########################################################## +CONFIG OPTIONS +########################################################## +]]-- +SV.Options.args.plugins.args.pluginOptions.args[Schema].args["autoAnswer"] = { + order = 2, + name = "Auto Answer", + type = "toggle", + get = function(key) return SV.db[Schema][key[#key]] end, + set = function(key,value) SV.db[Schema][key[#key]] = value end +} + +SV.Options.args.plugins.args.pluginOptions.args[Schema].args["prefix"] = { + order = 3, + name = "Prefix Messages", + type = "toggle", + get = function(key) return SV.db[Schema][key[#key]] end, + set = function(key,value) SV.db[Schema][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 fd09ef1..ec67c00 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua @@ -958,7 +958,6 @@ function PLUGIN:Load() self.Window = window self.Window:Hide() - local strMsg if SV.db[Schema].autoAnswer == true then strMsg = "The Henchmen Operators Are Screening Your Calls.." @@ -966,22 +965,4 @@ function PLUGIN:Load() strMsg = "The Henchmen Operators Are Standing By.." end SV:AddonMessage(strMsg) - - local option = { - order = 2, - type = "toggle", - name = "Auto Answer", - get = function(a) return SV.db[Schema].autoAnswer end, - set = function(a,b) SV.db[Schema].autoAnswer = b end - }; - self:AddOption("autoAnswer", option) - - option = { - order = 3, - type = "toggle", - name = "Prefix Messages", - get = function(a) return SV.db[Schema].prefix end, - set = function(a,b) SV.db[Schema].prefix = b end - }; - self:AddOption("prefix", option) end \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ConfigOMatic/modules/_load.xml b/Interface/AddOns/SVUI_ConfigOMatic/modules/_load.xml index 4d556b6..a350879 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/modules/_load.xml +++ b/Interface/AddOns/SVUI_ConfigOMatic/modules/_load.xml @@ -11,6 +11,5 @@