diff --git a/Interface/AddOns/SVUI/SVUI.lua b/Interface/AddOns/SVUI/SVUI.lua index 1112741..d2ef83f 100644 --- a/Interface/AddOns/SVUI/SVUI.lua +++ b/Interface/AddOns/SVUI/SVUI.lua @@ -13,43 +13,69 @@ _____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_ # S U P E R - V I L L A I N - U I By: Munglunch # ############################################################################## ]]-- ---[[ CONSTANTS ]]-- - -BINDING_HEADER_SVUI = "Supervillain UI"; -BINDING_NAME_SVUI_MARKERS = "Raid Markers"; -BINDING_NAME_SVUI_DOCKS = "Toggle Docks"; -BINDING_NAME_SVUI_RIDE = "Let's Ride"; - -SLASH_RELOADUI1 = "/rl" -SLASH_RELOADUI2 = "/reloadui" -SlashCmdList.RELOADUI = ReloadUI - --[[ GLOBALS ]]-- local _G = _G; +--LUA local unpack = _G.unpack; local select = _G.select; -local pairs = _G.pairs; +local assert = _G.assert; local type = _G.type; +local error = _G.error; +local pcall = _G.pcall; +local print = _G.print; +local ipairs = _G.ipairs; +local pairs = _G.pairs; +local next = _G.next; local rawset = _G.rawset; local rawget = _G.rawget; -local tinsert = _G.tinsert; -local tremove = _G.tremove; local tostring = _G.tostring; -local error = _G.error; +local tonumber = _G.tonumber; local getmetatable = _G.getmetatable; local setmetatable = _G.setmetatable; -local assert = assert; -local string = _G.string; -local math = _G.math; -local table = _G.table; ---[[ STRING METHODS ]]-- -local upper = string.upper; -local format, find, match, gsub = string.format, string.find, string.match, string.gsub; ---[[ MATH METHODS ]]-- -local floor = math.floor ---[[ TABLE METHODS ]]-- -local twipe, tsort, tconcat = table.wipe, table.sort, table.concat; +--STRING +local string = _G.string; +local upper = string.upper; +local format = string.format; +local find = string.find; +local match = string.match; +local gsub = string.gsub; +--MATH +local math = _G.math; +local floor = math.floor +--TABLE +local table = _G.table; +local tsort = table.sort; +local tconcat = table.concat; +local tinsert = _G.tinsert; +local tremove = _G.tremove; +local twipe = _G.wipe; +--BLIZZARD API +local ReloadUI = _G.ReloadUI; +local GetLocale = _G.GetLocale; +local CreateFrame = _G.CreateFrame; +local IsAddOnLoaded = _G.IsAddOnLoaded; +local InCombatLockdown = _G.InCombatLockdown; +local GetAddOnInfo = _G.GetAddOnInfo; +local LoadAddOn = _G.LoadAddOn; +local SendAddonMessage = _G.SendAddonMessage; +local LibStub = _G.LibStub; +local GetAddOnMetadata = _G.GetAddOnMetadata; +local GetCVarBool = _G.GetCVarBool; +local GameTooltip = _G.GameTooltip; +local StaticPopup_Hide = _G.StaticPopup_Hide; +local ERR_NOT_IN_COMBAT = _G.ERR_NOT_IN_COMBAT; + +--[[ CONSTANTS ]]-- + +_G.BINDING_HEADER_SVUI = "Supervillain UI"; +_G.BINDING_NAME_SVUI_MARKERS = "Raid Markers"; +_G.BINDING_NAME_SVUI_DOCKS = "Toggle Docks"; +_G.BINDING_NAME_SVUI_RIDE = "Let's Ride"; + +_G.SLASH_RELOADUI1 = "/rl" +_G.SLASH_RELOADUI2 = "/reloadui" +_G.SlashCmdList.RELOADUI = ReloadUI --[[ GET THE REGISTRY LIB ]]-- @@ -99,7 +125,8 @@ end --[[ BUILD CLASS COLOR GLOBAL ]]-- -SVUI_CLASS_COLORS = {}; +_G.SVUI_CLASS_COLORS = {}; + do local classes = {}; local supercolors = { diff --git a/Interface/AddOns/SVUI/libs/LibStub/LibStub.lua b/Interface/AddOns/SVUI/libs/LibStub/LibStub.lua index 0a41ac0..ade16d8 100644 --- a/Interface/AddOns/SVUI/libs/LibStub/LibStub.lua +++ b/Interface/AddOns/SVUI/libs/LibStub/LibStub.lua @@ -1,5 +1,6 @@ -- LibStub is a simple versioning stub meant for use in Libraries. http://www.wowace.com/wiki/LibStub for more info -- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke +local _G = getfenv(0) local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2 -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS! local LibStub = _G[LIBSTUB_MAJOR] 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 3c27e64..029260e 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 @@ -25,25 +25,25 @@ core add-ins functioning outside of the core object. --]] --[[ LOCALIZED GLOBALS ]]-- -local _G = getfenv(0); +--GLOBAL NAMESPACE +local _G = _G; --LUA local unpack = _G.unpack; local select = _G.select; -local pairs = _G.pairs; +local assert = _G.assert; local type = _G.type; +local error = _G.error; +local pcall = _G.pcall; +local print = _G.print; +local ipairs = _G.ipairs; +local pairs = _G.pairs; +local next = _G.next; local rawset = _G.rawset; local rawget = _G.rawget; local tostring = _G.tostring; -local error = _G.error; -local next = _G.next; -local pcall = _G.pcall; +local tonumber = _G.tonumber; local getmetatable = _G.getmetatable; local setmetatable = _G.setmetatable; -local assert = _G.assert; ---BLIZZARD -local tinsert = _G.tinsert; -local tremove = _G.tremove; -local twipe = _G.wipe; --STRING local string = _G.string; local upper = string.upper; @@ -58,12 +58,29 @@ local floor = math.floor local table = _G.table; local tsort = table.sort; local tconcat = table.concat; +local tinsert = _G.tinsert; +local tremove = _G.tremove; +local twipe = _G.wipe; +--BLIZZARD API +local ReloadUI = _G.ReloadUI; +local GetLocale = _G.GetLocale; +local CreateFrame = _G.CreateFrame; +local IsAddOnLoaded = _G.IsAddOnLoaded; +local GetNumAddOns = _G.GetNumAddOns; +local GetAddOnInfo = _G.GetAddOnInfo; +local LoadAddOn = _G.LoadAddOn; +local EnableAddOn = _G.EnableAddOn; +local GetSpecialization = _G.GetSpecialization; +local GetAddOnMetadata = _G.GetAddOnMetadata; +local IsAddOnLoadOnDemand = _G.IsAddOnLoadOnDemand; + --[[ LIB CONSTRUCT ]]-- local lib = _G["LibSuperVillain"] if not lib then - _G["LibSuperVillain"] = {} - lib = _G["LibSuperVillain"] + local env = getfenv(0) + env["LibSuperVillain"] = {} + lib = env["LibSuperVillain"] end --[[ ADDON DATA ]]-- @@ -183,8 +200,9 @@ function string.link(this, prefix, text, color) end function string.explode(str, delim) - local res = { } + local res = {} local pattern = format("([^%s]+)%s()", delim, delim) + local line, pos while (true) do line, pos = match(str, pattern, pos) if line == nil then break end @@ -246,14 +264,14 @@ function lib:Lang(locale, isDefault) if(not locale) then return self.Localization else - local gameLocale = GetLocale() - if gameLocale == "enGB" then gameLocale = "enUS" end + local GAME_LOCALE = GetLocale() + if GAME_LOCALE == "enGB" then GAME_LOCALE = "enUS" end activeLocale = self.Localization if isDefault then return defaultwrite - elseif(locale == GAME_LOCALE or locale == gameLocale) then + elseif(locale == GAME_LOCALE) then return metawrite end end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.lua index ac98666..df3321e 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.lua @@ -1,3 +1,19 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +--BLIZZARD API +local UnitIsConnected = _G.UnitIsConnected; +local UnitIsTappedByPlayer = _G.UnitIsTappedByPlayer; +local UnitIsTapped = _G.UnitIsTapped; +local UnitIsPlayer = _G.UnitIsPlayer; +local UnitIsFriend = _G.UnitIsFriend; +local UnitIsDeadOrGhost = _G.UnitIsDeadOrGhost; +local UnitClassification = _G.UnitClassification; + local parent, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.lua index fdfaa1c..def4e56 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.lua @@ -1,3 +1,17 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +--BLIZZARD API +local UnitAura = _G.UnitAura; +local UnitCanAssist = _G.UnitCanAssist; +local GetSpellInfo = _G.GetSpellInfo; +local GetSpecialization = _G.GetSpecialization; +local GetActiveSpecGroup = _G.GetActiveSpecGroup; + local _, ns = ... local oUF = oUF or ns.oUF if not oUF then return end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua index 55456bd..3b99824 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ArcaneCharge/oUF_ArcaneCharge.lua @@ -1,3 +1,15 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +--BLIZZARD API +local GetTime = _G.GetTime; +local GetSpecialization = _G.GetSpecialization; +local UnitDebuff = _G.UnitDebuff; + if select(2, UnitClass('player')) ~= "MAGE" then return end local _, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua index 65c3e76..d4d8fe3 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraBars/oUF_AuraBars.lua @@ -1,18 +1,41 @@ --[[ MODIFIED FOR SVUI BY MUNGLUNCH ]]-- + +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor; +local huge = math.huge; +local min = math.min; +--TABLE +local table = _G.table; +local tsort = table.sort; +--BLIZZARD API +local GetTime = _G.GetTime; +local CreateFrame = _G.CreateFrame; +local UnitAura = _G.UnitAura; +local UnitIsFriend = _G.UnitIsFriend; +local GameTooltip = _G.GameTooltip; +local DebuffTypeColor = _G.DebuffTypeColor; + local _, ns = ... local oUF = oUF or ns.oUF assert(oUF, 'oUF_AuraBars was unable to locate oUF install.') -local format = string.format -local floor, huge, min = math.floor, math.huge, math.min -local tsort = table.sort - local function Round(number, decimalPlaces) if decimalPlaces and decimalPlaces > 0 then local mult = 10^decimalPlaces - return floor(number * mult + .5) / mult + return floor((number * mult) + .5) / mult end - return floor(num + .5) + return floor(number + .5) end local DAY, HOUR, MINUTE = 86400, 3600, 60 diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua index b011926..d2bd366 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_AuraWatch/oUF_AuraWatch.lua @@ -1,110 +1,28 @@ ---[[------------------------------------------------------------------------------------------------------ -oUF_AuraWatch by Astromech -Please leave comments, suggestions, and bug reports on this addon's WoWInterface page - -To setup, create a table named AuraWatch in your unit frame. There are several options -you can specify, as explained below. - - icons - Mandatory! - A table of frames to be used as icons. oUF_Aurawatch does not position - these frames, so you must do so yourself. Each icon needs a spellID entry, - which is the spell ID of the aura to watch. Table should be set up - such that values are icon frames, but the keys can be anything. - - Note each icon can have several options set as well. See below. - strictMatching - Default: false - If true, AuraWatch will only show an icon if the specific aura - with the specified spell id is on the unit. If false, AuraWatch - will show the icon if any aura with the same name and icon texture - is on the unit. Strict matching can be undesireable because most - ranks of an aura have different spell ids. - missingAlpha - Default 0.75 - The alpha value for icons of auras which have faded from the unit. - presentAlpha - Default 1 - The alpha value for icons or auras present on the unit. - onlyShowMissing - Default false - If this is true, oUF_AW will hide icons if they are present on the unit. - onlyShowPresent - Default false - If this is true, oUF_AW will hide icons if they have expired from the unit. - hideCooldown - Default false - If this is true, oUF_AW will not create a cooldown frame - hideCount - Default false - If this is true, oUF_AW will not create a count fontstring - fromUnits - Default {["player"] = true, ["pet"] = true, ["vehicle"] = true} - A table of units from which auras can originate. Have the units be the keys - and "true" be the values. - anyUnit - Default false - Set to true for oUF_AW to to show an aura no matter what unit it - originates from. This will override any fromUnits setting. - PostCreateIcon - Default nil - A function to call when an icon is created to modify it, such as adding - a border or repositioning the count fontstring. Leave as nil to ignore. - The arguements are: AuraWatch table, icon, auraSpellID, auraName, unitFrame - -Below are options set on a per icon basis. Set these as fields in the icon frames. - -The following settings can be overridden from the AuraWatch table on a per-aura basis: - onlyShowMissing - onlyShowPresent - hideCooldown - hideCount - fromUnits - anyUnit - -The following settings are unique to icons: - - spellID - Mandatory! - The spell id of the aura, as explained above. - icon - Default aura texture - A texture value for this icon. - overlay - Default Blizzard aura overlay - An overlay for the icon. This is not created if a custom icon texture is created. - count - Default A fontstring - An fontstring to show the stack count of an aura. - -Here is an example of how to set oUF_AW up: - - local createAuraWatch = function(self, unit) - local auras = {} - - -- A table of spellIDs to create icons for - -- To find spellIDs, look up a spell on www.wowhead.com and look at the URL - -- http://www.wowhead.com/?spell=SPELL_ID - local spellIDs = { ... } - - auras.presentAlpha = 1 - auras.missingAlpha = .7 - auras.PostCreateIcon = myCustomIconSkinnerFunction - -- Set any other AuraWatch settings - auras.icons = {} - for i, sid in pairs(spellIDs) do - local icon = CreateFrame("Frame", nil, auras) - icon.spellID = sid - -- set the dimensions and positions - icon:SetWidth(24) - icon:SetHeight(24) - icon:SetPoint("BOTTOM", self, "BOTTOM", 0, 28 * i) - auras.icons[sid] = icon - -- Set any other AuraWatch icon settings - end - self.AuraWatch = auras - end ------------------------------------------------------------------------------------------------------------]] +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local setmetatable = _G.setmetatable; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--BLIZZARD API +local GetTime = _G.GetTime; +local CreateFrame = _G.CreateFrame; +local UnitAura = _G.UnitAura; +local GetSpellInfo = _G.GetSpellInfo; +local NumberFontNormal = _G.NumberFontNormal; local _, ns = ... local oUF = oUF or ns.oUF @@ -147,8 +65,9 @@ do end end -local day, hour, minute, second = 86400, 3600, 60, 1 -function formatTime(s) +local day, hour, minute, second = 86400, 3600, 60, 1; + +local function formatTime(s) if s >= day then return format("%dd", ceil(s / hour)) elseif s >= hour then diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_CombatFader/oUF_CombatFader.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_CombatFader/oUF_CombatFader.lua index 37dba30..2ed55b1 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_CombatFader/oUF_CombatFader.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_CombatFader/oUF_CombatFader.lua @@ -1,3 +1,24 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; + +--BLIZZARD API +local InCombatLockdown = _G.InCombatLockdown; +local UnitHealth = _G.UnitHealth; +local UnitExists = _G.UnitExists; +local UnitHealthMax = _G.UnitHealthMax; +local UnitCastingInfo = _G.UnitCastingInfo; +local UnitChannelInfo = _G.UnitChannelInfo; + local parent, ns = ... local oUF = ns.oUF local frames, allFrames = {}, {} @@ -73,7 +94,7 @@ local Update = function(self, arg1, arg2) end local Enable = function(self, unit) - if(not CORE) then CORE = SVUI end + if(not CORE) then CORE = ns end if self.CombatFade then frames[self] = self.unit diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.lua index 48cd364..f95e27d 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Combatant/oUF_Combatant.lua @@ -1,3 +1,36 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local setmetatable = _G.setmetatable; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--BLIZZARD API +local GetTime = _G.GetTime; +local CreateFrame = _G.CreateFrame; +local UnitIsEnemy = _G.UnitIsEnemy; +local UnitGUID = _G.UnitGUID; +local IsActiveBattlefieldArena = _G.IsActiveBattlefieldArena; +local UnitFactionGroup = _G.UnitFactionGroup; +local GetNumArenaOpponentSpecs = _G.GetNumArenaOpponentSpecs; +local GetArenaOpponentSpec = _G.GetArenaOpponentSpec; +local GetSpecializationInfoByID = _G.GetSpecializationInfoByID; +local UnitName = _G.UnitName; +local SendChatMessage = _G.SendChatMessage; +local CooldownFrame_SetTimer = _G.CooldownFrame_SetTimer; + local _, ns = ... local oUF = ns.oUF @@ -61,7 +94,7 @@ local function LogUpdate(self, event, ...) elseif(alert and event == "UNIT_SPELLCAST_SUCCEEDED") then local unitID, spellName, _, _, spellID = ... if UnitIsEnemy("player", unitID) and (spellID == 118358 or spellID == 104270 or spellName:find("Drink")) then - SendChatMessage(UnitName(unit)..L[" is drinking."], "RAID_WARNING") + SendChatMessage(("%s is drinking."):format(UnitName(self.unit)), "RAID_WARNING") end end end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DruidMana/oUF_DruidMana.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DruidMana/oUF_DruidMana.lua index f650376..51e925a 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DruidMana/oUF_DruidMana.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DruidMana/oUF_DruidMana.lua @@ -1,3 +1,37 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--TABLE +local table = _G.table; +local wipe = _G.wipe; +--BLIZZARD API +local BEAR_FORM = _G.BEAR_FORM; +local CAT_FORM = _G.CAT_FORM; +local SPELL_POWER_MANA = _G.SPELL_POWER_MANA; +local UnitClass = _G.UnitClass; +local UnitPower = _G.UnitPower; +local UnitReaction = _G.UnitReaction; +local UnitPowerMax = _G.UnitPowerMax; +local UnitIsPlayer = _G.UnitIsPlayer; +local UnitPlayerControlled = _G.UnitPlayerControlled; +local GetShapeshiftFormID = _G.GetShapeshiftFormID; + if(select(2, UnitClass('player')) ~= 'DRUID') then return end local _, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DrunkenMaster/oUF_DrunkenMaster.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DrunkenMaster/oUF_DrunkenMaster.lua index d4b8950..eeb45e6 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DrunkenMaster/oUF_DrunkenMaster.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_DrunkenMaster/oUF_DrunkenMaster.lua @@ -1,3 +1,22 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--BLIZZARD API +local GetLocale = _G.GetLocale; +local GetShapeshiftFormID = _G.GetShapeshiftFormID; +local UnitAura = _G.UnitAura; +local UnitHasVehiclePlayerFrameUI = _G.UnitHasVehiclePlayerFrameUI; +local MonkStaggerBar = _G.MonkStaggerBar; + if select(2, UnitClass('player')) ~= "MONK" then return end local parent, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Experience/oUF_Experience.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Experience/oUF_Experience.lua index 2c5573a..9b00640 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Experience/oUF_Experience.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Experience/oUF_Experience.lua @@ -1,3 +1,29 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +--BLIZZARD API +local UnitXP = _G.UnitXP; +local UnitXPMax = _G.UnitXPMax; +local GetXPExhaustion = _G.GetXPExhaustion; +local UnitLevel = _G.UnitLevel; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; +local MAX_PLAYER_LEVEL = _G.MAX_PLAYER_LEVEL; + local __, ns = ... local oUF = ns.oUF or oUF assert(oUF, 'oUF Experience was unable to locate oUF install') @@ -10,7 +36,7 @@ for tag, func in pairs({ return UnitXPMax(unit) end, ['perxp'] = function(unit) - return math.floor(UnitXP(unit) / UnitXPMax(unit) * 100 + 0.5) + return floor(UnitXP(unit) / UnitXPMax(unit) * 100 + 0.5) end, ['currested'] = function() return GetXPExhaustion() @@ -18,7 +44,7 @@ for tag, func in pairs({ ['perrested'] = function(unit) local rested = GetXPExhaustion() if(rested and rested > 0) then - return math.floor(rested / UnitXPMax(unit) * 100 + 0.5) + return floor(rested / UnitXPMax(unit) * 100 + 0.5) end end, }) do diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Friendship/oUF_Friendship.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Friendship/oUF_Friendship.lua index f381dd2..b99ffcb 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Friendship/oUF_Friendship.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Friendship/oUF_Friendship.lua @@ -1,3 +1,33 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--TABLE +local table = _G.table; +local wipe = _G.wipe; +--BLIZZARD API +local UnitExists = _G.UnitExists; +local UnitIsPlayer = _G.UnitIsPlayer; +local UnitName = _G.UnitName; +local GetFriendshipReputation = _G.GetFriendshipReputation; +local GameTooltip = _G.GameTooltip; +local GameTooltip_Hide = _G.GameTooltip_Hide; + local _, ns = ... local oUF = ns.oUF or oUF assert(oUF, 'oUF Friendship was unable to locate oUF install') diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua index 696ed53..3ee208e 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_HyperCombo/oUF_HyperCombo.lua @@ -1,11 +1,41 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--TABLE +local table = _G.table; +local wipe = _G.wipe; +--BLIZZARD API +local GetShapeshiftForm = _G.GetShapeshiftForm; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; +local UnitBuff = _G.UnitBuff; +local CombatText_AddMessage = _G.CombatText_AddMessage; +local CombatText_StandardScroll = _G.CombatText_StandardScroll; +local MAX_COMBO_POINTS = _G.MAX_COMBO_POINTS; +local GetSpellInfo = _G.GetSpellInfo; +local GetComboPoints = _G.GetComboPoints; + local class = select(2, UnitClass("player")); if(class ~= "ROGUE" and class ~= "DRUID") then return end local parent, ns = ... local oUF = ns.oUF -local GetComboPoints = GetComboPoints -local MAX_COMBO_POINTS = MAX_COMBO_POINTS local GUILE1 = GetSpellInfo(84745) local GUILE2 = GetSpellInfo(84746) local GUILE3 = GetSpellInfo(84747) @@ -131,7 +161,7 @@ local Update = function(self, event, unit) end if(bar.PostUpdate) then - return bar:PostUpdate(cp) + return bar:PostUpdate(current) end end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MainTank/oUF_MainTank.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MainTank/oUF_MainTank.lua index 51293af..9e2c149 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MainTank/oUF_MainTank.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MainTank/oUF_MainTank.lua @@ -1,3 +1,14 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--BLIZZARD API +local UnitInRaid = _G.UnitInRaid; +local GetRaidRosterInfo = _G.GetRaidRosterInfo; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; + local parent, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MonkHarmony/oUF_MonkHarmony.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MonkHarmony/oUF_MonkHarmony.lua index f5874c6..cc4c8d9 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MonkHarmony/oUF_MonkHarmony.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MonkHarmony/oUF_MonkHarmony.lua @@ -1,3 +1,14 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--BLIZZARD API +local UnitPower = _G.UnitPower; +local UnitPowerMax = _G.UnitPowerMax; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; + if select(2, UnitClass('player')) ~= "MONK" then return end local _, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PallyPower/oUF_PallyPower.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PallyPower/oUF_PallyPower.lua index f6867c2..6b731b1 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PallyPower/oUF_PallyPower.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PallyPower/oUF_PallyPower.lua @@ -1,3 +1,14 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--BLIZZARD API +local UnitPower = _G.UnitPower; +local UnitPowerMax = _G.UnitPowerMax; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; + if(select(2, UnitClass('player')) ~= 'PALADIN') then return end local parent, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PriestOrbs/oUF_PriestOrbs.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PriestOrbs/oUF_PriestOrbs.lua index 677639e..bff2e0c 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PriestOrbs/oUF_PriestOrbs.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_PriestOrbs/oUF_PriestOrbs.lua @@ -1,3 +1,19 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--BLIZZARD API +local UnitPower = _G.UnitPower; +local UnitPowerMax = _G.UnitPowerMax; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; +local GetSpecialization = _G.GetSpecialization; +local UnitLevel = _G.UnitLevel; +local UnitBuff = _G.UnitBuff; + +local SPELL_POWER_SHADOW_ORBS = _G.SPELL_POWER_SHADOW_ORBS; + if select(2, UnitClass('player')) ~= "PRIEST" then return end local _, ns = ... diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua index 4564487..6b84d1e 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua @@ -1,3 +1,34 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--TABLE +local table = _G.table; +local wipe = _G.wipe; +--BLIZZARD API +local GetTime = _G.GetTime; +local GetSpecialization = _G.GetSpecialization; +local UnitAura = _G.UnitAura; +local UnitIsCharmed = _G.UnitIsCharmed; +local UnitCanAttack = _G.UnitCanAttack; +local GetSpellInfo = _G.GetSpellInfo; +local GetActiveSpecGroup = _G.GetActiveSpecGroup; + local _, ns = ... local oUF = ns.oUF or oUF @@ -6,10 +37,7 @@ local CleanseName = GetSpellInfo(4987) local addon = {} ns.oUF_RaidDebuffs = addon -oUF_RaidDebuffs = ns.oUF_RaidDebuffs -if not _G.oUF_RaidDebuffs then - _G.oUF_RaidDebuffs = addon -end +_G.oUF_RaidDebuffs = ns.oUF_RaidDebuffs local debuff_data = {} addon.DebuffData = debuff_data diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Reputation/oUF_Reputation.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Reputation/oUF_Reputation.lua index cbb3fa1..e06e668 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Reputation/oUF_Reputation.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Reputation/oUF_Reputation.lua @@ -1,3 +1,30 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local type = _G.type; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +--BLIZZARD API +local UnitXP = _G.UnitXP; +local UnitXPMax = _G.UnitXPMax; +local GetXPExhaustion = _G.GetXPExhaustion; +local UnitSex = _G.UnitSex; +local GetText = _G.GetText; +local GetWatchedFactionInfo = _G.GetWatchedFactionInfo; +local FACTION_BAR_COLORS = _G.FACTION_BAR_COLORS; + local __, ns = ... local oUF = ns.oUF or oUF assert(oUF, 'oUF Reputation was unable to locate oUF install') diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Smooth/oUF_Smooth.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Smooth/oUF_Smooth.lua index 67b59d0..6835963 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Smooth/oUF_Smooth.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Smooth/oUF_Smooth.lua @@ -1,3 +1,17 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local pairs = _G.pairs; +local type = _G.type; +--MATH +local math = _G.math; +local abs = math.abs; +--BLIZZARD API +local GetFramerate = _G.GetFramerate; + local _, ns = ... local oUF = ns.oUF or oUF if not oUF then return end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_TotemBars/oUF_TotemBars.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_TotemBars/oUF_TotemBars.lua index ccf7d29..81a911a 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_TotemBars/oUF_TotemBars.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_TotemBars/oUF_TotemBars.lua @@ -1,3 +1,13 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +--BLIZZARD API +local GameTooltip = _G.GameTooltip; +local MAX_TOTEMS = _G.MAX_TOTEMS; +local TotemFrame = _G.TotemFrame; + local class = select(2, UnitClass('player')) if(class ~= 'SHAMAN') then return end @@ -51,7 +61,7 @@ local Update = function(self, event) if(timeLeft > 0) then totem.expirationTime = (start + duration) totem:SetValue(timeLeft) - totem:SetScript('OnUpdate', UpdateBar) + totem:SetScript('OnUpdate', Totem_OnUpdate) else totem:SetValue(0) totem:SetScript('OnUpdate', nil) diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_WarlockShards/oUF_WarlockShards.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_WarlockShards/oUF_WarlockShards.lua index fd6ac91..a40210b 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_WarlockShards/oUF_WarlockShards.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_WarlockShards/oUF_WarlockShards.lua @@ -1,3 +1,18 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--MATH +local math = _G.math; +local floor = math.floor +--BLIZZARD API +local UnitPower = _G.UnitPower; +local UnitPowerMax = _G.UnitPowerMax; +local UnitHasVehicleUI = _G.UnitHasVehicleUI; +local GetSpecialization = _G.GetSpecialization; + if select(2, UnitClass('player')) ~= "WARLOCK" then return end local _, ns = ... @@ -122,7 +137,7 @@ local function Enable(self, unit) for i = 1, 4 do if not wsb[i]:GetStatusBarTexture() then - Point:SetStatusBarTexture([=[Interface\TargetingFrame\UI-StatusBar]=]) + wsb[i]:SetStatusBarTexture([=[Interface\TargetingFrame\UI-StatusBar]=]) end wsb[i]:SetFrameLevel(wsb:GetFrameLevel() + 1) diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/castbar.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/castbar.lua index bf553fb..e4cc177 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/castbar.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/castbar.lua @@ -3,6 +3,35 @@ THIS FILE HEAVILY MODIFIED FOR USE WITH SUPERVILLAIN UI ]] +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local tostring = _G.tostring; +local setmetatable = _G.setmetatable; +--STRING +local string = _G.string; +local format = string.format; +--MATH +local math = _G.math; +local floor = math.floor +local ceil = math.ceil +--BLIZZARD API +local GetTime = _G.GetTime; +local CreateFrame = _G.CreateFrame; +local GetNetStats = _G.GetNetStats; +local UnitCastingInfo = _G.UnitCastingInfo; +local UnitChannelInfo = _G.UnitChannelInfo; +local GetTradeskillRepeatCount = _G.GetTradeskillRepeatCount; +local CastingBarFrame = _G.CastingBarFrame; +local PetCastingBarFrame = _G.PetCastingBarFrame; + local parent, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/healprediction.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/healprediction.lua index a1f5a94..d730423 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/healprediction.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/healprediction.lua @@ -1,3 +1,19 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--MATH +local math = _G.math; +local max = math.max +--BLIZZARD API +local UnitHealth = _G.UnitHealth; +local UnitHealthMax = _G.UnitHealthMax; +local UnitGetTotalHealAbsorbs = _G.UnitGetTotalHealAbsorbs; +local UnitGetTotalAbsorbs = _G.UnitGetTotalAbsorbs; +local UnitGetIncomingHeals = _G.UnitGetIncomingHeals; + local _, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/health.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/health.lua index 3019292..6cdf103 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/health.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/health.lua @@ -3,10 +3,37 @@ THIS FILE HEAVILY MODIFIED FOR USE WITH SUPERVILLAIN UI ]] +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--MATH +local math = _G.math; +local max = math.max +local random = math.random +--BLIZZARD API +local UnitClass = _G.UnitClass; +local UnitReaction = _G.UnitReaction; +local UnitIsEnemy = _G.UnitIsEnemy; +local GetCVarBool = _G.GetCVarBool; +local SetCVar = _G.SetCVar; +local UnitHealth = _G.UnitHealth; +local UnitHealthMax = _G.UnitHealthMax; +local UnitIsConnected = _G.UnitIsConnected; +local UnitIsDeadOrGhost = _G.UnitIsDeadOrGhost; +local UnitIsPlayer = _G.UnitIsPlayer; +local UnitPlayerControlled = _G.UnitPlayerControlled; +local UnitIsTapped = _G.UnitIsTapped; +local UnitIsTappedByPlayer = _G.UnitIsTappedByPlayer; +local UnitIsTappedByAllThreatList = _G.UnitIsTappedByAllThreatList; + + local parent, ns = ... local oUF = ns.oUF local updateFrequentUpdates -local random = math.random + oUF.colors.health = {49/255, 207/255, 37/255} local Update = function(self, event, unit) @@ -155,7 +182,7 @@ local CustomUpdate = function(self, event, unit) health:SetStatusBarColor(0.6,0.4,1,0.5) health.animation[1]:SetVertexColor(0.8,0.3,1,0.4) elseif(health.colorOverlay) then - local t = oUF_Villain.colors.health + local t = oUF.colors.health health:SetStatusBarColor(t[1], t[2], t[3], 0.9) else health:SetStatusBarColor(1, 0.25 * mu, 0, 0.85) diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua index 66b810b..53f9bbb 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/portraits.lua @@ -3,6 +3,23 @@ THIS FILE HEAVILY MODIFIED FOR USE WITH SUPERVILLAIN UI ]] +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +--BLIZZARD API +local UnitClass = _G.UnitClass; +local UnitReaction = _G.UnitReaction; +local UnitGUID = _G.UnitGUID; +local UnitIsUnit = _G.UnitIsUnit; +local UnitExists = _G.UnitExists; +local UnitIsVisible = _G.UnitIsVisible; +local UnitIsConnected = _G.UnitIsConnected; +local UnitIsPlayer = _G.UnitIsPlayer; +local SetPortraitTexture = _G.SetPortraitTexture; + local parent, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/tags.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/tags.lua index c7b6304..2e38ccc 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/tags.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/elements/tags.lua @@ -1,6 +1,23 @@ --[[ -- Credits: Vika, Cladhaire, Tekkub ]] +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local error = _G.error; +local print = _G.print; +local pairs = _G.pairs; +local next = _G.next; +local rawset = _G.rawset; +local type = _G.type; + +--BLIZZARD API +local CreateFrame = _G.CreateFrame; +local UnitExists = _G.UnitExists; + local parent, ns = ... local oUF = ns.oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/ouf.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/ouf.lua index e25715e..5da9ccd 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/ouf.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/oUF/ouf.lua @@ -1,3 +1,12 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +local next = _G.next; + local parent, ns = ... local global = GetAddOnMetadata(parent, 'X-oUF') local _VERSION = GetAddOnMetadata(parent, 'version') diff --git a/Interface/AddOns/SVUI/packages/actionbar/KeyBind.lua b/Interface/AddOns/SVUI/packages/actionbar/KeyBind.lua index a37c248..0db4ded 100644 --- a/Interface/AddOns/SVUI/packages/actionbar/KeyBind.lua +++ b/Interface/AddOns/SVUI/packages/actionbar/KeyBind.lua @@ -204,7 +204,7 @@ function MOD:ToggleKeyBindingMode(deactivate, saveRequested) end end -blockedButtons = { LSHIFT = true, RSHIFT = true, LCTRL = true, RCTRL = true, LALT = true, RALT = true, UNKNOWN = true, LeftButton = true} +local blockedButtons = { LSHIFT = true, RSHIFT = true, LCTRL = true, RCTRL = true, LALT = true, RALT = true, UNKNOWN = true, LeftButton = true} --[[ HANDLERS ]]-- local tipTimeLapse = 0; @@ -415,7 +415,7 @@ function MOD:LoadKeyBinder() Binder:EnableKeyboard(true) Binder:EnableMouseWheel(true) Binder.texture = Binder:CreateTexture() - Binder.texture:SetAllPoints(a) + Binder.texture:SetAllPoints(Binder) Binder.texture:SetTexture(0, 0, 0, .25) Binder:Hide() diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua index f46e5b9..844a7e1 100644 --- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua +++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua @@ -221,6 +221,7 @@ local SlotUpdate = function(self, slotID) local texture, count, locked, rarity = GetContainerItemInfo(bag, slotID); local start, duration, enable = GetContainerItemCooldown(bag, slotID); + local itemLink = GetContainerItemLink(bag, slotID); CooldownFrame_SetTimer(slot.cooldown, start, duration, enable); @@ -234,8 +235,9 @@ local SlotUpdate = function(self, slotID) local r, g, b = bagType[1], bagType[2], bagType[3]; slot:SetBackdropColor(r, g, b, 0.5) slot:SetBackdropBorderColor(r, g, b, 1) - elseif(rarity) then - if(rarity > 1) then + elseif(itemLink) then + local rarity = select(3, GetItemInfo(itemLink)) + if(rarity and rarity > 1) then local r, g, b = GetItemQualityColor(rarity) slot:SetBackdropBorderColor(r, g, b) else @@ -518,7 +520,11 @@ local ContainerFrame_UpdateLayout = function(self) lastButton = slot; end - else + else + if(menu[i] and menu[i].GetInventorySlot) then + BankFrameItemButton_Update(menu[i]) + BankFrameItemButton_UpdateLocked(menu[i]) + end for i = 1, MAX_CONTAINER_ITEMS do if(bag[i]) then bag[i]:Hide(); diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua index bb31726..846a5cb 100644 --- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua +++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua @@ -16,19 +16,52 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- ---[[ GLOBALS ]]-- +--GLOBAL NAMESPACE local _G = _G; -local unpack = _G.unpack; -local select = _G.select; -local pairs = _G.pairs; -local tonumber = _G.tonumber; -local string = _G.string; -local table = _G.table; ---[[ STRING METHODS ]]-- -local find, format, len, upper = string.find, string.format, string.len, string.upper; -local match, sub, gsub = string.match, string.sub, string.gsub; ---[[ TABLE METHODS ]]-- -local twipe = table.wipe; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +local error = _G.error; +local pcall = _G.pcall; +local print = _G.print; +local ipairs = _G.ipairs; +local pairs = _G.pairs; +local next = _G.next; +local rawset = _G.rawset; +local rawget = _G.rawget; +local tostring = _G.tostring; +local tonumber = _G.tonumber; +local getmetatable = _G.getmetatable; +local setmetatable = _G.setmetatable; +--STRING +local string = _G.string; +local upper = string.upper; +local format = string.format; +local find = string.find; +local match = string.match; +local gsub = string.gsub; +local len = string.len; +local sub = string.sub; +--MATH +local math = _G.math; +local floor = math.floor +--TABLE +local table = _G.table; +local tsort = table.sort; +local tconcat = table.concat; +local tinsert = _G.tinsert; +local tremove = _G.tremove; +local twipe = _G.wipe; +--BLIZZARD API +local time = _G.time; +local difftime = _G.difftime; +local BetterDate = _G.BetterDate; +local ReloadUI = _G.ReloadUI; +local UnitName = _G.UnitName; +local IsInGroup = _G.IsInGroup; +local CreateFrame = _G.CreateFrame; --[[ ########################################################## GET ADDON DATA @@ -83,25 +116,26 @@ local THROTTLE_CACHE = {} INIT SETTINGS ########################################################## ]]-- -CHAT_GUILD_GET = "|Hchannel:GUILD|hG|h %s "; -CHAT_OFFICER_GET = "|Hchannel:OFFICER|hO|h %s "; -CHAT_RAID_GET = "|Hchannel:RAID|hR|h %s "; -CHAT_RAID_WARNING_GET = "RW %s "; -CHAT_RAID_LEADER_GET = "|Hchannel:RAID|hRL|h %s "; -CHAT_PARTY_GET = "|Hchannel:PARTY|hP|h %s "; -CHAT_PARTY_LEADER_GET = "|Hchannel:PARTY|hPL|h %s "; -CHAT_PARTY_GUIDE_GET = "|Hchannel:PARTY|hPG|h %s "; -CHAT_INSTANCE_CHAT_GET = "|Hchannel:Battleground|hI.|h %s: "; -CHAT_INSTANCE_CHAT_LEADER_GET = "|Hchannel:Battleground|hIL.|h %s: "; -CHAT_WHISPER_INFORM_GET = "to %s "; -CHAT_WHISPER_GET = "from %s "; -CHAT_BN_WHISPER_INFORM_GET = "to %s "; -CHAT_BN_WHISPER_GET = "from %s "; -CHAT_SAY_GET = "%s "; -CHAT_YELL_GET = "%s "; -CHAT_FLAG_AFK = "[AFK] "; -CHAT_FLAG_DND = "[DND] "; -CHAT_FLAG_GM = "[GM] "; +local CHAT_FRAMES = _G.CHAT_FRAMES +_G.CHAT_GUILD_GET = "|Hchannel:GUILD|hG|h %s "; +_G.CHAT_OFFICER_GET = "|Hchannel:OFFICER|hO|h %s "; +_G.CHAT_RAID_GET = "|Hchannel:RAID|hR|h %s "; +_G.CHAT_RAID_WARNING_GET = "RW %s "; +_G.CHAT_RAID_LEADER_GET = "|Hchannel:RAID|hRL|h %s "; +_G.CHAT_PARTY_GET = "|Hchannel:PARTY|hP|h %s "; +_G.CHAT_PARTY_LEADER_GET = "|Hchannel:PARTY|hPL|h %s "; +_G.CHAT_PARTY_GUIDE_GET = "|Hchannel:PARTY|hPG|h %s "; +_G.CHAT_INSTANCE_CHAT_GET = "|Hchannel:Battleground|hI.|h %s: "; +_G.CHAT_INSTANCE_CHAT_LEADER_GET = "|Hchannel:Battleground|hIL.|h %s: "; +_G.CHAT_WHISPER_INFORM_GET = "to %s "; +_G.CHAT_WHISPER_GET = "from %s "; +_G.CHAT_BN_WHISPER_INFORM_GET = "to %s "; +_G.CHAT_BN_WHISPER_GET = "from %s "; +_G.CHAT_SAY_GET = "%s "; +_G.CHAT_YELL_GET = "%s "; +_G.CHAT_FLAG_AFK = "[AFK] "; +_G.CHAT_FLAG_DND = "[DND] "; +_G.CHAT_FLAG_GM = "[GM] "; --[[ ########################################################## LOCAL FUNCTIONS @@ -260,7 +294,7 @@ do local ChatEventFilter = function(self, event, message, author, ...) local filter = nil if locale == 'enUS' or locale == 'enGB' then - if strfind(message, '[\227-\237]') then + if message:find('[\227-\237]') then filter = true end end diff --git a/Interface/AddOns/SVUI/packages/dock/SVDock.lua b/Interface/AddOns/SVUI/packages/dock/SVDock.lua index 3f38d15..b91bf9b 100644 --- a/Interface/AddOns/SVUI/packages/dock/SVDock.lua +++ b/Interface/AddOns/SVUI/packages/dock/SVDock.lua @@ -18,16 +18,48 @@ LOCALIZED LUA FUNCTIONS ]]-- --[[ GLOBALS ]]-- local _G = _G; -local unpack = _G.unpack; -local select = _G.select; -local pairs = _G.pairs; -local type = _G.type; -local math = _G.math; -local table = _G.table; ---[[ MATH METHODS ]]-- -local min = math.min; -local tinsert, twipe, pairs, ipairs, unpack, pcall, select = tinsert, table.wipe, pairs, ipairs, unpack, pcall, select; -local format, gsub, strfind, strmatch, tonumber = format, gsub, strfind, strmatch, tonumber; +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; +local type = _G.type; +local error = _G.error; +local pcall = _G.pcall; +local print = _G.print; +local ipairs = _G.ipairs; +local pairs = _G.pairs; +local tostring = _G.tostring; +local tonumber = _G.tonumber; + +--STRING +local string = _G.string; +local upper = string.upper; +local format = string.format; +local find = string.find; +local match = string.match; +local gsub = string.gsub; +--TABLE +local table = _G.table; +local tinsert = _G.tinsert; +local tremove = _G.tremove; +local twipe = _G.wipe; +--MATH +local math = _G.math; +local min = math.min; +local floor = math.floor +local ceil = math.ceil +--BLIZZARD API +local GameTooltip = _G.GameTooltip; +local InCombatLockdown = _G.InCombatLockdown; +local CreateFrame = _G.CreateFrame; +local GetTime = _G.GetTime; +local GetItemCooldown = _G.GetItemCooldown; +local GetItemCount = _G.GetItemCount; +local GetItemInfo = _G.GetItemInfo; +local GetSpellInfo = _G.GetSpellInfo; +local IsSpellKnown = _G.IsSpellKnown; +local GetProfessions = _G.GetProfessions; +local GetProfessionInfo = _G.GetProfessionInfo; +local hooksecurefunc = _G.hooksecurefunc; --[[ ########################################################## GET ADDON DATA @@ -87,6 +119,14 @@ local function CycleDocklets() end end +local function GetDefaultWindow() + local window = DEFAULT_DOCKLET + if window and _G[window] then + SuperDockWindowRight.FrameName = window + SuperDockWindowRight:Show() + end +end + local AlertActivate = function(self, child) local size = SV.db.SVDock.buttonSize or 22; self:Height(size) @@ -306,7 +346,7 @@ SV.CycleDocklets = CycleDocklets CORE FUNCTIONS ########################################################## ]]-- -function HideSuperDocks() +_G.HideSuperDocks = function() ToggleDocks(LeftDockToggleButton) end --[[ @@ -314,14 +354,6 @@ end DOCKLET HELPERS ########################################################## ]]-- -local function GetDefaultWindow() - local window = DEFAULT_DOCKLET - if window and _G[window] then - SuperDockWindowRight.FrameName = window - SuperDockWindowRight:Show() - end -end - function MOD:ActivateDockletButton(button, clickFunction, tipFunction) button._panelGradient = "default" button._iconGradient = "icon" diff --git a/Interface/AddOns/SVUI/packages/map/SVMap.lua b/Interface/AddOns/SVUI/packages/map/SVMap.lua index fe2fdc8..881a504 100644 --- a/Interface/AddOns/SVUI/packages/map/SVMap.lua +++ b/Interface/AddOns/SVUI/packages/map/SVMap.lua @@ -64,6 +64,8 @@ local Initialized = false DATA UPVALUES ########################################################## ]]-- +local MM_XY_COORD = "SIMPLE"; +local WM_TINY = false; local NARR_TEXT = "Meanwhile"; local NARR_PREFIX = "In "; local NARR_ENABLE = true; diff --git a/Interface/AddOns/SVUI/packages/override/SVOverride.lua b/Interface/AddOns/SVUI/packages/override/SVOverride.lua index 65bfac9..454c407 100644 --- a/Interface/AddOns/SVUI/packages/override/SVOverride.lua +++ b/Interface/AddOns/SVUI/packages/override/SVOverride.lua @@ -983,7 +983,7 @@ local LootComplexEventsHandler = function(_, event, arg1, arg2) end end -local GroupLootDropDown_GiveLoot = function(self) +_G.GroupLootDropDown_GiveLoot = function(self) if lastQuality >= MASTER_LOOT_THREHOLD then local confirmed = SV:StaticPopup_Show("CONFIRM_LOOT_DISTRIBUTION",ITEM_QUALITY_COLORS[lastQuality].hex..lastName..FONT_COLOR_CODE_CLOSE,self:GetText()); if confirmed then confirmed.data = self.value end @@ -1078,8 +1078,6 @@ function MOD:Load() UIParent:UnregisterEvent("CANCEL_LOOT_ROLL"); end - _G.GroupLootDropDown_GiveLoot = GroupLootDropDown_GiveLoot - UIParent:UnregisterEvent("MIRROR_TIMER_START") self:RegisterEvent("CVAR_UPDATE", MirrorBarUpdateHandler) self:RegisterEvent("PLAYER_ENTERING_WORLD", MirrorBarUpdateHandler) diff --git a/Interface/AddOns/SVUI/scripts/ego.lua b/Interface/AddOns/SVUI/scripts/ego.lua index c0b963b..2866a40 100644 --- a/Interface/AddOns/SVUI/scripts/ego.lua +++ b/Interface/AddOns/SVUI/scripts/ego.lua @@ -84,7 +84,7 @@ local Ego_OnEvent = function(self, event) end end -function BeAwesome() +_G.BeAwesome = function() EgoFrame:LaunchAnimation(4) end diff --git a/Interface/AddOns/SVUI/scripts/misc.lua b/Interface/AddOns/SVUI/scripts/misc.lua index c51e038..8465157 100644 --- a/Interface/AddOns/SVUI/scripts/misc.lua +++ b/Interface/AddOns/SVUI/scripts/misc.lua @@ -26,6 +26,8 @@ local type = _G.type; local tinsert = _G.tinsert; local math = _G.math; local cos, deg, rad, sin = math.cos, math.deg, math.rad, math.sin; + +local hooksecurefunc = _G.hooksecurefunc; --[[ ########################################################## GET ADDON DATA @@ -39,8 +41,7 @@ local toonclass = select(2, UnitClass('player')) MERCHANT MAX STACK ########################################################## ]]-- -local savedMerchantItemButton_OnModifiedClick = MerchantItemButton_OnModifiedClick -function MerchantItemButton_OnModifiedClick(self, ...) +local BuyMaxStack = function(self, ...) if ( IsAltKeyDown() ) then local itemLink = GetMerchantItemLink(self:GetID()) if not itemLink then return end @@ -49,8 +50,8 @@ function MerchantItemButton_OnModifiedClick(self, ...) BuyMerchantItem(self:GetID(), GetMerchantItemMaxStack(self:GetID())) end end - savedMerchantItemButton_OnModifiedClick(self, ...) end +hooksecurefunc("MerchantItemButton_OnModifiedClick", BuyMaxStack); --[[ ########################################################## CHAT BUBBLES @@ -361,7 +362,7 @@ local function RaidMarkShowIcons() RaidMarkFrame:Show() end -function RaidMark_HotkeyPressed(button) +_G.RaidMark_HotkeyPressed = function(button) ButtonIsDown = button == "down" and RaidMarkAllowed() if(RaidMarkFrame) then if ButtonIsDown then @@ -568,8 +569,8 @@ local function GetThreatBarColor(unitWithHighestThreat) local colors = RAID_CLASS_COLORS[unitClass] if not colors then return 15,15,15 end return colors.r*255, colors.g*255, colors.b*255 - elseif react then - local reaction=oUF_Villain['colors'].reaction[react] + elseif(react and SV.oUF) then + local reaction = SV.oUF['colors'].reaction[react] return reaction[1]*255, reaction[2]*255, reaction[3]*255 else return 15,15,15 @@ -624,13 +625,18 @@ end local function LoadThreatBar() if(SV.db.general.threatbar == true) then + local anchor = _G.SVUI_Target local ThreatBar = CreateFrame('StatusBar', 'SVUI_ThreatBar', SV.UIParent); ThreatBar:SetStatusBarTexture("Interface\\AddOns\\SVUI\\assets\\artwork\\Doodads\\THREAT-BAR") ThreatBar:SetSize(50,100) ThreatBar:SetFrameStrata('MEDIUM') ThreatBar:SetOrientation("VERTICAL") ThreatBar:SetMinMaxValues(0,100) - ThreatBar:Point('LEFT',SVUI_Target,'RIGHT',0,10) + if(anchor) then + ThreatBar:Point('LEFT', _G.SVUI_Target, 'RIGHT', 0, 10) + else + ThreatBar:Point('LEFT', UIParent, 'CENTER', 50, -50) + end ThreatBar.backdrop = ThreatBar:CreateTexture(nil,"BACKGROUND") ThreatBar.backdrop:SetAllPoints(ThreatBar) ThreatBar.backdrop:SetTexture(BARFILE) diff --git a/Interface/AddOns/SVUI/scripts/mounts.lua b/Interface/AddOns/SVUI/scripts/mounts.lua index 9023c1b..29c56e2 100644 --- a/Interface/AddOns/SVUI/scripts/mounts.lua +++ b/Interface/AddOns/SVUI/scripts/mounts.lua @@ -388,7 +388,7 @@ end SLASH FUNCTION ########################################################## ]]-- -function SVUILetsRide() +_G.SVUILetsRide = function() local maxMounts = CountMounts() if(not maxMounts or IsMounted()) then diff --git a/Interface/AddOns/SVUI/scripts/spellbind.lua b/Interface/AddOns/SVUI/scripts/spellbind.lua index 006f15c..f632061 100644 --- a/Interface/AddOns/SVUI/scripts/spellbind.lua +++ b/Interface/AddOns/SVUI/scripts/spellbind.lua @@ -26,14 +26,20 @@ local ipairs = _G.ipairs; local type = _G.type; local tinsert = _G.tinsert; local string = _G.string; - -local SVLib = LibSuperVillain +--TABLE +local table = _G.table; +local tsort = table.sort; +local tconcat = table.concat; +local tinsert = _G.tinsert; +local tremove = _G.tremove; + +local SVLib = _G.LibSuperVillain --[[ ########################################################## Simple click2cast spell SpellBinder(sBinder by Fernir) ########################################################## ]]-- -ClickCastFrames = _G.ClickCastFrames or {} +_G.ClickCastFrames = _G.ClickCastFrames or {} local UnitParseListing = { "PlayerFrame", "PetFrame", @@ -60,7 +66,7 @@ local UnitParseListing = { for _, gName in pairs(UnitParseListing) do local frame = _G[gName] if(frame) then - ClickCastFrames[frame] = true + _G.ClickCastFrames[frame] = true end end @@ -168,7 +174,7 @@ local SpellBindMask_OnClick = function(self, button) for i, v in pairs(SV.cache.SpellBinder.spells) do if v.spell == spellname then return end end - tinsert(SV.cache.SpellBinder.spells, {["id"] = slot, ["modifier"] = modifier, ["button"] = button, ["spell"] = spellname, ["rank"] = rank, ["texture"] = texture, ["origbutton"] = originalbutton,}) + tinsert(SV.cache.SpellBinder.spells, {["id"] = slot, ["modifier"] = modifier, ["button"] = button, ["spell"] = spellname, ["rank"] = "", ["texture"] = texture, ["origbutton"] = originalbutton,}) SpellBinder:BuildSpells(false) end end @@ -213,7 +219,7 @@ function SpellBinder:BuildSpells(delete) scroll:SetSize(270, 300) if delete then - i = 1 + local i = 1 while _G[i.."_cbs"] do _G[i.."_fs"]:SetText("") _G[i.."_texture"]:SetTexture(0,0,0,0) @@ -263,7 +269,7 @@ function SpellBinder:BuildSpells(delete) bf.fs:SetText(spell.modifier..spell.origbutton) bf.fs:SetPoint("RIGHT", bf.delete, "LEFT", -4, 0) - for frame,_ in pairs(ClickCastFrames) do + for frame,_ in pairs(_G.ClickCastFrames) do if frame and SV.cache.SpellBinder.frames[frame] then if frame:CanChangeAttribute() or frame:CanChangeProtectedState() then if frame:GetAttribute(spell.modifier.."type"..spell.button) ~= "menu" then @@ -296,7 +302,7 @@ end function SpellBinder:BuildList() if(SV.cache.SpellBinder and SV.cache.SpellBinder.frames) then - for frame,_ in pairs(ClickCastFrames) do + for frame,_ in pairs(_G.ClickCastFrames) do SV.cache.SpellBinder.frames[frame] = SV.cache.SpellBinder.frames[frame] or true end end @@ -326,7 +332,7 @@ function SpellBinder:DeleteSpell() local count = table.getn(SV.cache.SpellBinder.spells) for i, spell in ipairs(SV.cache.SpellBinder.spells) do if spell.checked then - for frame,_ in pairs(ClickCastFrames) do + for frame,_ in pairs(_G.ClickCastFrames) do local f if frame and type(frame) == "table" then f = frame:GetName() end if f then @@ -374,11 +380,11 @@ SET HOOKS ########################################################## ]]-- local _hook_CreateFrame = function(self, name, parent, template) - if template and template:find("SecureUnitButtonTemplate") then ClickCastFrames[_G[name]] = true end + if template and template:find("SecureUnitButtonTemplate") then _G.ClickCastFrames[_G[name]] = true end end local _hook_CompactUnitFrame_SetUpFrame = function(self, ...) - ClickCastFrames[self] = true + _G.ClickCastFrames[self] = true end local _hook_SpellBookFrame_OnUpdate = function(self) @@ -386,6 +392,7 @@ local _hook_SpellBookFrame_OnUpdate = function(self) end local _hook_SpellBookFrame_OnHide = function(self) + if not SpellBinder then return end SpellBinder:Hide() SpellBinder.sbOpen = false SpellBinder:ToggleButtons() diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua index 54e9e6c..f1c3c63 100644 --- a/Interface/AddOns/SVUI/system/media.lua +++ b/Interface/AddOns/SVUI/system/media.lua @@ -19,6 +19,7 @@ LOCALIZED LUA FUNCTIONS --[[ GLOBALS ]]-- local _G = _G; local select = _G.select; +local unpack = _G.unpack; local pairs = _G.pairs; local ipairs = _G.ipairs; local type = _G.type; @@ -46,18 +47,23 @@ local LSM = LibStub("LibSharedMedia-3.0") LOCALIZED GLOBALS ########################################################## ]]-- -local STANDARD_TEXT_FONT = _G.STANDARD_TEXT_FONT -local UNIT_NAME_FONT = _G.UNIT_NAME_FONT -local DAMAGE_TEXT_FONT = _G.DAMAGE_TEXT_FONT -local SVUI_CLASS_COLORS = _G.SVUI_CLASS_COLORS -local RAID_CLASS_COLORS = _G.RAID_CLASS_COLORS +local NAMEPLATE_FONT = _G.NAMEPLATE_FONT +local CHAT_FONT_HEIGHTS = _G.CHAT_FONT_HEIGHTS +local STANDARD_TEXT_FONT = _G.STANDARD_TEXT_FONT +local UNIT_NAME_FONT = _G.UNIT_NAME_FONT +local DAMAGE_TEXT_FONT = _G.DAMAGE_TEXT_FONT +local SVUI_CLASS_COLORS = _G.SVUI_CLASS_COLORS +local RAID_CLASS_COLORS = _G.RAID_CLASS_COLORS +local UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = _G.UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT --[[ ########################################################## PRE VARS/FUNCTIONS ########################################################## ]]-- -local function SetFont(fontObject, font, fontSize, fontOutline, fontAlpha, color, shadowColor, offsetX, offsetY) - if not font then return end +local function SetFont(globalName, font, fontSize, fontOutline, fontAlpha, color, shadowColor, offsetX, offsetY) + if not font then return end + local fontObject = _G[globalName] + if not fontObject then return end fontObject:SetFont(font,fontSize,fontOutline); if fontAlpha then fontObject:SetAlpha(fontAlpha) @@ -272,62 +278,58 @@ function SV:RefreshSystemFonts() CHAT_FONT_HEIGHTS = {8,9,10,11,12,13,14,15,16,17,18,19,20} UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize - -- SetFont(GameFont_Gigantic, GIANT_TEXT_FONT, fontsize*3, "THICKOUTLINE", 32) - -- SetFont(SystemFont_Shadow_Huge1, GIANT_TEXT_FONT, fontsize*1.8, "OUTLINE") - -- SetFont(SystemFont_OutlineThick_Huge2, GIANT_TEXT_FONT, fontsize*1.8, "THICKOUTLINE") - - SetFont(QuestFont_Large, UNIT_NAME_FONT, fontsize+4) - SetFont(ZoneTextString, UNIT_NAME_FONT, fontsize*4.2, "OUTLINE") - SetFont(SubZoneTextString, UNIT_NAME_FONT, fontsize*3.2, "OUTLINE") - SetFont(PVPInfoTextString, UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") - SetFont(PVPArenaTextString, UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") - SetFont(SystemFont_Shadow_Outline_Huge2, UNIT_NAME_FONT, fontsize*1.8, "OUTLINE") - - SetFont(NumberFont_OutlineThick_Mono_Small, NUMBER_TEXT_FONT, fontsize, "OUTLINE") - SetFont(NumberFont_Outline_Huge, NUMBER_TEXT_FONT, fontsize*2, "THICKOUTLINE", 28) - SetFont(NumberFont_Outline_Large, NUMBER_TEXT_FONT, fontsize+4, "OUTLINE") - SetFont(NumberFont_Outline_Med, NUMBER_TEXT_FONT, fontsize+2, "OUTLINE") - SetFont(NumberFontNormal, NUMBER_TEXT_FONT, fontsize, "OUTLINE") - - SetFont(GameFontHighlight, STANDARD_TEXT_FONT, fontsize) - SetFont(GameFontWhite, STANDARD_TEXT_FONT, fontsize, 'OUTLINE', 1, {1,1,1}) - SetFont(GameFontWhiteSmall, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {1,1,1}) - SetFont(GameFontBlack, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) - SetFont(GameFontBlackSmall, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) - SetFont(GameFontNormal, STANDARD_TEXT_FONT, fontsize) - SetFont(QuestFont, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Large, STANDARD_TEXT_FONT, fontsize+2) - SetFont(GameFontNormalMed3, STANDARD_TEXT_FONT, fontsize+1) - SetFont(SystemFont_Med1, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Med3, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Outline_Small, STANDARD_TEXT_FONT, fontsize, "OUTLINE") - SetFont(SystemFont_Shadow_Large, STANDARD_TEXT_FONT, fontsize+2) - SetFont(SystemFont_Shadow_Med1, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Shadow_Med3, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Shadow_Small, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Small, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_Normal, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_Small, STANDARD_TEXT_FONT, fontsize-2) - SetFont(FriendsFont_Large, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_UserText, STANDARD_TEXT_FONT, fontsize) - - SetFont(GameFont_Gigantic, GIANT_TEXT_FONT, 200, "THICKOUTLINE", 32) - SetFont(SystemFont_Shadow_Huge1, GIANT_TEXT_FONT, 200, "OUTLINE") - SetFont(SystemFont_OutlineThick_Huge2, GIANT_TEXT_FONT, 200, "THICKOUTLINE") - - SetFont(SystemFont_Shadow_Huge3, DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") - SetFont(CombatTextFont, DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") + SetFont("QuestFont_Large", UNIT_NAME_FONT, fontsize+4) + SetFont("ZoneTextString", UNIT_NAME_FONT, fontsize*4.2, "OUTLINE") + SetFont("SubZoneTextString", UNIT_NAME_FONT, fontsize*3.2, "OUTLINE") + SetFont("PVPInfoTextString", UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") + SetFont("PVPArenaTextString", UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") + SetFont("SystemFont_Shadow_Outline_Huge2", UNIT_NAME_FONT, fontsize*1.8, "OUTLINE") + + SetFont("NumberFont_OutlineThick_Mono_Small", NUMBER_TEXT_FONT, fontsize, "OUTLINE") + SetFont("NumberFont_Outline_Huge", NUMBER_TEXT_FONT, fontsize*2, "THICKOUTLINE", 28) + SetFont("NumberFont_Outline_Large", NUMBER_TEXT_FONT, fontsize+4, "OUTLINE") + SetFont("NumberFont_Outline_Med", NUMBER_TEXT_FONT, fontsize+2, "OUTLINE") + SetFont("NumberFontNormal", NUMBER_TEXT_FONT, fontsize, "OUTLINE") + + SetFont("GameFontHighlight", STANDARD_TEXT_FONT, fontsize) + SetFont("GameFontWhite", STANDARD_TEXT_FONT, fontsize, 'OUTLINE', 1, {1,1,1}) + SetFont("GameFontWhiteSmall", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {1,1,1}) + SetFont("GameFontBlack", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) + SetFont("GameFontBlackSmall", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) + SetFont("GameFontNormal", STANDARD_TEXT_FONT, fontsize) + SetFont("QuestFont", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Large", STANDARD_TEXT_FONT, fontsize+2) + SetFont("GameFontNormalMed3", STANDARD_TEXT_FONT, fontsize+1) + SetFont("SystemFont_Med1", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Med3", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Outline_Small", STANDARD_TEXT_FONT, fontsize, "OUTLINE") + SetFont("SystemFont_Shadow_Large", STANDARD_TEXT_FONT, fontsize+2) + SetFont("SystemFont_Shadow_Med1", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Shadow_Med3", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Shadow_Small", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Small", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_Normal", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_Small", STANDARD_TEXT_FONT, fontsize-2) + SetFont("FriendsFont_Large", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_UserText", STANDARD_TEXT_FONT, fontsize) + + SetFont("GameFont_Gigantic", GIANT_TEXT_FONT, 200, "THICKOUTLINE", 32) + SetFont("SystemFont_Shadow_Huge1", GIANT_TEXT_FONT, 200, "OUTLINE") + SetFont("SystemFont_OutlineThick_Huge2", GIANT_TEXT_FONT, 200, "THICKOUTLINE") + + SetFont("SystemFont_Shadow_Huge3", DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") + SetFont("CombatTextFont", DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") local UNICODE_FONT = self.Media.font.roboto; - SetFont(GameTooltipHeader, UNICODE_FONT, unicodesize+2) - SetFont(Tooltip_Med, UNICODE_FONT, unicodesize) - SetFont(Tooltip_Small, UNICODE_FONT, unicodesize) - SetFont(GameFontNormalSmall, UNICODE_FONT, unicodesize) - SetFont(GameFontHighlightSmall, UNICODE_FONT, unicodesize) - SetFont(NumberFont_Shadow_Med, UNICODE_FONT, unicodesize, "OUTLINE") - SetFont(NumberFont_Shadow_Small, UNICODE_FONT, unicodesize, "OUTLINE") - SetFont(SystemFont_Tiny, UNICODE_FONT, unicodesize) + SetFont("GameTooltipHeader", UNICODE_FONT, unicodesize+2) + SetFont("Tooltip_Med", UNICODE_FONT, unicodesize) + SetFont("Tooltip_Small", UNICODE_FONT, unicodesize) + SetFont("GameFontNormalSmall", UNICODE_FONT, unicodesize) + SetFont("GameFontHighlightSmall", UNICODE_FONT, unicodesize) + SetFont("NumberFont_Shadow_Med", UNICODE_FONT, unicodesize, "OUTLINE") + SetFont("NumberFont_Shadow_Small", UNICODE_FONT, unicodesize, "OUTLINE") + SetFont("SystemFont_Tiny", UNICODE_FONT, unicodesize) self:UpdateFontTemplates() end @@ -345,62 +347,58 @@ function SV:RefreshAllSystemMedia() CHAT_FONT_HEIGHTS = {8,9,10,11,12,13,14,15,16,17,18,19,20} UIDROPDOWNMENU_DEFAULT_TEXT_HEIGHT = fontsize - -- SetFont(GameFont_Gigantic, GIANT_TEXT_FONT, fontsize*3, "THICKOUTLINE", 32) - -- SetFont(SystemFont_Shadow_Huge1, GIANT_TEXT_FONT, fontsize*1.8, "OUTLINE") - -- SetFont(SystemFont_OutlineThick_Huge2, GIANT_TEXT_FONT, fontsize*1.8, "THICKOUTLINE") - - SetFont(QuestFont_Large, UNIT_NAME_FONT, fontsize+4) - SetFont(ZoneTextString, UNIT_NAME_FONT, fontsize*4.2, "OUTLINE") - SetFont(SubZoneTextString, UNIT_NAME_FONT, fontsize*3.2, "OUTLINE") - SetFont(PVPInfoTextString, UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") - SetFont(PVPArenaTextString, UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") - SetFont(SystemFont_Shadow_Outline_Huge2, UNIT_NAME_FONT, fontsize*1.8, "OUTLINE") - - SetFont(NumberFont_OutlineThick_Mono_Small, NUMBER_TEXT_FONT, fontsize, "OUTLINE") - SetFont(NumberFont_Outline_Huge, NUMBER_TEXT_FONT, fontsize*2, "THICKOUTLINE", 28) - SetFont(NumberFont_Outline_Large, NUMBER_TEXT_FONT, fontsize+4, "OUTLINE") - SetFont(NumberFont_Outline_Med, NUMBER_TEXT_FONT, fontsize+2, "OUTLINE") - SetFont(NumberFontNormal, NUMBER_TEXT_FONT, fontsize, "OUTLINE") - - SetFont(GameFontHighlight, STANDARD_TEXT_FONT, fontsize) - SetFont(GameFontWhite, STANDARD_TEXT_FONT, fontsize, 'OUTLINE', 1, {1,1,1}) - SetFont(GameFontWhiteSmall, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {1,1,1}) - SetFont(GameFontBlack, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) - SetFont(GameFontBlackSmall, STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) - SetFont(GameFontNormal, STANDARD_TEXT_FONT, fontsize) - SetFont(QuestFont, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Large, STANDARD_TEXT_FONT, fontsize+2) - SetFont(GameFontNormalMed3, STANDARD_TEXT_FONT, fontsize+1) - SetFont(SystemFont_Med1, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Med3, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Outline_Small, STANDARD_TEXT_FONT, fontsize, "OUTLINE") - SetFont(SystemFont_Shadow_Large, STANDARD_TEXT_FONT, fontsize+2) - SetFont(SystemFont_Shadow_Med1, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Shadow_Med3, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Shadow_Small, STANDARD_TEXT_FONT, fontsize) - SetFont(SystemFont_Small, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_Normal, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_Small, STANDARD_TEXT_FONT, fontsize-2) - SetFont(FriendsFont_Large, STANDARD_TEXT_FONT, fontsize) - SetFont(FriendsFont_UserText, STANDARD_TEXT_FONT, fontsize) - - SetFont(GameFont_Gigantic, GIANT_TEXT_FONT, 200, "THICKOUTLINE", 32) - SetFont(SystemFont_Shadow_Huge1, GIANT_TEXT_FONT, 200, "OUTLINE") - SetFont(SystemFont_OutlineThick_Huge2, GIANT_TEXT_FONT, 200, "THICKOUTLINE") - - SetFont(SystemFont_Shadow_Huge3, DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") - SetFont(CombatTextFont, DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") + SetFont("QuestFont_Large", UNIT_NAME_FONT, fontsize+4) + SetFont("ZoneTextString", UNIT_NAME_FONT, fontsize*4.2, "OUTLINE") + SetFont("SubZoneTextString", UNIT_NAME_FONT, fontsize*3.2, "OUTLINE") + SetFont("PVPInfoTextString", UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") + SetFont("PVPArenaTextString", UNIT_NAME_FONT, fontsize*1.9, "OUTLINE") + SetFont("SystemFont_Shadow_Outline_Huge2", UNIT_NAME_FONT, fontsize*1.8, "OUTLINE") + + SetFont("NumberFont_OutlineThick_Mono_Small", NUMBER_TEXT_FONT, fontsize, "OUTLINE") + SetFont("NumberFont_Outline_Huge", NUMBER_TEXT_FONT, fontsize*2, "THICKOUTLINE", 28) + SetFont("NumberFont_Outline_Large", NUMBER_TEXT_FONT, fontsize+4, "OUTLINE") + SetFont("NumberFont_Outline_Med", NUMBER_TEXT_FONT, fontsize+2, "OUTLINE") + SetFont("NumberFontNormal", NUMBER_TEXT_FONT, fontsize, "OUTLINE") + + SetFont("GameFontHighlight", STANDARD_TEXT_FONT, fontsize) + SetFont("GameFontWhite", STANDARD_TEXT_FONT, fontsize, 'OUTLINE', 1, {1,1,1}) + SetFont("GameFontWhiteSmall", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {1,1,1}) + SetFont("GameFontBlack", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) + SetFont("GameFontBlackSmall", STANDARD_TEXT_FONT, fontsize, 'NONE', 1, {0,0,0}) + SetFont("GameFontNormal", STANDARD_TEXT_FONT, fontsize) + SetFont("QuestFont", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Large", STANDARD_TEXT_FONT, fontsize+2) + SetFont("GameFontNormalMed3", STANDARD_TEXT_FONT, fontsize+1) + SetFont("SystemFont_Med1", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Med3", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Outline_Small", STANDARD_TEXT_FONT, fontsize, "OUTLINE") + SetFont("SystemFont_Shadow_Large", STANDARD_TEXT_FONT, fontsize+2) + SetFont("SystemFont_Shadow_Med1", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Shadow_Med3", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Shadow_Small", STANDARD_TEXT_FONT, fontsize) + SetFont("SystemFont_Small", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_Normal", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_Small", STANDARD_TEXT_FONT, fontsize-2) + SetFont("FriendsFont_Large", STANDARD_TEXT_FONT, fontsize) + SetFont("FriendsFont_UserText", STANDARD_TEXT_FONT, fontsize) + + SetFont("GameFont_Gigantic", GIANT_TEXT_FONT, 200, "THICKOUTLINE", 32) + SetFont("SystemFont_Shadow_Huge1", GIANT_TEXT_FONT, 200, "OUTLINE") + SetFont("SystemFont_OutlineThick_Huge2", GIANT_TEXT_FONT, 200, "THICKOUTLINE") + + SetFont("SystemFont_Shadow_Huge3", DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") + SetFont("CombatTextFont", DAMAGE_TEXT_FONT, 200, "THICKOUTLINE") local UNICODE_FONT = self.Media.font.roboto; - SetFont(GameTooltipHeader, UNICODE_FONT, unicodesize+2) - SetFont(Tooltip_Med, UNICODE_FONT, unicodesize) - SetFont(Tooltip_Small, UNICODE_FONT, unicodesize) - SetFont(GameFontNormalSmall, UNICODE_FONT, unicodesize) - SetFont(GameFontHighlightSmall, UNICODE_FONT, unicodesize) - SetFont(NumberFont_Shadow_Med, UNICODE_FONT, unicodesize) - SetFont(NumberFont_Shadow_Small, UNICODE_FONT, unicodesize) - SetFont(SystemFont_Tiny, UNICODE_FONT, unicodesize) + SetFont("GameTooltipHeader", UNICODE_FONT, unicodesize+2) + SetFont("Tooltip_Med", UNICODE_FONT, unicodesize) + SetFont("Tooltip_Small", UNICODE_FONT, unicodesize) + SetFont("GameFontNormalSmall", UNICODE_FONT, unicodesize) + SetFont("GameFontHighlightSmall", UNICODE_FONT, unicodesize) + SetFont("NumberFont_Shadow_Med", UNICODE_FONT, unicodesize) + SetFont("NumberFont_Shadow_Small", UNICODE_FONT, unicodesize) + SetFont("SystemFont_Tiny", UNICODE_FONT, unicodesize) self:MediaUpdate() self.MediaInitialized = true @@ -413,22 +411,22 @@ INIT SOME COMBAT FONTS do local fontFile = "Interface\\AddOns\\SVUI\\assets\\fonts\\Combat.ttf" - DAMAGE_TEXT_FONT = fontFile - NUM_COMBAT_TEXT_LINES = 20; - COMBAT_TEXT_SCROLLSPEED = 1.0; - COMBAT_TEXT_FADEOUT_TIME = 1.0; - COMBAT_TEXT_HEIGHT = 18; - COMBAT_TEXT_CRIT_MAXHEIGHT = 2.0; - COMBAT_TEXT_CRIT_MINHEIGHT = 1.2; - COMBAT_TEXT_CRIT_SCALE_TIME = 0.7; - COMBAT_TEXT_CRIT_SHRINKTIME = 0.2; - COMBAT_TEXT_TO_ANIMATE = {}; - COMBAT_TEXT_STAGGER_RANGE = 20; - COMBAT_TEXT_SPACING = 7; - COMBAT_TEXT_MAX_OFFSET = 130; - COMBAT_TEXT_LOW_HEALTH_THRESHOLD = 0.2; - COMBAT_TEXT_LOW_MANA_THRESHOLD = 0.2; - COMBAT_TEXT_LOCATIONS = {}; + _G.DAMAGE_TEXT_FONT = fontFile + _G.NUM_COMBAT_TEXT_LINES = 20; + _G.COMBAT_TEXT_SCROLLSPEED = 1.0; + _G.COMBAT_TEXT_FADEOUT_TIME = 1.0; + _G.COMBAT_TEXT_HEIGHT = 18; + _G.COMBAT_TEXT_CRIT_MAXHEIGHT = 2.0; + _G.COMBAT_TEXT_CRIT_MINHEIGHT = 1.2; + _G.COMBAT_TEXT_CRIT_SCALE_TIME = 0.7; + _G.COMBAT_TEXT_CRIT_SHRINKTIME = 0.2; + _G.COMBAT_TEXT_TO_ANIMATE = {}; + _G.COMBAT_TEXT_STAGGER_RANGE = 20; + _G.COMBAT_TEXT_SPACING = 7; + _G.COMBAT_TEXT_MAX_OFFSET = 130; + _G.COMBAT_TEXT_LOW_HEALTH_THRESHOLD = 0.2; + _G.COMBAT_TEXT_LOW_MANA_THRESHOLD = 0.2; + _G.COMBAT_TEXT_LOCATIONS = {}; local fName, fHeight, fFlags = CombatTextFont:GetFont() diff --git a/Interface/AddOns/SVUI/system/slash.lua b/Interface/AddOns/SVUI/system/slash.lua index efe033d..74a63e6 100644 --- a/Interface/AddOns/SVUI/system/slash.lua +++ b/Interface/AddOns/SVUI/system/slash.lua @@ -13,6 +13,46 @@ _____/\\\\\\\\\\\____/\\\________/\\\__/\\\________/\\\__/\\\\\\\\\\\_ # S U P E R - V I L L A I N - U I By: Munglunch # ############################################################################## --]] +--[[ GLOBALS ]]-- +local _G = _G; +local select = _G.select; +local unpack = _G.unpack; +local pairs = _G.pairs; +local ipairs = _G.ipairs; +local type = _G.type; +local tostring = _G.tostring; +local tonumber = _G.tonumber; +local print = _G.print; +local string = _G.string; +local math = _G.math; +local table = _G.table; +local GetTime = _G.GetTime; +--[[ STRING METHODS ]]-- +local format = string.format; +local lower, trim = string.lower, string.trim +--[[ MATH METHODS ]]-- +local floor, modf = math.floor, math.modf; +--[[ TABLE METHODS ]]-- +local twipe, tsort = table.wipe, table.sort; +--BLIZZARD API +local ReloadUI = _G.ReloadUI; +local UnitName = _G.UnitName; +local IsInGroup = _G.IsInGroup; +local CreateFrame = _G.CreateFrame; +local IsInRaid = _G.IsInRaid; +local UnitIsGroupLeader = _G.UnitIsGroupLeader; +local GetAddOnInfo = _G.GetAddOnInfo; +local UnitIsGroupAssistant = _G.UnitIsGroupAssistant; +local EnableAddOn = _G.EnableAddOn; +local DisableAddOn = _G.DisableAddOn; +local IsEveryoneAssistant = _G.IsEveryoneAssistant; +local GetAddOnMetadata = _G.GetAddOnMetadata; +local SendChatMessage = _G.SendChatMessage; +local PlaySoundFile = _G.PlaySoundFile; + +local LE_PARTY_CATEGORY_HOME = _G.LE_PARTY_CATEGORY_HOME; +local LE_PARTY_CATEGORY_INSTANCE = _G.LE_PARTY_CATEGORY_INSTANCE; + local SV = select(2, ...) local L = SV.L; --[[ @@ -20,8 +60,6 @@ local L = SV.L; LOCAL VARS ########################################################## ]]-- -local lower, trim = string.lower, string.trim - local MsgTest = function(warning) if IsInGroup(LE_PARTY_CATEGORY_INSTANCE) then return "INSTANCE_CHAT" @@ -36,7 +74,6 @@ local MsgTest = function(warning) end return "SAY" end - --[[ ########################################################## LOCAL SLASH FUNCTIONS @@ -138,8 +175,8 @@ do end end - SLASH_PULLCOUNTDOWN1 = "/jenkins" - SlashCmdList["PULLCOUNTDOWN"] = function(msg) + _G.SLASH_PULLCOUNTDOWN1 = "/jenkins" + _G.SlashCmdList["PULLCOUNTDOWN"] = function(msg) if(tonumber(msg) ~= nil) then PullCountdown.Pull(msg) else @@ -148,13 +185,13 @@ do end end -SLASH_KOMBAT1 = "/kombat" -SlashCmdList["KOMBAT"] = function(msg) +_G.SLASH_KOMBAT1 = "/kombat" +_G.SlashCmdList["KOMBAT"] = function(msg) SV:ToastyKombat() end -SLASH_LOLWUT1 = "/lolwut" -SlashCmdList["LOLWUT"] = function(msg) +_G.SLASH_LOLWUT1 = "/lolwut" +_G.SlashCmdList["LOLWUT"] = function(msg) PlaySoundFile("Sound\\Character\\Human\\HumanVocalFemale\\HumanFemalePissed04.wav") end --[[ @@ -162,11 +199,11 @@ end LOAD ALL SLASH FUNCTIONS ########################################################## ]]-- -SLASH_SVUI_SV1="/sv" -SlashCmdList["SVUI_SV"] = SVUIMasterCommand; -SLASH_SVUI_SVUI1="/svui" -SlashCmdList["SVUI_SVUI"] = SVUIMasterCommand; -SLASH_SVUI_ENABLE1="/enable" -SlashCmdList["SVUI_ENABLE"] = EnableAddon; -SLASH_SVUI_DISABLE1="/disable" -SlashCmdList["SVUI_DISABLE"] = DisableAddon; \ No newline at end of file +_G.SLASH_SVUI_SV1="/sv" +_G.SlashCmdList["SVUI_SV"] = SVUIMasterCommand; +_G.SLASH_SVUI_SVUI1="/svui" +_G.SlashCmdList["SVUI_SVUI"] = SVUIMasterCommand; +_G.SLASH_SVUI_ENABLE1="/enable" +_G.SlashCmdList["SVUI_ENABLE"] = EnableAddon; +_G.SLASH_SVUI_DISABLE1="/disable" +_G.SlashCmdList["SVUI_DISABLE"] = DisableAddon; \ No newline at end of file diff --git a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua index fe4dfea..f02f61c 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua index 78a9038..b4360ed 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.lua @@ -47,7 +47,7 @@ function PLUGIN:CHAT_MSG_BN_WHISPER(event, ...) if(SV.db.SVChat.enable and SV.db[Schema].saveChats) then self:SAVE_CHAT_HISTORY(event, ...) end - if(SV.db[Schema].service) then + if(SV.db[Schema].service and self.ServiceEnabled) then self:AUTO_MSG_BN_WHISPER(event, ...) end end diff --git a/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua b/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua index 3830b53..b2ad275 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua +++ b/Interface/AddOns/SVUI_ChatOMatic/components/answering_service.lua @@ -839,7 +839,8 @@ function PLUGIN:AUTO_MSG_BN_WHISPER(event, inbound_message, sender, _, _, _, _, if(not presenceID) then return end if not UnitIsAFK("player") and not UnitIsDND("player") then local _, bnToon = BNGetToonInfo(presenceID); - local caller = bnToon or sender; + local realToon = select(5, BNGetFriendInfoByID(presenceID)) + local caller = realToon or bnToon or sender; if (not PhoneLines[caller]) then self:AddCaller(caller) end @@ -931,7 +932,7 @@ function PLUGIN:EnableAnsweringService() title:SetPoint("TOP", window, "TOP", 0, -2) title:SetText("Henchman Answering Service") - for x = 1, 5, 1 do + for x = 1, 5 do local phLn = CreateFrame("Button", "HenchmenPhoneLine"..x, window) phLn:SetWidth(124) phLn:SetHeight(20) @@ -960,6 +961,7 @@ function PLUGIN:EnableAnsweringService() strMsg = "The Henchmen Operators Are Standing By.." end SV:AddonMessage(strMsg) + self.ServiceEnabled = true end function PLUGIN:DisableAnsweringService() diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua index 9b30328..d4b243c 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua @@ -500,7 +500,7 @@ SV.Options.args.common = { return SV.db.media.textures[key[#key]] end, set = function(key, value) - SV.db.media.textures[key[#key]] = {"background", value} + SV.db.media.textures[key[#key]] = value SV:RefreshEverything(true) end, args = { diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua index 8cdabd8..78806be 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua @@ -1564,7 +1564,7 @@ SV.Options.args.SVUnit = { return SV.db.media.textures[key[#key]] end, set = function(key, value) - SV.db.media.textures[key[#key]] = {"background", value} + SV.db.media.textures[key[#key]] = value SV:RefreshEverything(true) end, args = { diff --git a/Interface/AddOns/SVUI_CraftOMatic/Loader.lua b/Interface/AddOns/SVUI_CraftOMatic/Loader.lua index 177cd79..fecfe30 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua index e63bb8c..2e92a98 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.lua @@ -17,14 +17,6 @@ LOCALIZED LUA FUNCTIONS ########################################################## ]]-- ---[[ CONSTANTS ]]-- - -BINDING_HEADER_SVUICRAFT = "Supervillain UI: Craft-O-Matic"; -BINDING_NAME_SVUICRAFT_FISH = "Toggle Fishing Mode"; -BINDING_NAME_SVUICRAFT_FARM = "Toggle Farming Mode"; -BINDING_NAME_SVUICRAFT_COOK = "Toggle Cooking Mode"; -BINDING_NAME_SVUICRAFT_ARCH = "Toggle Archaeology Mode"; - --[[ GLOBALS ]]-- local _G = _G; @@ -37,6 +29,15 @@ local table = _G.table; local rept = string.rep; local tsort,twipe = table.sort,table.wipe; local floor,ceil = math.floor, math.ceil; + +--[[ CONSTANTS ]]-- + +_G.BINDING_HEADER_SVUICRAFT = "Supervillain UI: Craft-O-Matic"; +_G.BINDING_NAME_SVUICRAFT_FISH = "Toggle Fishing Mode"; +_G.BINDING_NAME_SVUICRAFT_FARM = "Toggle Farming Mode"; +_G.BINDING_NAME_SVUICRAFT_COOK = "Toggle Cooking Mode"; +_G.BINDING_NAME_SVUICRAFT_ARCH = "Toggle Archaeology Mode"; + --[[ ########################################################## GET ADDON DATA diff --git a/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua b/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua index 7b63e29..c34500a 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua +++ b/Interface/AddOns/SVUI_CraftOMatic/components/archaeology.lua @@ -79,12 +79,6 @@ LOCAL FUNCTIONS local function EnableSolve(index, button) button:SetAlpha(1) button.text:SetTextColor(1, 1, 1) - button:SetScript("OnEnter", function(self) - self.text:SetTextColor(1, 1, 0) - end) - button:SetScript("OnLeave", function(self) - self.text:SetTextColor(1, 1, 1) - end) button:SetScript("OnClick", function(self) SetSelectedArtifact(index) local _, _, _, _, _, numSockets = GetActiveArtifactByRace(index) @@ -109,9 +103,7 @@ local function DisableSolve(button) button:SetAlpha(0) button.text:SetTextColor(0.5, 0.5, 0.5) button.text:SetText("") - button:SetScript("OnEnter", SV.fubar) - button:SetScript("OnLeave", SV.fubar) - button:SetScript("OnMouseUp", SV.fubar) + button:SetScript("OnClick", SV.fubar) end local function UpdateArtifactBars(index) @@ -245,7 +237,7 @@ do local ArchSiteFound; local ArchCanSurvey, ArchWillSurvey = false, false; - SurveyCooldown:SetPoint("CENTER", UIParent, "CENTER", 0, -80) + SurveyCooldown:SetPoint("TOP", UIParent, "CENTER", 0, 0) SurveyCooldown:SetSize(50, 50) SurveyCooldown.text = SurveyCooldown:CreateTexture(nil, "OVERLAY") SurveyCooldown.text:SetAllPoints(SurveyCooldown) @@ -453,7 +445,7 @@ function PLUGIN:LoadArchaeologyMode() local solve = CreateFrame("Button", nil, bar, "SecureHandlerClickTemplate") local yOffset; - bar:SetPanelTemplate("Inset") + bar:SetPanelTemplate("Bar") bar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Template\DEFAULT]]) bar:SetSize(BAR_WIDTH,BAR_HEIGHT) if(i > 6) then @@ -464,32 +456,7 @@ function PLUGIN:LoadArchaeologyMode() bar:SetPoint("TOPLEFT", ArchCrafting, "TOPLEFT", 2, -yOffset) end bar:SetStatusBarColor(0.2, 0.2, 0.8, 0.5) - bar:SetScript("OnEnter", function(self) - GameTooltip:SetOwner(self, "ANCHOR_BOTTOMRIGHT", 2, 250) - GameTooltip:ClearLines() - if GetNumArtifactsByRace(i) > 0 then - SetSelectedArtifact(i) - local artifactName, artifactDescription, artifactRarity, _, _, keystoneCount = GetSelectedArtifactInfo() - local numFragmentsCollected, numFragmentsAdded, numFragmentsRequired = GetArtifactProgress() - local r, g, b - if artifactRarity == 1 then - artifactRarity = ITEM_QUALITY3_DESC - r, g, b = GetItemQualityColor(3) - else - artifactRarity = ITEM_QUALITY1_DESC - r, g, b = GetItemQualityColor(1) - end - GameTooltip:AddLine(artifactName, r, g, b, 1) - GameTooltip:AddLine(artifactRarity, r, g, b, r, g, b) - GameTooltip:AddDoubleLine(ARCHAEOLOGY_RUNE_STONES..": "..numFragmentsCollected.."/"..numFragmentsRequired, "Keystones: "..keystoneCount, 1, 1, 1, 1, 1, 1) - GameTooltip:AddLine(" ") - GameTooltip:AddLine(artifactDescription, 1, 1, 1, 1) - GameTooltip:Show() - end - end) - bar:SetScript("OnLeave", function() - GameTooltip:Hide() - end) + local sOffset = SV.Scale(1) -- Race Text race:SetFontObject(NumberFont_Outline_Large) @@ -516,6 +483,38 @@ function PLUGIN:LoadArchaeologyMode() solve.text:SetShadowColor(0,0,0,0.5) solve.text:SetText(SOLVE) solve.text:SetPoint("CENTER", solve, "CENTER", 2, 0) + solve.RaceIndex = i + solve.border = bar + solve:SetScript("OnEnter", function(self) + GameTooltip:SetOwner(self, "ANCHOR_BOTTOMRIGHT", 2, 250) + GameTooltip:ClearLines() + if GetNumArtifactsByRace(self.RaceIndex) > 0 then + self.text:SetTextColor(1, 1, 0) + self.border:SetBackdropBorderColor(0,0.8,1) + SetSelectedArtifact(self.RaceIndex) + local artifactName, artifactDescription, artifactRarity, _, _, keystoneCount = GetSelectedArtifactInfo() + local numFragmentsCollected, numFragmentsAdded, numFragmentsRequired = GetArtifactProgress() + local r, g, b + if artifactRarity == 1 then + artifactRarity = ITEM_QUALITY3_DESC + r, g, b = GetItemQualityColor(3) + else + artifactRarity = ITEM_QUALITY1_DESC + r, g, b = GetItemQualityColor(1) + end + GameTooltip:AddLine(artifactName, r, g, b, 1) + GameTooltip:AddLine(artifactRarity, r, g, b, r, g, b) + GameTooltip:AddDoubleLine(ARCHAEOLOGY_RUNE_STONES..": "..numFragmentsCollected.."/"..numFragmentsRequired, "Keystones: "..keystoneCount, 1, 1, 1, 1, 1, 1) + GameTooltip:AddLine(" ") + GameTooltip:AddLine(artifactDescription, 1, 1, 1, 1) + GameTooltip:Show() + end + end) + solve:SetScript("OnLeave", function(self) + self.text:SetTextColor(0.7, 0.7, 0.7) + self.border:SetBackdropBorderColor(0,0,0) + GameTooltip:Hide() + end) progressBars[i] = { ["bar"] = bar, diff --git a/Interface/AddOns/SVUI_FightOMatic/Loader.lua b/Interface/AddOns/SVUI_FightOMatic/Loader.lua index a6b4ee3..10cfbd1 100644 --- a/Interface/AddOns/SVUI_FightOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_FightOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua index 684631e..e726c62 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua @@ -16,10 +16,6 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- ---[[ CONSTANTS ]]-- - -BINDING_HEADER_SVUIFIGHT = "Supervillain UI: Fight-O-Matic"; -BINDING_NAME_SVUIFIGHT_RADIO = "Call Out Incoming"; --[[ GLOBALS ]]-- @@ -47,6 +43,11 @@ local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round; local tremove, twipe = table.remove, table.wipe; --[[ BINARY METHODS ]]-- local band, bor = bit.band, bit.bor; + +--[[ CONSTANTS ]]-- + +_G.BINDING_HEADER_SVUIFIGHT = "Supervillain UI: Fight-O-Matic"; +_G.BINDING_NAME_SVUIFIGHT_RADIO = "Call Out Incoming"; --[[ ########################################################## GET ADDON DATA diff --git a/Interface/AddOns/SVUI_LogOMatic/Loader.lua b/Interface/AddOns/SVUI_LogOMatic/Loader.lua index c07686b..68164db 100644 --- a/Interface/AddOns/SVUI_LogOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_LogOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua index 2865ff9..fb3e34a 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_TrackOMatic/Loader.lua b/Interface/AddOns/SVUI_TrackOMatic/Loader.lua index d8875c7..a96fd05 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/Loader.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/Loader.lua @@ -16,6 +16,13 @@ S U P E R - V I L L A I N - U I By: Munglunch # LOCALIZED LUA FUNCTIONS ########################################################## ]]-- +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +local assert = _G.assert; + local AddonName, AddonObject = ... assert(LibSuperVillain, AddonName .. " requires LibSuperVillain") diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua index 19ca479..7223fc5 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.lua @@ -42,6 +42,11 @@ local sqrt2, max = math.sqrt(2), math.max; local tcopy, twipe, tsort, tconcat, tdump = table.copy, table.wipe, table.sort, table.concat, table.dump; --[[ BINARY METHODS ]]-- local band = bit.band; + +--[[ CONSTANTS ]]-- + +_G.BINDING_HEADER_SVUITRACK = "Supervillain UI: Track-O-Matic"; +_G.BINDING_NAME_SVUITRACK_DOODAD = "Toggle Tracking Device"; --[[ ########################################################## GET ADDON DATA @@ -55,12 +60,9 @@ local SV = _G["SVUI"]; local L = SV.L; --[[ ########################################################## -LOCALS AND BINDING +LOCALS ########################################################## ]]-- -BINDING_HEADER_SVUITRACK = "Supervillain UI: Track-O-Matic"; -BINDING_NAME_SVUITRACK_DOODAD = "Toggle Tracking Device"; - local NewHook = hooksecurefunc; local playerGUID = UnitGUID('player') local classColor = RAID_CLASS_COLORS @@ -198,7 +200,7 @@ function PLUGIN:Load() _TRACKER.Range:SetFont(SV.Media.font.roboto, 14, "OUTLINE") _TRACKER.Range:SetTextColor(1, 1, 1, 0.75) _TRACKER.Spin = Rotate_Arrow - _TRACKER.Track = Triangulate + _TRACKER.Track = _G.Triangulate _TRACKER:RegisterForDrag("LeftButton"); _TRACKER:SetScript("OnUpdate", Tracker_OnUpdate) diff --git a/Interface/AddOns/SVUI_TrackOMatic/components/triangulate.lua b/Interface/AddOns/SVUI_TrackOMatic/components/triangulate.lua index 576b5f7..60f9f92 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/components/triangulate.lua +++ b/Interface/AddOns/SVUI_TrackOMatic/components/triangulate.lua @@ -388,7 +388,7 @@ local function GetDistance(map1, floor1, x1, y1, map2, floor2, x2, y2) return dist, angle; end -function Triangulate(unit, noMapLocation) +_G.Triangulate = function(unit, noMapLocation) if(WorldMap and WorldMap:IsShown()) then return end local plot1, plot2, plot3, plot4, plot5, plot6, plot7, plot8;