From 4c239cd599f220287b01017ee302ea3f14b6f055 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 13:33:43 +0200 Subject: [PATCH 01/38] configurable DR duration --- Lang.lua | 2 ++ Modules/Diminishings.lua | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Lang.lua b/Lang.lua index 473b243..45e8808 100644 --- a/Lang.lua +++ b/Lang.lua @@ -406,6 +406,8 @@ elseif GetLocale() == "deDE" then L["Categories"] = "Kategorien" L["Force Icon"] = "Erzwinge Symbol" L["Icon of the DR"] = "Symbol des DR" + L["DR Duration"] = "DR Dauer" + L["Change the DR Duration in seconds (DR is dynamic between 15-20s)"] = "Verändere die DR Dauer in Sekunden (DR ist dynamisch zwischen 15-20s)" -- ExportImport.lua L["Export Import"] = "Exportieren Importieren" diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 9c3b00b..db48ad6 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -1,8 +1,6 @@ local select = select local pairs,ipairs,tbl_sort,tinsert,format = pairs,ipairs,table.sort,tinsert,format -local drDuration = 18 - local GetSpellInfo = GetSpellInfo local CreateFrame = CreateFrame local GetTime = GetTime @@ -47,7 +45,8 @@ local Diminishings = Gladdy:NewModule("Diminishings", nil, { drQuarterColor = {r = 1, g = 0.7, b = 0, a = 1 }, drNullColor = {r = 1, g = 0, b = 0, a = 1 }, drWidthFactor = 1, - drCategories = defaultCategories() + drCategories = defaultCategories(), + drDuration = 18 }) local function getDiminishColor(dr) @@ -296,14 +295,14 @@ function Diminishings:AuraFade(unit, spellID) end end lastIcon.dr = drCat - lastIcon.timeLeft = drDuration + lastIcon.timeLeft = Gladdy.db.drDuration lastIcon.diminishing = DRData:NextDR(lastIcon.diminishing) if Gladdy.db.drBorderColorsEnabled then lastIcon.border:SetVertexColor(getDiminishColor(lastIcon.diminishing)) else lastIcon.border:SetVertexColor(Gladdy.db.drBorderColor.r, Gladdy.db.drBorderColor.g, Gladdy.db.drBorderColor.b, Gladdy.db.drBorderColor.a) end - lastIcon.cooldown:SetCooldown(GetTime(), drDuration) + lastIcon.cooldown:SetCooldown(GetTime(), Gladdy.db.drDuration) if Gladdy.db.drCategories[drCat].forceIcon then lastIcon.texture:SetTexture(Gladdy.db.drCategories[drCat].icon) else @@ -359,11 +358,20 @@ function Diminishings:GetOptions() desc = L["Enabled DR module"], order = 3, }), + drDuration = Gladdy:option({ + type = "range", + name = L["DR Duration"], + desc = L["Change the DR Duration in seconds (DR is dynamic between 15-20s)"], + order = 4, + min = 15, + max = 20, + step = .1, + }), group = { type = "group", childGroups = "tree", name = L["Frame"], - order = 4, + order = 5, args = { icon = { type = "group", From b73bc33630ca8e50f4cfb27ac1dc9e395220a594 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 13:34:10 +0200 Subject: [PATCH 02/38] scale in 0.01 percent steps --- Options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Options.lua b/Options.lua index 8fd249c..b2da325 100644 --- a/Options.lua +++ b/Options.lua @@ -270,7 +270,7 @@ function Gladdy:SetupOptions() order = 4, min = .1, max = 2, - step = .1, + step = .01, }, padding = { type = "range", From 79371b72b075c7fc6af8ce0879d487941aeb2c1b Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 14:05:37 +0200 Subject: [PATCH 03/38] fix shadowsight timer showing when not in arena or testmode --- Modules/ShadowsightTimer.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/ShadowsightTimer.lua b/Modules/ShadowsightTimer.lua index 097d238..1785e4e 100644 --- a/Modules/ShadowsightTimer.lua +++ b/Modules/ShadowsightTimer.lua @@ -101,7 +101,9 @@ function ShadowsightTimer:UpdateFrameOnce() self.timerFrame:SetScale(Gladdy.db.shadowsightTimerScale) self.timerFrame:ClearAllPoints() self.timerFrame:SetPoint(Gladdy.db.shadowsightTimerRelPoint1, nil, Gladdy.db.shadowsightTimerRelPoint2, Gladdy.db.shadowsightTimerX, Gladdy.db.shadowsightTimerY) - self.timerFrame:Show() + if Gladdy.frame.testing or Gladdy.curBracket then + self.timerFrame:Show() + end else self.timerFrame:SetScale(Gladdy.db.shadowsightTimerScale) self.timerFrame:ClearAllPoints() From d53f89c6d42b46f41fc827a78775f21be3f75ef8 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 14:06:15 +0200 Subject: [PATCH 04/38] hide blizzard arena pets as well --- Frame.lua | 11 +++++++++++ Gladdy.lua | 46 +++++++++++++++++++++++++--------------------- 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/Frame.lua b/Frame.lua index e4a9fd0..5ed139a 100644 --- a/Frame.lua +++ b/Frame.lua @@ -275,6 +275,17 @@ function Gladdy:UpdateFrame() for _, v in self:IterModules() do self:Call(v, "UpdateFrameOnce") end + if Gladdy.db.hideBlizzard == "always" then + Gladdy:BlizzArenaSetAlpha(0) + elseif Gladdy.db.hideBlizzard == "arena" then + if Gladdy.curBracket then + Gladdy:BlizzArenaSetAlpha(0) + else + Gladdy:BlizzArenaSetAlpha(1) + end + elseif Gladdy.db.hideBlizzard == "never" then + Gladdy:BlizzArenaSetAlpha(1) + end end function Gladdy:HideFrame() diff --git a/Gladdy.lua b/Gladdy.lua index 252c270..32b0e1f 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -229,13 +229,7 @@ function Gladdy:OnInitialize() end self:DeleteUnknownOptions(self.db, self.defaults.profile) if Gladdy.db.hideBlizzard == "always" then - if IsAddOnLoaded("Blizzard_ArenaUI") then - ArenaEnemyFrame1:SetAlpha(0) - ArenaEnemyFrame2:SetAlpha(0) - ArenaEnemyFrame3:SetAlpha(0) - ArenaEnemyFrame4:SetAlpha(0) - ArenaEnemyFrame5:SetAlpha(0) - end + Gladdy:BlizzArenaSetAlpha(0) end end @@ -391,13 +385,7 @@ function Gladdy:Reset() self:ResetUnit(unit) end if Gladdy.db.hideBlizzard == "never" or Gladdy.db.hideBlizzard == "arena" then - if IsAddOnLoaded("Blizzard_ArenaUI") then - ArenaEnemyFrame1:SetAlpha(1) - ArenaEnemyFrame2:SetAlpha(1) - ArenaEnemyFrame3:SetAlpha(1) - ArenaEnemyFrame4:SetAlpha(1) - ArenaEnemyFrame5:SetAlpha(1) - end + Gladdy:BlizzArenaSetAlpha(1) end end @@ -462,12 +450,28 @@ function Gladdy:JoinedArena() self.buttons["arena" .. i]:SetAlpha(1) end if Gladdy.db.hideBlizzard == "arena" or Gladdy.db.hideBlizzard == "always" then - if IsAddOnLoaded("Blizzard_ArenaUI") then - ArenaEnemyFrame1:SetAlpha(0) - ArenaEnemyFrame2:SetAlpha(0) - ArenaEnemyFrame3:SetAlpha(0) - ArenaEnemyFrame4:SetAlpha(0) - ArenaEnemyFrame5:SetAlpha(0) - end + Gladdy:BlizzArenaSetAlpha(0) end end + +--------------------------- + +-- BLIZZARD FRAMES + +--------------------------- + +function Gladdy:BlizzArenaSetAlpha(alpha) + if IsAddOnLoaded("Blizzard_ArenaUI") then + ArenaEnemyFrames:SetAlpha(alpha) + ArenaEnemyFrame1:SetAlpha(alpha) + ArenaEnemyFrame1PetFrame:SetAlpha(alpha) + ArenaEnemyFrame2:SetAlpha(alpha) + ArenaEnemyFrame2PetFrame:SetAlpha(alpha) + ArenaEnemyFrame3:SetAlpha(alpha) + ArenaEnemyFrame3PetFrame:SetAlpha(alpha) + ArenaEnemyFrame4:SetAlpha(alpha) + ArenaEnemyFrame4PetFrame:SetAlpha(alpha) + ArenaEnemyFrame5:SetAlpha(alpha) + ArenaEnemyFrame5PetFrame:SetAlpha(alpha) + end +end \ No newline at end of file From 0d5b5644a9a7f3366ca00a3f058e9e0eb72a924f Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 14:19:13 +0200 Subject: [PATCH 05/38] testmode DR only with enabled DRs --- Modules/Diminishings.lua | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index db48ad6..0541109 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -257,17 +257,17 @@ end function Diminishings:Test(unit) if Gladdy.db.drEnabled then - local spells = { 33786, 118, 8643, 8983 } - for i = 1, 4 do - if i == 1 then - self:AuraFade(unit, spells[i]) - elseif i == 2 then - self:AuraFade(unit, spells[i]) - self:AuraFade(unit, spells[i]) - else - self:AuraFade(unit, spells[i]) - self:AuraFade(unit, spells[i]) - self:AuraFade(unit, spells[i]) + local limit = {} + for spellID,category in pairs(DRData:GetSpells()) do + if Gladdy.db.drCategories[category].enabled then + if not limit[category] then + limit[category] = { count = 1, limit = math.random(1,3) } + else + limit[category].count = limit[category].count + 1 + end + if limit[category].count <= limit[category].limit then + self:AuraFade(unit, spellID) + end end end end From 74753e327c8dc62ff7585fcf2f4b0530ea90c4e3 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 15:13:19 +0200 Subject: [PATCH 06/38] testmode random Auras + Interrupts only with enabled Auras + Interrupts --- EventListener.lua | 6 +-- Modules/Auras.lua | 79 +++++++++++++++++++++++++++++----------- Modules/Diminishings.lua | 4 +- 3 files changed, 62 insertions(+), 27 deletions(-) diff --git a/EventListener.lua b/EventListener.lua index 2f73d8d..8734d44 100644 --- a/EventListener.lua +++ b/EventListener.lua @@ -167,7 +167,7 @@ function EventListener:ARENA_OPPONENT_UPDATE(unit, updateReason) end end -local exceptionNames = { -- TODO MOVE ME TO CLASSBUFFS LIB +Gladdy.exceptionNames = { -- TODO MOVE ME TO CLASSBUFFS LIB [31117] = GetSpellInfo(30405) .. " Silence", -- Unstable Affliction Silence [43523] = GetSpellInfo(30405) .. " Silence", [24131] = select(1, GetSpellInfo(19386)) .. " Dot", -- Wyvern Sting Dot @@ -207,8 +207,8 @@ function EventListener:UNIT_AURA(unit) Gladdy:DetectSpec(unit, Gladdy.specBuffs[spellName]) end end - if exceptionNames[spellID] then - spellName = exceptionNames[spellID] + if Gladdy.exceptionNames[spellID] then + spellName = Gladdy.exceptionNames[spellID] end Gladdy:SendMessage("AURA_GAIN", unit, auraType, spellID, spellName, texture, duration, expirationTime, count, debuffType, i) Gladdy:Call("Announcements", "CheckDrink", unit, spellName) diff --git a/Modules/Auras.lua b/Modules/Auras.lua index 50e65cc..5813418 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -1,4 +1,4 @@ -local pairs, ipairs, select, tinsert, tbl_sort, tostring = pairs, ipairs, select, tinsert, table.sort, tostring +local pairs, ipairs, select, tinsert, tbl_sort, tostring, tonumber, rand = pairs, ipairs, select, tinsert, table.sort, tostring, tonumber, math.random local GetSpellInfo = GetSpellInfo local CreateFrame, GetTime = CreateFrame, GetTime @@ -266,28 +266,63 @@ function Auras:ResetUnit(unit) end function Auras:Test(unit) - local spellName, _, icon + local spellName, spellid, icon, limit, i - if (unit == "arena1") then - spellName, _, icon = GetSpellInfo(7922) - self:AURA_FADE(unit, AURA_TYPE_BUFF) - self:AURA_FADE(unit, AURA_TYPE_DEBUFF) - self:AURA_GAIN(unit,AURA_TYPE_DEBUFF, 7922, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) - self:SPELL_INTERRUPT(unit,19244, select(1, GetSpellInfo(19244)), "physical", 25396, select(1, GetSpellInfo(25396)), 64) - elseif (unit == "arena2") then - spellName = select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689)) - _, _, icon = GetSpellInfo(27010) - self:AURA_FADE(unit, AURA_TYPE_BUFF) - self:AURA_FADE(unit,AURA_TYPE_DEBUFF) - self:AURA_GAIN(unit,AURA_TYPE_DEBUFF, 27010, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) - self:SPELL_INTERRUPT(unit,19244, select(1, GetSpellInfo(19244)), "physical", 25396, select(1, GetSpellInfo(25396)), 64) - elseif (unit == "arena3") then - spellName, _, icon = GetSpellInfo(34709) - self:AURA_FADE(unit, AURA_TYPE_BUFF) - self:AURA_GAIN(unit,AURA_TYPE_BUFF, 34709, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) - spellName, _, icon = GetSpellInfo(18425) - --self:AURA_FADE(unit, AURA_TYPE_DEBUFF) - --self:AURA_GAIN(unit,AURA_TYPE_DEBUFF, 18425, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) + self:AURA_FADE(unit, AURA_TYPE_BUFF) + self:AURA_FADE(unit, AURA_TYPE_DEBUFF) + + --Auras + local enabledAuras = 0 + for _,value in pairs(Gladdy.db.auraListDefault) do + if value.enabled then + enabledAuras = enabledAuras + 1 + end + end + if enabledAuras > 0 then + limit, i = rand(1, enabledAuras), 1 + for spellIdStr,value in pairs(Gladdy.db.auraListDefault) do + if i > limit then break end + if value.enabled then + spellid = tonumber(spellIdStr) + spellName = select(1, GetSpellInfo(tonumber(spellIdStr))) + icon = select(3, GetSpellInfo(tonumber(spellIdStr))) + if Gladdy.exceptionNames[spellid] then + spellName = Gladdy.exceptionNames[spellid] + end + self:AURA_GAIN(unit,value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) + i = i + 1 + end + end + end + + --Interrupts + local spellSchools = {} + for k,_ in pairs(Gladdy:GetSpellSchoolColors()) do + tinsert(spellSchools, k) + end + enabledAuras = 0 + for _, value in pairs(Gladdy.db.auraListInterrupts) do + if value.enabled then + enabledAuras = enabledAuras + 1 + end + end + if enabledAuras > 0 then + limit, i = rand(1, enabledAuras), 1 + local extraSpellSchool + for spellIdStr, value in pairs(Gladdy.db.auraListInterrupts) do + if i > limit then break end + if value.enabled then + enabledAuras = enabledAuras + 1 + end + spellid = tonumber(spellIdStr) + if (unit == "arena1" or unit == "arena2") then + extraSpellSchool = spellSchools[rand(1, #spellSchools)] + spellName = select(1, GetSpellInfo(spellid)) + Gladdy:Print(spellName, extraSpellSchool) + self:SPELL_INTERRUPT(unit,spellid, spellName, "physical", spellid, spellName, extraSpellSchool) + end + i = i + 1 + end end end diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 0541109..915f138 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -1,5 +1,5 @@ local select = select -local pairs,ipairs,tbl_sort,tinsert,format = pairs,ipairs,table.sort,tinsert,format +local pairs,ipairs,tbl_sort,tinsert,format,rand = pairs,ipairs,table.sort,tinsert,format,math.random local GetSpellInfo = GetSpellInfo local CreateFrame = CreateFrame @@ -261,7 +261,7 @@ function Diminishings:Test(unit) for spellID,category in pairs(DRData:GetSpells()) do if Gladdy.db.drCategories[category].enabled then if not limit[category] then - limit[category] = { count = 1, limit = math.random(1,3) } + limit[category] = { count = 1, limit = rand(1,3) } else limit[category].count = limit[category].count + 1 end From 720e5b63ec6162c273dcb3e6b677eebf8b1e4563 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 15:53:13 +0200 Subject: [PATCH 07/38] totemplates fix option to alter all colors/alphas --- Modules/TotemPlates.lua | 87 ++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/Modules/TotemPlates.lua b/Modules/TotemPlates.lua index 189a28f..77a8f3e 100644 --- a/Modules/TotemPlates.lua +++ b/Modules/TotemPlates.lua @@ -3,7 +3,7 @@ local UnitExists, UnitIsUnit, UnitName, UnitIsEnemy = UnitExists, UnitIsUnit, Un local C_NamePlate = C_NamePlate local Gladdy = LibStub("Gladdy") local L = Gladdy.L -local GetSpellInfo, CreateFrame, GetCVar = GetSpellInfo, CreateFrame, GetCVar +local GetSpellInfo, CreateFrame = GetSpellInfo, CreateFrame --------------------------------------------------- @@ -117,8 +117,8 @@ local function GetTotemColorDefaultOptions() desc = "Enable " .. format("|T%s:20|t %s", indexedList[i].texture, select(1, GetSpellInfo(indexedList[i].id))), type = "toggle", width = "full", - get = function(info) return Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].enabled end, - set = function(info, value) + get = function() return Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].enabled end, + set = function(_, value) Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].enabled = value Gladdy:UpdateFrame() end @@ -130,15 +130,13 @@ local function GetTotemColorDefaultOptions() order = 3, hasAlpha = true, width = "full", - get = function(info) - local key = info.arg or info[#info] + get = function() return Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.r, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.g, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.b, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.a end, - set = function(info, r, g, b, a) - local key = info.arg or info[#info] + set = function(_, r, g, b, a) Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.r, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.g, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].color.b, @@ -154,10 +152,10 @@ local function GetTotemColorDefaultOptions() max = 1, step = 0.1, width = "full", - get = function(info) + get = function() return Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].alpha end, - set = function(info, value) + set = function(_, value) Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id].alpha = value Gladdy:UpdateFrame() end @@ -167,8 +165,8 @@ local function GetTotemColorDefaultOptions() name = L["Custom totem name"], order = 5, width = "full", - get = function(info) return Gladdy.db.npTotemColors["totem" .. indexedList[i].id].customText end, - set = function(info, value) Gladdy.db.npTotemColors["totem" .. indexedList[i].id].customText = value Gladdy:UpdateFrame() end + get = function() return Gladdy.db.npTotemColors["totem" .. indexedList[i].id].customText end, + set = function(_, value) Gladdy.db.npTotemColors["totem" .. indexedList[i].id].customText = value Gladdy:UpdateFrame() end }, } } @@ -176,15 +174,6 @@ local function GetTotemColorDefaultOptions() return defaultDB, options, indexedList end -local function GetTotemOptions() - local indexedList = select(3, GetTotemColorDefaultOptions()) - local colorList = {} - for i=1, #indexedList do - tinsert(colorList, Gladdy.dbi.profile.npTotemColors["totem" .. indexedList[i].id]) - end - return colorList -end - function Gladdy:GetTotemColors() return GetTotemColorDefaultOptions() end @@ -394,11 +383,11 @@ function TotemPlates:ToggleAddon(nameplate, show) local addonFrames = { self:GetAddonFrame(nameplate) } if addonFrames and #addonFrames > 0 then if show then - for i,v in ipairs(addonFrames) do + for _,v in ipairs(addonFrames) do v:Show() end else - for i,v in ipairs(addonFrames) do + for _,v in ipairs(addonFrames) do v:Hide() end end @@ -665,19 +654,23 @@ function TotemPlates:GetOptions() step = 0.1, width = "full", order = 23, - get = function(info) - local alphas = GetTotemOptions() - for i=2, #alphas do - if alphas[i].alpha ~= alphas[1].alpha then - return "" + get = function() + local alpha, i = nil, 1 + for _,v in pairs(Gladdy.dbi.profile.npTotemColors) do + if i == 1 then + alpha = v.alpha + i = i + 1 + else + if v.alpha ~= alpha then + return "" + end end end - return alphas[1].alpha + return alpha end, - set = function(info, value) - local alphas = GetTotemOptions() - for i=1, #alphas do - alphas[i].alpha = value + set = function(_, value) + for _,v in pairs(Gladdy.dbi.profile.npTotemColors) do + v.alpha = value end Gladdy:UpdateFrame() end, @@ -705,23 +698,27 @@ function TotemPlates:GetOptions() name = L["All totem border color"], order = 42, hasAlpha = true, - get = function(info) - local colors = GetTotemOptions() - local color = colors[1].color - for i=2, #colors do - if colors[i].r ~= color.r or colors[i].color.r ~= color.r or colors[i].color.r ~= color.r or colors[i].color.r ~= color.r then - return 0, 0, 0, 0 + get = function() + local color + local i = 1 + for _,v in pairs(Gladdy.dbi.profile.npTotemColors) do + if i == 1 then + color = v.color + i = i + 1 + else + if v.color.r ~= color.r or v.color.g ~= color.g or v.color.b ~= color.b or v.color.a ~= color.a then + return 0, 0, 0, 0 + end end end return color.r, color.g, color.b, color.a end, - set = function(info, r, g, b, a) - local colors = GetTotemOptions() - for i=1, #colors do - colors[i].color.r = r - colors[i].color.g = g - colors[i].color.b = b - colors[i].color.a = a + set = function(_, r, g, b, a) + for _,v in pairs(Gladdy.dbi.profile.npTotemColors) do + v.color.r = r + v.color.g = g + v.color.b = b + v.color.a = a end Gladdy:UpdateFrame() end, From 51cd2b73111fb800b41ab7986a40b84d94aef6d9 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 15:53:34 +0200 Subject: [PATCH 08/38] clean up --- Gladdy.lua | 22 +++++++------- Modules/ArenaCountDown.lua | 1 - Modules/Auras.lua | 50 ++++++++++++++++---------------- Modules/Classicon.lua | 4 +-- Modules/Clicks.lua | 4 +-- Modules/Cooldowns.lua | 56 +++++++++++++++++------------------- Modules/Diminishings.lua | 18 ++++++------ Modules/Healthbar.lua | 2 -- Modules/Pets.lua | 4 +-- Modules/Racial.lua | 5 +--- Modules/ShadowsightTimer.lua | 2 +- Modules/Trinket.lua | 2 +- Modules/VersionCheck.lua | 4 +-- 13 files changed, 83 insertions(+), 91 deletions(-) diff --git a/Gladdy.lua b/Gladdy.lua index 32b0e1f..1957227 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -131,8 +131,8 @@ function Gladdy:Call(module, func, ...) end end function Gladdy:SendMessage(message, ...) - for k, v in self:IterModules() do - self:Call(v, v.messages[message], ...) + for _, module in self:IterModules() do + self:Call(module, module.messages[message], ...) end end @@ -224,8 +224,8 @@ function Gladdy:OnInitialize() self:SetupOptions() - for k, v in self:IterModules() do - self:Call(v, "Initialize") -- B.E > A.E :D + for _, module in self:IterModules() do + self:Call(module, "Initialize") -- B.E > A.E :D end self:DeleteUnknownOptions(self.db, self.defaults.profile) if Gladdy.db.hideBlizzard == "always" then @@ -304,8 +304,8 @@ function Gladdy:Test() button[k] = v end - for k, v in self:IterModules() do - self:Call(v, "Test", unit) + for _, module in self:IterModules() do + self:Call(module, "Test", unit) end button:SetAlpha(1) @@ -369,7 +369,7 @@ end function Gladdy:Reset() if type(self.guids) == "table" then - for k, v in pairs(self.guids) do + for k,_ in pairs(self.guids) do self.guids[k] = nil end end @@ -377,8 +377,8 @@ function Gladdy:Reset() self.curBracket = nil self.curUnit = 1 - for k1, v1 in self:IterModules() do - self:Call(v1, "Reset") + for _, module in self:IterModules() do + self:Call(module, "Reset") end for unit in pairs(self.buttons) do @@ -398,8 +398,8 @@ function Gladdy:ResetUnit(unit) button:SetAlpha(0) self:ResetButton(unit) - for k2, v2 in self:IterModules() do - self:Call(v2, "ResetUnit", unit) + for _, module in self:IterModules() do + self:Call(module, "ResetUnit", unit) end end diff --git a/Modules/ArenaCountDown.lua b/Modules/ArenaCountDown.lua index 8a38b5e..ca404d1 100644 --- a/Modules/ArenaCountDown.lua +++ b/Modules/ArenaCountDown.lua @@ -1,6 +1,5 @@ local floor, str_len, tostring, str_sub, str_find, pairs = math.floor, string.len, tostring, string.sub, string.find, pairs local CreateFrame = CreateFrame -local GetLocale = GetLocale local GetTime = GetTime local Gladdy = LibStub("Gladdy") diff --git a/Modules/Auras.lua b/Modules/Auras.lua index 5813418..3f88fd6 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -8,7 +8,7 @@ local Gladdy = LibStub("Gladdy") local L = Gladdy.L local function defaultSpells(auraType) local spells = {} - for k,v in pairs(Gladdy:GetImportantAuras()) do + for _,v in pairs(Gladdy:GetImportantAuras()) do if not auraType or auraType == v.track then spells[tostring(v.spellID)] = {} spells[tostring(v.spellID)].enabled = true @@ -20,7 +20,7 @@ local function defaultSpells(auraType) end local function defaultInterrupts() local spells = {} - for k,v in pairs(Gladdy:GetInterrupts()) do + for _,v in pairs(Gladdy:GetInterrupts()) do spells[tostring(v.spellID)] = {} spells[tostring(v.spellID)].enabled = true spells[tostring(v.spellID)].priority = v.priority @@ -327,10 +327,10 @@ function Auras:Test(unit) end function Auras:JOINED_ARENA() - for i=1, Gladdy.curBracket do - --self.frames["arena" .. i]:RegisterUnitEvent("UNIT_AURA", "arena" .. i) - --self.frames["arena" .. i]:SetScript("OnEvent", Auras.OnEvent) - end + --[[for i=1, Gladdy.curBracket do + self.frames["arena" .. i]:RegisterUnitEvent("UNIT_AURA", "arena" .. i) + self.frames["arena" .. i]:SetScript("OnEvent", Auras.OnEvent) + end--]] end function Auras:AURA_GAIN(unit, auraType, spellID, spellName, icon, duration, expirationTime, count, debuffType) @@ -498,7 +498,7 @@ function Auras:GetOptions() order = i + 13, hasAlpha = true, width = "0.8", - set = function(info, r, g, b, a) + set = function(_, r, g, b, a) Gladdy.db.auraInterruptColors[v.key].r = r Gladdy.db.auraInterruptColors[v.key].g = g Gladdy.db.auraInterruptColors[v.key].b = b @@ -626,8 +626,8 @@ function Auras:GetAuraOptions(auraType) width = "0.7", name = L["Check All"], type = "execute", - func = function(info) - for k,v in pairs(defaultSpells(auraType)) do + func = function() + for k,_ in pairs(defaultSpells(auraType)) do Gladdy.db.auraListDefault[k].enabled = true end end, @@ -637,15 +637,15 @@ function Auras:GetAuraOptions(auraType) width = "0.7", name = L["Uncheck All"], type = "execute", - func = function(info) - for k,v in pairs(defaultSpells(auraType)) do + func = function() + for k,_ in pairs(defaultSpells(auraType)) do Gladdy.db.auraListDefault[k].enabled = false end end, }, } local auras = {} - for k,v in pairs(Gladdy:GetImportantAuras()) do + for _,v in pairs(Gladdy:GetImportantAuras()) do if v.track == auraType then tinsert(auras, v.spellID) end @@ -670,10 +670,10 @@ function Auras:GetAuraOptions(auraType) type = "toggle", image = Gladdy:GetImportantAuras()[GetSpellInfo(k)] and Gladdy:GetImportantAuras()[GetSpellInfo(k)].texture or select(3, GetSpellInfo(k)), width = "2", - set = function(info, value) + set = function(_, value) Gladdy.db.auraListDefault[tostring(k)].enabled = value end, - get = function(info) + get = function() return Gladdy.db.auraListDefault[tostring(k)].enabled end }, @@ -685,10 +685,10 @@ function Auras:GetAuraOptions(auraType) max = 50, width = "2", step = 1, - get = function(info) + get = function() return Gladdy.db.auraListDefault[tostring(k)].priority end, - set = function(info, value) + set = function(_, value) Gladdy.db.auraListDefault[tostring(k)].priority = value end, width = "full", @@ -706,8 +706,8 @@ function Auras:GetInterruptOptions() width = "0.7", name = L["Check All"], type = "execute", - func = function(info) - for k,v in pairs(defaultInterrupts()) do + func = function() + for k,_ in pairs(defaultInterrupts()) do Gladdy.db.auraListInterrupts[k].enabled = true end end, @@ -717,15 +717,15 @@ function Auras:GetInterruptOptions() width = "0.7", name = L["Uncheck All"], type = "execute", - func = function(info) - for k,v in pairs(defaultInterrupts()) do + func = function() + for k,_ in pairs(defaultInterrupts()) do Gladdy.db.auraListInterrupts[k].enabled = false end end, }, } local auras = {} - for k,v in pairs(Gladdy:GetInterrupts()) do + for _,v in pairs(Gladdy:GetInterrupts()) do tinsert(auras, v.spellID) end tbl_sort(auras, function(a, b) return GetSpellInfo(a) < GetSpellInfo(b) end) @@ -745,10 +745,10 @@ function Auras:GetInterruptOptions() type = "toggle", image = Gladdy:GetInterrupts()[GetSpellInfo(k)] and Gladdy:GetInterrupts()[GetSpellInfo(k)].texture or select(3, GetSpellInfo(k)), width = "2", - set = function(info, value) + set = function(_, value) Gladdy.db.auraListInterrupts[tostring(k)].enabled = value end, - get = function(info) + get = function() return Gladdy.db.auraListInterrupts[tostring(k)].enabled end }, @@ -760,10 +760,10 @@ function Auras:GetInterruptOptions() max = 50, width = "2", step = 1, - get = function(info) + get = function() return Gladdy.db.auraListInterrupts[tostring(k)].priority end, - set = function(info, value) + set = function(_, value) Gladdy.db.auraListInterrupts[tostring(k)].priority = value end, width = "full", diff --git a/Modules/Classicon.lua b/Modules/Classicon.lua index 7f44842..839b52f 100644 --- a/Modules/Classicon.lua +++ b/Modules/Classicon.lua @@ -178,8 +178,8 @@ function Classicon:GetOptions() name = L["Show Spec Icon"], desc = L["Shows Spec Icon once spec is detected"], order = 3, - get = function(info) return Gladdy.db.classIconSpecIcon end, - set = function(info, value) + get = function() return Gladdy.db.classIconSpecIcon end, + set = function(_, value) Gladdy.db.classIconSpecIcon = value if Gladdy.curBracket and Gladdy.curBracket > 0 then for i=1,Gladdy.curBracket do diff --git a/Modules/Clicks.lua b/Modules/Clicks.lua index ae9b9a3..2e20924 100644 --- a/Modules/Clicks.lua +++ b/Modules/Clicks.lua @@ -70,7 +70,7 @@ function Clicks:UpdateFrame(unit) end function Clicks:UpdateFrameOnce() - for k, v in pairs(Gladdy.buttons) do + for _, v in pairs(Gladdy.buttons) do local left = GetBindingKey(("GLADDYBUTTON%d_LEFT"):format(v.id)) local right = GetBindingKey(("GLADDYBUTTON%d_RIGHT"):format(v.id)) local middle = GetBindingKey(("GLADDYBUTTON%d_MIDDLE"):format(v.id)) @@ -107,7 +107,7 @@ function Clicks:SetupAttributes(unit) return end - for k, v in pairs(Gladdy.db.attributes) do + for _, v in pairs(Gladdy.db.attributes) do self:SetupAttribute(button, v.button, v.modifier, v.action, v.spell) end end diff --git a/Modules/Cooldowns.lua b/Modules/Cooldowns.lua index aa6b984..181c029 100644 --- a/Modules/Cooldowns.lua +++ b/Modules/Cooldowns.lua @@ -36,9 +36,9 @@ local L = Gladdy.L local function getDefaultCooldown() local cooldowns = {} - for class, t in pairs(Gladdy:GetCooldownList()) do - for spellId, v in pairs(t) do - local spellName, _, texture = GetSpellInfo(spellId) + for _,spellTable in pairs(Gladdy:GetCooldownList()) do + for spellId,_ in pairs(spellTable) do + local spellName = GetSpellInfo(spellId) if spellName then cooldowns[tostring(spellId)] = true else @@ -72,14 +72,14 @@ local Cooldowns = Gladdy:NewModule("Cooldowns", nil, { function Cooldowns:Initialize() self.cooldownSpellIds = {} self.spellTextures = {} - for class, t in pairs(Gladdy:GetCooldownList()) do - for k, v in pairs(t) do - local spellName, _, texture = GetSpellInfo(k) + for _,spellTable in pairs(Gladdy:GetCooldownList()) do + for spellId,_ in pairs(spellTable) do + local spellName, _, texture = GetSpellInfo(spellId) if spellName then - self.cooldownSpellIds[spellName] = k - self.spellTextures[k] = texture + self.cooldownSpellIds[spellName] = spellId + self.spellTextures[spellId] = texture else - Gladdy:Print("spellid does not exist " .. k) + Gladdy:Print("spellid does not exist " .. spellId) end end end @@ -261,13 +261,12 @@ function Cooldowns:UpdateTestCooldowns(unit) button.test = true -- use class spells - for k, v in pairs(Gladdy:GetCooldownList()[button.class]) do - --k is spellId - self:CooldownUsed(unit, button.class, k, nil) + for spellId,_ in pairs(Gladdy:GetCooldownList()[button.class]) do + self:CooldownUsed(unit, button.class, spellId) end -- use race spells - for k, v in pairs(Gladdy:GetCooldownList()[button.race]) do - self:CooldownUsed(unit, button.race, k, nil) + for spellId,_ in pairs(Gladdy:GetCooldownList()[button.race]) do + self:CooldownUsed(unit, button.race, spellId) end end end @@ -353,7 +352,6 @@ function Cooldowns:DetectSpec(unit, spec) ]] if (Gladdy.db.cooldown) then local class = Gladdy.buttons[unit].class - local race = Gladdy.buttons[unit].race for k, v in pairs(Gladdy:GetCooldownList()[class]) do if Gladdy.db.cooldownCooldowns[tostring(k)] then --if (self.db.cooldownList[k] ~= false and self.db.cooldownList[class] ~= false) then @@ -484,7 +482,7 @@ function Cooldowns:UpdateCooldowns(button) end end -function Cooldowns:CooldownUsed(unit, unitClass, spellId, spellName) +function Cooldowns:CooldownUsed(unit, unitClass, spellId) local button = Gladdy.buttons[unit] if not button then return @@ -502,8 +500,8 @@ function Cooldowns:CooldownUsed(unit, unitClass, spellId, spellName) -- check if we need to reset other cooldowns because of this spell if (cooldown.resetCD ~= nil) then - for k, v in pairs(cooldown.resetCD) do - self:CooldownReady(button, k, false) + for spellID,_ in pairs(cooldown.resetCD) do + self:CooldownReady(button, spellID, false) end end @@ -519,9 +517,9 @@ function Cooldowns:CooldownUsed(unit, unitClass, spellId, spellName) if (cooldown.sharedCD ~= nil) then local sharedCD = cooldown.sharedCD.cd and cooldown.sharedCD.cd or cd - for k, v in pairs(cooldown.sharedCD) do - if (k ~= "cd") then - self:CooldownStart(button, k, sharedCD) + for spellID,_ in pairs(cooldown.sharedCD) do + if (spellID ~= "cd") then + self:CooldownStart(button, spellID, sharedCD) end end end @@ -816,10 +814,10 @@ function Cooldowns:GetCooldownOptions() order = o, width = "full", image = select(3, GetSpellInfo(spellId)), - get = function(info) + get = function() return Gladdy.db.cooldownCooldowns[tostring(spellId)] end, - set = function(info, value) + set = function(_, value) Gladdy.db.cooldownCooldowns[tostring(spellId)] = value Gladdy:UpdateFrame() end @@ -845,10 +843,10 @@ function Cooldowns:GetCooldownOptions() order = o, width = "full", image = select(3, GetSpellInfo(spellId)), - get = function(info) + get = function() return Gladdy.db.cooldownCooldowns[tostring(spellId)] end, - set = function(info, value) + set = function(_, value) Gladdy.db.cooldownCooldowns[tostring(spellId)] = value Gladdy:UpdateFrame() end @@ -870,13 +868,13 @@ function Gladdy:UpdateTestCooldowns(i) Cooldowns:DetectSpec(unit, button.testSpec) -- use class spells - for k, v in pairs(Gladdy:GetCooldownList()[button.class]) do + for spellID,_ in pairs(Gladdy:GetCooldownList()[button.class]) do --k is spellId - Cooldowns:CooldownUsed(unit, button.class, k, nil) + Cooldowns:CooldownUsed(unit, button.class, spellID) end -- use race spells - for k, v in pairs(Gladdy:GetCooldownList()[button.race]) do - Cooldowns:CooldownUsed(unit, button.race, k, nil) + for spellID,_ in pairs(Gladdy:GetCooldownList()[button.race]) do + Cooldowns:CooldownUsed(unit, button.race, spellID) end end end \ No newline at end of file diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 915f138..7cb8903 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -15,7 +15,7 @@ local function defaultCategories() tinsert(indexList, {spellID = k, category = v}) end tbl_sort(indexList, function(a, b) return a.spellID < b.spellID end) - for i,v in ipairs(indexList) do + for _,v in ipairs(indexList) do if not categories[v.category] then categories[v.category] = { enabled = true, @@ -596,11 +596,11 @@ end function Diminishings:CategoryOptions() local categories = {} local indexList = {} - for k,v in pairs(DRData:GetCategories()) do + for k,_ in pairs(DRData:GetCategories()) do tinsert(indexList, k) end tbl_sort(indexList) - for i, k in ipairs(indexList) do + for i,k in ipairs(indexList) do categories[k] = { type = "group", name = DRData:GetCategoryName(k), @@ -611,10 +611,10 @@ function Diminishings:CategoryOptions() type = "toggle", name = L["Enabled"], order = 1, - get = function(info) + get = function() return Gladdy.db.drCategories[k].enabled end, - set = function(info, value) + set = function(_, value) Gladdy.db.drCategories[k].enabled = value end, }, @@ -622,10 +622,10 @@ function Diminishings:CategoryOptions() type = "toggle", name = L["Force Icon"], order = 2, - get = function(info) + get = function() return Gladdy.db.drCategories[k].forceIcon end, - set = function(info, value) + set = function(_, value) Gladdy.db.drCategories[k].forceIcon = value end, }, @@ -635,10 +635,10 @@ function Diminishings:CategoryOptions() desc = L["Icon of the DR"], order = 4, values = Diminishings:GetDRIcons(k), - get = function(info) + get = function() return Gladdy.db.drCategories[k].icon end, - set = function(info, value) + set = function(_, value) Gladdy.db.drCategories[k].icon = value Gladdy.options.args.Diminishings.args.categories.args[k].icon = value end, diff --git a/Modules/Healthbar.lua b/Modules/Healthbar.lua index a9d9d96..870bee4 100644 --- a/Modules/Healthbar.lua +++ b/Modules/Healthbar.lua @@ -167,8 +167,6 @@ function Healthbar:UpdateFrame(unit) return end - local iconSize = Gladdy.db.healthBarHeight + Gladdy.db.powerBarHeight - healthBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.healthBarTexture)) healthBar.bg:SetVertexColor(Gladdy.db.healthBarBgColor.r, Gladdy.db.healthBarBgColor.g, Gladdy.db.healthBarBgColor.b, Gladdy.db.healthBarBgColor.a) diff --git a/Modules/Pets.lua b/Modules/Pets.lua index 7ab729f..3994492 100644 --- a/Modules/Pets.lua +++ b/Modules/Pets.lua @@ -35,12 +35,12 @@ function Pets:Initialize() end function Pets:JOINED_ARENA() - for k,v in pairs(self.frames) do + for _,v in pairs(self.frames) do v.healthBar:SetAlpha(0) end if Gladdy.db.petEnabled then self:RegisterEvent("UNIT_PET") - self:SetScript("OnEvent", function(self, event, unitId) + self:SetScript("OnEvent", function(_, event, unitId) if event == "UNIT_PET" then local unit = Gladdy.guids[UnitGUID(unitId)] if unit then diff --git a/Modules/Racial.lua b/Modules/Racial.lua index cf988c6..acfcaa1 100644 --- a/Modules/Racial.lua +++ b/Modules/Racial.lua @@ -1,10 +1,8 @@ -local ceil, floor, string_format, tonumber = ceil, floor, string.format, tonumber +local ceil = ceil local CreateFrame = CreateFrame local GetTime = GetTime - - local Gladdy = LibStub("Gladdy") local L = Gladdy.L local Racial = Gladdy:NewModule("Racial", nil, { @@ -123,7 +121,6 @@ function Racial:UpdateFrame(unit) racial.texture.overlay:SetVertexColor(Gladdy.db.racialBorderColor.r, Gladdy.db.racialBorderColor.g, Gladdy.db.racialBorderColor.b, Gladdy.db.racialBorderColor.a) racial:ClearAllPoints() - local margin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding local parent = Gladdy.buttons[unit][Gladdy.db.racialAnchor] if (Gladdy.db.racialPos == "RIGHT") then racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.padding + Gladdy.db.racialXOffset, Gladdy.db.racialYOffset) diff --git a/Modules/ShadowsightTimer.lua b/Modules/ShadowsightTimer.lua index 1785e4e..1a3d542 100644 --- a/Modules/ShadowsightTimer.lua +++ b/Modules/ShadowsightTimer.lua @@ -1,4 +1,4 @@ -local floor, str_len, tostring, str_sub, str_find, pairs = math.floor, string.len, tostring, string.sub, string.find, pairs +local floor, str_find, pairs = math.floor, string.find, pairs local CreateFrame = CreateFrame local Gladdy = LibStub("Gladdy") diff --git a/Modules/Trinket.lua b/Modules/Trinket.lua index 2b4bd2d..28e24c1 100644 --- a/Modules/Trinket.lua +++ b/Modules/Trinket.lua @@ -1,4 +1,4 @@ -local ceil, floor, string_format, tonumber = ceil, floor, string.format, tonumber +local ceil = ceil local C_PvP = C_PvP local CreateFrame = CreateFrame diff --git a/Modules/VersionCheck.lua b/Modules/VersionCheck.lua index 45bd3da..9bbe922 100644 --- a/Modules/VersionCheck.lua +++ b/Modules/VersionCheck.lua @@ -1,11 +1,11 @@ -local str_match, tonumber, tostring = string.match, tonumber, tostring +local tonumber, tostring = tonumber, tostring local UnitName = UnitName local IsInGroup, IsInRaid = IsInGroup, IsInRaid local LE_PARTY_CATEGORY_HOME, LE_PARTY_CATEGORY_INSTANCE = LE_PARTY_CATEGORY_HOME, LE_PARTY_CATEGORY_INSTANCE local Gladdy = LibStub("Gladdy") -local L = Gladdy.L + local VersionCheck = Gladdy:NewModule("VersionCheck", 1, { }) LibStub("AceComm-3.0"):Embed(VersionCheck) From 8a175928420e4ddfd6188e66a20d13dbc2a29ef6 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 17:11:54 +0200 Subject: [PATCH 09/38] optimize and randomize DR and Aura test mode --- Modules/Auras.lua | 77 ++++++++++++++++++++-------------------- Modules/Diminishings.lua | 38 ++++++++++++++------ 2 files changed, 66 insertions(+), 49 deletions(-) diff --git a/Modules/Auras.lua b/Modules/Auras.lua index 3f88fd6..a41c275 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -272,56 +272,57 @@ function Auras:Test(unit) self:AURA_FADE(unit, AURA_TYPE_DEBUFF) --Auras - local enabledAuras = 0 - for _,value in pairs(Gladdy.db.auraListDefault) do + local enabledDebuffs, enabledBuffs, testauras = {}, {} + for spellIdStr,value in pairs(Gladdy.db.auraListDefault) do if value.enabled then - enabledAuras = enabledAuras + 1 + if value.track == AURA_TYPE_BUFF then + tinsert(enabledBuffs, {value = value, spellIdStr = spellIdStr}) + else + tinsert(enabledDebuffs, {value = value, spellIdStr = spellIdStr}) + end end end - if enabledAuras > 0 then - limit, i = rand(1, enabledAuras), 1 - for spellIdStr,value in pairs(Gladdy.db.auraListDefault) do - if i > limit then break end - if value.enabled then - spellid = tonumber(spellIdStr) - spellName = select(1, GetSpellInfo(tonumber(spellIdStr))) - icon = select(3, GetSpellInfo(tonumber(spellIdStr))) - if Gladdy.exceptionNames[spellid] then - spellName = Gladdy.exceptionNames[spellid] - end - self:AURA_GAIN(unit,value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) - i = i + 1 + if unit == "arena2" then + testauras = enabledBuffs + else + testauras = enabledDebuffs + end + + if #testauras > 0 then + limit = rand(1, #testauras) + local v = testauras[rand(1, #testauras)] + spellid = tonumber(v.spellIdStr) + spellName = select(1, GetSpellInfo(tonumber(v.spellIdStr))) + icon = select(3, GetSpellInfo(tonumber(v.spellIdStr))) + if Gladdy.exceptionNames[spellid] then + spellName = Gladdy.exceptionNames[spellid] + end + if (unit == "arena2") then + if (v.value.track == AURA_TYPE_BUFF) then + self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) end + else + self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration) end end --Interrupts - local spellSchools = {} - for k,_ in pairs(Gladdy:GetSpellSchoolColors()) do - tinsert(spellSchools, k) - end - enabledAuras = 0 - for _, value in pairs(Gladdy.db.auraListInterrupts) do - if value.enabled then - enabledAuras = enabledAuras + 1 + if (unit == "arena1" or unit == "arena3") then + local enabledInterrupts = {} + local spellSchools = {} + for k,_ in pairs(Gladdy:GetSpellSchoolColors()) do + tinsert(spellSchools, k) end - end - if enabledAuras > 0 then - limit, i = rand(1, enabledAuras), 1 - local extraSpellSchool for spellIdStr, value in pairs(Gladdy.db.auraListInterrupts) do - if i > limit then break end if value.enabled then - enabledAuras = enabledAuras + 1 + tinsert(enabledInterrupts, spellIdStr) end - spellid = tonumber(spellIdStr) - if (unit == "arena1" or unit == "arena2") then - extraSpellSchool = spellSchools[rand(1, #spellSchools)] - spellName = select(1, GetSpellInfo(spellid)) - Gladdy:Print(spellName, extraSpellSchool) - self:SPELL_INTERRUPT(unit,spellid, spellName, "physical", spellid, spellName, extraSpellSchool) - end - i = i + 1 + end + if #enabledInterrupts > 0 then + local extraSpellSchool = spellSchools[rand(1, #spellSchools)] + spellid = tonumber(enabledInterrupts[rand(1, #enabledInterrupts)]) + spellName = select(1, GetSpellInfo(spellid)) + self:SPELL_INTERRUPT(unit,spellid, spellName, "physical", spellid, spellName, extraSpellSchool) end end end diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 7cb8903..4f24a19 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -257,17 +257,32 @@ end function Diminishings:Test(unit) if Gladdy.db.drEnabled then - local limit = {} - for spellID,category in pairs(DRData:GetSpells()) do - if Gladdy.db.drCategories[category].enabled then - if not limit[category] then - limit[category] = { count = 1, limit = rand(1,3) } - else - limit[category].count = limit[category].count + 1 - end - if limit[category].count <= limit[category].limit then - self:AuraFade(unit, spellID) - end + local enabledCategories = {} + for cat,val in pairs(Gladdy.db.drCategories) do + if (val.enabled) then + tinsert(enabledCategories, {cat = cat , spellIDs = {}}) + enabledCategories[cat] = #enabledCategories + end + end + for spellId,cat in pairs(DRData:GetSpells()) do + if enabledCategories[cat] then + tinsert(enabledCategories[enabledCategories[cat]].spellIDs, spellId) + end + end + + --shuffle + for i = #enabledCategories, 2, -1 do + local j = rand(i) + enabledCategories[i], enabledCategories[j] = enabledCategories[j], enabledCategories[i] + end + + --execute test + local index, amount = 0,0 + for i=1, (#enabledCategories < 4 and #enabledCategories) or 4 do + amount = rand(1,3) + index = rand(1, #enabledCategories[i].spellIDs) + for _=1, amount do + self:AuraFade(unit, enabledCategories[i].spellIDs[index]) end end end @@ -294,6 +309,7 @@ function Diminishings:AuraFade(unit, spellID) lastIcon.diminishing = 1.0 end end + if not lastIcon then return end lastIcon.dr = drCat lastIcon.timeLeft = Gladdy.db.drDuration lastIcon.diminishing = DRData:NextDR(lastIcon.diminishing) From 5da6d1d7c905775405bf7f2cbb831397ab0dbe19 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 17:23:09 +0200 Subject: [PATCH 10/38] added (un)checkAll button in DR-Categories in Diminishing Module --- Modules/Auras.lua | 2 +- Modules/Diminishings.lua | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Modules/Auras.lua b/Modules/Auras.lua index a41c275..34ddf5b 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -702,7 +702,7 @@ end function Auras:GetInterruptOptions() local options = { - ckeckAll = { + checkAll = { order = 1, width = "0.7", name = L["Check All"], diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 4f24a19..da9cf1d 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -610,7 +610,30 @@ function Diminishings:GetOptions() end function Diminishings:CategoryOptions() - local categories = {} + local categories = { + checkAll = { + order = 1, + width = "0.7", + name = L["Check All"], + type = "execute", + func = function() + for k,_ in pairs(defaultCategories()) do + Gladdy.db.drCategories[k].enabled = true + end + end, + }, + uncheckAll = { + order = 2, + width = "0.7", + name = L["Uncheck All"], + type = "execute", + func = function() + for k,_ in pairs(defaultCategories()) do + Gladdy.db.drCategories[k].enabled = false + end + end, + }, + } local indexList = {} for k,_ in pairs(DRData:GetCategories()) do tinsert(indexList, k) From 2c73188e1511eba63a383e4916539dd334bf65f9 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 17:24:33 +0200 Subject: [PATCH 11/38] cleanup --- Modules/Auras.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Auras.lua b/Modules/Auras.lua index 34ddf5b..b71cc0a 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -266,7 +266,7 @@ function Auras:ResetUnit(unit) end function Auras:Test(unit) - local spellName, spellid, icon, limit, i + local spellName, spellid, icon, limit self:AURA_FADE(unit, AURA_TYPE_BUFF) self:AURA_FADE(unit, AURA_TYPE_DEBUFF) From 237130e3cefbf5d0fdf4f6296a52b8a0ee18271b Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 29 Jul 2021 17:27:37 +0200 Subject: [PATCH 12/38] announcement show MSBT option only when MSBT is loaded --- Modules/Announcements.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Modules/Announcements.lua b/Modules/Announcements.lua index afeca6a..aeb5fd5 100644 --- a/Modules/Announcements.lua +++ b/Modules/Announcements.lua @@ -210,10 +210,15 @@ function Announcements:GetOptions() ["self"] = L["Self"], ["party"] = L["Party"], ["rw"] = L["Raid Warning"], - ["fct"] = L["Blizzard's Floating Combat Text"], - ["msbt"] = L["MikScrollingBattleText"], } + if IsAddOnLoaded("Blizzard_CombatText") then + destValues["fct"] = L["Blizzard's Floating Combat Text"] + end + if IsAddOnLoaded("MikScrollingBattleText") then + destValues["msbt"] = L["MikScrollingBattleText"] + end + return { headerAnnouncements = { type = "header", From a7cdacb55df14dedadf3f81ef7f68f1106cf2595 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 10 Aug 2021 13:17:46 +0200 Subject: [PATCH 13/38] ArenaCountDown update --- Images/Countdown/0.blp | Bin 44900 -> 88580 bytes Images/Countdown/1.blp | Bin 44900 -> 88580 bytes Images/Countdown/2.blp | Bin 44900 -> 88580 bytes Images/Countdown/3.blp | Bin 44900 -> 88580 bytes Images/Countdown/4.blp | Bin 44900 -> 88580 bytes Images/Countdown/5.blp | Bin 44900 -> 88580 bytes Images/Countdown/6.blp | Bin 44900 -> 88580 bytes Images/Countdown/7.blp | Bin 44900 -> 88580 bytes Images/Countdown/8.blp | Bin 44900 -> 88580 bytes Images/Countdown/9.blp | Bin 44900 -> 88580 bytes Images/Countdown/Alliance.blp | Bin 0 -> 88580 bytes Images/Countdown/Horde.blp | Bin 0 -> 88580 bytes Modules/ArenaCountDown.lua | 47 +++++++++++++++++++--------------- 13 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 Images/Countdown/Alliance.blp create mode 100644 Images/Countdown/Horde.blp diff --git a/Images/Countdown/0.blp b/Images/Countdown/0.blp index d8ad7775c1f960f57b4733d88504b38e83b6737a..3c4a50c967ba691861cf76f14a68b4660c3bfe25 100644 GIT binary patch literal 88580 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 WHWzK!xF!^$8i%Dxmah+mLjNC}bG#V< literal 44900 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 diff --git a/Images/Countdown/2.blp b/Images/Countdown/2.blp index b74cce10d91df32016bf70efec61bf3d311169ca..10aba5edfb8b745c386a518c1aa8b43d0432ca71 100644 GIT binary patch literal 88580 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 literal 44900 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 diff --git a/Images/Countdown/3.blp b/Images/Countdown/3.blp index c4157cb1e04c4caeb154f38278f15e877027deeb..3627fa612c5bf3b231c4394f9549ce31f73124f7 100644 GIT binary patch literal 88580 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 diff --git a/Images/Countdown/4.blp b/Images/Countdown/4.blp index 6480f0d503d5505b86fc075c56cee3b74afd2641..dd3c6cc961d1b27a9f7a75d93bf2b3b1d18d7cda 100644 GIT binary patch literal 88580 zcmeHw4|r77weL=7u48!U1k0;^ulMUoVm=jK8qJ@t+J4HA%y_wN@4IQ8Gl?4HfXswa z+l%cZ6KRz}i%hK8=ru}EV4@9@vA~5EtU z`<$61fEcBbv(J~ztl8)6v(MV=xAxj=ud{dQcghRX7-Q+Sv^0ia;P0s~;9nYh$_amN z_^X7!JJQ%&@b^CaorJ$H+=(X-l_1Xnd3N}Nvan1d@hAN2Z%%Od7$l{!C5@QU98Wy= z$|JkxzCW>fa`4w*{A$O(z_XF~3|tKQ$j|EQeCo6$cmN`BZt?)?cHs z@>m{~L*>#{(thnZQj4SeOrsO^&+q1@J&ncx*9V8xOVnEpLeq7W5ACZJiT|~4dWqUc zeZj5w;J2^zT=k5(zR`dEi^|^*j%)S&(xP2eNf)LNPoC1QzwfG&49p7sRlBbKt;*^>=na`(0~X(*)`^WsP*NLu-@sv->&mt z4?Fb_cp2N>3L2W~TACe>B>{JGP3EMj}5hQT*HOCOqSJOoT6;$}!P7m<(Da z1+7szMU=16MXC9M&dSOei|5e!c)zjmo0-Pnhz9+@veFEiB#!bg7CjQ>op^bPvvW9H{m@y zD<>NdeY~yWudq-2G_QpIrDOTD1;9BN(*yL_{Muamf=ijlX@`^hlI<x*a6Mqj}Eiu`1_f(?4{KrW)S)MkR=;vb7Y;$CJ0nyLK5Fg`46aBvq!SxMS z0BW@K%|nns*&*g9lH}XY>_iV@&ufS`@LrfxWZ)gpUWRz5>zy;)E972zPXZ7Rc9*Obsv#wsCQlk3a{9U=4)j1~rr7tHpHIzE6g0@Yt<*8qCP^~hh3d#L<#U7wn7 z;fFY>eU3za3}^p;|ITcXuabkrl?P&g_w^48{O{{^unyZ?f#0Pu2V;-QQ|SEXdL?$l zcPm8xU4Z`z03hY3%AcTB>psQ4N5t!R&&CcF5KlDp?|}Cr1MhC9?4BdnP<})A?!XQrB0N4oPdC(rf5d!6dcL4nZ=Nu2*`!mp| z74C|2@>4&7${*_dktpxioMdarGy3a_wrREv(18<|&cq}ebeE$4 zd1oKmqZwbL{Ab=~?7K^+-%a#T@`=7Yv;7O-v*8f^Blh)p(Dm5YgS$@P$?0`_;<6P<#}5pR98kToo=+|J-8r zAX*&{z?gvO^Tq#su!rOdkA;6-z(yio2^;u19Q7Yg{C~MiVjU%O1m5pF^pO3pM-2SO zdnei4CVM{i+{YIMyWj3s?@*L^x9mal|7OA@aj$ZU5nJ?amNX*|E~b-SGcML{#EoB6$^bf2>wwW zp40w6u^#O&*&6@rAQ}$*=tZd?BeA^U#Q*CzL;o^Io$ll=G4*Mo&G?0f9((ZZ+lptpb8`?mL}0`@P+e+KsU=+TQq ze?KNI9rUP{PV!K_Ln*H!`nC2z{hWsRqoJ?w;@y0wQ2OoTJI+Yh_XH8XC9uE_(993GI8yX6_9#@Y=ijMzkz&;*S|6;&C z9z+j<|3U44vTumr?l#6eU;q$J$VKhphr;&9?az7PEQ<4Q6vC;Xk^ zfhMy*ua8Sj(A|svK6E0`$WLcp-nBaRT<4O_jgd2wtL@D(ioN=Sr%3CcJ3 z|Bi(6;q+Ovenj_U+aj+tAB-L+Iso`DXlVFnz5oAI@DJ4kEvF@{@A2cu1wADH_4Ch_ zZ{deHt9_0{ehg>-F991k-z? z`ST9>jy|p89sG~NpSK6`sn$_LU@zbux_hI)KPol$tbgSj(Ay{Y&aTw~@W)3S<&~@I z!gWi6jX|nU5U`KOx$qwV{Lh*>vy$*0*{U@C`rp?G`(N6|p2(T7X%pdJI-uGA!`1&& zeTn~vVSg7e|E>OCXUIszE43wl4oCfm6aVO6mgQzK|M&WhKu`I%A5xuD1asy7%t?@;YG9P&qHI0DI{-G8}{rf%Z#r&VLE?S>au>O|M3jfWhk1HxH z|DP_9mcAL@@&AVP*#El*;$7qS(D8ZdbharTSB=gy#pj_n&*aaOYjF0?dqhEh0vH^7 z0AT3Pd$l*&pV!X=?E!G;5&m*chStUo6lnAHU7RcZl07{=;y6~KV0@k8?YeIh<+;VbH~a)AFYo;>~!^+(@RLbHUu5m@U8_PFI9st?2u1o9`W zxt8!x^Z%cg{htNnFE=lRwYbxgp*M{yYxj`G#>BV+c>2|B{>IaZmHmR+yd>{XOef4rFFzWb%En z!g0k2Hm~8)?Zs~#=B2VvY0>6XrG}ER{GULAO8>8|2yKLKS!g{5Yu-Awegks5U=FV{dd6Y5Jybe-XYI1uUsTr$JXd>sG7R$t-r=j7=y|+8*$2~jLszdqrVa3|1S{#!e2@)MeJVzD_3raALbtd<~yOiVERtP z*PZ4p4D)vm!V|>jwxj({bo4~DiGAanYhrC(k0s{rtc{+L?3LiqtMyfTs%4LuUzc4j ze0|sOFUTq>Xuv)sx6lt7`h9Bs(7!{L4oC555bC2h|_n2E=!Qh}PksgnxV| zkn%}phnxO9$UpH0KQG1S`2_ek`SViZ@nLMQ&e?1IH^*3fK)jG&h|g2sz#(}Ae_oCE zWnZ5H=R-%EfwOmrdGzPQ^qs)_X&zY%fEM<2SNhYB3_U$ls*s7e?j?6Fx+rxoT1>8+^v^5kg$j{%TQS0rK{dwrYr+n>g zTVwp}UFiK|&FO{5=B(2EdD`q9hw(l5^T5C-e0&7)xzOE<`8!9e(zNEQYgXv_F?N7m zotc^L;Lk#I?vkZ-7(a*cyS3okgTuf-c=ynSNA+=n?GFaMiB{om(D=3x7$S5&jQ@RJ zpI6NPq4$5`%7qmFH>Cex>5se_3MmeH9+++m!Fr>wM;uAdi)R8y*5dI zd0a{LM|;3DegRt`w-MYP>Hvm_E1w``}W<%jZpBoEQEF&fj5# zo`~1Mckhzo@zvpKnVaO#JqO+j@_V15{{H2}2Z^I#-6wE;jf^qEUgmsJQhyKry;h9B zBfJETI+|V#k4}dRcXlm{{Tlpbw$k!S_ma9sh|aAO@p*tAoWU3IIzA5^rulq;psEq5 zen>+S^8xVP>xD@_%JU{|U4z!TkKZJb{1x{r@_DU2R>h5pSr~-Y@E-IwN4kG2$n%+v(h}Vc+y!4ChBm z?%8wr*s*=Qdp_6`9eJ-g7UkTUb8}8fPU!pi{*Nqc@E?!u6l)Oa0reGMaC2S)cOqQYMG?yfmf)BSoJ{P(!NMhW@zICrly$K#*k zfwd8bLm|9G-;|mP3MTfbbQkZ6oKdc0nbVJ8Z@=TE&Ti#?$p-RVj`6v5LEfd~;kX~d z^@739?M#ag>Ve>$YQKNuvwD6e&gc96jg1b?-;hc(#5?5I>G{VY_D_xf)ytcz#s4lI z@c!S76#xHzi2t4U;DaH09;q=gAD{$D(~WQL-xbqpo|~_b{7M zUS3s_i$}3oKLq^+N$Urt*aIZhsd!JNN20vbv*D*z{~_l8(Vq_owRbB1)pu{9)2DpZ zn_p)5&v1PWH@tC6`5(c`8W@d_^LH?Pm#zw{`tKzCVyuVP$3tsp&z>#bmkG5?O+D-L zUZV4*gwop3khh*_2dub}nVH$cyR=^dTzN|gg?MMDMn@BYA5Ud0+<8pTPbju|Ok&*# z9!L?uD+a?6&A=W}X$&TWG!6XuGLr;;pGW+ua--#Mhw%#1q|bVA{9?*K!IguvLLrbd zE#1>91^;6zEF-8VN2?UbUp`@UOs~&lTvDcvzOtZGFYvcK%{IYQUV`sHeodw8Ph)(e zV)BQ8z0usX7;w#Zty+|fb#p{;?Y^)Ego@CWg<_2cRC964zlqE9f&JI zDP+)5pus{G_Xqs~bdR7TJq&0rXoZIsvyegmi7O$N$whsC!{Po=0jl469$gI2E9gJ( zRTjHX&V7LL9j(#DH=O8MO7sVy|MK&V`t1OJCt3iM{}+sJsx)Y}OKNRsZeGpb01s$4 z-xP)UL$IG_-|L!%>j#MW0&TXy@DFPEH`)JI|E~ggB;r@oJlg*YssEt(SJ8hK{Nrf9 z(1_PBno;ztvQy4ID1R`#Y@qdWi#WUK@=;MS-hG(|TB~GvD#>#Q=D$1S67hac=ztWK zV|#_X!+d_@gNY?yrSqd(BlQ*gjtG6go)0aq{^6sde|4OU)&n|3e4P|#fv$BAiG1mK z7O2>iDd@<$Q2o@lu&7@o4D^EuL5F~D;HL#0X%7V7J`;YF>cb%avTx58^$9hifA3{c zesrx;FWD)9#kUpTR^$@%nYflXCeqhv{bM2;z7D#6 z2<4NErP3E7Z&Vh3TGyMoadG%DB>vB7{~Pb;{yg#f_|H4b79#$~!TNtF&&RqO!x5mV z|LX1zZ;XOHD(U@MclXAP5ty$t@;7c&z@KNPLEddP)A``$Mt(M zO?1ln+hP8|RQ~qucz>h(?b}%j4e#rSeDncIapvINEyAD4J`C0Kc}D_-@95fSXw{-o zLLXrNePw=gGv>#-yY@NM@+;NxPj~l@?Fz&Lo9@3cki^f8OOW4~zrFf#&(ChFb}?94 z9sPUGBDDC8_yB-Dt{`s4douphG=-mv?{m=>ev$u18j1WE6#wuZKPGB_RangH@1X&i zZS)^S?!qz{UW)biYW%X-=`_~c4F-KaH^kIZdBH}%U-mi0{6HhnKA$n)1~gn@rm=*N zMW0W3!k^w4hVtPGs$aMTY8b2$^9SK@BTO(X6!QzM+rq7lt>FIy^aFH7{BIy3G4uLA zp?Kr~tpBH&@V|I`=J@xBRt|((*1UMjs;;)K)o?5W{iDYJgyDuu>Wuk}C2)IuBa!MC ztgWr~d5m}_kJD8Qm>2zhks2LntPh$qu)oJ974bm0cZj*YRl?N%L(wBq-sxHJ)2jav z{y&{bByV=Ddq~j-2L7{AA3&n>VRV4jrm#1QZ~%(GXn5feUkAycL02Fx^q2D}^b zz%cut6c3DjJvInkk8OiV(9qu_;)&Lq`(x7+q>(Bl58DmT&K z->9Du-~2LP4##TVhVg&p<>j;0=q1lg<9!7+{?Ca2#l9XfPxXUGKc{^^9C)Yuk<^bw zd8fMLr&a&+>;H*osqIfR*avDNIt#`MFn=ie6HObW(gWg$1^%`34Sg`&G}tSuhNAio zuvcI%v(RjhU^D}01UkRw9p4AO!@j*Mo`m^8h_}J@|1rJQJFWA12>2s>`*44t<2Ayc z8E6gFub*xB@0BJgkQR@>48Hpq&S5HBnO!N}nmN<+efbCSJQ05g(SFd|oBDe&r_AsF zpnZ=XJ*uDT&9mPBvG9$v#ilfvzPphApNb@TBU*wlAo~|%zfZLasr3=Gs*TQ~e^T`U z+6OR(q3h8WD0|9%l;{=kwgN5@x;??9ad~xOe&7i%H7ZpAWIf^fo>Ql8?k5`XAG~YI z^O;14U_POuCyYE(Q)H{-iRM*n*bX^%XKXc(hql6ceeQBaMSt#O5x=7vJ7;aF+RvoYL&~vr7&C#o_*Au-9jqHw6BXXwJzKN6C=SbwoaN>Ws_^3pXx(WKN97g>W-gQ{fB4#PdrVPkC8&F^BZTe2f$yTCVCzi8K_+_(F6RC`VT|r zs}{V_Cq;UI4xO+1^Wcs|YtcFet<~m}&)-q`7utRneu#70=Sbv-)&Co%3aS#w`Myn5rp8@k5FarvS&e!ny3F+kWuy|4aXEmOu=TUENy8lqL!8z>=izZHu9DZ2% zH>CFC%KxQ)zQMVXBkyK}TJ<+`|hG-&FpH*)?5WELt#V zMDj<}-on3yf0Ho4SBoDOKg=Ak#V9A3e4`vQn@?hqMr5`MLu;jta0ZSgt z+_3b6B@dQ7m^om{gP9waez4@hk_R&fEO{_FEe2@i@hEFaJR{LWgsP_WU-qT?J z30dC%nl29PiN_}4di2i`eS0(JcZ?$X1mwu_-FE}6?(j?PgRKqiE%xuqDJm>0no+jC z{c834aZcyTa2)RY63>S6M?o3do|)5deO>6CoW&ZwKf$h+<-mUx<=m0;_%+Llr7f86 zcB4F)_nXK147NV?A8y3+f~ty^wo^(alP{jtNrx` zBYshPrqcC~O|$)7zFgRc9h)4ssU;PHzT)SM-3=S=YG^m~RpT9-H{b+H2ik;F4c6H{~SwGgdr{_vMFhBmn!w-`@1X=@&OKvHc zxcau$x3%5Y<_WcH?Vmfg2##XW{@V6ISp(YtUrHs!zh|iDweX*e{{x_(cTD+jw^=CZPh-x}Hr1>T*_?%m!q z3lew5;QWqpdDPx}c-p#BrMwEz{s!zv^_=4Xvp-royZqUebt{8#V0%r3r0sW=;EqJ( zKj+Wi-$d5~-W$iaeyM@lUs-qd_NV$${eS%fcpj|3o>KFz_D^nqFZ7pFrpVs~b`7xS zz?u_yFH+I&-k{@s;_I-R0q$9}mxr#)xcuRW-hQ!IBGm5Q-Sa@~(YD&9{zt0=yBMo- zSIEJYemH8LQQLp>=FQapk$&YD0DpmhDXi2_yrras+TZap+kfV_P=4K3|38HMr{KY4 z&)Jjhxv~^{?vS^CLE>#_@oXEwUD$J{d1NcV-2;95ve?gJ-w(n5*bexi)>kd#KGJkQ z-!r~vywAu_r?!76?s(y~*P31<{6_)*C7X=)kLdmXQ2L+BC%jJr{Zat}Ky+%pg?}CY zD%z9nxoopNCzs7}Z*cc*?8Wh#+;9Y19@9oHIno}EL{$PTx=9BVhi&|$rES%VJab($ zT_LpBLI1+;1CWZverNL2^3!fOQuTi%9(Z>Degpq(o6>a4*T#Q?@XxmC`ah>wJ*YkP z{$H$TJXCwr`ILW2x4+4r)6kwJ^n0p32ctKBh@auF_D-{n%NUcUwm1B{pF3L1L7_w6 z{#fk(owaD6DdjMrbHWbNu*DtmyQmBf(|)+v_U@-;P5+zv|4<_EY}5Yz`>A}kB~)K9 zaTE6c6>wCm@`Uyu>|Nt3a*6#dQvE~d4LBeF&?Vdc02uJkneDl<9MJL9UeG$by+`JN ziw5nvh7uZ|o#EN*9(K&e@f(id+F*Zi`}jxOmDSbHRoD6J{6K@gh2-?OJhD&hH|lgd z@mI0`uov`y4OjpYj5j(UQU9;R9m(wb(zy?Q}e_-JF@Dgi((Z6fn8pB^x=q_{@%_wT1 z_SZ&l3Es&cvIE@H36HPv=-SFEx0^4G?ZDq6adzFEcaKgF*1q~utQ-6{r@-Ep1FYKD z80<#68~Gn*zM5dL8-z&tn@0P=_Q&h5#qk25EDgpo4x={Vszuxfm zw&2dz7@YDXmu{-4C>Z5`i9OlGFd7>+zuHNAIlaq1F9$Wp9@qxhL@({^ThM?YRZS|1%tR6s)We`;D?~k(S-7 zeyTMVoD|vvk>9>G zviSXdt0qtZ-{P!wlq~lUeJr80SIHecu{*kMYb$xYBmnvc~ghzwr}?@bjwIF0_fY-rEw0RUwR)XdaNRLC;uVuQrabZ)tx_ffc+2SzY^j9 z9gF+bL7UV4u&$WSMO*Ek?Ekw8=69Pxe`?%=|KLBLW2OPm9Vs;0`*eQqCjES{yD<^} zv!-X=n3Zk#7mo3j8?nEE{frs(=U@+P-(KT)I@SG7b=qI;bVhLhQlw+sU-G$}ML51h z`rpRhq#|B{+~_zYv?oKPwh<%8hV%1{zWy|sJ*f@^G(Rlfb#So z==}4||NOTh`?r*bd@$fW5O!ENc1S9KJ-od z9RBvrwpBu+yL^oCK14Vf@ecU*8NP93T%VPelT{@A$yoki?~@qk8_$;piRv@_&r2oK z{gR*m``?nl9a_>sXHB>V-q$HmaFz}uy0Vwz{5m*jA#(F4g&k!d_3gv>t%h+me$B&v zIcJk)_G-eP$G^$H!>iKpeVf_`=Vh_6Y;4+91LCRXV?2c^o)Vw;Vm^P%_as|SiSR$$ zFDsQ;DLk(|+g_MmmVG<5*Nnt^-V5>Qy$N;y zYSX7HN^Y8V;QSQ0n+1Q>cz6gXCw^b-=br}kYgq4fX{~K9oRO{h!wa7(ef##)|1a^* z-#|VZN-`i;XET4C&&`MD@4I*IosE1ke}*sQk-ggckM#U78_yJF`gD4J;vYTl7Kqm| z$5UR^=QqbQU~A7PY@Uqqz98U#;C&E}%wzX+rEttB$Nk`FXG2Vdw#&Sy)dhk>Q{E?_Wqyqw=o{m-cYjO&uVM`w5#^I zIFs(3d)M8!mAT4XZjYDFp94?-2uOfv|9fF}?E$_h&;;#2efsokvWmyLiaf6erm6fa zL2WpeeKAdsw@O^>=ZDt5C;K({aU)0OO?%;;i-J7Mn9Hdb#mVN_|`7I9O8+-^LQd~)3KQk-gOn| z!m)4=|1SFTzngWtJ)31k?`I6upWNN;^A{Fn=R|-;0Cacz{Wyo>2s0Me=!H&qPFdhS zJ)gJmr$Gj?4>J22c>kGq0|y@9KVs`77ElzW`=*)KxZwR7EWaGCAFD>s829;keA_@i+E$dR(C< z$u>C>maoamP5TnGcj!92-gy7*AEo{2`BUpNB%LxJi?JOz<3i`F(`#VG5UoW|81zv0 z`|R}})kOQ`9Ns_{+6e7un9l&2r}U}NnN<4u*z3l*_zn4GP8MzEhQ*(YEe~zIlWZ*D za8Rpoc)tfb5S_N0>8!NEv1S@=gk&1q6UM9Q=RZEe@rnZy-G4IJ^XnIVB(qZc3)!b8 z^*{b9j9(hYE!cP$|7Bu%|MI`?3fwSj=JaW4EL}aI_H2%Kj+d@S{EvcU(DY6FOy#$@ zznw|!M*H-KKyN-UMQ(UFc5uz}^YI)#8<%aw2yKkCy z_p6wCf0y8ws*f(@{`TMB*f%Nu1TW|W`@UqsqBoqsly`3A{Gn}W#|{_;Za-`0!mPgeu))%fs%boN;7H_C^u zOHJ5*2KQ0^u>JK+_(*NWEj{feW~-{a`%dG0TWLBZgVwHZ`p(IH_xPE8#YTty z`%SXE?Tg)C*_+Xt{=yc?e)r6~ryA!Eay@0jC$=9}UJvgOG@XL&A#PsInmB*{YSvfz z4(g7tu>Z}L_QD$>S6+4*dzqEuHEq2)H&#|2XH(e!QHxmCyZ@%kGOmR0j(<`B>&s#} iH(&R~FJ70;veo>CP3~1KP2n)fLl-Z2?4@ux{Qm(bD7h5? literal 44900 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 diff --git a/Images/Countdown/6.blp b/Images/Countdown/6.blp index 4d34be045375363f69a1469e18754b530ef1b3b9..a19c292748bb4cb7d62af5af78cc05e856673123 100644 GIT binary patch literal 88580 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 WHFmi-Z|Z1orviqevsMDx{{I0pXeQJE literal 44900 zcmeHwdvFxjxo1m+jgVHGkz#JBt=g@Y6mo4jy4ZTe$sfLH>p>iQw~A{|&nS)}I$nZmmki^3o;n-*-1Q!wokS!Q1FDzbL5E+9&npk;Ygl4jf1q3wH z`}&l9E%Bk|cc4@%bm8!QT(@ z_cQ!$#osnbx^25872>ZHe@^_pZ_;sB#$O8llFi>F(qa3<$3#lhK%xc`HE_)uFpT(H zw*u`%iZAuw3FUBPh@56PGAMDH5mV{x>}+vA3xthkM1Fn&zYn^A5~uSSRZzldlPoQ@ z(I5TkE=tTX0CK7+ot$+t!RyyAb<-MNx*HCBZuM<>vlr;Q-cGKsNkw|^x zi6LANF+jx8Sy>jo8K5n^Gt!3VY!lG&c(&u0z+74?_#z`zwO+;x3BS0ddRjZr{qQN7 z@LE(_>S^tbgrdI-5q|qpm$vqfhoXk@JL9_!bs|^lJP-;QNI$!vIR*-s-s zxZe1mSgNY=we}$?hfSbe4c{3VS^SqWvNEzsgmaqV+b+Kg7{KlLF0spJ25;bsf4|h} zRMk~214rIs{Ay73tnv>4!3X|K`0h#VIB<^OYz#mi4sK7DLX0wuMq~8lB1!iWwkhp5 zbibrucAJ!8R9)2l`ejw+^c$mrJ-)%7d7#6_aJWxDugl3RwVK1_n_NrE+=YQ&^-sW_^8Rfg4__yc%13yEe^Jh%$eTx1LjPv_3bv>Wc zz&k@Yry<%)pl%C&obU}qTlmIjwWVd~cN>|!ZuYdaoEid#|1o@DiaMB=JYeL## z9}a~N>0>0(eG9`c3@_<+FIR(C6h{RFysNM*rzodTls7vw8zX>BQ9sl0&$Ry=F8*2n zOX&Z+m)#sZT5r2K@4HF(hjh2_KCM4Pwv$BXWjEz{with#XfF`>E+}OZ+|th>zn!(7 z-TeFNs#ODfLgU6Agm1Mc?PLt!9meK4_uBBi#n1`g6&%0M8$N&VSxa8~hUE6jXZ+c* z`(b@j?wyEq=?u@&&}rY8K8Nv#P-ytj>l+&MQ8`8Ty4CQZgI$f@y6PZ)eK}aq>+2h; zt6gdt&!4+YEi5f4%;9uSb`C2tr!%jv{|J7-4Cnme8+cCW|M8W3Gvu-TjW^?cHwgb9 z9q&+jdD%_v-NL)6uRASy?on5HcDJ0{@)Xn8i(1Bp*pRyG;-ikiyfle)bxH$9;P=Ur zZ;?qE2H{(;sTA^C8`9TSxc8;;`+@V)&cW`qWJZUg!}_T2cHq0*2!#$E+OWYZy{9;W zm8yDZ!+Nh5h?eh@B&h3ZLtR}J#JJ#3Rrp+5SSZRvp9^ww1b-`FXt#}DAnytDy!_Mn zBkB9L;SqoCMxPV-kFVjIfk*orZ^rws8~$zM_p9jh?Mz)pb?Cw2{o6EK5z8f#UYPM=|o&pn0$ds|T0-!_jc?d5KDP~iKR z+}@LymKvkO`uTv;nYvO7heL-?Z`j%>ACny#3~pN++q{HvUe|T5Dis(PcxPz0*%t~6 zAkXc1&tVojA>U(gw`eBc-)B5;3VZ=`@quUP6FMjGA7AmG2E5x#MCJKd_$OIEeLSDV ze>;m==d*>qE}yJ*Ks>(>eSWHZXL$cZi0pHNMI7%*7xg&2D~7g5($5II2mYw}E8ZHk zoN-4;!IyNFMdwm6{x=2_Ft^J-nXbJ*6DLUhi$J^HzHW-m4kjU1EHpmJ;I2 zM1D&P&4cHkf!~II8o%ejX3y_W#eXKW`^=2&_p|3S4#2-pXY%lW(kX%e_!hXO@o&@b zO>t!#uQKi4X1{~12j+$Ut%U4#Ks>KawbrxF1H?;@v+?`vv8ajo;048zKFiYQgHh!e z&+W^G#_g7c3 z-Uz$Ka=)T?DtugKOUVsABV7ak*tp!&qKHOtn%#QwYe+uX7rR1 zF*L~gqPeqX#PoARF{G%sd|24$d=bqb^i~LedSF2Dj|}#i_BqISX)@T}w|#Xn$@k$6 zd)H%ppHc&d+WLkzNce_2{=T}Zx+=mvr>k7%!Re{^pGub!KS1Ko6EgsRu;@a%V(ANv zKi~>~z95HP5%vPcA8?J|hre$+f5@21A1wT{=s)lX{{0(uPT)VjW^XC{JJ|FIRsqxG zJ>1izKDGq1zSK6J_q<(uZcAi;R6niFQJZJaLwSpbhx^TbF$MG^c%IzV_|i^HPlvqG$Gow(3JJO zb{Zq#KNB=wxr}R#)dyb-Mdbq$=!HJD3_NJj;VxypjC*RO$t{+-WMlyME1*3Tf};rg z!gT(C00+bf^Za7$fYHOv=LZS=^A<4Aw+#N-_}&_TGW@@vyl2wBMEK*KwXoQ~>eK{a)+U{1dO_34grrywW?-bH@yl_Tj$p zR((v8Y9Q}TY2Rq!9oVm{uiL`&(*j@NkTGtQV0_VBl>P($z9koZNA*h8?l`gVIh`R<%mo?2d8 z$D=2VA;^5+IoUCHX1Zyg0|{czyCwsXd; z9~6fm@Ao$DZPYizAMbLzO=({z^!d6s>&Ny-@V;ZjZ|0`Q;AI5fQx5#WxaUXa?}ft3 zWbnyONv|Y26gqu6FeW3*oy@*q(o_Odz7wrsd?9FKJPd!~H*sOY{5|M1qdxzNy&YX9 zjq(lX?MuDhQ=AU?m4?CNogzK~(FreZPD}qBzwaB6I@8luk8xTb)B0C_u4iy~ad;Dy zli}b|#o;QiVfvHPap3Ke;%{$!NSLDgIV{SmcH+4@$B;aZs~D;e-g5nFsQvJeQj2frSHq{1>f0S zw{#)z@4=G+|D@~qE>6osL4Q|Y-aMx5L*LiO0(S)zMcdlAv0;O^$t$D(JKb(~-4-Bz zXv;Xo=ct3Ti|{r?==H5vpuNvnx!fHN4ZltSxcaZ86d%Rwz24Q}MTnmCH8Y;)wa$iy zY6SG~{C0w_s#8V0QD<*MD?<8&{ovr~Ho7ACO(c41+<&0e@4F(W^bJzHaMT!&4uzyK zWll$0o{;z2Xt4cRZ*V0qpSCmTe`5Kt;18rvq;7v!_%o$`rA^A+r=t8U1&;>Su1wAA z>8=Jxcskq-eImsThQP)PrPX%(K@PELt;uuli4m!7B{s2!?3r>rDAHqRFQeNsC1-01o53wlgHdUp zFt9bT@LS7Y2W(S#p2#nS59;|t7=t`Q?=#;*SFTzdumm|AN;3U zd+YtRt-Lnn|9~|@xn1jTN?oizrLJ*ptM=Vb_C}WzStX02@GqF!fEABm>H{|aB5Ujq zwhtum&s)?ye`@h>qTh~xHsa@{H_>n5pPXN%o>Cz%Ya^>7>mn_YAfj()Bk}&LOa|WY zdcC5*>-~X_&AD5)@cVkd)~;wziFn+=n9twcotGEhhNC;Y$#-6xQ(j(P;RW1r*!}fo zQ~dKRB9G@6*hWO2WgjzV*H|?88B5ml<`s)BfOW%qo_GOW;rGD{zzwW;@A73N44E|#s zhL_&7_F4U(uy4ozmIxiYB0kJ_n_W~S`nNnP`*nShrQh~yt^fJI{6*#cTkiF(&F{c;68HfB1IMuZo!|x~;1BP|4~QcOd&r(>$9U^l{Ym*e?2&A|Ks5mSL9hHA zh6m5_`cT@G2KT}<0ZtSC|Kq<2cZd=6%MC?6Jw4%8mmy0F*B)bjK1O+6>@A73N4D*nmVZ@2eP#s4l~pAH@JAMh7=CVToKB;KEc zKDptSdsm40Ir2_@?L8xV?iKe3g8q3u_kKOR(L5CR#|Zz`z&;(kH3<6@k;`e4cck-j znr73{!Rc6k=cGimAn@U8G@h{Rq2LAfXTS~e?eP!94~Qf1-^6IaLpl))*FsI}<> z5qLw#jZ=tUR2)gOW~KA;OP#*8k9f5pr?ob1?K6M6=L?)Bdt%SbZF|X=h!pl64Scou zfd`5gtIJ)>T~CSnVdDX0ioZWQlWNDRAG0*}I=H$$Ac22ggXZ~G#=m|1KNbHZ{abKo zopOp@|Cfg}zxUD^fq$h}Z++;}-a+1{A5?yKWrbLeK=&(abK$V$_laNb+O><@N5g@m!TXDg`}%_7roIQi>h_(lNc=>pjC_4XI8jzQDc0ikDD&1Fh+^5D!JxKpfJL zzPPx!SRw3l{JUH(cLM)rO@A8k%KH$VuSfaV{6Erl?fyR#|3XKGY@_&o;r}!HcY(0~ z*Pg6BQTw)Mzw#}tj|Y1^_1!2A^v`9RfADfU(Ui1)-CyorDC_|~zudO4w=>tg3;TAz zuYFe99eL1i&HjBX@KsGw0?VqKs#jNUs#CDq4%~mt{N_T$9Ip#l`=x)d%WlWb$=R zQ#?{%-`D4{+JXKL|KeAR6-8MM?SDBqB+u{F@o(8Pr|SO+`ESPV3DAPV_&3~Y|j`s0C>HahZ;J zA}}6+ziZ~)*rzmO2A#&pchZkkc~k-`nTTe4f+N&fwa-dwO0WYXI!s zAqDou@)|8r=kiu9gGNB{0EmyR0NBc0m~+GP8=Idi?1QoSxMDsHt*=iue*QdT22viG#r;3BOOV&$K2Xr`c*Isue$|A{M%;wyKWfz5ZOw`2OfgHs5&=6B0O{rT65} zyu7?TPGddMc5iv5sDJ?cA>Da*QoJyYhY$}beKR>Zpd4Pd&AYLBwM)Zz%Zc?3RAvn= z6Zt1|gx%h6`a>*xKZ^#&pyq>80{`(fbgSUsZVR9qFy*7wf5;b3Isva8Qy;MWU!GcL zt+UFC4>}p$A8k2Te-i%gl(|KN%sxOCg5ZGE=)H7V#J>j{JhjyhQ(pNN( z)5=b{ZSLnfHnMm)T*P?zE=^C)ZL03}Vg^kg;%hKp*TwijosA!u+@MPE1B(B{H9>Q zn<)^Ldd~pxoJKrP+pf8@#QaEYRN2`xFOB9ub%!?&H<3RC+k?ckeYeGbn6_`l`>=Q? zyZs~9fIR;hAJY1fz(21s^L)$TKfc(&KN}4Qfx*0A=u`Z$n0-+2gA!+f6Czj0%i7(Z zR@euG{X2xQ?@7eOU_9?gv&F~y`U7hbA1mVJl^5lP)D_PPdx6v@>tB9m;v&aOaEGkl z*>z8*w-t31r|;{;1&M8 zz>w5i;dT%5^5|n&U%Y27+4pIM1I!QB96A;_=!3Lxf)6BcJI#MU?kV~S70mN9UEW`1 zJ>d_b@AKc|=LG(FO_=9f75`8bh3|`MVyZr1Y6I4KKrw%~@E4fgLMxuW{$y>3r{0Q> zqj>oN#t-7-Bd~)9WWZSi z>jz*zuh@28FiFhKnn;txdgK4skWVK|9n1Oq{YC)mnOOS#8^`1w6)pStZCVdtXZN;$ zCjBOCjD+^m`oog0l@G7(^RBM;y0jl-z60=H4eJJ0Boy`xT1}iVZ}v)>|HtC{1V5hI zKIFdqz`;KMG21zTe_LhX<1LH-_-cT0oO#3qPng=@Xna6A0{@yBEo=D?DLM{1g3w>D z!VfTerggxF^}H~hj*SDqoVx?ShAZ$N9`H@C~j zX$A8OQ?^}P%4z96sZ&a}=I8sON^dgxA7bebpru@k#(p9F(n^c&FamM=d%b+hx8tu1 z)d~LnAl563c8mGHn9r>A4sK8DC;1*aG`v9>f=4r0?k2o90q?#iV|Z8N@lMu!yFD+a z-wV7`yaOd(-}rc4_6tbhpVz2)PT)VjJ~$PNk9%K!0FLm!{J=h5sPCwSc3{~LPKB^m z*Phx2ZL=hS9RQypgRaR#7;&d{$M718`o@CGIuU}*@h45{{R<6&KZE8MeCNtOE8YO| zS2ZpP{s4Q#PWRcjt#~BN=T}#B3jdpQAm~>IEq;UfiJcSs?&RwihJ5FhofF&HeqY#8 zV7N~or5XxWhM~*%H8puPj!MS040|H9_a@5`F5};dP;5jLPKwD16||K z(`@|u)~dQ7R>E6q5Alm|=+tTdYgq3iMd~Ddg1m1B4=QYZkL@x3 zaqysgjDC@??*&?{|A7s@PQTtI4*{{hg{pzQfev9)FZzAj-xE~VdaN)YVZ8yi-&YeB zAHa?wQf$7mx2l@$2*mSi?ha)68_eB-tn!opfqZuS`K!ox68A!-|9ILx|MhF16Zns> zo9mDN%?_I19{-kWQ!;L$dp~pSC&V4B;AhDP7QbTO9~+;u?fd1@hS)H2^KX-{3wv7c z{`G41zCp5&dv>2Q{`_Z}Z$6k-knLP`3O>1aB1CujvNQJlL+DE{<zn_wdH&>o|D(76x6lD%r4ag-)|_T3!u`70*+o&p^j z-msxs8aBqR8C@Z491d>`9tECZUp~BSWA!rlzk>ZH zzeem_nTmtIk77qDVusTcO9Fedcz-OOR_NE%&d2c~B`bVL= zOh$%q-;M5>iEBALe~|x>2iEw7u78;IN2$JUN&K7f_jbJJ+worFDOu!at69@bQ2;0esx+#do>rG zh?)xCmoI8HdCAs}IvxZ1-DUMVtpDI&U{Y?^JJp4p_KgPC>K*$g`rJl0U8D6W-I|nI zR^Tpup={(^64u{CcPP(cy`j|JAChPc%ln6Up3Wa`+4g7t6kEJ?Nj45kpL^`GC-Qvs zRYUnBt*sD`B{lR+}G$k zCa0t)y+iSZr@Pv!tAbD&%f_k<0WH+o(R69+*Q+`+gnyxUifs`-uc9DX#L{sjGRpB6TJP|{w0=p zkm<568%BC|4eZ7T{Ab}7l_|YKKbnx;d0|~e#$9hSR zKDuNH%?5B6x`qA*?H%~b5%o=jN1ORjf^P;1I%h29mt^PL?Xyn!VoE%g{&CjWZ)}OK ziy(e0Wz9@$y_X=?Cs8YhFQG4vP#)!8NqO+V>ZbVxZg7NeiTsdmKnH&xKi}f*FY3cY zzrFp>0RP8{zs^~+W{qurOrZ4_r+1yDx$;!!(x@gsT3q}9wS9HzqB6oi>1R0^>=6E= zYt8rM?T|s-$Tt6n<;NzER!!DkS&AbtVCrk4KMn+2qgbvBqYZWhu>Sq{n#R?O3zx8i z^5b?oU1sYi+TSot`%f&o(rW*Qfj}I*J$4zdMxT!^jrjU$KF-`CUf+nPZhJO*X*a8F zT$GOa+8%tct9fzR^0KF0FS(TOn({X%6C60(rjOC!a+*G7w-?8cKOm1v?c)z>``XFc z2>DN-uZ#R(y_fdNXD?l1`GZ7K#)1nD92j_DG0T>qF+eP36+rt3 z2j=u+mmfRh+*PtJa7B`=_2VLjJQUC`c^_HK`-6^n`8&SWr|zo`FE-W~d*x0k#aU5P zTvnhKVvRUq|Ajt=-6Jf2Gv>n~S>t==9kB1$>!jVh)L4AG+OsOUCHgjW%D^9?56n#G z>-8f)zV=h6enIl+CFAMv67ruZT21-oS6_>ejvu5K#l~w*W%$`UV#l6^X z_p7;eBckn&I$ZasgM{sHJ&0H@_~2+ zf7)4J;sJjU_SrF`Wz5r3>QOLWGvlSA#?W}ZU&s6*J-H{=KMr7ha{YE6R0OkqL)b4p zpmcV|=`lw5RJ& zU!(l+Uf9cOIpuNE$e+vGvh6~NIxqrSY8&mi}jBRvX^DTh8ADm>4^Ho z%Ae)9+mY`m=J|Up`ZHq?BUT^uKWzW>oUsq0<0+#pcvN;g@aTdCb&=m0SHgYE{`5zz zf7JN$LbN|3I_uwjC!*Z%GZ0_BiLPLN=t=E60qIqd21^tfoBIzTo8hPJ4TMCPi>clQpD14 zj2}iHzEXT#e@BwmywWphJd5^2(sxL69vw*SD9UyfE-5>*DEK1b+g*;~R|%#U^YPW7 z^O9%sRrH|I33*O)(euB8ZRe-P6XE+M%n#cC!1v1$YXfOu^&kG;PpbUZ$kohA{=a3# z_2&p|SC5^|Un*g~=V*GfiusyI1LN=?%~_c$^&MpTX6Vo#Psxkt>H8MqW;p!R^0Hq~ zN)F%IVqhsA>ToUU;0ZfBBzyJb=Vr;js9-l$G_r9=b9Z{@Fpu zV|8wONz2&Ck^8^-`JCS?j)|3(>OV-gF^wm%81^pYmuC?XRmDk27R^7I=jrk}_Wp+) zKbJ4uec5+FmS{iC$iEwlkG%WS*Z+X|BU<@?zfhFfFy9y%GL%vDr-i=l#2@cT`d+4V zh4QD0b>Tkl`|qB-FLGbx?kmbs#238sO3(KSD>EyTSA1R`L;L{J!+*>AjpJp<%Rcny zqUOQDBcC^B8(%VJ2lhzPBabXtz)SgY-!ETu{6cz2%JTg`)BbU!$as7*{F8AR;>`qh202!cUj{UWPw>MZB;D=!^MaRl9J=r4 zsL!H9{@pVkNcu|B_!sVLl2aaXsWsN`J@NPqBs)#te<%0oe|_!`gS?2%|@AUl7s`pge{IFOMKey6#$4y=w37 zBm^)hV(tCG&fm3n?Om(ZU$v@MJw{($nB`!MB{>}qhJV1n`6uB&2b-S{|Ge<882*iQ zun*wh7WlUp{+%=qZ|>`WFb{;e;2*?=aT3Iz@L$)WD2Gcghl4%501t=f_m8}M|N1+& zT(;36z9{>qr}|AaU( zYX5nc-hkI1?mOcl`}an!{2w9TZM)@no;7!U3EtP&@rV8L`CHD&8I1P?|1O`K_rZ_= zzIJUxlK7o%mcNV4wcYpYFXi+2EFKrZKa}SM!Aau#C| zc_qG|#lG*fg!@O{B%hBZkAWoO4vpi)q2;6XBTgYSKjOrp`Jwp{rx2PSapKVY(ENx~ z2+fZ;acF*Me#9w+=0}`3G(R*y;uJ#jBTgKeADSO=3ZeNCCl1XI&5t;R(ENxKhvtXo zN1Q@ve#D7G^F#9^P9Zcu;>4l(q4^P~5Skxx;?Vri{D@Ns&5t;7XntsZ#3_X4N1Qk` zKQuq$6hiYOP8^yanjdirq4^Ofj>F}Lm!68r&(v5--~^S27|V|-)O;aLkIQfM7(o8J?E39W zw(}K$4NGK&f8Q}id&r3J51Br;A@KoSdAJoStIGaq{e?d~mSjBQ6g# z|LxkZ`F{lbcQG5^d*ydpvc>Oo$!OANq5W<Hemn*k7k-R!-q()b zo}P3}QGPb1FFoBYez7o0D8rH;mIj9|55PLG%2(2AimxxM`A?FOSCohS_&(x8)c?w! z?~m_2>TkE;cOK~@D1ROh%BwJv%WIm15t^o1W??{P*|&z}+pYKaj;pHZdu6x{V`}2Q zAJb>Wmknh>0sKPGyECA4a2KfZ4NC(kA(Z_ftOFEj~z~xa6#~#r9x3gW>|ELeW z@*iq@Jp0nOw8Z*7D;*f0rR??m-{e1^zt#Kc-MNeb5mGyOH+C!XHSj(Y7R?a={tF<6 zEFpYv0^X8Aq67co}yfp!f_uJmLC?UK#0oV6~6Tdg{{!qg6uO(nezZ23Qr1Xcn znPCPNH@05XdP(a=EjesG$fvl(i?#utedUM9EJw0~!b!^$vF1NXMqa;<^}SsJeevG~ zwmzPuKcc=#OHLz<^%EY1-Ff0v^_SUJ5nUAB8tvj9XKiZEVA5~SH*>##ay4OpH1aZI zi;D<{qM?^ym9*)E4IT_a=`fLSfcqO*qiGUmoYk>L?j!8sfuKD+5cNQ~uY$sZ(aOJ={c?aewzeHNHAg z;b?F%3q&Rmj&w(Y2Yesx6S$SPdv$?aFD+5;jB62FIIdHt_cN~o_xNl|ARX{&8-t}f1U0Rbp{&v^rhz$_HXvo^Oei3 z`f^PqSoHay)$?qFr=fPp)UogGwaPhVSiU(-jJ|WzWBR?b%APAl@F1I zz`TEd^qEWO{>Z11hV4s7IQTBUvi*V9IiAh1mSJIGNqIqeK~a8@Do-W*HUBkV2fqC3 z&HhhpUrP2Lg8$($pO4uvrfuIQwD)UMX`RV^+`sc4f3cVJJ+Q~W#+SM>DTX(NI@!a| zBqezS-n6SN(rLibtq~J&J5ZuAvvrLL;XlN@@YKw z?^Jlx+O@Ig1wUI_TG|>L*#-z-iqA)Rw0*@p9>fqKe$S?sjct+l8F=iQ1csm50&5Vn z7>;sJm%rXLTUGhSx`Oj6IyzPP5@}%b{-){f+sQ+bitzUnDuKzKAtwWb5z1RPe|2F#{ zYkxRMA4TmCN=f*)-GA-g$3NzSqQet8Fd zZ_R=kHI-Fmm4q7`>lVzYtD0fq1&s?9)YK7vr)&8?8rojwo!p2k-@3V{{i}f0fAJ;{ zz7`63{4suWf3v@CU(Sz|eG%9Ye0jx-&t~#g-p1FpFAeQ6oE}eM;q3AnUv*J+5xuX# zT>$-o`AWXXeS3SWNBJ!J|N0*vp!sicAOF()@16fH(V^6L{~z%G+Voqk_J0fS?%Fte zvKiQEI8V6+_&s~7U}We5#)_bRMlu)VXDfXcWX-qyf5=_*kdgkQKOi1wBeaDJcnF-A z4?Pkp+-v50F;0r#EHg{tROJhl1$e6RpazZ^H8T|dKk42c-3XLj*}>TG!9!Jj536?b z;@veN;`=%tSmrOZ?44jUYgoDB0o8tCUH&z-i!K?|I=6jxTlL?nvA!?y7Ma4{2aBJ+ zFWW8BtNQ=bQ^cvt-$ef7+T?i9^Ah#Mn*SsjdDZ;yo&RD31)Dx4>RTE(r_mxHeRJn$ zx$X56lGlzUvdW7i#iH_q|LA=^aF+aq!rkDDfHF$m52XQ?2g)A_<$*Zq{<6waaT2b2 zX~wo0J7(-!G+#6?pglt^n))jpHvdHzj{t+2hxqS_8g+L@I|y=Pv(a38$%voub~vNF zB?9$5^LVB#te#Uov%FgQH;dqN677Ao`00DnMQ@)aZ|Ln47C(iPR`-WB|4CBvs`=js z|6^iO`jjk71j4dBu(c0j1w?$frLXDf@&*d;52y4KUo2RaKeBaVe;;rk$|!mtmIrbE zNiWy~a8kHne^sfn|Lgc$-3Oo#a})UMzE7lYfZL&s5B@wzMpCn9UG?v(=9JGWH->?{p*>Utw!UfW-^g!;`;{9XiXZz#x?H9mb`V*g$b`v;0wtn=yqqm{SjKS@qrHU9^e z|0qw>WcQMk=gq}Qt`kA=7TI|H{b z9dYW-Z8O)+Tr&C5$vA!w{dwTc#~NRiKhVD?YJ7UXtnYh_@9lRyA3cA#^3?n%Ny)3` z|G@Hp`G+um#TO2fl-J#s>&!8Iitn>-OLLa^%q9w-4EvLssb{J62RP4lnos`(hQ!Jv zLBIQ~?}e>z>mLMrKQGJH--p&d*7y`(<$=nLRZ!#q3HtNRaB2?mn}dfhU(-0$y4*6Bq6Vw{{zea(oqI$+UQmM-Sed3eC;-{2x71TcAS|}=4d-yE z@QKfyLyz8p-+Vy0oqOu1!1#N@q2^HCsxKDZLpZP}(lBB~W@hVLKC`8IRdo>B``90l zIDQZN_OQmM_d`)7JbHu^`!kQWe~;oL`6gn`f0B&6YW@!_{~w3`t$pjv9Fp?=P#&18 zbBhS)LjT$X(}Yn!@^}dB1#{vA809XHdvAi#e$YWinDiItBH%%|_x?T0zXyH$=-*TI zec78(<8P?qbz*#CI91L@!cl+C_oDBd_fa0O3C)YXSet`= zdpLpz#y1U{HF|X6!pXDCW){s<^}Y1w+3I`IyO-$Ci|gMLH9n;;G5rIDHUCMH@~Zhi zu>61fdc(Q8!s72XuTt)1N+#aInj>tZC_p5qxRuqa6Hso;ZJAQJg;y$MDei94mhw#ZU6>4{QFDq~ule ze_;84&gfic_^S=6B;}1A9%p#b)MCO{&&hQbPqfO1KJ_(m{vr17+5Gu98P4v{$G$zR z@hQHt8BpVItK2~IkL6sXm_KijRo|nVE*P-3QMJgEl_l``ez1 zz7_q7cfol5TBz`;{zi-cf(tDEL-+<5u3t#ufjyq)mFYX)CLHNxI|pw)BNN;MOIjaj zpUt4Y7ydlx-7AMNJoG*}THjvZ3y+>!&#R|DPqy&s`CjD#KVo~zG_O(pqy63AU%2K! zNm^bt{|A=;xzN5JKW*=Rl5*9DlU$~mb06XGO2)<(`g+>?VmPbKp9f8Stno>o!P>_z zb7fCM?;iT|6#vZoOYbjzscakFFJ~WPeb3lX#~@|j<9L0TUpSBW{UvA1p?go&_u#L8 z?w%zbOGP-;_%L7b7G@-kZo7Tm?MuoZEf2wL|Cm1yYkXDyz-awMf1Vh@L*FCXFNd){ z$A8|8d^eT-RQ)%Q=QU%L|AgWrc^)a&{3prDtLFc}^1u3T;J-6{ACr{N84dPvcqnMK zJaBv+j;j;s5cPcze_q1+BC+v1YW#fVj>>;L9ep$U3HtM(!Y6)Xe?F|Yq3ZYjFka8@ z&+|MNoHy@(&-{$;54|6#AF`}rIQjDom=6r*K_U3_V18be>fb9k41Zo+f8}BN^M2Zz z=Dg1|mHjm21}qOsbp0RGAI;a8AO=t#z0Lopw;XBx(y^McE~voh`PadIt>~@3@9ED= ztnWpQPw$uBJZrqZS%xF_%buq21AGHexSMb4Fq|+w&*snD3+?;ryNKWIJQB3~^Zd^R z=I!3N_*@DP?FrO3Wu89>M(f|va{H>=as2`1&$G?X6QlJrvX8)@CnZAPOY*rJ#xUFK z``u5bIg5N1Z&P?aw4cUbS2CV(;`2v}b^TA0lviDz3~c>>5d3T5OQtA$)%z^e|CT>b zjo<09zK|TPuk3v>UjIQT{ds#ht{7tV?*;aS>fm$s z5#QN*qvo0O&OcT5?(r5s%wM+6&nqW>$S;_%E&zN&R$>zuZkSl`2NeJ_mN`$p#HZ3g?O>3{B=Mp~Ia z3d)1ji4}xLOojX@^6C0NCJ@b6(hPYW2zd;o{ZIU+uT)t0^K9dHq&H91_tKkZjo-n( zy}0o^50$~}yvmIMm|1}KGLF^9qnihZ+2`YT@JJNit;X*(NBuRpz6O;C#&dzXoS`Gn z5?J)_c`iEj)LEl(?A`Wdk>X6$%n577H4{7A8`|4DN4IuQJ^$M{{0?-=pFxB6c3 zCAMFH-Jf^J@jEm4i_rso2VVvDKFr6r`SbSh$hIlFiQi!F*MmQA3Spz(s9E}YJ*~IL z1I>}ToRK4jfZ-r!=wa&s#`_e`6yx=6{d+Js7u)#6uinP%A5H(BU03jLZ2#N)OOXGs z4t;$h-G_Lh@47<5^gTz5HUCL+^7>umt33q+@%_hy|B3#*#PK@`{yaH5&+_NNT3k<8 z!kAsscO0vaHGVhP`!GFE`SUvYZoX~#)aAtY9XwbE_PbhNI0WnMj(uk7k15;_^ z$vmZf4xiZubw143f&CA9uD>P5>%)kBdcPd4Z>#UA0R#NRxUtUx54vBX{_!N>f5pDq zOuGL@u>ZrK?w&ySZ0P?hfeBNDk2L4>Rti$JxtHD`SZTwAr?~pyuI8228Wcr59u=fo`O=$jt+$P~{y?n9@i_23T$@@;I)nZD z6%U=R`b%%V&4Bhz4(y2_kMqI*H{LgJ`!j3)lVs)fyU1623I^i)2Z;ZohmZIas~&Ck ze*AubVm%If|31vk_1^D&fu6_x1LS;s@aLW47({%={=MH!pQz^J?}Gh5U^$Kh6dq|X zYSLalSFQKYc7_^WXv)Fyd#m_kt#gC0{vMe7C1O1e`}jREJJ)XS+isP{8ZvI=UaIoV6DH? z&W+_PRIJA9p+B!=VvF+U1(tj2*MHpg7Cn#ib2CSb%xs^{Z;w{DRYzccE~K|etjA&V z=Zp1r?elZ{U2j)f{FENbgIBPB!ZcO?{ZCsBHVh^RPNcy|F`(v?VP!sHj z2h;QFiNCOa$Qpl%WzYN9d+Nj8jcUA(e?zEYYv)Ug>HZ*uceJ-ZPT0S}zkF!UtFv3m zd3o#2txNsuaXf;zP|nt|?XQtIKR0pxz2w8&UyIU1I^q|6PgVTCAKLd&pVw0OqEW#2 z+Tm@4YpzOjPJ;Fe;Ys*BGyn)E#($((^PeOsuO|Y3?I}8%^n4Ti7wd)N7$4AQLpuQK+w?Pj89Aba1 z05h+2FLbwExX>MV4jwkWX3Rc0#C)B@TaRZejOPi10U+KA|517guWy3z@FW$!V_dHD zgIeqU8=*fS>?>B`IQ|FwGwAum_>L57{*xr-^=SBFkKsgken9vi6AJ00wEu1Md9eQ< z4hql8PtSuPbgDcko8c|XH}lkdnwkYwRi&^=2;IK`Fz)bUVYvg4g%iSOR#(CHLF)c$ zU%6=(Snc})7`q$4zCQNuS>GqW-@?agJs$dg(y3#OHUCM{@_Hih*Pf!INzbw1Kd#jU zg&zBl$OSl5`Gcc(@F2b=exDq_ z+kgKaJx_UXykpIO$|=o%lmP0(G2wqq%*2Oe82^VQf`ujH6c(j{#YeGwhmD_TpW_pB zzqHrmaY8sk>wbYO9D^zxFs#R6l~=LPSLN4PveJC&KgJ1pi59#9t^4 zz&fz_hJ5U4FWA}-F~ZXGF=*$n_$eV=t)DFd?eBB+-hWTeCw}jVf;ImsC*}1-;IBPJ zN0Xj!ga7o+CpzDbxAbZLljdpuqXbYNlyfPDRcEutLOv&&JO*RN$Bv_^FX&mk>gVm! z(DKmwp!LBn0j&>qY3TAn>x0$@y9Bg8*rlP%2dxiUAM6s)`e2uaE+4c$Xnn9tKz9%LlCwS|98Z(E4DPhAtnpK4^WgOF-*` zT^hQ4(E6bD!7c%<4|Zwj@0J$@AtiYO2~h;J`#iVk}!KozT$7# zBUNEo04d9D?U#t_A-Uc8YW+k+Uk@k7CvdiUe=@9~1`9YU?7+`WvFQV@nAlSvbpDg( z%d5(NSRKm+r;=xST6!Anh)WpqI{(J#^RNS+-wE4S56;h*YhpL^pbP$DfXi@w+cI1~ z-)v-Newo1AdA$rbCEgapW(;qMJx@4|o{xq9Jr-V&UnbVr{VayF-38hBzQBG4@gEGP zCugMGl|CUObUVJk$P3AF;7Q+4sn+>Vl8DcL$##qHusSN7S!#Xst$aK0f;Ey~;OyL? zj(h)(vd6<84gH0+$-Ph!2lt0wW3Q^V>3Bg*PoWCCK?J(Vvpc6towtgEj7S;mzam&1wcIm5E6rp$ev z|NYf(#DBROrd6M&KbiGG))!d^w>*&s`^Cie!)R}RWP3OB{AKZu2_XKql@C{!1#rLm z2xMs6x>std%1qqfCJ6FxYin$*sxr;MEud!-F9%$T{1lkK(^At=IRn?jJ{7__-__o@ zp>9XgI}l&DSxfo<9ygYmJP;xrS`(<_;mn`#2l&+XU%um%?u9UN{NY?5v3{j(*HncKDsJ-J058^nO} z_E4vB_tKHGuUg`pd->FY$=QKF$o0vy)7>cru;;V8bug#K1-aj_4i@7txDW)i@rwIE}Xy8VZ`mP>FtOtgY7g;*gb0@ zzq9=gV*~7$>n|+!Wfx@^xC^ZPF~#n9DLv|YdOy8K=RZk8Ua9=2UlZlkxk(h)YRR5A zMj278Me+xG0ynHw?FY9v@5a2+{0a(xgKy)VU{7x3 zxpDjJ{hs^l3rk@C+;;vhU&80G&4z2uX#cgpEI`IzuIi5r5xv#kJKXj0b^cS%9bW!t z;C>*mp$I+Yye=2of8GCw@PEu<#+9&4#G2`rNNh z=RZkGUi-`cAKxtGxtg9zS(NK6y~Z35_M!_pukr(}J77HFyb56ao2A=bkK*&;)M#vf zrB1&1R@gpWwdWf41()sJ9}e@m?bx0x$M)b9r~obp+YUId+7n{`(_Z>>c8ELVFPzuk1Up?tt-bW#5%{A>+S* zZEx>(rREGCN__ti>^rpI1%~z<Bu`=60pkhhl>*}*^u8G}M0t^Vkjov_J^}mQ zF(?Vv>6FK_kpEDfn_%57M9%y7cwD1zy>^_m?)q=fLG%#Us}QR^9v^0~A61Q;K=|`3 zA^&~We#Z2D6t451Bq6W;<-d|&LVHg14g=#UymT8f{;BAr(0;E4!c%^K$U}8t-c2DK zc|THD+cZ40ee%0L?89N}83S|QC#^g85x3_Cr5Rw4R;cpnb==R-=T-J9eIKP-=RZl} z$nqb{dTer$Jh7~Im*(9^_@kJA;2^)pHS`om66N=MJhvXqJ1paEZ$AMbJM1*{?9gNB8UeCrR|1|MB}{ zU~Ar%|9MS$pXVJM6aC{RXb%G6DZl4)ww%F+xrEs}Y{8aY%Y#tbKfvz-f6Zo(>-t-7 z^W$`0H)`4;QX7*aTT0i3HpS?Ni^s?YfRqH3{k~u>W-Z z9}@`byZuPSeU|?s_pSDo;6Lny0gZTHjnk_N0$He6v-R(K^%ldX2LIrz;XA>-H)vMWo*YD>-;B4 z%PWreRD(a^C&czD<3z-l*+h_7A8Kq9j?f2w{eaS|9Av(B*^Hhwqv`U=I#c{hhJ-dySNefya9ufw*6_;-|ml^_$ioOuY{dc)JVc zFev{7&Q8M_L)0J9JI+({m1KCn{eG5`Y>g+DsdF%VUo9Mz>Tf!|>V2{C7nJ_AysZ6M zoui|Bpz&_j<}C8Ydf?NyGQ$)-uChn|$re^@vc^~sE$8)HS)s|!=P<%n9CvSJ7lHGn zJv)V;&(CQc9@uLPGmFPfz`0a-9yjTipW~wR-@}_*|J#?A{)2Ajyl>ZdlW&?;4t5nNOr60OdMUVZ}HwgdxmvS_=)t{D}<$^PLH1Xla?%(nz z7@x6`8^dx2&wU&G@sIIe@o@!R%-Htpsn=bYlAV0EBcq2u=6Fp%@v#*A17EJIxI|#! z2#yaK<16x}jY+#PYkpSv*{NyZKQv){f*gUkpu_X~+*=DjZvXdJa~?SRKQjW$4F>K? zUkXbBZFi{tOp5<_Pyghr4ClJ>Tc^Rtr@7KxYW!{9fiYdbi8k>S9pF#P8II#|TKQ6b z*E`+pg2mfznttUO7pCN-oUQVk`e)BhLw)-BE#Hy!yH1AL?Bj1SP1k75@ln5p(S-2* zX6ol0N2GB6Qb*b?Z|B}n$gks9v|jjFPH>IEZiVq?8IBYO<~Z?#(px&pU}MKrsQUG| z&3_z?m&Vk1tgO{}9b-Cgh(6qr#=?-{vGT1I{Id(7c&ikp+ZmUqMDCXJXJqNd*xzn5 zP+r3+{cphdPjmbY$h2V4pW+sHodM}U7KB>yYh#uo8$_o)|!ot zod0=&+dXN8-`U6}3cLYkqrb72jpB`~=U(af56Ay?oWq`+Wv~b5Klt_AXHZt+aZ(!C z|9^dcesUTc#d2NuoFwd_qBB2l{pzvq3H+!3Z>w?9XSY?CoC#^C_CXj9@i6>%wCShk z@qO9PZ}GbRYIKb1ygqtXhsRZ$+O)d;Utc|AdeYAwWnIi!Ji!|8>;wxxHTA4idj6>2 zkM#+h_fqm)6(S+s9%U>?Zt$?S#OuvlK$71|53{?_Weipyen;0M=n^b3{r?kx?@!b@{e%e z>G7|fQqBzKN&4d?*U<5%+2TC-gAGZ)bDXpGwR6W^GeOyJeSXjH*=E-P*P1zNC!v1r zyOjMeHkc)`Esbf;4?eOa+UN5zzTo%AK3=2%zu%5+&%4-sW^kT#9@|}5h&g&S`yue< zwR73&C!frwu)m;111n4nd+)v7>}2>BJUDMQ1`j?R{_>n$2tRS2KI+^v&pa1QKN0@n X%G#zUo@#6){b=o2_Q*4hjg9{wMslCt literal 44900 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 diff --git a/Images/Countdown/8.blp b/Images/Countdown/8.blp index fb4c555c8050f0ecead2481d5b7fdcdfdf84c581..8d4eebc7a8df72eedaaab66b476aecbb5b6f6be9 100644 GIT binary patch literal 88580 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 diff --git a/Images/Countdown/9.blp b/Images/Countdown/9.blp index 7a4bbb99ede604bbce5d84d4577867abd0929ab9..290049bdd8f627ed10b3967a0faab0d1bba0fd8e 100644 GIT binary patch literal 88580 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 literal 44900 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�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 literal 0 HcmV?d00001 diff --git a/Modules/ArenaCountDown.lua b/Modules/ArenaCountDown.lua index ca404d1..274721c 100644 --- a/Modules/ArenaCountDown.lua +++ b/Modules/ArenaCountDown.lua @@ -21,33 +21,34 @@ function ACDFrame:Initialize() local ACDNumFrame = CreateFrame("Frame", "ACDNumFrame", UIParent) ACDNumFrame:EnableMouse(false) - ACDNumFrame:SetHeight(256) - ACDNumFrame:SetWidth(256) - ACDNumFrame:SetPoint("CENTER", 0, 128) + ACDNumFrame:SetHeight(512) + ACDNumFrame:SetWidth(512) + ACDNumFrame:SetPoint("CENTER", 0, 256) ACDNumFrame:Show() self.ACDNumFrame = ACDNumFrame local ACDNumTens = ACDNumFrame:CreateTexture("ACDNumTens", "HIGH") ACDNumTens:SetWidth(256) - ACDNumTens:SetHeight(128) + ACDNumTens:SetHeight(256) ACDNumTens:SetPoint("CENTER", ACDNumFrame, "CENTER", -48, 0) self.ACDNumTens = ACDNumTens local ACDNumOnes = ACDNumFrame:CreateTexture("ACDNumOnes", "HIGH") ACDNumOnes:SetWidth(256) - ACDNumOnes:SetHeight(128) + ACDNumOnes:SetHeight(256) ACDNumOnes:SetPoint("CENTER", ACDNumFrame, "CENTER", 48, 0) self.ACDNumOnes = ACDNumOnes local ACDNumOne = ACDNumFrame:CreateTexture("ACDNumOne", "HIGH") ACDNumOne:SetWidth(256) - ACDNumOne:SetHeight(128) + ACDNumOne:SetHeight(256) ACDNumOne:SetPoint("CENTER", ACDNumFrame, "CENTER", 0, 0) self.ACDNumOne = ACDNumOne self:RegisterMessage("JOINED_ARENA") self:RegisterMessage("ENEMY_SPOTTED") self:RegisterMessage("UNIT_SPEC") + self.faction = UnitFactionGroup("player") end function ACDFrame.OnUpdate(self, elapse) @@ -57,11 +58,7 @@ function ACDFrame.OnUpdate(self, elapse) if ((floor(self.countdown) ~= floor(self.countdown - elapse)) and (floor(self.countdown - elapse) >= 0)) then local str = tostring(floor(self.countdown - elapse)); - if (floor(self.countdown - elapse) == 0) then - self.ACDNumTens:Hide(); - self.ACDNumOnes:Hide(); - self.ACDNumOne:Hide(); - elseif (str_len(str) == 2) then + if (str_len(str) == 2) then -- Display has 2 digits self.ACDNumOne:Hide(); self.ACDNumTens:Show(); @@ -72,8 +69,10 @@ function ACDFrame.OnUpdate(self, elapse) self.ACDNumFrame:SetScale(0.7) elseif (str_len(str) == 1) then -- Display has 1 digit + local numStr = str_sub(str, 0, 1) + local path = numStr == "0" and self.faction or numStr self.ACDNumOne:Show(); - self.ACDNumOne:SetTexture(self.texturePath .. str_sub(str, 0, 1)); + self.ACDNumOne:SetTexture(self.texturePath .. path); self.ACDNumOnes:Hide(); self.ACDNumTens:Hide(); self.ACDNumFrame:SetScale(1.0) @@ -92,18 +91,24 @@ function ACDFrame.OnUpdate(self, elapse) end function ACDFrame:JOINED_ARENA() - self:RegisterEvent("CHAT_MSG_BG_SYSTEM_NEUTRAL") - self:SetScript("OnEvent", ACDFrame.OnEvent) - self.endTime = GetTime() + 70 - self:SetScript("OnUpdate", ACDFrame.OnUpdate) + if Gladdy.db.countdown then + self:RegisterEvent("CHAT_MSG_BG_SYSTEM_NEUTRAL") + self:SetScript("OnEvent", ACDFrame.OnEvent) + self.endTime = GetTime() + 70 + self:SetScript("OnUpdate", ACDFrame.OnUpdate) + end end function ACDFrame:ENEMY_SPOTTED() - ACDFrame:Reset() + if not Gladdy.frame.testing then + ACDFrame:Reset() + end end function ACDFrame:UNIT_SPEC() - ACDFrame:Reset() + if not Gladdy.frame.testing then + ACDFrame:Reset() + end end function ACDFrame:CHAT_MSG_BG_SYSTEM_NEUTRAL(msg) @@ -124,15 +129,15 @@ function ACDFrame:UpdateFrame() self.ACDNumFrame:SetPoint("CENTER", 0, 128) self.ACDNumTens:SetWidth(Gladdy.db.arenaCountdownSize) - self.ACDNumTens:SetHeight(Gladdy.db.arenaCountdownSize/2) + self.ACDNumTens:SetHeight(Gladdy.db.arenaCountdownSize) self.ACDNumTens:SetPoint("CENTER", self.ACDNumFrame, "CENTER", -(Gladdy.db.arenaCountdownSize/8 + Gladdy.db.arenaCountdownSize/8/2), 0) self.ACDNumOnes:SetWidth(Gladdy.db.arenaCountdownSize) - self.ACDNumOnes:SetHeight(Gladdy.db.arenaCountdownSize/2) + self.ACDNumOnes:SetHeight(Gladdy.db.arenaCountdownSize) self.ACDNumOnes:SetPoint("CENTER", self.ACDNumFrame, "CENTER", (Gladdy.db.arenaCountdownSize/8 + Gladdy.db.arenaCountdownSize/8/2), 0) self.ACDNumOne:SetWidth(Gladdy.db.arenaCountdownSize) - self.ACDNumOne:SetHeight(Gladdy.db.arenaCountdownSize/2) + self.ACDNumOne:SetHeight(Gladdy.db.arenaCountdownSize) self.ACDNumOne:SetPoint("CENTER", self.ACDNumFrame, "CENTER", 0, 0) end From f7f703d33ae0e6c605ea6a4a50d5d5b137f0dd9a Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 10 Aug 2021 13:18:02 +0200 Subject: [PATCH 14/38] Auras description --- Modules/Auras.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/Auras.lua b/Modules/Auras.lua index b71cc0a..29ff0f1 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -1,6 +1,7 @@ local pairs, ipairs, select, tinsert, tbl_sort, tostring, tonumber, rand = pairs, ipairs, select, tinsert, table.sort, tostring, tonumber, math.random local GetSpellInfo = GetSpellInfo +local GetSpellDescription = GetSpellDescription local CreateFrame, GetTime = CreateFrame, GetTime local AURA_TYPE_DEBUFF, AURA_TYPE_BUFF = AURA_TYPE_DEBUFF, AURA_TYPE_BUFF @@ -668,6 +669,7 @@ function Auras:GetAuraOptions(auraType) enabled = { order = 1, name = L["Enabled"], + desc = GetSpellDescription(k), type = "toggle", image = Gladdy:GetImportantAuras()[GetSpellInfo(k)] and Gladdy:GetImportantAuras()[GetSpellInfo(k)].texture or select(3, GetSpellInfo(k)), width = "2", From 890cf80531f320b0db4a6f563065b1e59e0ec9f7 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 10 Aug 2021 13:18:25 +0200 Subject: [PATCH 15/38] LibClassAuras update --- Libs/LibClassAuras-1.0/ClassBuffs.lua | 5 ++++- Libs/LibClassAuras-1.0/ClassDebuffs.lua | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Libs/LibClassAuras-1.0/ClassBuffs.lua b/Libs/LibClassAuras-1.0/ClassBuffs.lua index e8bcbfe..48de7aa 100644 --- a/Libs/LibClassAuras-1.0/ClassBuffs.lua +++ b/Libs/LibClassAuras-1.0/ClassBuffs.lua @@ -140,7 +140,8 @@ Buff( { 25782 }, { buffType = "magic"}, "PALADIN") -- Greater Blessing of Might Buff( { 25895 }, { buffType = "magic"}, "PALADIN") -- Greater Blessing of Salvation Buff( { 25899 }, { buffType = "magic"}, "PALADIN") -- Greater Blessing of Sanctuary Buff( { 25894 }, { buffType = "magic"}, "PALADIN") -- Greater Blessing of Wisdom -Buff( { 642 }, { buffType = "magic"}, "PALADIN") -- Divine Shield +Buff( { 642 }, { buffType = "immune"}, "PALADIN") -- Divine Shield +Buff( { 31884 }, { buffType = "magic"}, "PALADIN") -- Avenging Wrath --Auras Buff( { 465, 10290, 643, 10291, 1032, 10292, 10293, 27149 }, { buffType = "aura"}, "PALADIN") -- Devotion Aura Buff( { 7294 }, { buffType = "aura"}, "PALADIN") -- Retribution Aura @@ -167,6 +168,8 @@ Buff( { 21082 }, { buffType = "magic"}, "PALADIN") -- Seal of the Crusade ------------- Buff( { 5384 }, { buffType = "physical"}, "HUNTER") -- Feign Death +Buff( { 19263 }, { buffType = "physical"}, "HUNTER") -- Deterrence +Buff( { 3045 }, { buffType = "physical"}, "HUNTER") -- Rapid Fire --local FEIGN_DEATH = GetSpellInfo(5384) -- Localized name for Feign Death diff --git a/Libs/LibClassAuras-1.0/ClassDebuffs.lua b/Libs/LibClassAuras-1.0/ClassDebuffs.lua index 8d4a166..f488982 100644 --- a/Libs/LibClassAuras-1.0/ClassDebuffs.lua +++ b/Libs/LibClassAuras-1.0/ClassDebuffs.lua @@ -20,7 +20,8 @@ Debuff({ 15286 } ,{ buffType = "magic" }, "PRIEST") -- Vampiric Embrace Debuff({ 15407, 17311, 17312, 17313, 17314, 18807, 25387 }, { buffType = "magic" }, "PRIEST") -- Mind Flay Debuff({ 605, 10911, 10912 }, { buffType = "magic" }, "PRIEST") -- Mind Control Debuff({ 8122, 8124, 10888, 10890 }, { buffType = "magic", }, "PRIEST") -- Psychic Scream -Debuff({ 15269 }, { buffType = "magic"}, "PRIEST") +Debuff({ 15269 }, { buffType = "magic"}, "PRIEST") -- Blackout +Debuff({ 44041, 44043, 44044, 44045, 44046, 44047 }, { buffType = "magic"}, "PRIEST") -- Chastise --------------- -- DRUID From bb7b820cbbe83616277c07d73af02d24b7872888 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 10 Aug 2021 13:19:17 +0200 Subject: [PATCH 16/38] add Net-o-Matic, Nigh Invulnerablility Shield & Nigh Invulnerablility Backfire to Auras --- Constants.lua | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/Constants.lua b/Constants.lua index 3cc8507..bd91dbe 100644 --- a/Constants.lua +++ b/Constants.lua @@ -1,6 +1,7 @@ local tbl_sort, select = table.sort, select local GetSpellInfo = GetSpellInfo +local GetItemInfo = GetItemInfo local GetLocale = GetLocale local Gladdy = LibStub("Gladdy") @@ -711,6 +712,28 @@ local importantAuras = { magic = true, spellID = 34709, }, + -- Net-o-Matic + [GetSpellInfo(13120)] = { + track = AURA_TYPE_DEBUFF, + duration = 10, + priority = 30, + spellID = 13120, + }, + -- Nigh Invulnerability Shield + [GetSpellInfo(30458)] = { + track = AURA_TYPE_BUFF, + duration = 8, + priority = 15, + spellID = 30458, + texture = select(10, GetItemInfo(23825)) + }, + -- Nigh Invulnerability Belt Backfire + [GetSpellInfo(30457)] = { + track = AURA_TYPE_DEBUFF, + duration = 8, + priority = 15, + spellID = 30457, + }, } function Gladdy:GetImportantAuras() return importantAuras @@ -1063,9 +1086,9 @@ local arenaTimer = { [0] = "Der Arenakampf hat begonnen!", }, ["frFR"] = { - [60] = "Le combat d'arène commence dans une minute\194\160!", - [30] = "Le combat d'arène commence dans trente secondes\194\160!", - [15] = "Le combat d'arène commence dans quinze secondes\194\160!", + [61] = "Le combat d'arène commence dans une minute\194\160!", + [31] = "Le combat d'arène commence dans trente secondes\194\160!", + [16] = "Le combat d'arène commence dans quinze secondes\194\160!", [0] = "Le combat d'arène commence\194\160!", }, ["ruRU"] = { From 9c8c78bb8369a7a1de06c20cc1167202d6b628e1 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 10 Aug 2021 13:19:52 +0200 Subject: [PATCH 17/38] DRData update add Nature's Grasp and Pyroclasm --- Libs/DRData-1.0/DRData-1.0.lua | 14 +++++++++++++- Modules/Diminishings.lua | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Libs/DRData-1.0/DRData-1.0.lua b/Libs/DRData-1.0/DRData-1.0.lua index 92523a6..f1f5ff8 100644 --- a/Libs/DRData-1.0/DRData-1.0.lua +++ b/Libs/DRData-1.0/DRData-1.0.lua @@ -1,4 +1,4 @@ -local major = "DRData-1.0" +local major = "DRData-1.0-BCC" local minor = tonumber(string.match("$Revision: 793$", "(%d+)") or 1) assert(LibStub, string.format("%s requires LibStub.", major)) @@ -139,6 +139,9 @@ Data.spells = { -- Revenge Stun [12798] = "rndstun", + + -- Pyroclasm + [18093] = "rndstun", --[[ CYCLONE ]]-- -- Blind @@ -167,6 +170,15 @@ Data.spells = { [9853] = "root", [26989] = "root", + -- Nature's Grasp + [19975] = "root", + [19974] = "root", + [19973] = "root", + [19972] = "root", + [19971] = "root", + [19970] = "root", + [27010] = "root", + --[[ RANDOM ROOTS ]]-- -- Improved Hamstring [23694] = "rndroot", diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index da9cf1d..f926077 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -6,7 +6,7 @@ local CreateFrame = CreateFrame local GetTime = GetTime local Gladdy = LibStub("Gladdy") -local DRData = LibStub("DRData-1.0") +local DRData = LibStub("DRData-1.0-BCC") local L = Gladdy.L local function defaultCategories() local categories = {} From fad4321bf67aa26fcbebcfb6a8d658903b67abaf Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 19 Aug 2021 18:56:52 +0200 Subject: [PATCH 18/38] add mangle --- Libs/LibClassAuras-1.0/ClassDebuffs.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Libs/LibClassAuras-1.0/ClassDebuffs.lua b/Libs/LibClassAuras-1.0/ClassDebuffs.lua index f488982..12ca9f8 100644 --- a/Libs/LibClassAuras-1.0/ClassDebuffs.lua +++ b/Libs/LibClassAuras-1.0/ClassDebuffs.lua @@ -45,6 +45,8 @@ Debuff({ 1822, 1823, 1824, 9904, 27003 }, { stacking = true, buffType = "physica Debuff({ 1079, 9492, 9493, 9752, 9894, 9896, 27008 }, { stacking = true, buffType = "physical", preEvent = "SPELL_CAST_SUCCESS" }, "DRUID") -- Rip Debuff({ 5570, 24974, 24975, 24976, 24977, 27013 }, { stacking = true, buffType = "magic", preEvent = "SPELL_CAST_SUCCESS" }, "DRUID") -- Insect Swarm Debuff({ 33745 }, { stacking = true, buffType = "physical", preEvent = "SPELL_CAST_SUCCESS" }, "DRUID") -- Lacerate +Debuff({ 33878, 33986, 33987 }, { buffType = "physical" }, "DRUID") -- Mangle (Bear) +Debuff({ 33876, 33982, 33983 }, { buffType = "physical" }, "DRUID") -- Mangle (Cat) ------------- -- WARRIOR From 9e81455ec510be7a565ac94509259e953081ec84 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 19 Aug 2021 18:57:27 +0200 Subject: [PATCH 19/38] fix SpotEnemy --- EventListener.lua | 15 ++++++++++----- Modules/Racial.lua | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/EventListener.lua b/EventListener.lua index 8734d44..4d87a28 100644 --- a/EventListener.lua +++ b/EventListener.lua @@ -48,6 +48,9 @@ end function Gladdy:SpotEnemy(unit, auraScan) local button = self.buttons[unit] + if not unit or not button then + return + end button.raceLoc = UnitRace(unit) button.race = select(2, UnitRace(unit)) button.classLoc = select(1, UnitClass(unit)) @@ -55,7 +58,9 @@ function Gladdy:SpotEnemy(unit, auraScan) button.name = UnitName(unit) button.stealthed = false Gladdy.guids[UnitGUID(unit)] = unit - Gladdy:SendMessage("ENEMY_SPOTTED", unit) + if button.class and button.race then + Gladdy:SendMessage("ENEMY_SPOTTED", unit) + end if auraScan and not button.spec then for n = 1, 30 do local spellName,_,_,_,_,_,unitCaster = UnitAura(unit, n, "HELPFUL") @@ -88,7 +93,7 @@ function EventListener:COMBAT_LOG_EVENT_UNFILTERED() Gladdy:SendMessage("UNIT_DEATH", destUnit) end -- spec detection - if not Gladdy.buttons[destUnit].class then + if not Gladdy.buttons[destUnit].class or not Gladdy.buttons[destUnit].race then Gladdy:SpotEnemy(destUnit, true) end --interrupt detection @@ -119,7 +124,7 @@ function EventListener:COMBAT_LOG_EVENT_UNFILTERED() end end - if not Gladdy.buttons[srcUnit].class then + if not Gladdy.buttons[srcUnit].class or not Gladdy.buttons[srcUnit].race then Gladdy:SpotEnemy(srcUnit, true) end if not Gladdy.buttons[srcUnit].spec then @@ -138,7 +143,7 @@ function EventListener:ARENA_OPPONENT_UPDATE(unit, updateReason) -- ENEMY_SPOTTED if button then Gladdy:SendMessage("ENEMY_STEALTH", unit, false) - if not button.class then + if not button.class or not button.race then Gladdy:SpotEnemy(unit, true) end end @@ -189,7 +194,7 @@ function EventListener:UNIT_AURA(unit) return end for i = 1, 2 do - if not Gladdy.buttons[unit].class then + if not Gladdy.buttons[unit].class or not Gladdy.buttons[unit].race then Gladdy:SpotEnemy(unit, false) end local filter = (i == 1 and "HELPFUL" or "HARMFUL") diff --git a/Modules/Racial.lua b/Modules/Racial.lua index acfcaa1..caf37b7 100644 --- a/Modules/Racial.lua +++ b/Modules/Racial.lua @@ -171,7 +171,7 @@ end function Racial:ENEMY_SPOTTED(unit) local racial = self.frames[unit] - if (not racial) then + if (not racial or not Gladdy.buttons[unit].race) then return end racial.texture:SetTexture(Gladdy:Racials()[Gladdy.buttons[unit].race].texture) From e2d0af1e2bf28f6377cc354dbf9e41e7018dfcbb Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 19 Aug 2021 18:58:05 +0200 Subject: [PATCH 20/38] fix paladin spec detect to discipline --- Modules/Cooldowns.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Modules/Cooldowns.lua b/Modules/Cooldowns.lua index 181c029..12f14aa 100644 --- a/Modules/Cooldowns.lua +++ b/Modules/Cooldowns.lua @@ -338,6 +338,9 @@ function Cooldowns:DetectSpec(unit, spec) if (not button or not spec or button.spec) then return end + if button.class == "PALADIN" and (spec ~= L["Holy"] or spec ~= L["Retribution"]) then + return + end button.spec = spec if not button.test then From 1c93e4ce4de1aa935b17260e395f074038d61ac0 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Thu, 19 Aug 2021 18:58:17 +0200 Subject: [PATCH 21/38] cleanup --- Modules/RangeCheck.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/RangeCheck.lua b/Modules/RangeCheck.lua index eccb1a6..5fac117 100644 --- a/Modules/RangeCheck.lua +++ b/Modules/RangeCheck.lua @@ -211,12 +211,12 @@ function RangeCheck.CheckRange(self) local spell = Gladdy.db.rangeCheckDefaultSpells[RangeCheck.playerClass].min - if( not UnitIsConnected(button.unit) or not UnitInPhase(button.unit) ) then + if (not UnitIsConnected(button.unit) or not UnitInPhase(button.unit)) then RangeCheck:SetRangeAlpha(button, false) - elseif( spell ) then + elseif (spell) then RangeCheck:SetRangeAlpha(button, LSR.IsSpellInRange(spell, button.unit) == 1) -- That didn't work, but they are grouped lets try the actual API for this, it's a bit flaky though and not that useful generally - elseif( UnitInRaid(button.unit) or UnitInParty(button.unit) ) then + elseif (UnitInRaid(button.unit) or UnitInParty(button.unit)) then RangeCheck:SetRangeAlpha(button, UnitInRange(button.unit, "player")) -- Nope, fall back to interaction :( else From dd8a35857db5368dfbdc33da12515793e24b0525 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 1 Sep 2021 08:16:37 +0200 Subject: [PATCH 22/38] shadowsight register AURA_GAIN --- Modules/ShadowsightTimer.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/ShadowsightTimer.lua b/Modules/ShadowsightTimer.lua index 1a3d542..edd280e 100644 --- a/Modules/ShadowsightTimer.lua +++ b/Modules/ShadowsightTimer.lua @@ -21,6 +21,7 @@ end function ShadowsightTimer:Initialize() self.locale = Gladdy:GetArenaTimer() self:RegisterMessage("JOINED_ARENA") + self:RegisterMessage("AURA_GAIN") self:CreateTimerFrame() end @@ -32,6 +33,12 @@ function ShadowsightTimer:JOINED_ARENA() self.timerFrame:Show() end +function ShadowsightTimer:AURA_GAIN(unit, auraType, spellID) + if (spellID == 34709) then + --TODO reset timer after 15s + end +end + function ShadowsightTimer:CHAT_MSG_BG_SYSTEM_NEUTRAL(msg) for k,v in pairs(self.locale) do if str_find(msg, v) then From 776464f5517e038a973f1ee563c7c4806cd99fe6 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:38:46 +0200 Subject: [PATCH 23/38] add Aura Flee - Skull of Impending Doom --- Constants.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Constants.lua b/Constants.lua index bd91dbe..2b04c1d 100644 --- a/Constants.lua +++ b/Constants.lua @@ -734,6 +734,14 @@ local importantAuras = { priority = 15, spellID = 30457, }, + -- Flee (Skull of impending Doom) -- 5024 + [GetSpellInfo(5024)] = { + track = AURA_TYPE_BUFF, + duration = 8, + priority = 15, + spellID = 5024, + altName = select(1, GetSpellInfo(5024)) .. " - " .. select(1, GetItemInfo(4984)), + }, } function Gladdy:GetImportantAuras() return importantAuras From 75d4dfe9febfb76160533157abccff9c3ed5300f Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:39:21 +0200 Subject: [PATCH 24/38] adjust countdown numbers --- Modules/ArenaCountDown.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/ArenaCountDown.lua b/Modules/ArenaCountDown.lua index 274721c..38b6076 100644 --- a/Modules/ArenaCountDown.lua +++ b/Modules/ArenaCountDown.lua @@ -30,13 +30,13 @@ function ACDFrame:Initialize() local ACDNumTens = ACDNumFrame:CreateTexture("ACDNumTens", "HIGH") ACDNumTens:SetWidth(256) ACDNumTens:SetHeight(256) - ACDNumTens:SetPoint("CENTER", ACDNumFrame, "CENTER", -48, 0) + ACDNumTens:SetPoint("CENTER", ACDNumFrame, "CENTER", -50, 0) self.ACDNumTens = ACDNumTens local ACDNumOnes = ACDNumFrame:CreateTexture("ACDNumOnes", "HIGH") ACDNumOnes:SetWidth(256) ACDNumOnes:SetHeight(256) - ACDNumOnes:SetPoint("CENTER", ACDNumFrame, "CENTER", 48, 0) + ACDNumOnes:SetPoint("CENTER", ACDNumFrame, "CENTER", 50, 0) self.ACDNumOnes = ACDNumOnes local ACDNumOne = ACDNumFrame:CreateTexture("ACDNumOne", "HIGH") From 6b4c35c66b494c6f0418b88461b1023b364e4704 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:42:35 +0200 Subject: [PATCH 25/38] error handling for font/statusbar/border not found added --- Gladdy.lua | 22 ++++++++++++++++++++++ Modules/Auras.lua | 9 +++++---- Modules/BuffsDebuffs.lua | 4 ++-- Modules/Castbar.lua | 21 ++++++++++----------- Modules/Cooldowns.lua | 12 ++++++------ Modules/Diminishings.lua | 8 ++++---- Modules/Healthbar.lua | 28 ++++++++++++++-------------- Modules/Highlight.lua | 12 ++++++------ Modules/Pets.lua | 28 ++++++++++++++-------------- Modules/Powerbar.lua | 20 ++++++++++---------- Modules/Racial.lua | 12 ++++++------ Modules/TotemPlates.lua | 6 +++--- Modules/Trinket.lua | 12 ++++++------ 13 files changed, 108 insertions(+), 86 deletions(-) diff --git a/Gladdy.lua b/Gladdy.lua index 1957227..9926240 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -5,6 +5,7 @@ local select = select local pairs = pairs local tinsert = table.insert local tsort = table.sort +local GetTime = GetTime local CreateFrame = CreateFrame local DEFAULT_CHAT_FRAME = DEFAULT_CHAT_FRAME local IsAddOnLoaded = IsAddOnLoaded @@ -474,4 +475,25 @@ function Gladdy:BlizzArenaSetAlpha(alpha) ArenaEnemyFrame5:SetAlpha(alpha) ArenaEnemyFrame5PetFrame:SetAlpha(alpha) end +end + +--------------------------- + +-- FONT/STATUSBAR/BORDER + +--------------------------- + +local defaults = {["statusbar"] = "Smooth", ["border"] = "Gladdy Tooltip round", ["font"] = "DorisPP"} + +local lastWarning = {} +function Gladdy:SMFetch(lsmType, key, dbEntry) + local smMediaType = self.LSM:Fetch(lsmType, key) + if (smMediaType == nil and key ~= "None") then + if not lastWarning[dbEntry] or GetTime() - lastWarning[dbEntry] > 120 then + lastWarning[dbEntry] = GetTime() + Gladdy:Warn("Could not find", "\"" .. lsmType .. "\"", key, "for", "\"" .. dbEntry .. "\"", "- setting it to", "\"" .. defaults[lsmType] .. "\"") + end + return self.LSM:Fetch(lsmType, defaults[lsmType]) + end + return smMediaType end \ No newline at end of file diff --git a/Modules/Auras.lua b/Modules/Auras.lua index 29ff0f1..eed66a6 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -88,7 +88,7 @@ function Auras:CreateFrame(unit) auraFrame:SetAllPoints(classIcon) auraFrame.text = auraFrame.cooldownFrame:CreateFontString(nil, "OVERLAY") - auraFrame.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), 10, "OUTLINE") + auraFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), 10, "OUTLINE") auraFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) --auraFrame.text:SetShadowOffset(1, -1) --auraFrame.text:SetShadowColor(0, 0, 0, 1) @@ -152,7 +152,7 @@ function Auras:CreateInterrupt(unit) interruptFrame:SetAllPoints(classIcon) interruptFrame.text = interruptFrame.cooldownFrame:CreateFontString(nil, "OVERLAY") - interruptFrame.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), 10, "OUTLINE") + interruptFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), 10, "OUTLINE") interruptFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) --auraFrame.text:SetShadowOffset(1, -1) --auraFrame.text:SetShadowColor(0, 0, 0, 1) @@ -205,7 +205,7 @@ function Auras:UpdateFrame(unit) auraFrame.cooldown:SetPoint("CENTER", auraFrame, "CENTER") auraFrame.cooldown:SetAlpha(Gladdy.db.auraCooldownAlpha) - auraFrame.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") + auraFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") auraFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) auraFrame.icon.overlay:SetTexture(Gladdy.db.auraBorderStyle) @@ -243,7 +243,7 @@ function Auras:UpdateInterruptFrame(unit) interruptFrame.cooldown:SetPoint("CENTER", interruptFrame, "CENTER") interruptFrame.cooldown:SetAlpha(Gladdy.db.auraCooldownAlpha) - interruptFrame.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") + interruptFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") interruptFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) interruptFrame.icon.overlay:SetTexture(Gladdy.db.auraBorderStyle) @@ -662,6 +662,7 @@ function Auras:GetAuraOptions(auraType) or (Gladdy:GetImportantAuras()[select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689))] and Gladdy:GetImportantAuras()[select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689))].spellID == k and Gladdy:GetImportantAuras()[select(1, GetSpellInfo(27010)) .. " " .. select(1, GetSpellInfo(16689))].altName) + or Gladdy:GetImportantAuras()[GetSpellInfo(k)].altName or GetSpellInfo(k), order = i+2, icon = Gladdy:GetImportantAuras()[GetSpellInfo(k)] and Gladdy:GetImportantAuras()[GetSpellInfo(k)].texture or select(3, GetSpellInfo(k)), diff --git a/Modules/BuffsDebuffs.lua b/Modules/BuffsDebuffs.lua index a1f7fa7..4f0c6e8 100644 --- a/Modules/BuffsDebuffs.lua +++ b/Modules/BuffsDebuffs.lua @@ -264,9 +264,9 @@ local function styleIcon(aura, auraType) aura.border:SetTexture(Gladdy.db.buffsBorderStyle) aura.border:SetVertexColor(spellSchoolToOptionValue(aura.spellSchool)) - aura.cooldown:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.buffsFont), (Gladdy.db.buffsIconSize/2 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") + aura.cooldown:SetFont(Gladdy:SMFetch("font", Gladdy.db.buffsFont, "buffsFont"), (Gladdy.db.buffsIconSize/2 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") aura.cooldown:SetTextColor(Gladdy.db.buffsFontColor.r, Gladdy.db.buffsFontColor.g, Gladdy.db.buffsFontColor.b, Gladdy.db.buffsFontColor.a) - aura.stacks:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.buffsFont), (Gladdy.db.buffsIconSize/3 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") + aura.stacks:SetFont(Gladdy:SMFetch("font", Gladdy.db.buffsFont, "buffsFont"), (Gladdy.db.buffsIconSize/3 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") aura.stacks:SetTextColor(Gladdy.db.buffsFontColor.r, Gladdy.db.buffsFontColor.g, Gladdy.db.buffsFontColor.b, Gladdy.db.buffsFontColor.a) end diff --git a/Modules/Castbar.lua b/Modules/Castbar.lua index 847d6d6..96c4c98 100644 --- a/Modules/Castbar.lua +++ b/Modules/Castbar.lua @@ -61,13 +61,13 @@ function Castbar:CreateFrame(unit) castBar:EnableMouse(false) castBar.unit = unit - castBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.castBarBorderStyle), + castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.castBarBorderStyle, "castBarBorderStyle"), edgeSize = Gladdy.db.castBarBorderSize }) castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a) castBar:SetFrameLevel(1) castBar.bar = CreateFrame("StatusBar", nil, castBar) - castBar.bar:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.castBarTexture)) + castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) castBar.bar:SetStatusBarColor(Gladdy.db.castBarColor.r, Gladdy.db.castBarColor.g, Gladdy.db.castBarColor.b, Gladdy.db.castBarColor.a) castBar.bar:SetMinMaxValues(0, 100) castBar.bar:SetFrameLevel(0) @@ -81,7 +81,7 @@ function Castbar:CreateFrame(unit) castBar.bg = castBar.bar:CreateTexture(nil, "BACKGROUND") castBar.bg:SetAlpha(1) - castBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.castBarTexture)) + castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) castBar.bg:SetVertexColor(Gladdy.db.castBarBgColor.r, Gladdy.db.castBarBgColor.g, Gladdy.db.castBarBgColor.b, Gladdy.db.castBarBgColor.a) castBar.bg:SetAllPoints(castBar.bar) @@ -101,7 +101,7 @@ function Castbar:CreateFrame(unit) end castBar.spellText = castBar:CreateFontString(nil, "LOW") - castBar.spellText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), Gladdy.db.castBarFontSize) + castBar.spellText:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), Gladdy.db.castBarFontSize) castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.spellText:SetShadowOffset(1, -1) castBar.spellText:SetShadowColor(0, 0, 0, 1) @@ -109,7 +109,7 @@ function Castbar:CreateFrame(unit) castBar.spellText:SetPoint("LEFT", 7, 0) -- Text of the spell castBar.timeText = castBar:CreateFontString(nil, "LOW") - castBar.timeText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.auraFont), Gladdy.db.castBarFontSize) + castBar.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), Gladdy.db.castBarFontSize) castBar.timeText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.timeText:SetShadowOffset(1, -1) castBar.timeText:SetShadowColor(0, 0, 0, 1) @@ -122,7 +122,6 @@ function Castbar:CreateFrame(unit) end function Castbar:UpdateFrame(unit) - local button = Gladdy.buttons[unit] local castBar = self.frames[unit] if (not castBar) then return @@ -130,17 +129,17 @@ function Castbar:UpdateFrame(unit) castBar:SetWidth(Gladdy.db.castBarWidth) castBar:SetHeight(Gladdy.db.castBarHeight) - castBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.castBarBorderStyle), + castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.castBarBorderStyle, "castBarBorderStyle"), edgeSize = Gladdy.db.castBarBorderSize }) castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a) - castBar.bar:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.castBarTexture)) + castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) castBar.bar:ClearAllPoints() castBar.bar:SetStatusBarColor(Gladdy.db.castBarColor.r, Gladdy.db.castBarColor.g, Gladdy.db.castBarColor.b, Gladdy.db.castBarColor.a) castBar.bar:SetPoint("TOPLEFT", castBar, "TOPLEFT", (Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset)) castBar.bar:SetPoint("BOTTOMRIGHT", castBar, "BOTTOMRIGHT", -(Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset)) - castBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.castBarTexture)) + castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) castBar.bg:SetVertexColor(Gladdy.db.castBarBgColor.r, Gladdy.db.castBarBgColor.g, Gladdy.db.castBarBgColor.b, Gladdy.db.castBarBgColor.a) if Gladdy.db.castBarSparkEnabled then @@ -184,10 +183,10 @@ function Castbar:UpdateFrame(unit) end end - castBar.spellText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.castBarFont), Gladdy.db.castBarFontSize) + castBar.spellText:SetFont(Gladdy:SMFetch("font", Gladdy.db.castBarFont, "castBarFont"), Gladdy.db.castBarFontSize) castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) - castBar.timeText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.castBarFont), Gladdy.db.castBarFontSize) + castBar.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.castBarFont, "castBarFont"), Gladdy.db.castBarFontSize) castBar.timeText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.icon.texture.overlay:SetTexture(Gladdy.db.castBarIconStyle) diff --git a/Modules/Cooldowns.lua b/Modules/Cooldowns.lua index 12f14aa..622dd5b 100644 --- a/Modules/Cooldowns.lua +++ b/Modules/Cooldowns.lua @@ -120,7 +120,7 @@ function Cooldowns:CreateFrame(unit) icon.border:SetVertexColor(Gladdy.db.cooldownBorderColor.r, Gladdy.db.cooldownBorderColor.g, Gladdy.db.cooldownBorderColor.b, Gladdy.db.cooldownBorderColor.a) icon.cooldownFont = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") - icon.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon.cooldownFont:SetAllPoints(icon) @@ -172,7 +172,7 @@ function Cooldowns:UpdateFrame(unit) local icon = button.spellCooldownFrame["icon" .. j] icon:SetHeight(Gladdy.db.cooldownSize) icon:SetWidth(Gladdy.db.cooldownSize * Gladdy.db.cooldownWidthFactor) - icon.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon:ClearAllPoints() if (Gladdy.db.cooldownXPos == "RIGHT") then @@ -220,7 +220,7 @@ function Cooldowns:UpdateFrame(unit) icon.cooldown:SetPoint("CENTER", icon, "CENTER") icon.cooldown:SetAlpha(Gladdy.db.cooldownCooldownAlpha) - icon.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), (icon:GetWidth()/2 - 1) * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), (icon:GetWidth()/2 - 1) * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon.border:SetTexture(Gladdy.db.cooldownBorderStyle) @@ -294,11 +294,11 @@ function Cooldowns:CooldownStart(button, spellId, duration) self.timeLeft = self.timeLeft - elapsed local timeLeft = ceil(self.timeLeft) if timeLeft >= 540 then - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), Gladdy.db.cooldownSize / 3.1 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 3.1 * Gladdy.db.cooldownFontScale, "OUTLINE") elseif timeLeft < 540 and timeLeft >= 60 then - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft > 0 then - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.cooldownFont), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 0) if (self.timeLeft <= 0) then diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index f926077..9cb5e9c 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -116,7 +116,7 @@ function Diminishings:CreateFrame(unit) icon.text = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") icon.text:SetDrawLayer("OVERLAY") - icon.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.drFont), 10, "OUTLINE") + icon.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), 10, "OUTLINE") icon.text:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.text:SetShadowOffset(1, -1) icon.text:SetShadowColor(0, 0, 0, 1) @@ -125,7 +125,7 @@ function Diminishings:CreateFrame(unit) icon.timeText = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") icon.timeText:SetDrawLayer("OVERLAY") - icon.timeText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.drFont), 10, "OUTLINE") + icon.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), 10, "OUTLINE") icon.timeText:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.timeText:SetShadowOffset(1, -1) icon.timeText:SetShadowColor(0, 0, 0, 1) @@ -184,9 +184,9 @@ function Diminishings:UpdateFrame(unit) icon:SetWidth(Gladdy.db.drIconSize * Gladdy.db.drWidthFactor) icon:SetHeight(Gladdy.db.drIconSize) - icon.text:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.drFont), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") + icon.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") icon.text:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) - icon.timeText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.drFont), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") + icon.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") icon.timeText:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.cooldown:SetWidth(icon:GetWidth() - icon:GetWidth()/16) diff --git a/Modules/Healthbar.lua b/Modules/Healthbar.lua index 870bee4..ea3f95c 100644 --- a/Modules/Healthbar.lua +++ b/Modules/Healthbar.lua @@ -39,18 +39,18 @@ function Healthbar:CreateFrame(unit) local healthBar = CreateFrame("Frame", nil, Gladdy.buttons[unit], BackdropTemplateMixin and "BackdropTemplate") healthBar:EnableMouse(false) - healthBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.healthBarBorderStyle), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.healthBarBorderStyle, "healthBarBorderStyle"), edgeSize = Gladdy.db.healthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.healthBarBorderColor.r, Gladdy.db.healthBarBorderColor.g, Gladdy.db.healthBarBorderColor.b, Gladdy.db.healthBarBorderColor.a) healthBar:SetFrameLevel(1) healthBar.hp = CreateFrame("StatusBar", nil, healthBar) - healthBar.hp:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.healthBarTexture)) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) healthBar.hp:SetMinMaxValues(0, 100) healthBar.hp:SetFrameLevel(0) healthBar.bg = healthBar.hp:CreateTexture(nil, "BACKGROUND") - healthBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.healthBarTexture)) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) healthBar.bg:ClearAllPoints() healthBar.bg:SetAllPoints(healthBar.hp) healthBar.bg:SetAlpha(1) @@ -58,10 +58,10 @@ function Healthbar:CreateFrame(unit) healthBar.nameText = healthBar:CreateFontString(nil, "LOW", "GameFontNormalSmall") if (Gladdy.db.healthBarNameFontSize < 1) then - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarNameFont), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarNameFont, "healthBarNameFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), Gladdy.db.healthBarNameFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarNameFontSize) healthBar.nameText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.healthBarFontColor.r, Gladdy.db.healthBarFontColor.g, Gladdy.db.healthBarFontColor.b, Gladdy.db.healthBarFontColor.a) @@ -72,10 +72,10 @@ function Healthbar:CreateFrame(unit) healthBar.healthText = healthBar:CreateFontString(nil, "LOW") if (Gladdy.db.healthBarHealthFontSize < 1) then - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), Gladdy.db.healthBarHealthFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarHealthFontSize) healthBar.healthText:Hide() end healthBar.healthText:SetTextColor(Gladdy.db.healthBarFontColor.r, Gladdy.db.healthBarFontColor.g, Gladdy.db.healthBarFontColor.b, Gladdy.db.healthBarFontColor.a) @@ -167,33 +167,33 @@ function Healthbar:UpdateFrame(unit) return end - healthBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.healthBarTexture)) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) healthBar.bg:SetVertexColor(Gladdy.db.healthBarBgColor.r, Gladdy.db.healthBarBgColor.g, Gladdy.db.healthBarBgColor.b, Gladdy.db.healthBarBgColor.a) - healthBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.healthBarBorderStyle), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.healthBarBorderStyle, "healthBarBorderStyle"), edgeSize = Gladdy.db.healthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.healthBarBorderColor.r, Gladdy.db.healthBarBorderColor.g, Gladdy.db.healthBarBorderColor.b, Gladdy.db.healthBarBorderColor.a) healthBar:ClearAllPoints() healthBar:SetPoint("TOPLEFT", Gladdy.buttons[unit], "TOPLEFT", 0, 0) healthBar:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit], "BOTTOMRIGHT") - healthBar.hp:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.healthBarTexture)) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) healthBar.hp:ClearAllPoints() healthBar.hp:SetPoint("TOPLEFT", healthBar, "TOPLEFT", (Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset)) healthBar.hp:SetPoint("BOTTOMRIGHT", healthBar, "BOTTOMRIGHT", -(Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset)) if (Gladdy.db.healthBarHealthFontSize < 1) then - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), Gladdy.db.healthBarHealthFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarHealthFontSize) healthBar.healthText:Show() end if (Gladdy.db.healthBarNameFontSize < 1) then - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarNameFont), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarNameFont, "healthBarNameFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.healthBarFont), Gladdy.db.healthBarNameFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarNameFontSize) if Gladdy.db.healthName then healthBar.nameText:Show() else diff --git a/Modules/Highlight.lua b/Modules/Highlight.lua index e48a4c2..92f3356 100644 --- a/Modules/Highlight.lua +++ b/Modules/Highlight.lua @@ -55,17 +55,17 @@ function Highlight:CreateFrame(unit) local healthBar = Gladdy.modules["Health Bar"].frames[unit] local targetBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - targetBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = Gladdy.db.highlightBorderSize }) + targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --targetBorder:SetFrameStrata("MEDIUM") targetBorder:Hide() local focusBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - focusBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = Gladdy.db.highlightBorderSize }) + focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --focusBorder:SetFrameStrata("MEDIUM") focusBorder:Hide() local leaderBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - leaderBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = Gladdy.db.highlightBorderSize }) + leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --leaderBorder:SetFrameStrata("MEDIUM") leaderBorder:Hide() @@ -106,7 +106,7 @@ function Highlight:UpdateFrame(unit) button.targetBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.targetBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = borderSize }) + button.targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) button.targetBorder:SetBackdropBorderColor(Gladdy.db.targetBorderColor.r, Gladdy.db.targetBorderColor.g, Gladdy.db.targetBorderColor.b, Gladdy.db.targetBorderColor.a) button.focusBorder:SetWidth(width) @@ -119,7 +119,7 @@ function Highlight:UpdateFrame(unit) button.focusBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.focusBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = borderSize }) + button.focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) button.focusBorder:SetBackdropBorderColor(Gladdy.db.focusBorderColor.r, Gladdy.db.focusBorderColor.g, Gladdy.db.focusBorderColor.b, Gladdy.db.focusBorderColor.a) button.leaderBorder:SetWidth(width) @@ -132,7 +132,7 @@ function Highlight:UpdateFrame(unit) button.leaderBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.leaderBorder:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.highlightBorderStyle), edgeSize = borderSize }) + button.leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) button.leaderBorder:SetBackdropBorderColor(Gladdy.db.leaderBorderColor.r, Gladdy.db.leaderBorderColor.g, Gladdy.db.leaderBorderColor.b, Gladdy.db.leaderBorderColor.a) if Gladdy.frame.testing then Highlight:Test(unit) diff --git a/Modules/Pets.lua b/Modules/Pets.lua index 3994492..2eabfab 100644 --- a/Modules/Pets.lua +++ b/Modules/Pets.lua @@ -149,7 +149,7 @@ function Pets:CreateFrame(unitId) button.secure = secure local healthBar = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - healthBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.petHealthBarBorderStyle), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.petHealthBarBorderStyle, "petHealthBarBorderStyle"), edgeSize = Gladdy.db.petHealthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) healthBar:SetFrameLevel(1) @@ -167,14 +167,14 @@ function Pets:CreateFrame(unitId) healthBar.hp = CreateFrame("StatusBar", nil, healthBar) - healthBar.hp:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.petHealthBarTexture)) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) healthBar.hp:SetStatusBarColor(Gladdy.db.petHealthBarColor.r, Gladdy.db.petHealthBarColor.g, Gladdy.db.petHealthBarColor.b, Gladdy.db.petHealthBarColor.a) healthBar.hp:SetMinMaxValues(0, 100) healthBar.hp:SetFrameLevel(0) healthBar.hp:SetAllPoints(healthBar) healthBar.bg = healthBar.hp:CreateTexture(nil, "BACKGROUND") - healthBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.petHealthBarTexture)) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) healthBar.bg:ClearAllPoints() healthBar.bg:SetAllPoints(healthBar.hp) healthBar.bg:SetAlpha(1) @@ -182,10 +182,10 @@ function Pets:CreateFrame(unitId) healthBar.nameText = healthBar:CreateFontString(nil, "LOW", "GameFontNormalSmall") if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), Gladdy.db.petHealthBarFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.nameText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) @@ -196,10 +196,10 @@ function Pets:CreateFrame(unitId) healthBar.healthText = healthBar:CreateFontString(nil, "LOW") if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), Gladdy.db.petHealthBarFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.healthText:Hide() end healthBar.healthText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) @@ -263,28 +263,28 @@ function Pets:UpdateFrame(unitId) healthBar.portrait.border:SetTexture(Gladdy.db.petPortraitBorderStyle) healthBar.portrait.border:SetVertexColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) - healthBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.petHealthBarTexture)) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) healthBar.bg:SetVertexColor(Gladdy.db.petHealthBarBgColor.r, Gladdy.db.petHealthBarBgColor.g, Gladdy.db.petHealthBarBgColor.b, Gladdy.db.petHealthBarBgColor.a) - healthBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.petHealthBarBorderStyle), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.petHealthBarBorderStyle, "petHealthBarBorderStyle"), edgeSize = Gladdy.db.petHealthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) - healthBar.hp:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.petHealthBarTexture)) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) healthBar.hp:SetStatusBarColor(Gladdy.db.petHealthBarColor.r, Gladdy.db.petHealthBarColor.g, Gladdy.db.petHealthBarColor.b, Gladdy.db.petHealthBarColor.a) healthBar.hp:ClearAllPoints() healthBar.hp:SetPoint("TOPLEFT", healthBar, "TOPLEFT", (Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset)) healthBar.hp:SetPoint("BOTTOMRIGHT", healthBar, "BOTTOMRIGHT", -(Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset)) if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), 1) - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) healthBar.nameText:Hide() healthBar.healthText:Hide() else - healthBar.nameText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), Gladdy.db.petHealthBarFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.nameText:Show() - healthBar.healthText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.petHealthBarFont), Gladdy.db.petHealthBarFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.healthText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) diff --git a/Modules/Powerbar.lua b/Modules/Powerbar.lua index 01b608c..686a1b6 100644 --- a/Modules/Powerbar.lua +++ b/Modules/Powerbar.lua @@ -38,24 +38,24 @@ function Powerbar:CreateFrame(unit) local powerBar = CreateFrame("Frame", nil, Gladdy.buttons[unit], BackdropTemplateMixin and "BackdropTemplate") powerBar:EnableMouse(false) - powerBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.powerBarBorderStyle), + powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.powerBarBorderStyle, "powerBarBorderStyle"), edgeSize = Gladdy.db.powerBarBorderSize }) powerBar:SetBackdropBorderColor(Gladdy.db.powerBarBorderColor.r, Gladdy.db.powerBarBorderColor.g, Gladdy.db.powerBarBorderColor.b, Gladdy.db.powerBarBorderColor.a) powerBar:SetFrameLevel(1) powerBar.energy = CreateFrame("StatusBar", nil, powerBar) - powerBar.energy:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.powerBarTexture)) + powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) powerBar.energy:SetMinMaxValues(0, 100) powerBar.energy:SetFrameLevel(0) powerBar.bg = powerBar.energy:CreateTexture(nil, "BACKGROUND") - powerBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.powerBarTexture)) + powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) powerBar.bg:ClearAllPoints() powerBar.bg:SetAllPoints(powerBar.energy) powerBar.bg:SetVertexColor(Gladdy.db.powerBarBgColor.r, Gladdy.db.powerBarBgColor.g, Gladdy.db.powerBarBgColor.b, Gladdy.db.powerBarBgColor.a) powerBar.raceText = powerBar:CreateFontString(nil, "LOW") - powerBar.raceText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.powerBarFont), Gladdy.db.powerBarFontSize) + powerBar.raceText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.raceText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) powerBar.raceText:SetShadowOffset(1, -1) powerBar.raceText:SetShadowColor(0, 0, 0, 1) @@ -63,7 +63,7 @@ function Powerbar:CreateFrame(unit) powerBar.raceText:SetPoint("LEFT", 5, 1) powerBar.powerText = powerBar:CreateFontString(nil, "LOW") - powerBar.powerText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.powerBarFont), Gladdy.db.powerBarFontSize) + powerBar.powerText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.powerText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) powerBar.powerText:SetShadowOffset(1, -1) powerBar.powerText:SetShadowColor(0, 0, 0, 1) @@ -149,7 +149,7 @@ function Powerbar:UpdateFrame(unit) else powerBar:Show() end - powerBar.bg:SetTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.powerBarTexture)) + powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) powerBar.bg:SetVertexColor(Gladdy.db.powerBarBgColor.r, Gladdy.db.powerBarBgColor.g, Gladdy.db.powerBarBgColor.b, Gladdy.db.powerBarBgColor.a) powerBar:SetWidth(healthBar:GetWidth()) @@ -158,18 +158,18 @@ function Powerbar:UpdateFrame(unit) powerBar:ClearAllPoints() powerBar:SetPoint("TOPLEFT", healthBar, "BOTTOMLEFT", 0, -1) - powerBar:SetBackdrop({ edgeFile = Gladdy.LSM:Fetch("border", Gladdy.db.powerBarBorderStyle), + powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.powerBarBorderStyle, "powerBarBorderStyle"), edgeSize = Gladdy.db.powerBarBorderSize }) powerBar:SetBackdropBorderColor(Gladdy.db.powerBarBorderColor.r, Gladdy.db.powerBarBorderColor.g, Gladdy.db.powerBarBorderColor.b, Gladdy.db.powerBarBorderColor.a) - powerBar.energy:SetStatusBarTexture(Gladdy.LSM:Fetch("statusbar", Gladdy.db.powerBarTexture)) + powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) powerBar.energy:ClearAllPoints() powerBar.energy:SetPoint("TOPLEFT", powerBar, "TOPLEFT", (Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset)) powerBar.energy:SetPoint("BOTTOMRIGHT", powerBar, "BOTTOMRIGHT", -(Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset)) - powerBar.raceText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.powerBarFont), Gladdy.db.powerBarFontSize) + powerBar.raceText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.raceText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) - powerBar.powerText:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.powerBarFont), Gladdy.db.powerBarFontSize) + powerBar.powerText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.powerText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) end diff --git a/Modules/Racial.lua b/Modules/Racial.lua index caf37b7..ad62474 100644 --- a/Modules/Racial.lua +++ b/Modules/Racial.lua @@ -44,19 +44,19 @@ local function iconTimer(self,elapsed) if timeLeft >= 60 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), (self:GetWidth()/2 - 0.15* self:GetWidth()) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 0.15* self:GetWidth()) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft >= 30 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 30 and timeLeft >= 11 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 10 and timeLeft >= 5 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 5 and timeLeft > 0 then self.cooldownFont:SetTextColor(1, 0, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 10, true) end @@ -80,7 +80,7 @@ function Racial:CreateFrame(unit) racial.cooldownFrame:SetPoint("BOTTOMRIGHT", racial, "BOTTOMRIGHT") racial.cooldownFont = racial.cooldownFrame:CreateFontString(nil, "OVERLAY") - racial.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.racialFont), 20, "OUTLINE") + racial.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), 20, "OUTLINE") --trinket.cooldownFont:SetAllPoints(trinket.cooldown) racial.cooldownFont:SetJustifyH("CENTER") racial.cooldownFont:SetPoint("CENTER") diff --git a/Modules/TotemPlates.lua b/Modules/TotemPlates.lua index 77a8f3e..ad72893 100644 --- a/Modules/TotemPlates.lua +++ b/Modules/TotemPlates.lua @@ -269,7 +269,7 @@ function TotemPlates:UpdateFrameOnce() Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].color.b, Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].color.a) nameplate.gladdyTotemFrame.totemName:SetPoint("TOP", nameplate.gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) - nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.npTremorFont), Gladdy.db.npTremorFontSize, "OUTLINE") + nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") nameplate.gladdyTotemFrame.totemName:SetText(Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].customText or "") self:SetTotemAlpha(nameplate.gladdyTotemFrame, k) @@ -300,7 +300,7 @@ function TotemPlates:UpdateFrameOnce() gladdyTotemFrame:SetWidth(Gladdy.db.npTotemPlatesSize * Gladdy.db.npTotemPlatesWidthFactor) gladdyTotemFrame:SetHeight(Gladdy.db.npTotemPlatesSize) gladdyTotemFrame.totemBorder:SetTexture(Gladdy.db.npTotemPlatesBorderStyle) - gladdyTotemFrame.totemName:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.npTremorFont), Gladdy.db.npTremorFontSize, "OUTLINE") + gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") gladdyTotemFrame.totemName:SetPoint("TOP", gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) end end @@ -327,7 +327,7 @@ function TotemPlates:CreateTotemFrame(nameplate) nameplate.gladdyTotemFrame.totemBorder:SetPoint("BOTTOMRIGHT", nameplate.gladdyTotemFrame, "BOTTOMRIGHT") nameplate.gladdyTotemFrame.totemBorder:SetTexture(Gladdy.db.npTotemPlatesBorderStyle) nameplate.gladdyTotemFrame.totemName = nameplate.gladdyTotemFrame:CreateFontString(nil, "OVERLAY") - nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.npTremorFont), Gladdy.db.npTremorFontSize, "OUTLINE") + nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") nameplate.gladdyTotemFrame.totemName:SetPoint("TOP", nameplate.gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) nameplate.gladdyTotemFrame.selectionHighlight = nameplate.gladdyTotemFrame:CreateTexture(nil, "OVERLAY") nameplate.gladdyTotemFrame.selectionHighlight:SetTexture("Interface/TargetingFrame/UI-TargetingFrame-BarFill") diff --git a/Modules/Trinket.lua b/Modules/Trinket.lua index 28e24c1..db940bd 100644 --- a/Modules/Trinket.lua +++ b/Modules/Trinket.lua @@ -40,19 +40,19 @@ local function iconTimer(self, elapsed) if timeLeft >= 60 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), (self:GetWidth()/2 - 0.15*self:GetWidth()) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 0.15*self:GetWidth()) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft >= 30 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 30 and timeLeft >= 11 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft <= 10 and timeLeft >= 5 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 5 and timeLeft > 0 then self.cooldownFont:SetTextColor(1, 0, 0) - self.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 10, true) end @@ -76,7 +76,7 @@ function Trinket:CreateFrame(unit) trinket.cooldownFrame:SetPoint("BOTTOMRIGHT", trinket, "BOTTOMRIGHT") trinket.cooldownFont = trinket.cooldownFrame:CreateFontString(nil, "OVERLAY") - trinket.cooldownFont:SetFont(Gladdy.LSM:Fetch("font", Gladdy.db.trinketFont), 20, "OUTLINE") + trinket.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), 20, "OUTLINE") --trinket.cooldownFont:SetAllPoints(trinket.cooldown) trinket.cooldownFont:SetJustifyH("CENTER") trinket.cooldownFont:SetPoint("CENTER") From 7108598603ef3c69807aa5a3f1b6ea234b6520a4 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:56:10 +0200 Subject: [PATCH 26/38] update Klimp profile --- ImportStrings.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ImportStrings.lua b/ImportStrings.lua index 091a8af..d04bdce 100644 --- a/ImportStrings.lua +++ b/ImportStrings.lua @@ -1,7 +1,7 @@ local Gladdy = LibStub("Gladdy") function Gladdy:GetKlimpProfile() - return "4XzT8KTCBJRSFm3NJlqacqWhTtIsCDtC81YPMZu1uAcLeTfprl(qsDZ48q(2p9cajiPKIywErIIeDJEd9cqtnlA29ZMUS8QDLlZlF5U17kXBKn7MOztNtF(i9zj(z9SPvRYwU7lvfpUQ((In5L3LV(2DfBRHHC)hUfGz)dpuDf(XLRFAfJN))8YQIDB)7nz)7DL)929BO7UOyAXxZNDJuaxNvvFv2rPcbrfcIkeiv80UVKxcamz326WHlomr7q))6dazLxdtPkAiN8VMnXie6irIn2iKrrYOzp8cnmYNYRFBE266vUzC20xTRSO6wGDlZwuKT(L72TgW12wwUmB7J5VCv(IpFFzX2pdt6C)GzMCA9ZRZNn96T15LpKTi)VUC5YpST6VEZ6SLlF(VUEt2J5v)fp2)UC3(TlZx(3Zx)uOeUHFeOk8vfvzZxN)YIYfaMN3kuFSJe6I4dlsRz6CiwC8MNhRqejtKs1SRMnfKwPj4fQOuLMVWyIOlew3yKwrkDHo2sdoksj4bhhrJ1KyO7BmwAK2uRdurmFrQoHbnX6UqehZOa0A8eBT0DIuUHOSQeh0kRXnMyjEHwgZZOWMk4PoYDrQwX4nwXad3XYtDuedKnrq3XkySHKjDHmsLYZJus0Imf4jMOszyaSjy8MWprjbXctlcdrcsJMKksrQJHs0mTjKj8qLYuEMtLgNIqX4xbCnl)JmS0g4eM1KsBK0XSEQYPAuI4iEUIvSkrASSUagSLN04iRMP8uPJmItKUh50kWYggHkPGMIyDSYn40egCR2qqzCcnGVzjHrRjIWACADBCAktmgdtmsKtQDRcUEXUT3cRxk26SLPfyVElAbVenEZ2xMrlXk3)e7OOY)uazR8lQVjBtoUWMDibYOPBF6(D15BUDDwDo7j7Y1Fj75Q7ZkFmVMrorctxT7lxcZYRYPFI3)yUiLoxKlk(JIL1RMKTOEh5HA6d7wSV6CC(rEZyU82DvZME31V5T37ChIuYDGNKoC295)t9(sWrZ7l2wSjBDrvn6RGy2fzRZPjX7(Fu(KEZ6DvvnUn6ZrRaUFnkbAeuE)heD)UxpbzXY8TzVe8TvJpWfnqB8U4ALhVp7XIfhiUK4cd7a7cjkyA4A2BDxnARBtpL8MYDF5vfL5lQHGtEAYhzjWiArX5OAebbA(tVJ5xOWH0DEU6d3F)hEpzIvMVzx)ikOj7aNWqeipoNOJbFIGxeT0ghBbFFqqkLlifjXVr5z3MaeGRLo2LxUDli2zBfCcFhyx8Q8hY2VUgzqtsIa)oVDTYtLfafw)8SBIfOwpBXNbI(1x9XjtqgNdimkqIKkTECGOIta3vhdKiDdinZb5vCuZHwRgjVZr8gfisLbCTpkqa3YrjNdVhkHTNqCDyLcfIEuZIecgECzS6W6XOJlWIeduJu6aJAga2yKY3yyz1X58dojukiJHnGW2JJOsIgPTiyw1bI5Dij5WfiqUUN1kQaUMsMAuufLT1OMevSESSUmwQhlRyvJ1PfK)4XDAD41hs9y9Mgzn6r62IZ48yGihAmYzMocRxoX1rrurM0KJRso4AkPj1owqe64X6MljzKMWrQtew4W6DXyDXZP3pgvcvgWzqvbreKJLX1Yt4H4WRePe6hfiqvCNGtoK5RnzSkeLqEIWihHSWsNg1Safqn6GUqzoNqVFOzXigzQtqu6t4q9WH3avYiJxPujJn2axz)OarQsLhNx0dnws(byev6XLWh2nKwMmYf8CrYJybpxm9iwMGLypMHRgBCNuXyTePI7hherNWT4H8nq7wWieR6e74SpQXBrf(gSDcUI)6VNKhzJu7xJ71B2SFBEhyexKM6QZviBH0nZdkkDIwdveIQqiH8umPCUYWtuOkx75KYIV(Tp9)TpBzzwD23(0933Sbi8EMG4Vg)PkzG5xgVNNuP4l2xvVBdUNdZMI7C43RE5AhAJWDD93aETrdCTmk0EbetIL)OCShYvIKblEhf2pkrpiKZVe0Av9xO(RaTM4b(j)vG2iH(3cE1QbjL9RaTwP8NYq7iOvoSk2rH2l0EZx32KPdTFvgtFhXJc7h1(9NJOpMMZK87WGaQzCWoe9RaV2Obr5gfAVWVdNPno(BqTiP)UNmkuFmb8WeQ)vGwRoQFS1rH2lGidby(IutOnSoTFG(rH8Jh343IOiY(7qXPKPdsF5xbE5Je7NaVxez6yeJ6sBxd5FhlPTd3yJFfOns)loakmWWtwU5OAMUz3U6vh)mOApk5)SZba)syCpcjTMt5RvTop)Pq6DoEotLlYXdnd)rb(9nrkJiLtjSUCDv9(TNdm6ui0bat52LNniwdpnRYk3CoayWAJaa(C15mAjSiahD1IS668YZdgqLIWSSOcfBBR7PEpI4kHYcF5IZzkmrXym3PpKNvEuSFv44TSGfmb6n(2HGhMt4SXkI(GCCfrmDAzL5pbSCgEkqNduPmuqjcpUBB18Y8mWg9mam2jK3NDoJwJNrmkVkZZ)Aou21zzcRTQyeQInpb35SumnMJpVy9UT5NLUriL8YwQ2Toh5PeLmDpe0lubRVVnhqiiTFKoYToRS)bo71o9dYY2(A5fy9LnDEYTUJYK8jbZQRMp)PeIfo3Vi0j741Mh2R1f0kmhXxrOCDwfDk8)CfJw07i7)bejv)N9zLErs4rRg6JeCnuwmFFn5H8gkwC1t5RxJES3MTbMm(89NbUGxw8qrEj(eaGAWcykirYCNHBnpmukEaKmbpo)dJdzloOd9hrH6aO4sAqF7t)pQdJNw0SKpR4LiMIpfMIhdM0Nct6XGjZPWKzmyk5uykzmyYEkmzhdMspfMshdM4DN9yOc30QZgx1HEbChR)ueXuuX3(XBU)13HxTPa8RHBmmTU(pU8U7U(dbpqi1Kl)BV8Dx(QRVP5b8HQdp49x(Mx3Exgl3E31VE69n3vjvjPoS)Up8Y)3MhqB5gC)xD3hV(vTdN2)y4239H38XwCZngeC7PV9Y3FziLGDTeNjvGZUbn8syAwoFluFHOrFpD7IUoTuu0qpKyV(898q67OIMopIK7apCYZQPg3lC5PorzAmulM9DqtYPozp3mnSC6(JH6UTtpKKV3auYKtCQ6r6UkpFOj7SU9m0L(8SThuxYXj4WcF7t3davx803(efLKsmEq7z6JHH9m1R3MV5zIUcAQu2(4Gt3z0gqeMEF2)GXZ4MsY9doT9ED8JVdlB6WhRwi0XXYuJbYhes64HxeNI5eb(eA7ARwC1EpsQfgXRV5By7V5N3JVjWTErUJMSwwOtQou9DRoYcSGEBJM0IFGG7DY3PF719UDl(mN6qN0Qyci2ldW11UomdlwR4YTlwb0ElzJgkbcN22fRFRTrNfq(sFd)DpUqrlW5NBg254r(NQtP7GAV5((9bUib7Dc4BS1NMJh8GHGuMgROX7)owQJWlsfkAGyXkwcbe(OojbHlcRxyU7eUqegPOH5Eo3Rg485NqStmMt97PBIsJictksykreXxOIzeHTiXC6yGzmzsSwgdQyEayhrm33Nd4DIObgz0repiTjmQaIJFo)tQFcqmjDePrXeLkwqspBQKqaDA9etKettL1p30ztZ8PW4MBMnInXmXO1jmvOttPXgh5iyoydCH2spWyD4cDncxKiCYqqDsxOW2NLyzPHgbD4x0SfPykvYtQ0lUXMjBojv5PIpACeullLPU6IaXYmTwYFZDI1C68YsC3qWxKghXy1Ysse7S8aOl(I0uMh42LMiENTPHf6sJI(zIdvPjeGAVYdmL5Hz4lsyW4(fcUiwqtn8uEEmodWiGnAmLjuAGkN4Hy10uQ92jsqZtCOMHamGyfrcRjC6l(PGSMGwHT7nn6yEjvuseReG8v41ccNHPu6S3mKYjHx7aZIZIq4qGmj1zRhN6STJy2J7PichkJZalITILjs2Af(YHhELIBLoQuCgRAhKs3clSNcM7oSvA(LEoHxdhZAtkfj82PU1po4GrZ(syXOr400kdDBvKZEgwDWtGs55bgaE1ei34o(o1rOulUWYdADxDNWhJYHDNQX8Xvp7WNUcvjhVWGsPeZGitL1hf8jXGpbRk1GjTA1WcwUCt3wNtPKnmnaI9E1ZqU2flyedYJ15zaz6IynFyi0otoVl9rTtuyMftWnvA56NrS8mewhOlulHb3HvjAmSE8W4zTrZXgh(JpHq3gi(L(kUXBV6a7TWW6)X72p68PtzYNzaX(DveTik81kzc4vj2cr50rcHqjfNQA)G0ooMXqGanZ1QYBawKpiA(4VVdutKKfkzAbYI5uECZBgWhR4i5mfJpyzovmayh9mU9xv7lDnLnTxglrWQAH4(vWqwb0kTvjbe(p76bN593TsfF2WqeTo7OHRN2fnykOL690iKVjAKub2gVRylMiKZqoifN2eJdqanOEjOUMZW6kI88LlnXOTG6oowRfYuWQgnNtAPG(fsTQyz(vRl(6xZkblmQ1)dnw)aWBn7CME2HEZnM53Zg2yP(5NaH3TREUQawX4myCgpZzBnE3zch(B3T(5GHczUk8hwHwG2B8EOecYKcujfaIwemdMbJ)YYfzBpme0ey7dWnzSDaLjTsidzc63Cl93dQPKBdhu0emyQMUF7N3IlJ7b6hD3Mxs6wE6zOiZabq5o00SZe1ojT(RjVx4oiMv38gEaAXJxEH3u5qVUdDEH7od)Un2TNHlLWftHv)7YS)kFE9q8qouP0k9PyWHiXs5PiLUewHKZ5Bi4SGGmzjatCr2tn(CH855N4sp14Y6KF3SOW3g3ymwoGoMGrt(jCcsPm0jUK2CjIiI40sLq2loCbPqtqgB5SYGmcykk2n0ulxWGw5sHmoXn9khkW(kg)TooHFGGHarLp9thHkXJwGOpodJull)W4E0nO(vLarX5NcPx6y2io)kze(YHXecxcuIpR7yFQyrC(4kyemVqDfhDbifzSaIkprYzDrVnIoQ1PuDjQM4ZSmMRxbNzMktTUrq)Y4u6Iyx2ACjhj8GCi1WjT7EMmXWeemx8nGC4ySjsDvhbuixRG1vwusSlFXyPVwnR0puMRe(QbnmF7QcIEbcN7Ayo8gqg2S21K6QcGHp1vsHnIRcWxRH2vQJX9T1LPmGqMMIno73uxzfa1Y2jsPx(kBKxS4ul5Xc1BzCPoBSEToZ0jkFTwXCDr(YrCvnPSUuuJLoolL1VkPlNxRiILeCroUQQKXwofypn4sbwf70hGiZHpblPs9LAAtzwhmuzHl9UosmyeB2XDVjbSLzdG4Cfh4ZD3e7Qks7Scf8YkJRgfw)bw0EeL6Y8(FG8fPcdmgHnbFNKPaSQUohpTZorVu4Pr3eW8OPGZBIznMSu7PgHPn95ZXp8U66DBEFw5J0EiFWx8U(PBCv)DTcyXB3vcUJlc7VsFWem)N2KK5JI57uBbUXHHLcGZ45uocbWQrgkYjXEZ(8QQCkHsxgPHVYMnB6x4n9C4zedB5j6DZLL3SF96ZGZ68A33SJDHfaDUgyN8DQS5LbnCII6jypmR0u74JdOKjwd(EYOIfXAO03e6egPgE7ypP8ypPvuC425T9TiTZ2bFEVy9mxIVIXDlpRbpCU4VnB9dNHENX2LlQ3ZBhRJkPT3CmvKCG)sbAv4qcz5zv5hCLuSZjHP15s39xvXlGdKKpf8kA3KNMBfmT0KRdFqwGD23GVtjRdBwgMi9R9gw8FOJdwZGBS9r))pOjrr81Ximt3AOW0vvdfIVCFzpryuhVSMaZUGDNweCQ6T7HDZT6VB0oeCalNlKd99fmD)GNvVtCgESdyJoeC7JKRFqyKbBZEq0PDfv72EqdptlrS8iUIhSAPRdUtBb5yHENBqJXDyTS93YM)C2KxazqzTci75uC3FH8B4)7qw4F92dpXLJ4BDcKhBQjMYfXG)DwG4iM8ODKNuESN0XVZ97Uel3(6LH2ZDxq09Tkxd5VZMalkO4t8)BbTgpbrWx1F7kqr3b8Y10fkEl5WDTOi4nMhLV1qjXvZ9ko)Zm9(NQjCZmA(lqyQB7G6h0Hv(tPnI5BFAceG8BF6pwvuN7GT1LkP3dpYXvJ(aazFjH1w6f79x)wg8FcZzG4GmJ(b2gQoo97xKDBqU(M3D2ZOW80AvZH)Dj4DygOGdpA1teOV7ozgUrHnrlmCws8PVD25O0j6qFvWYa3VktO7xWuYVvR9cgrdM6R(oVno)uAd)2ScfI0W70enjbkO3OGL4WkCn(h(cujG1B74pjthHmRFtz9JttnlHUEBv4)GrUdhh9Uv0epTE2S)7kZXZ0d" + return "4XzT8S0CBJZK)y2ZJlcacqWJ2jXjU2ehV2o1mtvtPjus0wCJSOxsQDgphYV9V(bajeFOiMK5senjq3n63DZMzHyX9lUB5(hEO(c8FUAv5UBYwVUy3JlUwS4UvLLBxx(x7UOSADE1Rk3wwHBiJEy1Il1XQutSinsAnkH1U4HFrhV4UhN8jlN6jnaYYQBUiRAuCTCX1riCX)Tc)3U1)BFei88MfxlvWcxx96I6SLBZFvr1QT5lw2b3hdHz0zXJd1MQIDFjVzauEoV5D5zBB2aG6D5fpUbWOb23UNVVSj)PB2M1KxF(2N3KD(2)k7L67ZQEmVjFnU3QSvfzBVPSEXD3E1BF39bq7M8Qv57AYEmFXfTiFal4sT2ghBuABK1MgXmn14hGQSDpM)Qn5R(sl9IGUti)kNq9TvL)1RlQYx1uuUBXDV)nxc46)pVQg(Z)8PS)3YQ)C3(Ni2)JhU0l(493)XpqN9Q8NkRUSChG4xxwvuFZn0H73DcfqAhfRePATeoa2OihHNTVk79f1nVo)HS9BBWtPjjjc)nFhY4xJ08ZvfamBEzX1XriZjB1xa08Ml(0LxINuzIuQM3wesLwpVTOItIsNClcD7wAXrKkYopCO1QzE2vcJrmVTivM045TfLqisoLZEih2Ee214cfDSDMyrQLjZ9SelMMHjIgigvrX6PfJJi3TP2P1gvJk2JTZ8qedMttZQgfjIO4PrYiNBRqkNhrLiMPYlOhEWowEajjhArzJnNKjyWPovznZJQ0Y4P3X4iXKoxELmwQN7rXQMRxolGLzIKy1SnBTMJyGmH)ePCALr5qLrzk4NBoAVqOMO5YTmPjtF0h1MsAsTZDlr645YGtsMPkSqDK4iJ7inAUXeaLR0tYVyymbz602jJ4kvgfDeX(eU31Z1neeQsotSiIKjh5Wpwue5rIkmoos1jt7JFIiOYJ4GCIKNW0iNNkSnzUQxQ440zUfb4Ky6TmkHHHQNzcekiIY0QKJ5jkj6i6xJZVK65MsRsLm3WwkLmAwUiLQ0JWG1d3Go6ioThX61enZuStMDyuLsLonsgvAedfEoTc)isCt8SuqWQZM3HinAUmkRjEMotSIJ4VAm1CJ5yPAnIYrIDEYoypRk4kCVR5fO467UAxtE1dzRY)JZxV(J7Q)J3UnB96x(JREcklU(p41(NvL73ToF9FUC7ZloOA87Z)7M9vaCU7PYYMntxsoMNP7z1iDUABwn1YJFO6T99iPTKxRgKRXXYuGvkSGM9d)ce5)USgO6(L7bscWX1uPi1pNVD7I7aQk7jG(5wgSaogRlEOiVcFcSHgSKBOi8mx13n8YWoEmcqUSC1(6XHHSdgpqRcaHAeqCoTOV(5)l14WPdmR5UKSgHu8XGu8CGK(yqsphizogKmZbsjhdsjZbs2Jbj7CGu6XGu6CGehzBkqHw9NmSAWEW1VpICZN6SYoFFvgBPnwZ9oZIq55Y)kVkOzBaRzZiTmZB(57QfAD56m0fy(AjPj4fkOGqnFb24e8IiRBnuhlUW3hc8cHkIxm2ZGlWEtzO7BmwALuP(0wJI5lOC2WlsSUlWYUjqyIIyeBT0Dek3suwvIB3yXQ8AGGox4QfLGc4(HrTWDrQwXWnwXBgUJLrTqWBYc52rKzednKmPlKcvkJhSoSl81xrevkVhUakcC8tusGTW0sKHibPrtCfQ2bAVjAM2OSJVWNWpbnPXjium8vWPM5)cdZT5Cer4jTcP7W6PkNObYWtW4kwXIePXYYcyXwgPXcRMP8uPJmItKUh5KkcHKbiL10f(0cOfNMWB3Qn0UmoMgvmcUhJwtebfgMwzCAktmyutci4jP5WauNChTR3KbQW1O((9fpLxDB(2Bkl21aoUV)J3m0mQ(nDbDROEm)RfRB2CjywwsgsPCNwPaSv7FUH3vB8hMsAE5zWA)MnVuxSkBlrncIY8uPpst4YFx52xcwkGQi3Yptdx5JheULllWG0bBrhfGbZG1FE1QSDJVdrRJ0WnCDgNhaD0HcVcpe0FJX7gCsUJy6UDriyaQUB)UVSd8T0FRFYDBwa6eM(dKWmGbuvw30drDiHYl68DR2aIoNNoS19G30aPCxx8pqslCPzLV(150squBJaRYLlC(aXlahg4pyojl99dgUib9(a)ITgFjMrNH2NmnMxV)3yjy3VeZBvPz4jfwcae8OghI7tiS0gO06racMX065)K92H4ZJq0z3sYi3HOubryYOeMsIe8fQygqw3jrlzizsSwgcQyEbydWw6lbJWLnH3l48Iofs)naYJ(LplS)pChshzAumzPIbFr45mvsaGApdb6Kyczwp2PQX5tAKHHTJLgBIzzIwNWuHonLwBSWrYCjGWfAl9aJ1bltc98Kihxe8XsxOqVM0HgCmJxq1vqydQLMEIKrQ0ZWXx3WsIVYOIDXTKzt0fPwMTrVaaAVw(0RL8VCWYLKZWe3nI4lsJfm4TmlfrdZyacKVinLpmy)Szsu5usnm3hcBK4ous(gPj0w1yqo8bGwnVqdFrsKt7oMz(XreYHNYkRgN2OaoiT61eincLtkjyvbTtPbyymYTAEhG2eltsyHIt0Xpfy7mjlyURcd8J)QCcqm8e9Cdl6JKoW6orkLt3qQzZk2UcqQtxjk1XgtsD2bX8fkHtzbIPQjIauo08DyGqvNI3pw5asIGvNeTQcoLyTJziDMCy0z8g(FbqZUnyMevaiD(y7jJh(kdBeNgZ)Miz7itKJnOyDooLjI2KAh7LnaIz1gvKGLLantXFtIC8H4wgczsgK143Dm3boBNaqTUVRCXi8vwE3MY)6YQI8DRHiKl53D6NEgVQ7nZ(kFLNhE7BCepICocaKd(EiM8YU8CXRBJoCW70(sW0jgYPfCWfffb53CcfTIV52PysbNT1v(0RPxIn)QIj2ZG3tEFM2R2xvNpcNZNRVbHFhl4JLvTb1oJATe9gXVR4FY52jeMy14u)ysM2xtD70caG6fOwDRwIAQyf7GFbnwRouR6FdpH0ZnMiiz6eBmYmJvdpETPn9nQMzzjuZ0tFakDVyhKoLS9KXV7CqH5F(6N)F2NTUkRj7RF((7pyb3byih5ikF5)Fd9BaPThFmdqmLHtXKq0M7kx0fKUeKvsitdH2jQ1S8BoTbTwRpoC2sSg8fmbbDb3RqigQfmAA2sM4jlN6j9th)0gee2i7ASu4lqlG3LT9Ht4q7M2e04(7V9wd7GfBQ4H(i0XzYHs(aA57S5wdu3llQl3nQgNPBxRNWYCCnKx)YUSNkwXl)c030(DnKRUr8b)HShlwnM7ep(pt2j8c6Ea66yKjJb7DiIgNTwGZFs1e9Ld6oRihYaG2Ia7GExE3)3(SQ8V(5l3VD7x)8VUPOj3r0TInRV4SqZiVd4(PXZR8umv7nSpEspiuXVf4S(anQ(iTTrO4z1hw6WiPSd4i0Lmylraa2kuMDl2OvCjKoH1OsJG83W0GvOBZwgGV6gh3oGNE1oKXSmSahh)tmme9VHH6IGOCGFzteuUbe8huHdpihEYB9()7bsGLq9spswDh4oyC(mXm6cgZhNaw(ivz3prcuxc77LVcTLb6y3cEhyVmVcKppwcPpqLWvVnp)z8I8ou9qz1QCVqQa)9AitQOuoUEt126M97oL9OtbXdQdTB9jVfRHrZMSQNoLnyWUSaB4l1NYQHiUuWYhQYZ)NCOI2t6SRTkA(bxdUMW8UAc30ftYWs4mBwDkOWiIPWipKNv1d6Dlbk6ny3uxGQkl7tnDRhQo4aSXII(Bz6tDm5PB1lR2wUlFkSeHPA0JQGCmESCx9YQ8mWk(eWvSqtAkfp9mCNtIJ51uQxL1aMfNM43HM9zNYQ1yjKipl)zSBW7wLFA7IyBH(EilXG8doECROEHxWlOu0ihK4Wl5DCg4EGx)hY(BVVIPgs1whu)c(ompCWCzm0D)Uyex90t73L3lFaO2uoWi2iS2u7qA7WgOVCq3KK0y0cujLQ21qr8dW4LLS9)Xs5DvrphKFhV0VAk8QlROaI47hiEPt)muIw8nRQ7n7YF6fKLLTBhe3yv(taxK0SDb0UnpBnvZxTlNHCAhlBxWNQzZtwFaFW6CSLGpNv1GTtnVEFLlf5AoEaST6UDC)gyjBG4T07UTXhiQ383(qfK0QVKHW10DpIvggnCZHnRM1109YB47G3FqAT9dK)(sSLLiB4a00vSNZQGwmQYL14JQJ6t(sl6YuOVAkyMLN1R8tF(QXlcka1HOW8)g0aF35MpMqjAa2BkE(RFMoIy(ev(0IGyXGOdQMRQzYS4UeQ3uzvPGhATeQcn1Lf(yfT68T0XqcsVXN(f4CbDsudg3VVyhY)CSJ(5H0tzztX68l2w8p)twfCia7KDzDaDGBQ1vxdj6Ec1qgwLkLupt4OM(xoHs2xvWNzAcfqteYy4K7fZWwQ4t0pKogTV6Hgft9(yeU3hJVwyKw7STo8JMywwlh6PQxNoceAE7c)Kp8HIDfpLTTOUtv(T7ZRRZRDQY(spU0abM1I4yTosMcPhG5NNemedHFKcHLY2knwxnDhliFRUOCDTmQZ8Cl4Fm)B0AoryXnOJRd8s1Rgm2UWVYP8hG)tyTxH1ynlXZboZCChFbMYdIxps7Y2COSCm(xNA79UkKwgy060WOckBbg2FIEPFCqzST1c6p)D9uRFvGRRo8oyZME2)s8ddrmQAhRx0zf0R8XJ778Gp9N2ypo6COyDD13HW7TBlRR9c)bo2ihFVY35bN6U2m0hqGDUVyZbLtxCY1V3v5DxmVIGKajO1h(bK05UmrOSsAlU8KTWwoHUQtEmTM6YdSPOszcBPCRQQPVS946bU0a4cOPeRW)uLmyW9Yc7j2(6MYNih83HKX3IP34aRa7GW)cW1kgm(UZcSNL6BLNlFGqGRIsgmTNZc6ts0dMt3FkG1Q6pIJ)maRjEW0F(ZaSIi9)kWvRgmK9)maRvk)Hu0MaSYHFvsZcSNP9QVUmS1H6VkJP)iSolOpP(7pgrpLKdFP7)8bRuNo4te8NbCTIbZh8Sa7zcNOlTnx6wqJnm7ha0tXGh(jf8ZaSwTO)ujplWEgeziSHgPMqDyDA)rKEwaF64g)RWke2)neCkz6Gb)(NbC5bD8haUNjmhOeJYs7HkY)BysBh(HQ9ZaSc9p5aOWcdYURRSH(55(7lU8xITjwBuCsCko6qwL7TSSU7BU)xeUCbdks0e(UtVV8CmZ6R4pYZGIXhw3AbLakvyDqLNbzLoslz8LkCqISHV5n)hAE7lNHsR0O1h97rRbhNf5X(UzP1qJt73amjh77x0HPHbz6VgAsEp(ss(wlqjtoY3oSWfLoS)Om7f4I1nzn7Rx6z7EPVPTgTVJ6XoOy6UkFD)pcWD4SOtYQ39PRV)n3Ix9en6ejrcQ9Y)653E7vFm4byJ0WhCZ5V)8xF11TpGh9y4bF483(MU7Yq5MBV6n3DF7DvsvsQd6V)JV6)U9b0uob3)13(PRED3YPz1dU9TF8TFQd28Gcd3(U3D(hopKsWPyMTb7n26So7H)3LGgI64Akyl75wQ8v(1Bag)DnyBZSN24Wc2gVkVahfNqt3c7UJ7DQCtzvtvwXpS6r)wH152QFFRpP(me2N2TCpOVOJF0)Jxi0IyI(E1DsdA9IV7GhPc6tCmjCZ2l1zjCLkOkqEUnTUXCnsYZoi6xBjnzCUzyv4goViPBmaJ9Z5zkplVg)mq6h23e3eQACdEkpv(4DCJNOX6gSVyv3yiYJdzIBWa5j1KHOmsWJLQueXeJsytzigB5rXuQT8K8f7wAQLhzyTYn5OqqiM(uoqGFad4FRJt4heX7abLFQtD0PeFvP4zmLN3Wu3mUIJ(fDd6RvG2IIhlvJXbu6drGOD8BcGjeEiOt8CLy3CwsFzbiPbRGpl0xwaDbWczOaCkprYtxzep6W8hJIJQDIwM1KO459L(uuCeaDJ0e30tsR24e8rXUPVKh8y(JobpRUb91yDJvRF2W5jReqg)84uEiwLrPUXKgivMeDmCqiZJfTBYGHJGthZk4z21HBqPKN)xTHhT3eJBcSBfuUbJn22oUT8k4jMvBDRx4NU7iw67h9yL0nCWirXZGUBsztTUjj34EEQBetbAGwHBiHrA0Zaz2RwYRu7gVAChSGWbsrS0X4DZ7RmLha6e3CXkvw3G(sF(j8jKpPXYe386AJy0H)3GeTPyR29idRP7jKydlXOV(MLOUj9VPX(zSUDk05ZkebZPrsF7n0HuWAK8h9c9ilZsb6Hh5zJ74AIDABEfc)49A4zUL(Esj2G0dPu3O3Uo4nfaBoma1P8cJcFhFn57A2uJG8Gj2XNO5nJ1v6tmkLlHLdEphh(DG(9hMI7TSlRjrV3yv4lIBvrBZSBwS4)893Ro1a" end function Gladdy:GetClassicProfile() From dd75f267f43306c5c8ae2312566c419639b1a62a Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:56:38 +0200 Subject: [PATCH 27/38] add Test & Hide Button --- Options.lua | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/Options.lua b/Options.lua index b2da325..69f5a6a 100644 --- a/Options.lua +++ b/Options.lua @@ -213,12 +213,31 @@ function Gladdy:SetupOptions() get = getOpt, set = setOpt, args = { + test = { + order = 1, + width = "0.7", + name = L["Test"], + type = "execute", + func = function() + Gladdy:ToggleFrame(3) + end, + }, + hide = { + order = 2, + width = "0.7", + name = L["Hide"], + type = "execute", + func = function() + Gladdy:Reset() + Gladdy:HideFrame() + end, + }, general = { type = "group", name = L["General"], desc = L["General settings"], childGroups = "tab", - order = 1, + order = 3, args = { locked = { type = "toggle", @@ -699,7 +718,7 @@ function Gladdy:SetupOptions() }, } - local order = 2 + local order = 4 for k, v in pairsByKeys(self.modules) do self:SetupModule(k, v, order) order = order + 1 From 73b01c28d785ef0b3442fe5dfec796cc057122ee Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 01:57:04 +0200 Subject: [PATCH 28/38] add duration for grounding effect (still needs testing) --- Constants.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Constants.lua b/Constants.lua index 2b04c1d..e6458a5 100644 --- a/Constants.lua +++ b/Constants.lua @@ -649,7 +649,7 @@ local importantAuras = { -- Grounding Totem Effect [GetSpellInfo(8178)] = { track = AURA_TYPE_BUFF, - duration = 0, + duration = 4, priority = 20, spellID = 8178 }, From b651eb39ce0ee60e7115734d58566901a9153277 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Fri, 3 Sep 2021 02:01:17 +0200 Subject: [PATCH 29/38] add reload ui button --- Options.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Options.lua b/Options.lua index 69f5a6a..68c3abe 100644 --- a/Options.lua +++ b/Options.lua @@ -1,6 +1,7 @@ local type, pairs, tinsert, tsort = type, pairs, table.insert, table.sort local tostring, str_match, tonumber, string_format = tostring, string.match, tonumber, string.format local ceil, floor = ceil, floor +local ReloadUI = ReloadUI local InterfaceOptionsFrame_OpenToFrame = InterfaceOptionsFrame_OpenToFrame local GetSpellInfo = GetSpellInfo @@ -232,12 +233,21 @@ function Gladdy:SetupOptions() Gladdy:HideFrame() end, }, + reload = { + order = 3, + width = "0.7", + name = L["ReloadUI"], + type = "execute", + func = function() + ReloadUI() + end, + }, general = { type = "group", name = L["General"], desc = L["General settings"], childGroups = "tab", - order = 3, + order = 4, args = { locked = { type = "toggle", @@ -718,7 +728,7 @@ function Gladdy:SetupOptions() }, } - local order = 4 + local order = 5 for k, v in pairsByKeys(self.modules) do self:SetupModule(k, v, order) order = order + 1 From d2884e777af0f77286ab86beb9c8312c31861572 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 14 Sep 2021 23:52:13 +0200 Subject: [PATCH 30/38] - Repentance, Freezing Trap & Wyvern Sting are now disorients - import string now ignores errors on deleted options --- Libs/DRData-1.0/DRData-1.0.lua | 16 +++---- Modules/ExportImport.lua | 83 +++++++++++++++++++++++++++------- 2 files changed, 74 insertions(+), 25 deletions(-) diff --git a/Libs/DRData-1.0/DRData-1.0.lua b/Libs/DRData-1.0/DRData-1.0.lua index f1f5ff8..e6bd775 100644 --- a/Libs/DRData-1.0/DRData-1.0.lua +++ b/Libs/DRData-1.0/DRData-1.0.lua @@ -193,10 +193,10 @@ Data.spells = { [18658] = "sleep", -- Wyvern Sting - [19386] = "sleep", - [24132] = "sleep", - [24133] = "sleep", - [27068] = "sleep", + [19386] = "disorient", + [24132] = "disorient", + [24133] = "disorient", + [27068] = "disorient", --[[ MISC ]]-- -- Chastise (Maybe this shares DR with Imp HS?) @@ -213,15 +213,15 @@ Data.spells = { [33042] = "dragonsbreath", -- Dragon's Breath [33043] = "dragonsbreath", -- Dragon's Breath -- Repentance - [20066] = "repentance", + [20066] = "disorient", -- Scatter Shot [19503] = "scatters", -- Freezing Trap - [3355] = "freezetrap", - [14308] = "freezetrap", - [14309] = "freezetrap", + [3355] = "disorient", + [14308] = "disorient", + [14309] = "disorient", -- Improved Conc Shot [19410] = "impconc", diff --git a/Modules/ExportImport.lua b/Modules/ExportImport.lua index 9d9110a..1bafaaa 100644 --- a/Modules/ExportImport.lua +++ b/Modules/ExportImport.lua @@ -1,4 +1,4 @@ -local type, pairs = type, pairs +local type, pairs, str_match = type, pairs, string.match local Gladdy = LibStub("Gladdy") local AceSerializer = LibStub("AceSerializer-3.0") @@ -6,12 +6,23 @@ local L = Gladdy.L local AceGUI = LibStub("AceGUI-3.0") local LibDeflate = LibStub:GetLibrary("LibDeflate") -local function table_copy(t) + +local function table_copy(t, str) local t2 = {}; + if str == nil then + str = "Gladdy.db" + end for k,v in pairs(t) do if type(v) == "table" then - t2[k] = table_copy(v); + if k == "drCategories" then + for key,val in pairs(v) do + --Gladdy:Print("TableCopy", str .. "." .. key) + end + end + + t2[k] = table_copy(v, str .. "." .. k); else + t2[k] = v; end end @@ -84,9 +95,27 @@ import:AddChild(importClearButton) import.clearButton = importClearButton local deletedOptions = { --TODO backward compatibility Imports on deleted options - growUp = true + growUp = true, + freezetrap = true, + repentance = true } +local function checkIsDeletedOption(k, str, msg, errorFound, errorMsg) + local isDeleted + for key, _ in pairs(deletedOptions) do + if str_match(k, key) then + isDeleted = true + Gladdy:Warn("found deleted option =", str .. "." .. k) + end + end + if errorFound then + return errorFound, errorMsg + end + if not isDeleted then + return true, msg or str .. "." .. k .. " does not exist" + end +end + function ExportImport:CheckDeserializedOptions(tbl, refTbl, str) if str == nil and not tbl.version_major_num then return false, "Version conflict: version_major_num not seen" @@ -98,17 +127,29 @@ function ExportImport:CheckDeserializedOptions(tbl, refTbl, str) str = "Gladdy.db" tbl.version_major_num = nil end - for k,v in pairs(tbl) do - if refTbl[k] == nil then - --return false, str .. "." .. k .. " does not exist" - else - if type(v) ~= type(refTbl[k]) then - return false, str .. "." .. k .. " type error. Expected " .. type(refTbl[k]) .. " found " .. type(v) + local res, msg + local errorFound, errorMsg + if refTbl == nil then + return false, str .. "does not exist" + else + for k,v in pairs(tbl) do + if refTbl[k] == nil then + errorFound, errorMsg = checkIsDeletedOption(k, str, nil, errorFound, errorMsg) + elseif type(v) ~= type(refTbl[k]) then + errorFound = true + errorMsg = str .. "." .. k .. " type error. Expected " .. type(refTbl[k]) .. " found " .. type(v) elseif type(v) == "table" then - ExportImport:CheckDeserializedOptions(v, refTbl[k], str .. "." .. k) + res, msg = ExportImport:CheckDeserializedOptions(v, refTbl[k], str .. "." .. k) + if not res then + errorFound, errorMsg = checkIsDeletedOption(msg, str, msg, errorFound, errorMsg) + end end end end + + if errorFound then + return false, errorMsg + end return true end @@ -135,8 +176,8 @@ function ExportImport:GetOptions() export.eb:HighlightText(0, export.eb.editBox:GetNumLetters()) export:SetStatusText("Copy this string to share your configuration with others.") end, - name = "Export", - desc = "Export your current profile to share with others or your various accounts.", + name = L["Export"], + desc = L["Export your current profile to share with others or your various accounts."], order = 3, }, import = { @@ -159,17 +200,25 @@ function ExportImport:GetOptions() import.deserializedTable = deserialized end) end, - name = "Import", - desc = "This will overwrite your current profile!", + name = L["Import"], + desc = L["This will overwrite your current profile!"], order = 4, }, } end -function ExportImport:ApplyImport(t, table) +function ExportImport:ApplyImport(t, table, str) + if str == nil then + str = "Gladdy.db" + end for k,v in pairs(t) do if type(v) == "table" then - ExportImport:ApplyImport(v, table[k]) + if (table[k] ~= nil) then + ExportImport:ApplyImport(v, table[k], str .. "." .. k) + else + Gladdy:Warn("ApplyImport failed for", str .. "." .. k) + end + else table[k] = v end From f1e1ee4e0b4ed3b992cf885007a16475a96ffbc9 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 14 Sep 2021 23:53:12 +0200 Subject: [PATCH 31/38] added Mir's profile --- Images/BasicProfiles/Mir1.blp | Bin 0 -> 175956 bytes ImportStrings.lua | 16 ++++++++++------ Modules/XiconProfiles.lua | 33 +++++++++++++++++++++++++++++++-- 3 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 Images/BasicProfiles/Mir1.blp diff --git a/Images/BasicProfiles/Mir1.blp b/Images/BasicProfiles/Mir1.blp new file mode 100644 index 0000000000000000000000000000000000000000..faed7351402059e9a88d0d19d6c3732313c8a509 GIT binary patch literal 175956 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

cfkJl(I-FpG5Nb`ZIN~9 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 literal 0 HcmV?d00001 diff --git a/ImportStrings.lua b/ImportStrings.lua index d04bdce..80e7914 100644 --- a/ImportStrings.lua +++ b/ImportStrings.lua @@ -1,25 +1,29 @@ local Gladdy = LibStub("Gladdy") function Gladdy:GetKlimpProfile() - return "4XzT8S0CBJZK)y2ZJlcacqWJ2jXjU2ehV2o1mtvtPjus0wCJSOxsQDgphYV9V(bajeFOiMK5senjq3n63DZMzHyX9lUB5(hEO(c8FUAv5UBYwVUy3JlUwS4UvLLBxx(x7UOSADE1Rk3wwHBiJEy1Il1XQutSinsAnkH1U4HFrhV4UhN8jlN6jnaYYQBUiRAuCTCX1riCX)Tc)3U1)BFei88MfxlvWcxx96I6SLBZFvr1QT5lw2b3hdHz0zXJd1MQIDFjVzauEoV5D5zBB2aG6D5fpUbWOb23UNVVSj)PB2M1KxF(2N3KD(2)k7L67ZQEmVjFnU3QSvfzBVPSEXD3E1BF39bq7M8Qv57AYEmFXfTiFal4sT2ghBuABK1MgXmn14hGQSDpM)Qn5R(sl9IGUti)kNq9TvL)1RlQYx1uuUBXDV)nxc46)pVQg(Z)8PS)3YQ)C3(Ni2)JhU0l(493)XpqN9Q8NkRUSChG4xxwvuFZn0H73DcfqAhfRePATeoa2OihHNTVk79f1nVo)HS9BBWtPjjjc)nFhY4xJ08ZvfamBEzX1XriZjB1xa08Ml(0LxINuzIuQM3wesLwpVTOItIsNClcD7wAXrKkYopCO1QzE2vcJrmVTivM045TfLqisoLZEih2Ee214cfDSDMyrQLjZ9SelMMHjIgigvrX6PfJJi3TP2P1gvJk2JTZ8qedMttZQgfjIO4PrYiNBRqkNhrLiMPYlOhEWowEajjhArzJnNKjyWPovznZJQ0Y4P3X4iXKoxELmwQN7rXQMRxolGLzIKy1SnBTMJyGmH)ePCALr5qLrzk4NBoAVqOMO5YTmPjtF0h1MsAsTZDlr645YGtsMPkSqDK4iJ7inAUXeaLR0tYVyymbz602jJ4kvgfDeX(eU31Z1neeQsotSiIKjh5Wpwue5rIkmoos1jt7JFIiOYJ4GCIKNW0iNNkSnzUQxQ440zUfb4Ky6TmkHHHQNzcekiIY0QKJ5jkj6i6xJZVK65MsRsLm3WwkLmAwUiLQ0JWG1d3Go6ioThX61enZuStMDyuLsLonsgvAedfEoTc)isCt8SuqWQZM3HinAUmkRjEMotSIJ4VAm1CJ5yPAnIYrIDEYoypRk4kCVR5fO467UAxtE1dzRY)JZxV(J7Q)J3UnB96x(JREcklU(p41(NvL73ToF9FUC7ZloOA87Z)7M9vaCU7PYYMntxsoMNP7z1iDUABwn1YJFO6T99iPTKxRgKRXXYuGvkSGM9d)ce5)USgO6(L7bscWX1uPi1pNVD7I7aQk7jG(5wgSaogRlEOiVcFcSHgSKBOi8mx13n8YWoEmcqUSC1(6XHHSdgpqRcaHAeqCoTOV(5)l14WPdmR5UKSgHu8XGu8CGK(yqsphizogKmZbsjhdsjZbs2Jbj7CGu6XGu6CGehzBkqHw9NmSAWEW1VpICZN6SYoFFvgBPnwZ9oZIq55Y)kVkOzBaRzZiTmZB(57QfAD56m0fy(AjPj4fkOGqnFb24e8IiRBnuhlUW3hc8cHkIxm2ZGlWEtzO7BmwALuP(0wJI5lOC2WlsSUlWYUjqyIIyeBT0Dek3suwvIB3yXQ8AGGox4QfLGc4(HrTWDrQwXWnwXBgUJLrTqWBYc52rKzednKmPlKcvkJhSoSl81xrevkVhUakcC8tusGTW0sKHibPrtCfQ2bAVjAM2OSJVWNWpbnPXjium8vWPM5)cdZT5Cer4jTcP7W6PkNObYWtW4kwXIePXYYcyXwgPXcRMP8uPJmItKUh5KkcHKbiL10f(0cOfNMWB3Qn0UmoMgvmcUhJwtebfgMwzCAktmyutci4jP5WauNChTR3KbQW1O((9fpLxDB(2Bkl21aoUV)J3m0mQ(nDbDROEm)RfRB2CjywwsgsPCNwPaSv7FUH3vB8hMsAE5zWA)MnVuxSkBlrncIY8uPpst4YFx52xcwkGQi3Yptdx5JheULllWG0bBrhfGbZG1FE1QSDJVdrRJ0WnCDgNhaD0HcVcpe0FJX7gCsUJy6UDriyaQUB)UVSd8T0FRFYDBwa6eM(dKWmGbuvw30drDiHYl68DR2aIoNNoS19G30aPCxx8pqslCPzLV(150squBJaRYLlC(aXlahg4pyojl99dgUib9(a)ITgFjMrNH2NmnMxV)3yjy3VeZBvPz4jfwcae8OghI7tiS0gO06racMX065)K92H4ZJq0z3sYi3HOubryYOeMsIe8fQygqw3jrlzizsSwgcQyEbydWw6lbJWLnH3l48Iofs)naYJ(LplS)pChshzAumzPIbFr45mvsaGApdb6Kyczwp2PQX5tAKHHTJLgBIzzIwNWuHonLwBSWrYCjGWfAl9aJ1bltc98Kihxe8XsxOqVM0HgCmJxq1vqydQLMEIKrQ0ZWXx3WsIVYOIDXTKzt0fPwMTrVaaAVw(0RL8VCWYLKZWe3nI4lsJfm4TmlfrdZyacKVinLpmy)Szsu5usnm3hcBK4ous(gPj0w1yqo8bGwnVqdFrsKt7oMz(XreYHNYkRgN2OaoiT61eincLtkjyvbTtPbyymYTAEhG2eltsyHIt0Xpfy7mjlyURcd8J)QCcqm8e9Cdl6JKoW6orkLt3qQzZk2UcqQtxjk1XgtsD2bX8fkHtzbIPQjIauo08DyGqvNI3pw5asIGvNeTQcoLyTJziDMCy0z8g(FbqZUnyMevaiD(y7jJh(kdBeNgZ)Miz7itKJnOyDooLjI2KAh7LnaIz1gvKGLLantXFtIC8H4wgczsgK143Dm3boBNaqTUVRCXi8vwE3MY)6YQI8DRHiKl53D6NEgVQ7nZ(kFLNhE7BCepICocaKd(EiM8YU8CXRBJoCW70(sW0jgYPfCWfffb53CcfTIV52PysbNT1v(0RPxIn)QIj2ZG3tEFM2R2xvNpcNZNRVbHFhl4JLvTb1oJATe9gXVR4FY52jeMy14u)ysM2xtD70caG6fOwDRwIAQyf7GFbnwRouR6FdpH0ZnMiiz6eBmYmJvdpETPn9nQMzzjuZ0tFakDVyhKoLS9KXV7CqH5F(6N)F2NTUkRj7RF((7pyb3byih5ikF5)Fd9BaPThFmdqmLHtXKq0M7kx0fKUeKvsitdH2jQ1S8BoTbTwRpoC2sSg8fmbbDb3RqigQfmAA2sM4jlN6j9th)0gee2i7ASu4lqlG3LT9Ht4q7M2e04(7V9wd7GfBQ4H(i0XzYHs(aA57S5wdu3llQl3nQgNPBxRNWYCCnKx)YUSNkwXl)c030(DnKRUr8b)HShlwnM7ep(pt2j8c6Ea66yKjJb7DiIgNTwGZFs1e9Ld6oRihYaG2Ia7GExE3)3(SQ8V(5l3VD7x)8VUPOj3r0TInRV4SqZiVd4(PXZR8umv7nSpEspiuXVf4S(anQ(iTTrO4z1hw6WiPSd4i0Lmylraa2kuMDl2OvCjKoH1OsJG83W0GvOBZwgGV6gh3oGNE1oKXSmSahh)tmme9VHH6IGOCGFzteuUbe8huHdpihEYB9()7bsGLq9spswDh4oyC(mXm6cgZhNaw(ivz3prcuxc77LVcTLb6y3cEhyVmVcKppwcPpqLWvVnp)z8I8ou9qz1QCVqQa)9AitQOuoUEt126M97oL9OtbXdQdTB9jVfRHrZMSQNoLnyWUSaB4l1NYQHiUuWYhQYZ)NCOI2t6SRTkA(bxdUMW8UAc30ftYWs4mBwDkOWiIPWipKNv1d6Dlbk6ny3uxGQkl7tnDRhQo4aSXII(Bz6tDm5PB1lR2wUlFkSeHPA0JQGCmESCx9YQ8mWk(eWvSqtAkfp9mCNtIJ51uQxL1aMfNM43HM9zNYQ1yjKipl)zSBW7wLFA7IyBH(EilXG8doECROEHxWlOu0ihK4Wl5DCg4EGx)hY(BVVIPgs1whu)c(ompCWCzm0D)Uyex90t73L3lFaO2uoWi2iS2u7qA7WgOVCq3KK0y0cujLQ21qr8dW4LLS9)Xs5DvrphKFhV0VAk8QlROaI47hiEPt)muIw8nRQ7n7YF6fKLLTBhe3yv(taxK0SDb0UnpBnvZxTlNHCAhlBxWNQzZtwFaFW6CSLGpNv1GTtnVEFLlf5AoEaST6UDC)gyjBG4T07UTXhiQ383(qfK0QVKHW10DpIvggnCZHnRM1109YB47G3FqAT9dK)(sSLLiB4a00vSNZQGwmQYL14JQJ6t(sl6YuOVAkyMLN1R8tF(QXlcka1HOW8)g0aF35MpMqjAa2BkE(RFMoIy(ev(0IGyXGOdQMRQzYS4UeQ3uzvPGhATeQcn1Lf(yfT68T0XqcsVXN(f4CbDsudg3VVyhY)CSJ(5H0tzztX68l2w8p)twfCia7KDzDaDGBQ1vxdj6Ec1qgwLkLupt4OM(xoHs2xvWNzAcfqteYy4K7fZWwQ4t0pKogTV6Hgft9(yeU3hJVwyKw7STo8JMywwlh6PQxNoceAE7c)Kp8HIDfpLTTOUtv(T7ZRRZRDQY(spU0abM1I4yTosMcPhG5NNemedHFKcHLY2knwxnDhliFRUOCDTmQZ8Cl4Fm)B0AoryXnOJRd8s1Rgm2UWVYP8hG)tyTxH1ynlXZboZCChFbMYdIxps7Y2COSCm(xNA79UkKwgy060WOckBbg2FIEPFCqzST1c6p)D9uRFvGRRo8oyZME2)s8ddrmQAhRx0zf0R8XJ778Gp9N2ypo6COyDD13HW7TBlRR9c)bo2ihFVY35bN6U2m0hqGDUVyZbLtxCY1V3v5DxmVIGKajO1h(bK05UmrOSsAlU8KTWwoHUQtEmTM6YdSPOszcBPCRQQPVS946bU0a4cOPeRW)uLmyW9Yc7j2(6MYNih83HKX3IP34aRa7GW)cW1kgm(UZcSNL6BLNlFGqGRIsgmTNZc6ts0dMt3FkG1Q6pIJ)maRjEW0F(ZaSIi9)kWvRgmK9)maRvk)Hu0MaSYHFvsZcSNP9QVUmS1H6VkJP)iSolOpP(7pgrpLKdFP7)8bRuNo4te8NbCTIbZh8Sa7zcNOlTnx6wqJnm7ha0tXGh(jf8ZaSwTO)ujplWEgeziSHgPMqDyDA)rKEwaF64g)RWke2)neCkz6Gb)(NbC5bD8haUNjmhOeJYs7HkY)BysBh(HQ9ZaSc9p5aOWcdYURRSH(55(7lU8xITjwBuCsCko6qwL7TSSU7BU)xeUCbdks0e(UtVV8CmZ6R4pYZGIXhw3AbLakvyDqLNbzLoslz8LkCqISHV5n)hAE7lNHsR0O1h97rRbhNf5X(UzP1qJt73amjh77x0HPHbz6VgAsEp(ss(wlqjtoY3oSWfLoS)Om7f4I1nzn7Rx6z7EPVPTgTVJ6XoOy6UkFD)pcWD4SOtYQ39PRV)n3Ix9en6ejrcQ9Y)653E7vFm4byJ0WhCZ5V)8xF11TpGh9y4bF483(MU7Yq5MBV6n3DF7DvsvsQd6V)JV6)U9b0uob3)13(PRED3YPz1dU9TF8TFQd28Gcd3(U3D(hopKsWPyMTb7n26So7H)3LGgI64Akyl75wQ8v(1Bag)DnyBZSN24Wc2gVkVahfNqt3c7UJ7DQCtzvtvwXpS6r)wH152QFFRpP(me2N2TCpOVOJF0)Jxi0IyI(E1DsdA9IV7GhPc6tCmjCZ2l1zjCLkOkqEUnTUXCnsYZoi6xBjnzCUzyv4goViPBmaJ9Z5zkplVg)mq6h23e3eQACdEkpv(4DCJNOX6gSVyv3yiYJdzIBWa5j1KHOmsWJLQueXeJsytzigB5rXuQT8K8f7wAQLhzyTYn5OqqiM(uoqGFad4FRJt4heX7abLFQtD0PeFvP4zmLN3Wu3mUIJ(fDd6RvG2IIhlvJXbu6drGOD8BcGjeEiOt8CLy3CwsFzbiPbRGpl0xwaDbWczOaCkprYtxzep6W8hJIJQDIwM1KO459L(uuCeaDJ0e30tsR24e8rXUPVKh8y(JobpRUb91yDJvRF2W5jReqg)84uEiwLrPUXKgivMeDmCqiZJfTBYGHJGthZk4z21HBqPKN)xTHhT3eJBcSBfuUbJn22oUT8k4jMvBDRx4NU7iw67h9yL0nCWirXZGUBsztTUjj34EEQBetbAGwHBiHrA0Zaz2RwYRu7gVAChSGWbsrS0X4DZ7RmLha6e3CXkvw3G(sF(j8jKpPXYe386AJy0H)3GeTPyR29idRP7jKydlXOV(MLOUj9VPX(zSUDk05ZkebZPrsF7n0HuWAK8h9c9ilZsb6Hh5zJ74AIDABEfc)49A4zUL(Esj2G0dPu3O3Uo4nfaBoma1P8cJcFhFn57A2uJG8Gj2XNO5nJ1v6tmkLlHLdEphh(DG(9hMI7TSlRjrV3yv4lIBvrBZSBwS4)893Ro1a" + return "4XzTCTTCBJZK(HzVoUiaibbV0kjoX1M44FlNAMPQP0ekjAlUrh8ssTZ45I8SV9jEMurmX5IzmdjqJgnA0N(A7fQf3Vy(6SzhYwNK96dBpKHViEXnQfZxs))hP)Fg()lGFgV)XKxVjz1xV9WFNKnlo7(K)PyXSfZxfNxa)ZXOKhrjpIsEiLwdd6W21h(79xU9Pn84wN9M084LBtEDA2QTjlwwt2hBssVl8hMOfzP7)AsrpQ8usX7tI3wSbi17tsFCtXIBSW82)09hks2D724IKCIpUC7Fh)C(9XzpMuKSgNBw8Q04T3EiFX87U(DV)(gu72KSvj7lIFmbLaYI3tcCvqGZ33AcCEoxe8FlE4vbMH3a1Y3k(fj9YJp8q(m8)vk0Ex2H)(nPzjRkspSFX8p82RG16)ljlh(N)1U4)Ndz)1(J74tW2dD2NU)(p9rAVNLS7q2vh2dl8BoKLMF7T0M7p(eSqjfaJ775BurbbAyd488egp(yw8hsZlEtYdXh3wG7sByOh(ZK9OGFnYZpLLc0S45f347HcN4vFfwM3o7ZxDfUt1HATzAtrPnbbtBkg)qVOrNIkOAkvRHNXZnT1iiWmX9UrzTQPnfTXg5pTPyukv45S3BkHDNqCn8HsGVBIRIoqho19IVACbMYR3XOXZpy8JXbo3DrUX1gndES77M4MWhUonUOAWfr55p(ImW(2P06PXuHQjQ8c6HTMXYwSKU)nkNV9SUc2yxhzC2PXvbA)XNXWlInAQYkTVoyQBfNzQw5CWQmXfX3m5RTo7jUGmI9eTECLrDFLrDeyNBkAVGRgVPkTSrHJV1h8oL2g5M6u8c8NQaomCIQWkZj8JmSHuVP6tauUIol7In9jOJg)EYaMs1EEN4yFeZ7bt1me4QspXvr5PdpXMFiVi6t4vy41ikiCCB8J4bvFcdKJe8egg50uHDHtv9Y47hnXPOaJeJpLbzm0v9edGWaEugxLCilrHENq)Ay5LoyQH0AmHt1TLXO9MKjsTj6ec4G(tiW7egTh42R1BIHyhoz3OgJjA8fzWtd)aFZ4k8dCIB9NKccMD202erEtvq5S(t0yItDc7vdPMBTNkuRbuocDt7SROkJCoTXRYs)3V9L)ZX41zXfXF7l3deRzY2y1boMLSy(8DhouSz8mURZ0Um7tmT4vBJZZVE1H9)ujvVsYzUkVwxaC457RJa5LYbQVp8kW9(84cif(LhbgdwJBO8nYFkz72fZb(oEhSl46cSa2mRtFinjd)cmHcmVAit7yjf7cEyWEqparU6WQJ5dtdDnnEGgfqcZaK4sAqF7l)xMHPtnzwZLcznsj)trj)PqPGtrPGPqj7POKDkuk8uukCkuYDkk5McLIofLIMcLy3xJrk8Q9ztRcSqB4LQBJxVoDpxGpUct13YU8ywmFtBOc4DHdPYtsjalROgiA2mqDXkhgAXyE6)MqdSPrIZUMH5BIH7X54QDF6UKS7s2E7H09fW1M7)0T93e5VT2UgBC53sxxS5kqOCG2grCXSUEFrsw2XNk4zvD7N5KINFcK13U5580vXBLAHk1fDjZz898Md)9h2(CJHclLNm8lc8uv3gBoLRsrdLnMsGxJvW2B8xMTkE)WZqvPg3Cc3eZ2IPToeBBZnb9VrRn92jZjHUmlAb6TuZpU)R7bdSDN6NLxZhGYHz5gsz7jaYoKx0zHQxe0qE6L7xTbo6e9mS6OGUCJt56cL26KwjEYsw)MeAi4s78GWLwIPfegfIpaj6aP3JVb9jSSSOBWdHy9iGFI1FCj620sZuhbE0XXl)Kkj0sm2adnoLrRC08jYrfNbNMs5OXtHoHZtzOHjFNl)bUCLRhwCJLuOY865hPOfs7fYmINIFW4ZecR6Wsk1cMs2qNJPGXNhawKHLLH5sRLlKNRnqPOpv(cG9OFY7fojDCgAHnTgMTm(EK4ZfPjcqPatKo0Nwmx5Qtz8W7upltBrI6B95dLGGqMlcIIOX6RewMdZgEiWrFW6eAzdPVh6jsr48KEWacEEtRT0iOy3OvdYxH(IMxuDPahlP7ssUYlfNt7swmrpe5yXgvKvAUoE3hO5FYfgDjf3xO8cp6bltbTJfO4IWIfG94hII4TcwXqMbnIoQLL9ARju2sA(frH0uHZowGck18aT8dH8e5QXHK2ZX8seRQAfDrfSnQuQjsAvg5msXkcbIkdiU4f3fWZa0L4tKq(iro44VccDMLvwAlzSEcv8LlzE0pGKdig3tlufo2vcdPyzoKmhRkAmIYIoqeLrIKmmsUi4ZpWLUdFtOlu4ddFKQ47k6qnRgd)qOsOILnHgRCDt5ef5arKOLRDyMYepgwEtMPbfHnU5erMmUs7kQs7iSK2WBdRNSU8jI1fqCSrjA8GCMVCekJqoZdbRcZqMqytylkI4q6gzdF2)W(CBySf8HF7HmWWAQa6fyhFlyhNCN(q8QK)8Y1R)0(8)8DBHinE(pVEherq(FYJ9VYoCC)6K1)1YTpvLwq(8nh(BiNIK9Rb3NlzSR(8t4t1iJ96YKcA)6sajroBt7qle(IzdijfiFGI0N(2xiwOo)aKE1ZSjIJxbx78DG7GaLNNhKZ(PY2GZpI8)asv48UbwNemImyDKFOEiv2neMxFmlpP1jKQvGywCjRfcF6qwLpVlc4OBoVm1WrDgaa3e1WFVrMApdzv5c04vfm3kWisaMvfKvX)aFHUoyTEUqVqNpk98n93RvHy9DI7C5bi62DFesYkDpe6fb5ab96470gdaoGarniEmLjQ9DUlalA12hLNy4fNZ1hAcKiMdpgcTcIGPPqR80zm60qUV87c(B1n7h7rURCwSE)G)zWwm4nIswoaxIX(s2yFPOtO7NhU88TQBWKwMHxhEF82hoJnTCvcVR)tBAPrfh47nLuFa(4cD)t(g8Ypyzi6PUFin)W(b14SlA0Netrd5npdzgMUIh(m002X9fKTTz125A34fTr5piYkBHnDBycSEqd0FcLnaICfRP)buJeTOdQmRiZYaH2IeRLz55)VhJZs(2xU642TF7l)2M0Iez3uDA5kZFR5TNYTt3i95rEo3q70YfLS(YAA)7nmy3srQ7IwvPkCVw6CQTZwo3xp0SmCfQ0)G2vVA0iUcckWznrEqmEyGYg0AzLaOmbirA3qME9EuWSSzoq1DwtxV4)o6sZd8MbMJTEqcjq8bWXEL0RFV50uQ(JFzCjKe2J0BAz3y4tgs8D5QIJGlHLLCqJdPbsDVBQGO2hwkJY0(w2qR8oGZBfSqvXk)y6(0DXBtZBkFP52W03PVs2WShDfcFOUaiim5Lkhn2qIgwvviMxG)ttyVsFh30m2XCWBiDlCoQk99u4leYQWt)Fb01P6ba2Ki7frLwFrRqDiUbs4TlEjtI6JY09q66fHSotxqcEjiR1Vh(jVeKv5f8lHUbMEWu)sqwi13FkfTriRUFF9mjYErqP6ReZAqt9xiNZUGanjQpQ(7phtp2jhwsLxEYcPI3Rj7EjORt1dHTjr2luYrxuvyvvK2lSBdOnjspMaUpO8VeK1fO6IR3Ki7fGNHMPDfzBQdhe1fKXjr8X9B8lruOC)ko4m6OEqN(sqxL9N0t0fkBlLy8S01wr(xXvAx)w96LGSQGxyhOWaXWghRpZRaF(vyBiuhjnfzpf6w97RtW46D7oUpPZ5aCjHphqGweRjCqFTHhBvA3CjwNvLMZRu9xTRoKTB8DjxIKvPDIt(hiW9CkVmjW9YE(UkEBk(ulK0yNJNwnxsbwms9PAHvAmAL5KTvjsMWt1kHYk13Bv3X48orFHWdj87naJo8eTXRsC33e1Z(56OAKQqzD1Qka6B3NS7zsvF)EivPvj7aTfoFaoRV7sIxtLhnxsSoHMXYQb85CMT4eqWpSobtM5P4ScewYK8Jzs5JYXXTgNwE9mUFdmKnqkGuBMatKZ9QZVQapKfVlPSCAnht97iD3MD0r3kZs3PcK2DGFhYgDZx9dhqW7AKJeNfopDSWeY9xAW4fK4IY02rn3(PZ29sfyqijUtLwL7vyrTYydofvlu7YG)(PvV56oO5mQ466S)dCpSy0AzCLVZZ4mrqA8bAxGosQFtdnRQk2kzFwlVAuEJYIq8X4)bT2LdwP(q6Eu8ksRU5w3rByt66KzBt)3)nod2JGLJ9X1eTN921z3CC72ZOaQvl1zucmbJ3zLi8AG0ffO2e0o90mIiODlcyeb5sTIHPr5XOGznmIRQiFgNViBjyyLGe5ce4sf8h1AbMrJYkW0ADcUr(MA4OyeYI8fuxdTc0Xmz9umeLALNtOMlIznFhdmNvW10xgzKJrpoWiWi6hkRVrOa2324)oWpK)GhpdDGlQecsMtvEEwbGkz)lWDIL2NEb1nW0ummgLwRquRIXttRcSchhYi3fwcaRVGbNsXBbdmcAD5(7JEaeJmvazvjtkW(XOiBajtLWsoEfildfmgPFDreoGw5OqbHmA4w503ZxW5JbHge1SeuOQ1jySY9jGo0YSgSA8a8J4Lt7fjqMd8kZJIepkK1JSckXWEqu0CkgbxJUebxpPzbm(c9H1JwofJPiOG5ZhOgxKaBTrZ9xaVbWLVsMXmadMAju0bsxaqDDk(VTmQYbLqL7BfSFJyqsdzuLfmJrwSucYmqGMhNG(mkIy1zPbgqWYycWKZWyZRJeiXlXN0xaYmYxWYpuUFOCEc4VE8wvBCUk9EM3zwa0BKdzFTacBKw2oEEsByisfyiSad0Hz0XDLAubvhCch5yzgqtg9BDjKUwzewfpchJjRLHXwXhEGME5fPibc26coFh5Xe)Crt)wfG7(n5Dd)Sx3AvhtQUgnd0f)xhSHyA6fUmAdkidbekKu1oUlnC)Zg3yxigB4WO0L9qvDTQC6DJngOxzWXxzbTSaLVFqGNgUYqWkgwZ6)rZFNnBcLelZ8kXwzyed7gbsdrdtQQy01MgYRQ3g0iwhe4R2f)Tlsi8hASVBJ7qLd8wnhlZhLWZOhiXKpg)y6QbcVOcHPlWM(A(wiEYKVtlbOQsIQEF9DXBT7PxLZCrAsi7SoR9WqGzFQfqsRZEneT3JGId1AUZZ3MK8uZiWxIbqcjvvc8sk(ZBuGoreJjFr228IJ7pN5eaU6PRP7xF2tXz5LztmNA23Bcw0(lUghou0jtIHhpybdh)xZphQdgZ5KaFE12dCEPdUaZAkO0KMq(Q4c4o(5TmqY5uaQP54jZ(ZBNG1rdM0X4ZzjcW(GIIbo(riK0LzjXq6mNXe9fEdoe7kJh)q0NebRxDoJgIdK4S0DpbV5SMsPwYdjXzN1zc2LGs762oRQ1z)aMLF32d55ykGIBepji9xxcrSyxmWUOD3g0WuuhanpR0C6KONyzOFgzfygQZktJSxcdSrhi5e8FSkTrHAqZMPNnCVnSRFPKEnvfMk8BRsPKecv2ZXBGvRZKe8TaaDvAT7NAFZnH1M3)sJsxAZSLfsDT7Mw2sT0Fbfa35uBHCJY19m4SoVOiioJ8sBPJ0eP(UEo)Jfx9ki(tNZdsmjc7XsNPcS5YqHUxWZEzlNytso3REvmOVNTBTgPLx7OEvkP(tTxEJyig4oXGXXmqTbkViSLlPXSk6(UJj55j5sjfk7SUwUbBSxA3B7LIr5pjdZXFpbiJ4V)Z3C)BVdFAh1SuHEkY3WVD5D3D9NA8bS6b4hU9YpC5BU(MQpW)bra(WhV8DVT(TmvU9URF787RERbINosO(h(0R)VR(afYmg73DF(63upCQrEHxF3NE3NRPTXgabHdVE(7V8Jx2Kt8v(Sbr2yqDRbm2VyaQYtUoD(cjA4)cumBH0a4ZWSnImb8d4FGgMvMRjogQ9EXhOCPWhGKx4bJjBoJBRx89ubbMj)jfGMk2224d0VBO4dupOsRSVptcSzyNvMck(fJmeJZekZgB3AEmGNQzsBHtubZqMwAL8quGHPRVHNm8ghV0yZIIp4c9O3qLevyt6bQASZkRBa(c63JBIPI45W9aoro(lgniwyEblGWmjfXzl4wYLMByaZB0VfU0cILsGOgMNg9jdtFidxdl)vwwAZDy7Sfszw4nBjxjhngsbbFJVHpsGu45Zcojn6tyVXsCEKwydm5t(tYPcvEIzL5jpRS8e0GXisWhCyroMXzbsBtprsqAVZKFD)OrI18Hyg83opIi4oPOxXqpdVxKXgXjyDt1D)Hlrp5xtXESoRzscI72b)ZxtpJDTQT6pGf42E6ALbz)EseePrwFkVElQ2JUe8PcAoYxYg7lOZO2nCB5A3nV5MfLF4exAMkuhNrNHpXMULhjXOgDCkQlSUrkPgBR6GFgfhT1FYH(5pQoZYSUSxjjQv06e(0SrcKSZVyN)4S(Mj2)Y5fXfhZxwELR8McwaL0QyrlwS4)FtekbA" end function Gladdy:GetClassicProfile() - return "4XzTC19CBJRR)pM7ZBg(nPEmPTPnZTTj340z3Zm74TY2kX6u)rosY3UPp0)2pGeG6dBjhRMn7d1kIKGGGGGa4h0oLp9UPtwuCX2IfzfVz7QTf(xKo9Z8PtMf(3hc)BH)FRGFt38q2BwMn)B3S97zfxKwCx2Fxn9cO37U)(Yl8)Z5RECjsH5PLvqxgI6Sa1zbQZ8uFb0PTRwS97BiAWoZnDs5Yu4vL5pSS6U81zf)boM055PR2R)847XPCs1tRYMo5Qnvzf3Nop7ppFXIR3u(NVFv6Ifp9NxTo9HSY)e77FvSD3Mfzl(RzRE0ZjVnVmD2QS3KxmhOXSPtE0VGpFE1U0v(1Bvr(MVLvDq3()ZkkZ3U5VwN(V3w8xB2ToWvLvPv7kNfLfxdIPSQPF2e533TXtLfEcNUzdWjZZwNTPQ0lVOz62S0fp5NHYhZM7)nBt26WlOo8LsKalZsxvT03WISsqQ(yAr1tWeLvUROiBEfWDL((TWpSYMrC3sOllb550plcBh4RHnWpNUo7YTBQMK)Jmy5iMozZJ3TTkB9nRsRYWn8Zx990NkVlT4HSkGpMrAetwU97NVRi9TzH)miiZQ(qKYEQoDYB3wKxEZntNC)257krrKNVqzZ)kkTQ31VzB50j3E17)qq593ZxuT8Y05vBdAPETiGREaOzwq(vUkl7r)dznc573wmp7Q5B34zOC)VFMlnSKW6EEvXQYQDBoLXOtmYWbJnlo5H4m40SmTy9PmaJGz8d4BLNsVfIeNV3LZtRa9(tBmCDyvSiV0l2G9KtyqgMnytyX8tQ3CL2377ZsloL(l48WYOy72tIB0oLJ2igXqeHHK9iSKtHZCN0OsWrTOi9b4K0SISu402jmqfjK3LEk9wNyr5vrw2pYQkspjvyTtQ8JkF9JWBoPnMA1XNMVA7Mtsey4bEliec2fMNcg)aR1j1gJ61MFX0lnkHZySwMu6KwJD69)givG7bgQLzd1cm7P1gwo(vm8MRywcxJSYFvsTfQ4vibJkF8DxExWcvWOcmsg7WlGOLlVLfs0GwxBKn3igNI3xS97VnNSbxpz0fPTUcyE(jFL588Z3mFj0RgEb6s355IRV7UR)uWODr26T7B0nif3)AS551MD)nHQJL5JZvOjHcVkdkkKqFslavQ3axRv5fd47fAtBzuZa4jTF)FuZg8UxD4D8yxbC9(NY3KVoDvU)UoCCnS5vRxVd1PBy2Zssq(9mMOppBUnChtqiG(VGYRllY)Xp)6)3Uu4GFv6p)6D3rt3(3)m7a2EOBl9Zb1w4E45KEIxwCd4Is(gu5DE((ZrSNDo9zibuq9oigBwu3HhldEfu0H5649xzlTq6K8ZS6Bn4l3I3N1V26zUUI56nYWkFvAzqfyq7gAtsI2YzsL2bgTAz3O)wMnulvnsVAvCodpg8l42y5)zhODtUnsBMOOm47M)pLwPBpZQPr)BH9m4Gv121b)ON45TN7mFfrwUMZSVc01XTViYEwIGoF53h2J4sMfCM5fq9bzAW3TxbY6a1M)5jRrL8Aqwot)QqxTmr9kqwNq8Iu0gGScL7fXTNPJQVKHlDB9xPbC4)fq9b1FFzm9q7Cg7RHcHqNWEnmP54QxKW9moT1LuFXEnP9rR8ci9qcyR8vXUJg8G8fq2ZGBgAF3BIPToSg8a6fq8HV34vruWDVgBCsim5xKiEiBWMx4nrNXnDuI97LUUkYVghPDCZRX9YqmV)ZYTqhB5wEt0wr3y)1DEB5rJSieMMpBwq4bz(Lr4f3KbHhVPcOj6z9(EUVVlY(uHn8ceDrU1y(1xmXOk9cPtiVUKiTjMpPQTV6Vn7(0DRQGWlwTk4x7h(YNV7D36FAD(giwoldZwZVF(T3E11TAGj0HSLCZ5F883E1NRBaCkNfgXNo)9VR5TivU52RE3K7QFRuiTje1)41V5)TUbT1fi(BV9lx92MUlTUq(YU963)LgAlnADi3it(W5F682CIIRqfRhBLt7duaq1JwB4x0vkhufVuBvoM0bUGWssaFDHyoujDdC9GqCUegIXkeovIZOTchfcde2JgCrYcN)zcRMBGnL6WEgOLzd1s1H5X42Sv3SnFtfC65nVlSF2dFINWQtu9E5oy125FJsuur66SMmJ007M3fuSBLwb2HNpAh)zNSZ0gqGiScp0wgAfmT1WyEXV15s8RAvqgAmkMb0pHWat0sbRvOJ93YSHAPkUU2pC8L9jZu7f4)VWr6oys0oM)JNPRWr62z7PDk07WteNY8uNYotiCCuch0s8r1NwfZw1II93HUOVCGubYjqXiM1FyGoMM5hdeZAI1)GqKOtcVbIdi8cPbcZaEacx24)vQ1(F8BRH2taNd99p(RsO5(hsyYqh9jn2fiqGEoorxWQsya2e8fAUm0nQDEsC(ItOqH)nlorj8aJj8hOd)YXhKkKqoj2rTaPKb0arkivyhaEfx0ACKCEOJCJMhwdcNfjfWCy74FMOzH)gSbsKwImLemWewLjIabGG2PfHvfMkxCU1ctcTozgAUXLHc0YXUOTixaEgg6RItmmAmfEq7cnyCeT8bwapyzKme2odpibXoUKfMqpsymCPR4sKtf4KkIIBTmkvXPsWyMWdjoukZ5CloehUO1c8xUw5cT4mkl9cg(qIIJu1Hssp1r5bWx4djj4AGBDwCqss30GcDHrAP1IaFrInmuDC7duMXoAWhS4aHPcL5kwyYHwXzYqQGGLLKAL5ajnCjPr40Hjvh1uesCYDACeGkeUvyX9cAhdBfK2HrlbtH4AJtNnIczb2rldfcC89wl9dEKrBjfcwcj0SjKQUIEaC0nmrmoUgfGgtcrsdPNXrLzHssKbpNiScujMoWd2gObiOJvQKWdgPoEsLiaYFAfUxgCaW)6e60dnoO30bwUlS8nOoOLtcfPj0UKtQ1WHeCMKss2ImKLtQkeD4cvTajCURQXUC3RQUe0evs48lytqP0qay4LlrxgoLCPtGIxB921mzdLNuniQnkieeWsKK7C01GpmylZgQLECyOnefTUm6yzhoMA)2ofdozCZ2c4kI8QFH7e7lHRbyMV0JC5IvpfyV8)O1vEZZjih8c3ITF)lp69wVX923eZ(CRK(3HZqgbwxWQUk)XF(vIjM2tbr4N(ECJ65iuuGg4(MaCobF3BC(OJdrgLtdxmbQPW)b2yB5q0)O5sh5vcVmVn)jRYsHvmbJ)SoajeDg8m50AuUg1UFxpIYBPr22FhkSqwn71cCVOG(tP)TFlVe8O)J5B8avr6STOztbP0IaHoTNFWH3DyjJevd2lQHSQgeyG719OsUi7Iv5)4hPfGQqaTS2QwxdRQOVv(SsslQgiZ8k277d6ZPWr7kKhG2gbZWlJtxNSkuhinvYr7nNoNmXvIVgv(2jq2)E6Lqynj(7E8Oue85bcWs2At5e8mE)GoUz5tL5GI5ZfyELVCAUGmHdQp(NNTTQA76pblxFSKQ9ws96RCteqkrq42U4F2vKgvGBcCQT0CWBm8rgfxHbSSEwyXz9yd5e3FPf573LvwMfWUKuNAxAo1WS1(LXv4jSpT4iiV2wNmI4j4vBG8FeIxNYyHFc8voWEPG6XIC4KB1t4owiyf4W87U4lxEPFIbNXpiRUndbCO6WHGEZoQzrQSS9ZdBVZs9CeYzYOMdmWJtyoAT4Tm3WZISx5viQMrYyg9ixly8HJAiE3(g1aWqpg1qGqp2hZINBJhCND4fIGDWgpga0O2fXqLgjBzm7NP9NBxmeE64gsiKTXTwcrWoQzrOf2rQRaXMzhEw6vVxQ4dlW4hUpcld3iNcbtRg5Apep9Ogr4E0Xnc5ynq6sCdRPmWsFSh31hI87ZmcfeK2WAJ9Yw(yr3h4ONXSTAyUQpTKqG0NWe0XmFYWwthYaHyKB6HeQnQrivMJiR6XsxiG(rnfHK6nQriHy8h(AH(3ZnJFwc5WyuBjHSDmQjbZZ0OMeotypIQYHBjy6rhfBHjnCudjKZ1rTqewFs5g1KiKjIH3t09CXRsZhPTuPuCqboDC5Rp5XJAka3GoIML4GzqPvhuaAh9uOrnQdTGxahuXypZsiKu4rncjtCKlqgWE1r007zDabwEeN)6BRtjhPtwvDZoYjuWYZE2ciUUKMBd(eFVy6gikQyYi7M5ijdCRZdFPd8wtOQZCegKzmyZz1bg7d66WVeN6qYXazJKvzDsW7)KyYL6KRS28bqDv)Pefxz(VkfVeVBc7IqVTO4dPRU)eIYmSfLT4IiqvGNnyYFHlirGlycmh5AnMSzk51E0MWxWWK6BKiUrwkz1jMyQ9Jaxzvy(NnemkcbHwc47n1hJdtnTpN51zChZjDIIYrpM7BCacghXzrWzoIwUeKVuoeKbH2HCKI6k4lwG2AjHjIYstVKiHpcLlcERBXgy4i8KkINcXOc)NrrG)WCMN4q5NwerTrG8JGjraxmgIOgoIuGGRnelBrm9SryKurqf4iatquZi8nOvTWdGuePciQImjcKaisQLs0MkH7IncuIcbGZpZHzmjM6)q3n0Eotr4pGqOzrefjAACemrieNcRbziyUWoaUcGKJLqW9bCic(LJW5ZQiiquIi4JorSR4QIfH30GRBeIjjJjj8ojqqesr4bhIHdhH0aukjUKJOAfXottq3jIOPOnecTafrMszif4ecOmGDrffrezmMOwIHZkebgkGLwdH6JXf32XvTvgrpuHi9fHxJWbu6iuxucAPLGBWsbbFJJXrrbcBhHtOq5q0CI8abYLurBiCgJOhtqW(4sWnMeKhfGQkQ4jueMymoQ4H3WhgTdxha3HaDzirPbLoKYcmBiGRgcZndHGMisMKiusTsS7yYkEhmr2p9MDm)DqM8AbgtB4DqgP1BEmcGdlA)L(wid19eCTsr1XsoPT1m2bbSNnp1h(XtmfRDmkJJdCXtlbWBZlZslZ6LVI3RfkyOIqXDCq(Vp8d5PnCcrSJA9UffFE3QvNqAxJziToL48weKUkZD4c6n7k2B5W7KTAtlDPb4IlTkTe0ODAPh6Eztnh1jbVE(4aqgrX2dTUG(SaCH1C(bFTku5K0xzv1fqZ)506VzBE52n9UNBAdU6jMlAeGNN2KUoFo2D4mXttVeUnmX6uq0EAwI3U59)gCtrDwU73TR9Xv9FfMWzrSsjmDK1cUA1dbyXUL3p3T9Cpurx18522sa8P0hYN3NssC9FwO25MNhuCV76B6SP3sBE5(5z3hICpFhpXVeCIkXEhkZRAac9fhB8K7HFRr)ckbDaeSUinN4)gPV4qFJrkpjO48ZVEjCk9NF93xMxLfmewJmJWsYZgJklhS89q1KlTwlC7o4wHIb3QysAqEFGwMnul1wI6GugDoz)ZwfT(E3pKPmYejeeRulLW9Y22q92FlZgQLA3UjGV2huWMkXDOYmK3uMHit3a9yJ2upLyWF0(lZSvbx2)zR9RgJGp9yUccxftv4JKNGfngM17lA5RyDvgvxDr(IKb7m5SyS8qoWpEUiwZyHyI9puxCrKlKqqcmQSMCK33sQl(pVvA0XssJtoxhRjnWj)ekgco9qcwqpGjiQk0G3GoyyJLPKZI(74yQA2KQno05WAh(XyGdmvcRBjObodI8KqtL9w0VMOpF1vle48evSFrh3IXau7oL)B5fL78O7Zkj5kEmSG66asgQr3qFOcXb85MQCNOZKqtKGweRRlzCJ0MiixUIrre9HZf93lwZz1Hvq(WXteMyeqKqKcvdlO4aVyOkSlu(svDpCCcX4h1QR)0nn752ZHLxzWC5b3Zw76ay(lwpl75Uvm(40kGiZ2vf()rcFoaJrPV8U91H)gFK1tW)F5W0jR3Ui)(8ScFlWaQ8zEaMSukjei40t9wn7Hix6)UH7NgIgAe(6I9Kq2djop0PF(1)hz)0PHmlqp3w4PK6yusngkPpgL0JHsMJrjZyOK9yuYogk5ogLCJHsjhJsjJHsyoxhIu(eXDY0QQLFvD(KQPRhWQ23cMvHR9GRGLEWg91kL3VB8AQ4hypDOB6(FSY)6URu7DYvBkXVn721Z27c))3Ll8UOv7gs10P)3)Iv9L9b" + return "4XzT8S1CBBZS)yopxp4cbiWJw2XjEoj2(y5m9RZ0rn0s0w8l6I)iPoPUpKF7FlWUG3PIyJBFiIMayXIf79DzxWx8WI5pE4PNkM5(NRxUF3DjRwLT75f3WPrCVCE2FLU4gHCX8LjfLZsYNTpFvA(f73Sp3bIeC6lUHTy(Z()n39VLvZ)FDlaP0sagM4fZxLFzwrYJBsVilF5M0fpwd3NBaZRIfmvSMXImmzSXyx80VOIC7ZvADetZ4W7JSkPG5gr627XgjFSraCSmpB3xtl7HtRtt2uUgWQBs2ME1(DLizGlwmF3lpSVmD7DBsktloFZlRtoFZ3sET4HK8Ntltx5wEEYYSKn3TVyX87V(9F4b352dLLja8VHDM19gKsoV8v4DZVExzA(tjlt)9ZxT62Df)(73axhV(7xVn550IFhN7Fu8FoKKNU6pECZllMxSoz1(VvK986YhY2cqcHoV596f73VbM0U3NV)BxMLNUSmB)UfZ)47UcqQ))08c4p)JTj)795)XUdB9l(52tD2Tp8WTFYFUZt3U3Fowm)Y95zf3DhC7L9BHl4Fra3qjhYt(ywr5LPpLCytP76uhhZC)MUZrKxTy2I5VKNbaO81f3eXC3cjl)kaZ3n7ZxDL7ArelaoUjTeUqQutBjYOyMD0LWvvlPApysMzA7HsjN4zxY1A(0wIqQTrtBjsoNhFkN9MuyZrixdFPOImtCxekr8uplr8XjyCwVRrjlsn(14a37gRzCUr5Gx7rMjEiIIyrJtQgCt4SOX3Kbo3gUqmnKkMprMxGpC8v40E2vIYePpjrWgNAR0ONgwPerJVIH3eTDQ0krKqn1JIrovTCgyxM4MejNSyRrFebKr0NieJZmk6ZmkSGEUPW9YTk2uPwAB84h9bLPeARzQlHPIMkbooEISWC5rSJmSIu2uTjamx2tsVytBcc74YjdOkvWyh5AFe17QPQgcmvjM4UWzI4JC4hYkI4iwfgEpSQ4X1XpIfuXruqoIZtmZ4NKHzHnXtL9sgfzN4s4GsIXxYGiMZu9eDGqcwugNLCinrXSJWFnm9sOMQlTsimMjYskHivMKksH0EecSQ)cuSJO0EaPxnBIUyhpzZOsP0o(Mm4TrKksood)a346OjXGOLt1AOLnvcLrhnrLjg(r0xneBUwFmxTgG5i2mT7Usx0G)ncQnF)HDRcb1(sA5hcbF)q6FwEihGZNY2LTnzdewPBlOusayWsk62wXwRH3VjPWN9IrswXvAL2ckJHa6Gqb4svJKim8i5JnsPlA)DpNEX60LF9bmDcnYQr7ChSkFW8S0alphcFUjM2oTkNzC73l7)wAoa7pK6c9hMOoKWI7sZxMUReiUUBRa1jKdGchGXqRN5m4fBJDpibpQv4dUipDpWm0C8H8nleiN7bUKHt2f01mxW9A)71AJFM(yL8lLfHp4n65Ei2qp4IBXdcnJHBSX4FdxstrAKX0QDE7JZbKANroZ7HIXYWTMtpyvseUrsCXWBm4wZ54ImGXrpAYqO5qt)dcU0I7JZr2zbhu9iLfxd6bQhC4isbqwqCHP9OGqR8ufVZx(1gRqCZ7EXSGhtEOj00fHeHVeo1i9NRrQnAK1bpbe8gDydyfD1aMi54EfjXReH2G3fWKn4MgXnkeZTccnIIf0q0TcNlqa6n7mlOx1pzBmUCJs7xLMiAEV5CRrRuEKWRhZpZiRfrgNAhpqCNKY2s49KpVkYW0alQZvuTkgqwu(dKzvcrCml2ausfxlJQLzhzK8Xgjid9PK)0HzDLblExTgVCFM8(1SvLRVkzzjGMo5sxsU862Yp8sjUga9VHxl5w(6lGER7w)ArgOxYl9Y9sYbPAxcr7o9pSFZRnMk7mlJM(zk4jyjrDxYvzo9JnwII1yh09M)55lt2n8k8BGP7cUjbvb7v)a(828q4)ByrYENK5(utsRYVb92Q5h291DGwPUl9Z0RX8itk)chiUUhbiFVZQqRnQEt82loF3Y1WfxDsDDkIBChxNT0U3ZElCPRUm1pf3wByb5zs7jioRq(BJaLj8jJdEioO5s5LDCPZ2pUnOxe)1NQOzoFgqTWCPG7L6q5tFsBClJZrfRExQCRJheoj1jHTlSFKEszqpCKf1tiyXiIW44dssjMH0AQeiK0XO2djyXdNGl5dZcU)63ldPvd07H6EcVaqp)V82QoLccnbHrsznJSBi8aWhASh0Xr(nZe2DFKq4jf1pb60XdsKocVuuG5z)Buwu7dOAerz09B4bfQAKSwXTAuZwmlOugvccexsHlejPFgEF687gh1sJk0OeppJs17mpDf3QATJazY)G1q27CjF1VwsjUs0XolOhnMEbZ)azNfSdycBcswa0dFWskPDzserqjXJQrApyVjMosO5DqTUFPQG1rGPgNOgFiMfuMJK(i0qfmkYQQjEroCmQyQ9GuZL0DehzeueldqUWn3Oi)eu4EbCB(FPloCuGOtgNiptipgaZxKqgdDLanElyccQW1oNqiosZHG8qwrPKywekIus2QfXwsqicFatPN7nvUUahlY8lsbJfiBm8dbLyozPvQjXnY2lO6GijcsSlk43sTRb49HZZB3HJiz08c6v4b9iiLwIhdnJ2xYpbJI8UJ44b6mkCetZGUZJjVhSbxe4e9boBU53WHZtU0FDRmvdLTG1)72NdkwZk)BeQqR6FrvIRy(69F7Q8S0DRaZNZWcy95xW6Wf8m)IqebTF9D0jZTm08W5llpagSFS2956X6vLsDKrbQnbcf8FG8FJQu(wgGrZWCgJ6ZjB6LoJBbp(9vGeR1N3cwV6C211NloKxK2c68wXFOBhVZT7ZRSwEMpDb(4FWaEafyT81BySN3f7BwNXQAhd7)RlUcITaevanmrkMvd62E6xazG5)jmcdCx35Uly(WBbbgr2)4v5p2picRh3xwUF7NsYFoBxiwx)jdl(jWS9xF)l)FhswLNuM89V8WdTMqOoSNbyqPVQW)abhytRo(oxlD(ICkYA8k3PPabTo3DAs0Cq7e5AE8hwU4k1aTLbGaczsRf8YgmwjIQKbWZvJZxi81M()3euWeIgwFck(5QfVtyCv(hs280jCKOyW9TXWpRwMg17FbLKbe6JGhxbUVa2CuGzoNpfstLCEpCBai4iept)MJ)woa78(SI97gKJsxt8wnIK3WCax(6UKTzlXPpZP75WUYGAWUzuajhxb(OaXEAvGJJGOPvth1kLMb(tx27QvE0knpoOtIqnnw444CQ3bMMLE9WaG24awlBhZ93xF)lxDyZMV)LFDDwzkDAO7lEiqUMYgHdtxN(XzoAMJKwjOFwQKqmV84Mk2hEK8XgPLM0gh6ggppF3oG8V0Z13IpSloxLWlhHkyMRTzBsPSx(ZVCyHSgKb)4xbwFma6YaFfDoC7SOfzc0KqGu0fvF17lQ7lK6GQQVd66wW)YFp0sXtLaMPTLGFRXf3Jqqzp7tAylLhdR6WteiJ6ZchKgu7bcLVBOHogqxE5cHb(ydgZ7tws6KUaUxEgo9P(4el2KM(I7Hgzp9P95ltdxozUFVbCNKzXULQmFtr5HDNYAarmK9z3QtEjgnUnRtY3Eklq7scKBp2VV8uMVYe51U)1Itz2Ggr)Sx(6Yn73LEklr7eCC(wUmPeUUoTTHJYzRa9KohepPtIMfJ5Ni5uMTYIOf4kWZ73v8yEAciADclmIWn4sCc0yHFVwEkZwZJ8yw22xG3CsljWL8uAs(PmFxsjw4ZYsLIzV0rd1ch3UtdR7E7eUhANY8GsSgcL48PK35KFhRLcR7mnz0Ion7iTd2(wvVE72d7s7ypgIkfnS6YawLRxoCRro3dou3v78Q6MG8x493WR2JIKhZJ0LzD0z9Zg8uOp9Q095fO0Gn8ox8TkiyPlqrXXA7i)C8jt)haM4J1(h0o5soZXNJpp(hFkX)OjifXhP1R8ZPSMr80dJPk403TlDRpY0eYE(wGHXtVjlP3NMS6vh7tHZpNhDyIBfpwnHpx0K13nWQuxApFjjV0LY40Id5K36fO5iyzf1R4H1WuwdMy91nRmyhSJn7NYbpSR7I0650PZsB0XNSMXg32pJwoS83GDTvzb766Wh37smRJq0ABOnNvPcWpzNawszimghNFh3ngqOe0PKM0jwywhNY9giPnQDko6uGd6CJhtiEry3lZE57FHKiBvTWtG3Avoe7zE5XIOmE4aQjTE10Ngzii4iiOy1PGSauS9Xmqr4nHaP76xuhUN1zRsNTj7V(RKC4ebNRDj1aTNk6v53aERFcX32mcA3wtiUJ1)RNeTAKk7u2KZOeeixx0z2hhWHt2ybkOIKwDehCLgCO2vhomU4NhDK8XgPS9HEWkxulsgjgKd0FXRRZiG7f1I1TpmtsmTLvLk3aUExrR6GpCP8XXE)H0II0cs0P2uPacAUcZ(TMDtFZa7RAgGv5JNDMMkVXaDuXUpTaWP1iMl3fUpjGiBZCN1msKasuHBajd8cnp7XdLP1L(d0EVzZI5GiNltfZXViGfZ3UFv2tza37C3nwzj470ChaOKRGm4lcfeSdqUA)YdfdddrnmEYplxi2daIZ9t67F5)romCQbZkukD1IqPghdsrtbsQJbj1uGK(yqspfifFmifpfizogKmtbs2Jbj7uGe2pBJbkN6)tgwL9t6cAdj4FqFtPntGYKuL0YIpjJhYDKtcVPATW71SWg2mfbRBNvIHtyRV2UZcv2vkzHsSrv5KjWkH48jEMVMtujm5y5z4mS6xAj1rk2iS(EwDOiyHIdzO(qj0Lmv9ZHKhAycTHQxeydOQmuyLXSru1wJ1ujJrWY4yPjfCMHGMHAUKidwqonvpZiAMwdw1yLKkFyumT)sccu7VWvrXH2tblgMYydLEeX0QUErBPZpvMtLiuEtQxxemjwBsTMaAOnwGi01eghJvSlou41iQ2Bv9Lcmd)(w1xkrkGmIqbOvbKKk3hw94QwzYH101lvQYyQ2IHozYHb(D2sT0ewFFnD7tnTeSSq)iHuqcQuh7Wny)biI1iQb7goHilUDcMLkvoGRiosuCBmYhPPQddNbIrZWXk3kfHk3YOMeqgrWh2p)2XXAj66Gg8cvASu5QLyR)qha32xrZOMvcRfnvcAfv9)q7aP0y1KvHsKhr9VK1IfhngRMmvRyhkgOGicOe48OQo7iri7m14cmgYdgPrWjXAYlSuPWd1Lm05s2iQg(XK8b3WOI(YWJk4bHPIVhXDefa(g6sok0xw1TJfJA)cIQatbjyapmwvCtGJsvDXryKbPzamXQElcLYLAyQQoYYG1IvJLVMJxEaNEqqYsLETYrB0xTq1wIaCGB02qsMx1Wxij3RPSHBIRY7MrI1hTflR0Z2UFcFj03ISQ4shnl5rGhSUV7pxpTfRJBKL8HhjFSrkPqjUiuhcYHpLUxcUpXGS6eMkDsgjIWbQKkATPxanDJq9(0n3TpBxjaPlE3np8U7hFkI6PqrZIrR4ZqG7pLX9AW5KMvI6qr5(T(YOm35S6XIPIH209GLR4SUj(4TaUUQW(Za2ZSckmwQIznboyMUxxXpjOpks377z4nbSgz3Cy9wawDuVUK)TaSCM6Fe4QK9(yKElaRri(Py0gbSI(F9MtcSUwH4z63C83g8VsTUBR(pjOpk)7phsp2nx)CW(wawHY27tP(TaUgEVVJIjb2Z40vNTktpvG2vxOFcqpgbU)NE1BbynkE38EpjWEgyzOzviS6M8WkB387pjGpUDJ)rifG)Z)dawj4u5pfjEmDW6FslrN5(GqAWe7UlnTzK)NqK20)d69TaSC1BSb0sY1Uw1KRUbkq)cnEVGRsPayMP6BB645SgRYEiFH9CBSU1463eIH(GPrXago1fJ9)csQ7OV(NVw(((d9uoRFjmV8aGaz(6(A67k7V5p)vuXbkRqfT0L(P6g66H9N7CV)6vDAhXjL4Ow5GEzMF3F427w0mrXnqPxAqWhk4NqdQ267ajCBDV)E0HTHuPp8Lurzs5HIhd08WPx3j2PjDoBLGSAuI()1kZD57Zh0Wh(SpAc4PTUgy09fU6RI8VE(93F9TngGju(ok4UZ)45xE9nvdGFtsWaF683)U63Iq5U7V(DZFO6TsiWylb9pE7f)Vvd4J9fE)L3)5RVSE6(oXhE993((pxdB8licE98pC(NoVjM4(8M8sT0Lj18sU2YF(Jv)PtN58Mnk7W3kRh9lpIICngca16YnueZ1fu26Y2mYi5JncGbBWQuoBrVYl(PKNZw2sjsWXdnPZ2t6sQA7OJR7HxR7XxkG6YL1TfTQ7SIQulCcTg4aDTNd4BstGTH2ShRP)D)khBw(LrYgRRC2dqNgGe1aTcfz3TYULH(hPJJKc7QORb57ekoztcWjC3SEI9c9JHUvPjXSsjB)Vwj)jQvHYA)HW(3xzZQ6MPX00iZa5hzzwvoukxS4)UX05ig" end function Gladdy:GetClassicProfileNoPet() - return "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OoO1qcPS7NT6usGnqU(xfDN6lv0qvXsNnAGYIsBB1eWxykwXaTjkHOvrOVWuC2wDm6Lm8sLQFbrjAz41sP8W(u(I(JUJ4C1dBH5)g0uKyIZboLiJBOYsKYoqzbc1hpqFfPnjU)vPt)EaIA)kmzB7iigUbUeq6vZaL9OOJe8QBrpoEGo9qT7dmaPlX1VNspI(q3Uh1UV7VWmmga(3WylyZBYHTT7fcBB6NR6YlbczFs5f2lmFs)rt7laHAGgDhi6dBgAJ9i6QoI05HrnOLiozWmLw36mQEjBUD4RIX0QlSVGjXQhAkrWUFKiJDB3fQ4J4Q02Kit0Ub6OqWEh0uIuM(Nrp4uuQbM7rPtu9BtI6iXRjsoWyPATQ1XlFC9RtpqXaGbDeplvRvWezAD8)hDxO1mOnTakGwNx)licjIHImtluhjbspXRoINEhYHkP9jqCCtNrpqqwLydQsxLXxtgzZQyQFMV6(gxdor7Me08qhQlo(EQqnS0mUA9Qg9c10ewSEVxpnlWYF4Z71w5)gTByVg3uZM32O4wuaM37rm8pAlD2tAiPeTrl3m7BKICw(5RNTayHAvcYCnu11hKWHkrVLoBE4kgccHtarugHrCJtIXFaahGe74tCq2KrHkAGFeJHyH)I1qocZcA9ZuLaLwGJp8xazGe)rIq7hi22xNNaE65tqJZtcbv8poHEqKu7hg)EkKoUEHfeJ(I)BryHsKEgtHTnW)xj9dTHieg0AKhAorjBSZruqBObGfEokuBi(ePFGsBK0ldGdjrkG5O3t)tFjfiLumtA1etPncV2ZLO8eWJA1leXg)s5cRTVEbsofwETjXWyneZefftCrusIFSgjZWuYl4hro)lSoMw4fza(rSG1HG50)dnO2jrg7a4io4MF1KAItv0IQcQBeH(iVwLwkQStCQosl7l4Zpfhj0rk6Vu5tJ8LDgZpqq)iXijQ6injsDsFa8f9JKesgGaJX0K0SVPLu6kRoMLff9GKy)uJcMpWzMgOL(rmnrcjc8dJWV4WBPvYYUGsqqQCM9K0k1ShHlYVOrbpfLMwCxendWfImfXKTGTy0BbTTF2AyFpjBsEVrqjRObgliLGKEECm)hAldKcJCiejSsloHD1n8pKw)i0cjjJeqDIKw2ptsoZkJMjdTpbaRqoX8gEi2apbfVTcrloIXa6xEftaI)8L2mIbiJpoH39WZdgnVHv68IVL8bJLSsrB9Vxlz3AytcTsaAy)4PntG2JDvy6ivMkfIFFxzDV93)6CFj4jA0W(xiMGXeLy5qYHgt(l5yKNxFuNo(a29rK)LKG5W(z28ATZQQFj8XZGckbmxAnehhCWfAf27xZeSDQ3UPaYvLx(3iD(ENEqZMqFjEiOZxw3h6gxJ(P1dfFnEdj(8t7FJCViCYunaUCIhQvBqfEEODxJFjcfmqEJv9z)CcNlsn8P9ozeJ1boM6yrcuYLWfoLd0wRK2yneVsJ1WinnT1gHesPhPLqQB4H12ATsfdzjIG6laBUO15S1)LyyzwkOai1qJU53eY5zAe8tBin(bU)TlU6ESWNkMOsD144mdm1Ns)l0SUfCh(T81z4NUabHkqZPn)Oxo88qpO1((N166YmlV5Dzam813qdaabEjWNNnAz(p(rAXC(EW00R5gqycsmI4LLLgFRqOaMx)BwPWWhJRL1UUipvoHNORe9zIWMQd03nftgS5Oautivhf(w5yuxcfLLdcgZrXzqvso)HGsldGR8tmMt3KydjNdqpJzetwgiKsX4DGOo8ySok5cM1RkNjLvjXWzzPSx0eGKuesjfKjLPfeWYptJJGjazNioYWdnXryyJ0mQgtmV8AMeyx1X)DKjMEHGMbsQaIiMrv4vzWZFuwVehP)IubCxkIFGyNeKjaVdlSskxVsgzzwoMqLhhacAcWcKeernmcsw8vI7)bOfjQaQQatsqbavsLwInQmYP4auhdbHgxz)kMesE7hULT5cdJGGabht1eW006yGEurkQylXqWArdaawqKdcGjdCibF1Xi1JnmigJku(GtfgkjvIqbkwsUjqIAHqZvSWWyaiF(F4iuyscuc4uYCPKWLgq)gXGVvb8qrwUglGIetzSSdCcd1fyxYrrfW2kuvAmAvJu0ybifwg3M1fm7KuhRd4)new9aazgjV2X4Mmkw0sidSwXaWCcjPkiG3msFLXr4Xc8adtfsHZWKfcMEcfdCZLqgMeIhvGRk54PmmQwHKC8OUs5NTJKdG7iOQwwvAjTd7SaRgvYKLrnBzmWQazsyWG)1KlbKYyEjna2m23InaSHUkw6h2LTDBMp5)HDX42fpVnhYbTxurr7R7qjEoZJQV7hdc1YEnHy6MYYnR(eeN1FNaQVeG4Py)ToR0VUrmGgcyHgdcXxgYfw3(M9X6niE9dl3SDlFpz(vHADXats5ZRXFLv1FLxn)0XQU7pnFyqxDc3MX5h5kzwLvD)VutpQt(IA2eWZXxn)Tqy6l(Dwv9HK1SbzQd0C9WUHIFEC)VNybyhWlLHd2GQmv3AgVdpD)vDe3sBaAILiO8TIg4KiVVaHHAJG4mwiCnxcwt8Wn5eG(M2B6Q9kWp6wuLs)l(J)1dA7JPlF4emLpvJFC6(ORgY2I9k8GjIVcl8EYLwgStOlw7pX4Mc)j4o8u4Qzj2RCPM1YrmqJNSFjUVCTg7vIdHKSAJuBbyEb4tvuEK7)9zX1ACQhVTqJEyOxyazPBZ6KAbxrB12Jrh7ElEI7QdrfQaYIHkdv(XAbhkTxVB5Yt4QUZAXwJ8YyaNew9lumveIMI3DHnuqaz)K(9CrqUY4QAY2JIi)8ghZTsUBDVVzN7UU2xnRoOFxb3KdU27ns3UjF7M1DolB9gG59KiOLbLki751PRYNrdF0Evx2DeXdzQl2vCGBOCpaa2U6SY)2)(qkLUxOMj2pH0A1b8UFZ5yzIxnVR9nFk9X8zDXUbv4z(7b4SC)UK7V529CRAS1zXHXZXtEUJVs5WHKu5Y0GgnRpS5NAW2Y0YDBNgcXeEJTY883aAYEWO8b8Wo)mgVRGJANIKO8yFeVF(1lHD0)8R)(I8YSk1rqSRoDR6aEl(L(LNqbm)shFPghU5SOX)R14noarLc(oWU4tXCq3eQVuYZlETwZd3D180jd(JD0lZV0WtS5Tp9faU1x4ns72UXk79)wbShCmEhAIM3O1n69sWaoQHwmEq6AstoPvBT9TwHUMb(kI4JkrltOtFJUWCJAuYE1X1uDmn4PnqdMRzp0N9wTtrQch(M)40XFuDknCL8AdFgha4oUjiAEiANM7pr1z7j5ECeoCpPG7Wa9bcsRe1viJHpop4juDEXHZ7XftLD6eMk2KpKrQg9Q(UqhFUNPse7FwEqn5epPI4ZpmuEzO07QJDbQHLp10q9ZHwXuvvlu4lDUAGbG1YWEAjlA8kfoqfT)ov7hdFIgkRJpcKqn9WRyfTkCaz6GHmorXv(gAMtOuAxOS7WH3v1DhUuAzIYgAefRe5oMrxaCpVy5JQ0FoqHKQh(jce8mP71nuMTZc6yG64rDIDj2u9)4FcNGnhOFYHF2h)9JsCyeOgTMTX3OikmZYRILxozY)5)uvaqQ" + return "4XzVCTTCBJZK(HzVECHZe8sR44exBIJxlNAMPQP0ekjABUrs0lj1MXZf5z)Vb6gKu8GIyItUjHreOrJUB0h(AWSGV4UfZxU)(7lN5(JRwLV7MK1RZ29WIR50BC)48S)nDX1c5I5RskRMLumlVyDAXRY3Kx4irYIlnslJzTmU1AemlFX9)MwbKyXLwESkYQfmLKlLrk3B0lM)WOVPyS3uTy(AyrZ3So)l7oFZtpMS4A2zw3VErwzYYnPVkRy1M0flBy0hAZKrcMoYWykltgzTXnmPXOygG5zsvSwkyU3i9m5iVPyS3amzvr2UpNw1JNEkT6TPjBQEeyS3MM9WJvlU2WwmF3t3LxLU9MnjvPL(915B(sYZL3Lu8qAv6A3ClswLLS5M8YfZV9Q3827ArTBslwLURk5H0fZQx8EAiVcfyAy3hfhRzsUHzm8wB0HFtXyVb2OLpMaQIs3o5USTPfGuh2P1MoEJQG(6nf5F5ISI0vvz57wm)DV(sGT()tlkH)5FVn5)nV4V3TFRFYpC4qN9H7U7dV3lMks3MxCz(oyTViViR8MB8YH)8dWcLcstreSv3xK8USYQlsVpz)Mk3U3efXC)D6oNczTtm9urgqGQNxCTI5eAjR(mqZxp7JxEPBNjIeG5(KMcxibB0jnfPkIfp6u466PuVgmjZoT1qRLtCVdAzdFAtrinXQPnfjNZJoL9EBjS9iIRHvkALDIRIqlIM6ErXhxGXz9uJsMspUACa9Un2oU1OCq1UYoXnHsbNYN2IWzQXxKb23wUqmnMkIprJxWoC8zWf9przvMt6iyRDDS0AMgxPfQXNXWlIjEQYkHsON6wXkNQxolSktCruYjFS1AoYbKr8NieJBmk6BmkIb)CtX6L7IaonMc0IrJV1h8mLWeBN6uyA1ufWrrt0egYd7ihSg0rkBQXeaJR4tYVy7ycI4XpNmGRubJDe1(iU31t1neeQsmXvHZerhzZpuueXrIkm8AeRJg3h)irqfhXb5ijpbvcmrtyB0unVKkv8eNchCsm(ugKXCHQNycesiIY4MKd5jkIDe7RHLxc9utPfQJAQHTKqvntYfPqgFebSU)e0SJ40EGtVg2etXoAYHrLsz84lYGAdLwjh3GFanUrnjdeJCQrdJztvqznQj6mXYpI)QHmZnMJLQ1aghr2PP7QQR7hRr8YIS)9RF6)zFY6IKQKV(P7UJQm9pcfm(Bq5MRYi8nakUIQw1nFQAw2zg433Ku6Hc5xsD1bUOUUwNWP1od5xx2SRlge0MwC55q5WT50RzoUY9Nfi6jW69u(xslAbkbh2Xpoa2cb(kutFPJWyPYZCbWIIJCpiHmK14dUDL7bMLgJVeUzHcZCpWLmCWUIOM5kw34)DJX6hPV2h)uzk8bFqm3drw6bxDiEsaIuCHTw)VWL0qKwzenBx274yGtHZOKZ9uXgZWLMtpeRLiDvsCYWVyXLMZXjzHGDE2KHuZXM(heCzmUoUetNfs40ZuX4CWmk9KdFJuaIfKxygplimAVuXNmLFUrAK38PlmlKbKNAcdPiKi9LWUgL)CdkTXGMo6jGIXOnBGRivdeYJJRLsIQeHXI6cyWwCrvCRg58ybXgQib9ksRW5cKG(WiZc(j9doocNUvB8ZYqcnF2zU5y0Apt49l5hPkogzgNBeprC7eN5BlC1g785lkkK(ZlVp5FCCr3ZBLVUXBvHh0UFpBD1JxMSQcyjh34aO6QDvPff7FQcNdWQxZB43QNFkDX8BE85YmWhK)Kk3FQnCc2b1v3H)28np3AOSZIz0Wptdpbtr1DkxMvKEWu0SwRGP34pVyvYUHNHFbSDNW1jv7PLGDgKVA7nH)Fdts2BNm3dRinl)c0BPMVF3N3bEG6o1ps)SFUbhDHne30tauKxw1zHAweNN4SZ3T6rqXr(dblmNt3w64gKo7QN9rNsxFrQFiUL2YcNDjpLWrxnAlBfO9Vhin4HOGxkT)CId2A)7Jd(aX)2dZZmx8E0Jlxk4(ty4zrpGlUPX5OtuF6qU5XdhejxhHLlSEKprzWNRkg9jiyriJW44dsYHLL8qQfiLmrONcjtIot8ahmlK6QFTSKhmWhh6Nj8da75)B(HUjLcInnsf5yMrXieEc4lR1t6iLFXSHv3xfdUtrFrG)BCJOmkuPO1rixOJrpnGBqKLXuNHh0OBqkYep2GEXIybhWOdpq4soxHQa9JWNpMF14Ohz05fbA8mcM2zE5kUunEcbXK)HylfBZbCQFUKdBWd1HXubFMr0pW8pqXubF(2WIGIfG9WhIjhYouargus2Ogu2dXwIOTegkhCH7NQoejemQXbAWhIybh3OOxHbLG3IMQgYwKdBJAJApjnCjPJ4OHGMmzaXfU4wnLtGgxlWAZ)3KIdFli0Paruwiu2bqOk6qgdtBadulycIQGANtmehL5qbAOPOusglcnjkP4YIOy6GGcFaHJZ9l1PPaBlkulkbJeOzm8xevI4uuvPHoUrXzbxhKirqh7uHCuAsda1hUSMDBosKrJl4xHh8JGsAjUnmmADPCcSAktoYIhKZ4HJiAeKopIYuioKoaNKpWEZn(wjx(ljYC3os1Zr9VI03P(5vo)X8VaLGKUBnezEg2xRp(e2nVDpK(Qhtx95xfkS4WF(gsO5Mgg558vv7HCbw2KfEZ761OtLbs3vjJyXqAImBOPLUnQuiIaxlAiPmG5B3OtMIXHOhAPlNo4hB2OcUjscNEKUC95QM6uWss8b(GmsaxDTAqRVxLyB(8I(ETdTRc5v7lktpOuf(bLQyClzJi6d5f1bBptJPvnEzFTZr0nQEManzyvqPy0UFJ1fmcmZZG9xmijKsiOiCEaelGebopn)FwCj4fWjALW5SipyiWBK93R1529nQmBzEvv(23Nu8q2oqc7ZQW3F3X3PTgqOFSNbCqLVzYJy)hwAxZ0dBFN80LxZVKJmE1dv8zSlTR2c8GMDm2ULoB53SLZ1UJE4WRVaKAMeopezHGMcv9ndaLjTKnHsMBxZrBsbdq1xB6McEw96KT(APxx82Kn3FcBj6qM)Eyu9mOpN7lE4(KvP)15Rx)HDL)1B2KSE9Z)1vBH60l)luH93L)F7tksx)3l380qxXGfeWgi17REHWhmNro4vq7kFNKio3YmRfsKWjN0rAijHG6Th)(t2OP3HQ8SY8DdAxBAudRh58)W2sx88UKTzRWHpZ58D)UQG33UmW7tEiB1qEWcR)zIgdHw4T4avSXXwTD1DP)tLBz6xFlcaKHSMDXzGbTYhqaO4ghvPbIwmZ92cF9txUFZMV(PF)XSQuI7jBbEOy12N7cbA6wydoYFj(fAKkTIKh4R)OviMdmW7YW1O35KsHGThMxcbPMxytXZ4SwYa)7Ve8QBnYygKmSRIcxmsLniqcvksoGBPlUANtKoRDXInY9UPS8hOSpWYhUhRdi9NT0tlH6mHCl2VB9b(Hg2lKFBtjtmlW6TeUdGor3KOC2Boyfdv2U0DOQRmhseaufpKd5)4R9TCtA6tUhAHM795fRsd6Jm3FFnKIml2ZORQk2uwTF3PmhDSbnx2T(KNI1GlZJjfBpLjyCGy5wJ88Qtz8ARYhP4ZLNYOHS39JE1ZR2KVl9uMIHhH58UkPc0xN2YWXZvRbpLUmtpPDIHfHyUKCkJwhhrxvVKhY3vUSinbonDctur8gOeNGm27rD9Qtz0gUYZzzBFc(LtAkbRK7ttkoLX7aAzHh5O6d)DV5FhpYdRtac3dhc5FWVvRtL44jajDhGh76qw7143KQfDU5N0ke3pS2vB3UF3HzMZodQ0gdT5q1leY0ZBT6zGBLZ67zODqMUl2L54XXJLv8QSooSoiy3PLEK3Fzi9OWDgS2XN)WKrRp6vlOYv4R4yxbk)y8nc4BqMOJDvuOvYb20XhJVhehFirFRba14DKRbMFmvngHNEPu1ve)6DPB9LdNSBhOdwLUfmw8YBkW5TPjRF2z6u6YPzPJtCZyz9a(yzBZEF4NuhmUpLuu5GapTCFbL1FPBCRDtRSzg39imKhH46(E(vfcc25ELEFbKPEZnATzmDULRnNPCnq8XHsuJ5Qp9(8v7jdDhR0nS)7YDGf72mhKkdsavt))8d2DijPkKxGZ6TZ1IM3)Gf4tinPtb2H0JvlAvInTqToInqcO4rn8Kfu3jS6vzp91prfD4YjjalGRxAGkaksTO6yLEgnCL3KBPgbqReIcjNbE(CEWkbppVld8uDDOI7WEiG2qhv8JzRtNTj7F)3KcGLbgFxsdr75dDDX1q6ZJUbAy)2LA7eFuJaMfAdGuYc4XsqIZeiSzohoZ8aus4DZrS84meQuJKAvzScbdgY7HqmnGKOLAqzO9P1n6dsTMWY3yjWfvYgmlryuJve08rgQ)cizzCehBbNzjQzPUoQSi6Tgc8BfnYyl2IbTKWAwfrRVKOa1xuOqYOqFlrKt124ao1iNw3outmT)jmX1Iaw4utqfmjcKTXqen0Fti1hdXXri8Urbu6veqT1nSegHFDRByPsdIrKkGSkWKe2WyRgQ7XTJRj1lHRDebeDOf3ooWVYXuVUXMbziTp1nByAHgvJsqIQuRC5wSzsIidYAWQHdqfJlNGft9vb4vKhjjECeAhzOwja7bYqZYry(Hesd7gQJssfrFy98lhhbEgmWWE3kL2yQ3gsSNW0gWT81YmQl2yJlO(vOPwff6tS2GTEqh6NIIASDCmIKEe26bQXcowmibrgqlWXrTOWjIqZzQlxmgAdQmi5KydCeXuFtcGyhAPDSIA4teD(GBzuhcy4wviT2A7EK3rwaSBiLSk0W(M(0ZOE1rsfyiOadSHXwOydwu6AfhXrwuMb0eBrIiG7p1j96w1BrG7nyVo4OYdS0dhKIjC6BGN6U8ZDUcVY73SQD8Mkiu9JLoxH)sQ(p4k(xZIHHxCzr85b7VBtGELOpGYTcReWR0f6QjzHd3mtkx13SjVSSMdRZEwaNEAs44etfJiYB2NwwM6tkc2jn3hkWoU19pQ93BuBCiRVVuRpYnTQb7M7ierwgsJQF2k1y6uFLNQt377qGDqY9DHedz(dHX67N6KyjaLNtO0n1UBt3CtE2Ukyl9QxF9DV(2wAn35TdRVJ219kVB2XUvBTnEpbJG6KHqZZa83kWFd3AGyf4XfIv6wa3tnC3YwqqEli3oGDD4x6V(hVpBx22KnzUK0rlM67wxSlTD62RXACS89Rp8zX9QakTKYwB6H333kb2d(shPSWRLiJKT9aT(cnYgP3xU)4GRIyBNkdk9OAdqC581m5(NYOEx)0K2y8VVSkFRhn55UtAhlbwgwFNNSCnN1TuWxc6A59Ue6tISNflOAgO(o0M4qU19UZYtI6JY09UT5ViK1k7wv)lbznQE3H5xcYYz6Fk0vl79PI8sqwRq8dzOnczf9)26MezpthmFPYU1TTFLgt3lI9KO(O2V)ym9yAU(Os9sqwHoU3h66lbDT8E3Y9jr2Z4KQlUoyAnPDOK)dq6XeW9)WyEjiRvZ7Ie4Ki7zqKH24YgBABdRJ7I45Ki(4Xn(PikGIE)jqwjuj4pKiEmFWMFWirN5UE)TmID6s7HgY)mosB7)5w(sqwU(foakmWvzTa1fY6RP)XyEG1T8L(3rhKZ)5eU2owPEMdKd9n5fvfjzFp13CWD7yv23bfoiN5X(pGIMc2A3U5dg9p6sFyA2FRKYxo09SU93SZjCTo6wD2FIQ)(x)cN(BDXfqX8(7p01CqTNu327Fjys0cd)jjI7yF4Rh5UpCZI2fX39(5n0)XQ06Bo6eQQmPckpA5(Q0MVNHYNs3SXDYBN7Apnh)F0KfZ3MVo7(S0c3BGjubI35aHsOBQfcG(IWx5qhICPRrkdtdrdn8TBXrc5aK4C)G(6N(VKdtNgYSgRCB9IW3pXyusnfkPpgL0tHsMJrjZuOu0XOu0uOK9yuYofkfFmkfpfkHFGTJrkx7LozAv1GLWG1OxwLuTVCzWPwWZPPdSPh(Hcf8(q)VwZChJ6lW)TF0Jye80w)vanI5VHbZ)9ZV92R(qRxWeA)DH4MZF35xC111Va)AWGx8(ZFZRB(vKk3C7vVE(D1)Q7IRgtu)DF4v)31VWdUm87xC7hV6IMH7)UiGF(2p8Mp2qB8B3c(55V983FEBoX9HL5fG9VPZ1x2TwDwgV0v6i3)FnzHIUyUlOP)k1gpokBIbqzBmN1VO398UT(9BfmR7xtj649sTYr5yTwyvknKxngMyDZL3W20qDVeRds0nqj2oY4i4gM9ljo2M0eyrOoIUSHX6(XR2w5FuGoh8G3gSf6ZQHPRj9SAappHeew3cJBj)Gg3Fkn)1DveMDqcED7MWWFYUJaGiTvoaj(d)yKNuMbhK8vB1YjCTKAo0ERpPq869uJbA1If)NNPuI(h" end function Gladdy:GetKnallProfile() - return "4XzRB01CBJJ7xuZWVj1J1TBA7mBtZTo3CxNPJ7QyRKOR2w5KKVUzFy)TFGeG6lBfPSXVyRidcaIVbiZk(QBwTCt5IIYnzLVRyBrP)fPRUIVA5THpVp8zP)ZA4DhU7UQpTUy)Y8)mB1vsn9Qf(pE72hFax660Q6fPJIwwaTSaAzE0UbaQy7MIFUhXXLgjtZKjkRtYDMe9Q7EJwcWNUopDBFydSx49i5ww)02Svl)0(6SY7sxN9T3UzZx2x9TpSnDZMN(2N2LEFw13qy)EzXH9BY289B3(ONlEFEv6TBZExE5Aah32UrUV7MGDH60Bdc6pMLF)d1RUsyIC2VS3J2nRwSA5dzPBRFaG6Q0DzxwSVgLKC2fGSC)J3uuNT76TP1zO48TB)z6tv3KwEFwnGGBj59Yhk(5BpuM((SWF6FpsPRlQwT83(0h(yqV(VY3u)WLPRRlckWwIFt2FuFOeetl3vuu)WQLpMv)XWpEDw56S91GqYZTrtJxKq9dBlQaU4bqkSnijwqCDuXfyYB(Y1DyiK4DKhIUwwXf(HYIF((8YS115f7B2NRZNTHgiGlZ2vu6j0QLVVOmV6AGns9IYH6EqK81VaepduLVrZrO(18Q63NDx6HT1EkzSwM)7Swf8JL5aARFA1vQajfoRCCy4ApmCHuRNapCMK5McgNsmoEqAj5gdFs8y0trljxiuJcJGGHZTtWpIeGHghgKFsGObtXZALBsAzzUX3xsepMeBYuWiCSXHH07Me3u4rW0QPWJuktgxNs8J1oUiKepYjTcDjUXfYrgozCDosiqnmfikftnUQkkIfjIPCByQXjvJLJDCsHSJZOM04s4etjHDalpLUuzEMnf6ZWvYjTT4mHDC7yCNl0c7ukcbeUyCArXluQKPSCewHysrOd28tPqDQKNzFHWKiDtPkmSPIMQfQNjOJMcemPcviteJlC0iPSUPqJukytfdukTtVVLtg2wPvYXHbnbnQPmsfc9Kj(sytQfKmXZeYj6w9mM6e3WyptkKO5NCckvhR4OTyIpTB3H9z(L1wsXfjjyvfxWeTfghRb5fvOuVQpd0(F3uWHq5RJohRgc2MXAdR8CEa2Hf39)YkRGYI((U0)tr533Fyx4TBkBWjGeOMMRlkRltZR7utkw6iskqqEKy4YIYD9fcDRR6cNxa0RjIQoiF920QqldZUiT1u1EFTdJ7R961kH7S5FTOIQ0VF9QBkB4yolkv)AFPFqP5)D8pBAvG5xUxkDnq689GarCSEWxX)u6HoR5fT9Q(VhslBKuf)mRStNm8U9o0d5iU(RF)gqNvN)4F97bX0QL3vS(q1C04bVN6Y89)GeorlAWrls0o9KCBlZ1k8DaU3Vhi86SDaCvEIrO83Ys38KFvvpMT2)D2(SDHxqa8pRqZuKs(FytwfWs3Tg(OmR6qj1UrWXBJFrvTWFZdaipaMRXqrbM7ZP)HheqEUp9DaBv7TMjpzDttHd6bjSY(707kHEebBnqqJIJ2fsVLtk82gvKNW)TR7ytJENQlqkgdUOGu0)NslMXy90UUPyl5SlmDJ0wtiIR5m7zbtqsHXq0fqfwy85WedMf6KmlM)9mWyyXsVEe5K6ZcImQKZdI4m9zctAj2fXRgroH48ypjOMwoL9KoAorHz1tJoP0yKNfgZXhLXEzisBSNhLh0Xa78eoWXvJjKUGtc9K2KetGmMLFw4knnUMxnICAUySThegSBM7eZ0OtQtsop8f3EM2GC35rKlfjUXevVmmXnJh)9cUPNrLxl4MgLGH15XXXrZ56vJiU(vNAOowlXyLC1wNhwHLp6xNA68vs0By1)nQ4SFb1un)9kbMpGiiVanR1z0WThgHq7By6T7x)aSxA3g(I26u)t7kh2)e0yW6FKTjosDqU6yqh8l8JBXMy9piej6KWBGmpHxinqQm4bRFOeW3(54UW3ZVjSsrceIZdF8BLqZ9pKWKba5sb3fqqaFHzi5xhh6xn86e8fAUmag974qq80lsq)8m8)nlsOeEGXeqPn43C8bPcrKVFy)3AbIjJ15qmivia(zjVi2RV)n8aGCJMh2dcNfrfWC4VJ)zyyTEmjiM0irMsQybPNlreqqySLHnHvfiLlsBTWKq7tMHOnUnugfYmATf5ciUyawfNyyCsjWdAx4hmocx(uGWdwgjdb1z4bji2XTSWeGim6Ia14sKtfirfrXTwgLQiPWrq4xQdLYHjFhwId30Ab(noN6fHXoAPxWWhsuCeRous6Xokpa(cFijb3dCRZIlss2MguOlmslTxe4lsSHLQJQpWygb0GpyXfIZNdEqXceh(vKsgYeKdBKgJ5aknCjzr40bIQJwkcjsCNgxbycHQclQling(RG0oSAPHHR2YjFJOqwGaAzOqGJV3APVqxgTLmiyjKqZMqM6k6bi9qGqmoUhX5FIO0q2zC0ywOKeAq)eHvGgXKdpeBGwGGCR8JjDbndUa5fecq(lmx8f04a9VoH8EO1bqtoSCxy7BqBqlNekst43LCYSgCsqkjLKSfzilNmvi8WfQgbsWVRUz(fX2gV8nGtKwbriyYeiKMrS6U3aXjA61EoDYJZUjFyy1yK94z4fISIdmEXQ2qRsWvh9EdNpL)bMJGj6c1464TaqGvyOO4E3q(6cr0LwedigoiGG8j65WqbUur2DsUJC3Keish07lU6y8wFyr)dXaUGLeQ)Wspqkrr7uuiw4nos1q(GolAa6yQg2Kc8Jkt8018ViC8ybMkH1p(k3I)IuOPy6qqi0wYO77kiTXmzcBJ1jrzfAFkHnlk3b3zuaPKO0f2AeLIg5qAgYktrwzcJJmlnChzyZjbTig0sgvKqAnYJKJXGXjGVGoeQfDcOIdSEbov6W2hcXH7fjjenu6fJgJscH2O0hbFtFDqhktp(AdG1i4NwZTnP)xet(dbFqJkHp(H)bTokXqo0HHdHSBuwmxcMB3edpgZfBXvkO92XMPGcdXTKSLCgk2bkvS4crjILcOtyNrsHemym4TJHt1u6nnQo0s04guDuaihNsvOSiQSgkFUcT6BC3qBsUcf8axRICnAMbleJKJsmTaZ9bjIXveMHVhdjmuVRrVPgJpeEOlCDFdzLH4qswd2MiRQfOTLGRnK5lza5L2rRwYq0sjy4kmAVaChOW(krmSpzhcRMkOdRsa8xWecn2HGbpYBqLtnBFmkeLFIeJCe3gSsG6JNlxVqPyhV82(DJd83FxpUSmpB)MTp5Xx37Wq3Pl3mO9W1R4x)LlbSFFzXp)Np25MS09WaOjGE8fFOZawNbFIErVDD9H0Tbkr(zEE920Y4eVH6I60BXmVqneQoX11yKx5BfOD2OXDY4x3LH950x8gVBonIVoI2iVbHp8c9QRZk)189e4bnDNUoAVGtDWqaOb7JTf(Gq(Le4DsQUWNy9OMyAnKE3HYQStOLIZxW0y9niiO)qdwUnlfq0ZNIN3Qu637v3M1idQ2dskkJo1DRPr(ptZSgP1ZZIrxNgDyxlEslU8X0YFmds(hRU05VnignuFHkbcAB81fj7yipq9nuXC9dpvLdMJJx0eEQn1(ZCyXXflrxhoOdbixCcKaYPGyyg66WDBrDDXUpNwEF(E)O)193HNSR3HhQg2U7Sv(KkU)rqe56)gdbGURyHJ3Bs(GnmOZ8TEAcoE8apaBXgBer7M5RT3snsO2zudgVl9aDFFPWm4PnL)JdPL1pZ(9cBNDaH(gELpWLEWLJdJX0Cj86gLJFYaGp)b610jWGi3wKFVqsCmDMlW3TTzCt(USWHiNwh5RJP)mAUO3I6Yhxcn3QmgwsscxQHMpJoiNajOLJ)2x24y8(N2NUlFnIWq06pMU9UzeNPBKZojzdgkVeVGEJcJCX6Etoxhperk)F7iX6CjrdXvJrJz9LwZWZU3D2TjBy)gaNWg5yodt(e3shxbo9dhDxeg7I4glMWeoU9RoSD7mIvC89iniBx8LBU5lF(4y2aTZshKon6pQ6MqTjMsBcV6Wf1TDgPeBFcM8I4Pu664I3A(8c9gIhuVH1NhgpYYXK9dhYQQYQov9fxxKxbXuofEmTm0MrcgFKBtFtTN3Mkwy3mq7J9mKcwU(AN)nW7Rzt1M4AS7yogryO9xBuJBkER)C9)u7LXUJG6ZP3NV(ufIfLtGA3laYpzYLo1g(Wqnl0vsVYHNH8yD(jQ95OsHRQtRpuDBuDexrRx7FJS69V2nrfXs)vWiukBNRRaVxnfdlLAyV6VKSfyKKEIas(nCevD)3hygi(jOSqMbs3aLIPuq)0qV6qzHQJlRT7Dd6DqqX7Hnxwy6cvBZYE0)qN7J2DfLRZ82bElRC)3xXLqsnm8CD52Q6d7NZAGkedPFl3Vz2lXzqY8qkExVMAbgF72Wc(r1CGwisc15wToTgmGM3A46WUyde7X3(B9CwKXFmW(fTEwqZvHtZ)US0Y5aV)yzccwW1zoWRDkhPiEbljeIOm7r)fbA)6SzTQeCvBktVh6f92YSuW3Eglurc5dPZbATFqEE5vzw2FMvxMoltyTtQ8RkF3JWBMLIPXC8P1Bl2plrGHh4TM8qn3Bk3GizZWdVPw7orK7ovKUv93EtaNrj)DG(eDomKT7vp1WGwB60pI)sF1wnceMniCwCu5BbG1D(pnkmCPFjCL4Izi73uVh2i7r0IfdygpQvs6UA4v98vKYyqC0J6W2)rVi75nzkQxT6))I8c73a" + return "4XzTC91CBJRR)dZ95nJiPif1JXnnTzUTj5gNoBpZSJBvSvI1P2s5ijF7M9H(z)asakrR)4kTn7ljk2KaGGG4p)avwXwD)QLpC4XhRwy(XvRlYVnzZMS8NwDnJ(gZhUm7VsxDTqUA56KQ6fjLlkk3Kw(MIDfLgsKGdF11bRw(K9NLMFwVA5gyqf72u898Z3982KvxQebYarCyKwW0Qy5Qh)nPWmUlYQsEyx6BYkxVlD1dTS6jF2eCw4WmQUml)BP19OYZP1Vpnzx9wGuVpn7PT1RUwbZl)57lQt3F7UK60kRSD(UVN8s19jLpLwNUXm3YK1zj7UTOA1Y7U6DV)EpQDBA56086KNsxTOH5twRuTnbujvgP5(S9PLWAfK2gvUDZWP3ExzX3ViRmDDDwrEJG8)Nwwb)9x2N8Vlk)s(H92z)0XJDXn3F)nF0Uwlt3xuEzroW8lkkZQU9w7I5FDdWPuqL8Bsy6jhkt(qwv9fPpMCyxTznOIIcm)on3Ow3ywSpxMbuO(Lvxhgyw6jR)gq03U4txEPzTXJ4CX8McJlKY5nfryuq8OtHjBMsdpceb65XdPumZ1UGPuS5nfUqfhoVPiymw0uw7(Ay9juxdVPid1ZKlCjpAURLq24kmwqVTrrqOC8TXb231X6XTgfdUThQN5IimmiCCv1GmHfeootgyDRzC(8eQi2mnEb7WXNbJ3)eLounPJGER6yHwnpPsYdhFgdZev8C1v8qUCUlfTyUE50axMjtcfZ(yRwDIdiJ4pHZh3yK33yKhd(5MJ1llgI5ppHc2fJgFPp4zkUkwp3PeidNRcokAMMWmXjIJmSJ0G5gtamUINKFr)yc84XpNmGRuEqWj22hX9UCUUHGqv8zYfwap6el(HIIWpruHH5rSmACF8JebLFchKJK8uGE8vYWMW6O5AEjcdJN5uyGtIXNYGcMju9mtGqarug3KCiprrbNW(Ay9fxo3uAfIO5g2si4bZYfjxeFcfSS)eKbNWP9aNEvbZmf7OzhgvieXJZKb3ncLHIXn4hyhxfoldeLyUrdJdMRIsRcNPZen7e(RgYmxPovQwdyCePN3ExDt92Dks0wq6NBktKhc1jUodbeWiPRPYuntJkJn4mn857sQSyhm5IIDuQPM0GJKjKLM8q3uEeqfCxvZTm6COq2XzgiEa7EU47PLEGca1HSCB3A7FOvSC1JxzimwK7ctONO4iZdci3wj(GPgqZdbAAm2IVw4kPY8ateGd2u(Zctz2k7NRuA7iTvTyNAqi(Gn8J5Hin9GPccljubbiJ1A7NWe0qeArenBtE34yGZplO0QTurhhGSMrpelfiDdf4KHprJSMXWjPHWuwXmaPMrmTpWzIyKpMukx4sv0kuX4CWCbTKd)gbhulOSeOSIaxjTAfBAq25gjrzZgOFHl3fl14kAJqG0xaRAu)ZuO2gd3zOhhkJIwSoPI2AGGvmKxHcClHR04EbmynY0qMwIsEmNeJWio9v0UcJXrcAdaSW5HZo44iC6APYolfP0S5vzMJskTcH1JIDKHXXOWyCayjIzLymF9W1AYhXS28Fm5pnuQ7zMQ326RO0c81VNTPE7LjRRlSNAIraIUkVoTS8WZ14SagEnRLR1V8C6QL3U9LQmWzGLZmRu4KOAZb2od)9f7EXBOaRcOHFMeEcMsy3PCzwz6rtrg4XbvVXFE56K8HNHLb6Ut46K6delcodYx0Fry)BysIERKLwG9OzzzqpwT8q(3Yb)iDN6NOpg3SOno3cIP6PaklQQ7WOwMyCNMDE(6TWwh5vdStmUo92LBXA8ODAgfDiDZfP2HyyToWDcK83bhaLOfPMJwXwGSGhIC(AKwRDzeDOo25jd)TfMLfM4TOFtMGZSNtWtuwapmtJXqxH20rmZJ5ooroaCSZXpYZMW55mmgpzZdIqbjGHpii3oAYpNKJusfHN3fbc0LGTW9fUuhT8st(HapvO3c3haIN93SJD2j4KyQeHK71aYtp3saBzLwshfAzM2XDBve4kf9OaEHXfsOke3uKYiukKXO)cWzgkYyQRWds0zgfFHfRqFrrbo3OOBlq5sUiHQWSJWMpKLBm0Vk6cIaTDbbt6cREfzvR)mqnzFiwtrOmaxANl52vY7eze88frFqG9bkYi45w7ycQwaXdFiMCRAqHdfqbzJQqDpeHiIwsyazWrSDQsx8mWOghOcFikW5(fv9HyOf4BrtvfzlYGLrJrTLKkMG2JyOHGKmza1fYCTKISlrEbwB2FtBC43ckDkCcLlbfJhc4qhYcWG)y4wEaNOkSTZibIH6COaj0uuiiJfUKuLu0vEumDqieFaHdZ8jnjBallkGjQbJ4Ozm8lIkrmk2Oqrh3OOLGRdsLWPJDHUmnAdMJ7hMSwnlosLrJZ5xH58JGAAbUmubeFPi7AjLpgzXd6z8WrencAppII3h7cQZi9dS2mJ3lfXjhFTBFD65SDec14(UKIrqDNQA52IVFzzwA(gic5cSbpF6zS3u5pL(MTPR)2BCzAF8hFlj8MPHraoFD9biMSxoTTF30B0gLsUnKHjWe3VjF2EL9H3E590cUx746QgEZHYQ0b0fUu1vgw2UOUPOSjm1zsmHK(D1QjXiZxnnTDt)X(Sx1hVS6sn4ktfekbJoiGcyz)4VbMFl)t4BmauQKG)PWyWRQY8nI(lWMuH(jLJ8qrDDX(pMu(uwouNLWwaVTRIDwFEFABBdRTDT8NyNAklZTKnkotO)PyAZAY3eRuYw2xMVIYTnmgD801pCIEBIgonN66ypg5s(IwncxYz9sh2FIxco5dHTqiWitibNWudNhY0gpkCDYEBtD3u((KDpoHLeDIW2O86xGDKL2CKFmzD6FC(Mn3Kx9hVBhuT6l)Xv7HIkR(duP)LYId5Bs38Lh298q9Jgn)DuFa54mE)9vpzzc(R6zSwKvvKpOTJALxp9NZE9fVKNSpBno8fgFphYRDoF6kaFm5PS1d5oWX)Z4TBuEfVdPc45LOXs4(0)S2WM(flHOjOjRnJBwyqRT(dbkUZqvAG4o6Y)ZHKY0F81lpSB3p(6VVnRoLKEAVI5QAY)CHZpB38RXroLZEbh7)ZlGIJ2F2ZN7rgrDzAdImMvQnEXIUH4qTI04zfuzox8bERe6MGe4wdUAmiVsEQVRYnAHh8lZOvv1nq5Nr1LtcpEj14B2hzOhGkuEYEc6iVedRaTRsk83cNO7PlhOU2UHUnMigyLC1e9G5Cqxvmeie08pbUQtTvnvTln9zZdE4W9yr56ux46mZVVgsUkigdUwxURQ(q(uMJmwzD9vMVzYtrRq2SnPC)uMGYaIHHhff1tz8sDOnA23QMYOH8(SJE9lR3vKNoLPOyqY(MmTwNud7xtJnmPvrTbCUzYLAsRevqewTEYugTmgfRnLjpvKx9qzAcC0zctmKKnytCg6yRtWnRNYOvSqRKLT)z4tM0uCwjpMMuoLXBkrFLfZHMd)DD6E6GfbD8PBE4yiFDUP8ovIJ3aM1d4b4XUazoVgx(Bq1XYqO4)arSqfRmPcaMRDUaCe02Y(bNUA)(d5PDIbdLTHbOmqe1KSKrC7aJCwFNf(Hk6YSllWtONkNX1zD8HDuiR)gjH4Uayn(cTNVus5j7tCTPkk(PUpl2XyXg(NqMOtDVciozqU40JXcl9Phs0pBacE0jUtp2Xu3Axo9cnAkR7T5P7T10LKNd7bRt3dglw9nfl9U0KnVymDQmzM8GrsmZ4HMb8Pk)tc2isPgmbFCTXHsA1HskZ6kZO2yMuv74VFlmKTquDBc91UOIDQ24XsiB4M(6e7pQoxAX2RsOq5xvPF6wMelESy9bYq3imDZe4dfgKhnlMJsMbjGPZv0PA7GnhssQDPkySEp(2M2iCEhSa3ePjDQ50LKB4kVQojg5DeBG0iXJA4jRF817bUxN98p(Q9uLjjLM6K1bMTG)pilY6tvIw0WvLsEcBx(Ezi5sndCfA8Fvb(D(qwonC7QVBUmD2J3MTjDXUS)6VskbzgsZnpPLQ98QUP8Aih4juXOFnPgwtGkVWbPSqe4W2JGxnGJqWy83SWc2fHDkdXfIfGWUPeuZRIdrGfHmHi03COsPPww5AOwtRFemxVvuAcOQqrl(xiKCXHemVrkcRAKSbmetuolqtutt9HkuJibQiGudPrgRr4QLcc3YWiI)cIcuNYyYWixNSqu4K6yhMNOK20Gmi4fU(j8vLChUQuBX4bceuuLIiQRJxqYqksIJqOcJCi(gsG(10clyew(20cRqjOgrQa6kNqs4mIWw301tJutBVegPreOMUMEAKalNJPUFInwqr7(u)nHP5ADjQbjQsn3JPXgtWJuOObCdhqymYoEqmHrpiROmsA84i0osrWsdRbYqtZqiJHuuDRgQ7eIqI(a)SSJHGycgyy38ecDmHtUa7siTamSVrNr91ebbNW(wsTDW15qPcHXw6WMpKA1zCmIkBecJnbsTreDAquaKCCCeC3gveAotDmbseIJeajNaBgapMWG3biQRjNXHuZdIOZhGxncT5aCPYfADJDpk7Oia2n0MCORfUTDUnG67dPvGHGkmWggHJx7SOKnBCKePrDgqteUDUddzQ3QnnVvJGaRqCZz4MhyP7oifty(2Ib09fNBCfELnyuTF4MAis92kJRWjdORZD60Na6NF5ZjLFBWE25xmCxmp9CU7GMZebPnI9XIZSsy8D7kQQAKp)uy3otyxjs8UdPvvP2mtG1rdb5E3ieB0U7V52JXAdtux5aKYBr3cyY9eUep4YCPFccnaP44mRjdR)gQNJYNUlwsyu8JX)5Vp1jDrdSSQ(ztDx6UBlYYRbE(M3E99V9oVDjJnUFUfN1c5CVYS6Bx5BFoH96M8oqBWXEnGi(3)Mh88rcvdOD3bkSJKsdIF2(2VCpuo9wNTH)nt6z3fhkO9e8S2eOta2eLEJdntxzJQEyQD6uep6fQQbvsspms2Sh1Tf7Xc0GAKUTy(XNhXBrp9fL1nccMTAeZFkI6Dl9s8XO(qvDXElARlnhO(ziAwtKLjzbDlY61GUAwV7Q7Si7zXoO1LIEehsBT3v7CwuFuHU3LY9vHSAr36LFniRkS3v981GSSa5)i0vk6DJ6FniRMZ)Lm0gHS8(VcsZISgx5pr)Ue)TN9RqP6EFvNf1h1(9xtOhBNRpEpVgKLlJ79(a(AqxnR3LbEwK9mgT1f3e8SH0giP)fi9yk4(V)aVgKvlzDXyBwK9miYGpINXkFByzCxSeNfXhpUX)iQcOEY)biRakY6xsfpMpy1VyKOZyQJmIn7L6JnK)N4iTU)BL2RbzzYx5aOWaxN5bxkmU2EZAZaewhukDT)TxQ9NtigBeLMzoyoZ3wuwxMK9lxiZ6SFvkm27BFBLz(f0E0O)vz9XPy)tqSDORdR)74WeU2dDlc7FHB)9VEcM9VnLxavOBV)lxZGm)tA6X8PVEaSgdkFeUNLsQYENgA2HhSi7UxORovKGVQhTVKgtOsWKAO4MhouN2E1XREoD3oZPNCZvVzj(VGHvqfjBYEmlT08nWeQbv0sGqj0TfcXxEL7cL3HixAAZWW0G3sdBZimKqmajo3oOF81)hXW0PLmBWcV2SYDv1hJsHZHsYtrj5COK6uusnhkfDkkfnhkPpfL0ZHsXNIsXZHs47s4yKY0pLjtR6wCa6vJDvDs9HQhCUKC(9uDqu843idN3d6FohlncPTa93)jlWoWt7nxDqZRePT7W)(53D3v349fsoEjfU98pC(fxDDZxGV6mWx8XZF3BB)uKk3E3vVD59nFQGlIIjQ)HBEZ)BZxyXDf(8lU7txDr7WTx)C4JV7M39PwAJVOlWhV89N)XZ9LeZBHJv51)IS2CzU865AdGjJb8fFaGVoTJ12i19AI5pbjNoVOy0)WBKHbHcwSuY1HHs79ef)hEtt8owBaphkOhHMB71GWpqKpwCztEjTlnbgi1uoVBcC3)1)4RK7J6xpl6DyxBx0GCvBElni)nHiNB8a210fzVEfpLgoA6(9IJY7PlY5hVmpR5sE0dvn3)6COLJ))dG68MnoRqUhLxI)EXecZ3EI4oB(s4TkPbAW6vR(V)5Bbjy" end function Gladdy:GetBlizzardProfile() - return "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lW)2Y)vAm9tmolPpP)7ltPNALZy)z4qaqCgC4qVgY1Xhuk2Se7r0bxEus9zfwlA)139ce9ug4HNf3RHyDAEFmHZsShbzgAJ(iX02hwN0h41Se(05n(Pyk4UFglCsrYG6nEnKlEFvVa5Ee30Xj2Vw666i)ZylTB4Xx(AiwU(vobAvRRd6Y0hYAHyJVSgPE7BdaVpI2m6Pp0Dp5pMEyrO7T6Z)EWSX7GkstfUCOYCAEzwAz2y6ZrksJc8Jiimp3vUb0Hw3esu4(AUqt11zfR8x5)9zHkMiLOLLJngw3FYCwAkAvjAOvvtrf0fMaA52TbG1V7JHMa)6H8DWC1Yq(t87hFZnxCvRxWe6a)fU(43F8PxCz9lW73aEXho(TN18uukxFZfNT426NkfsBcj93F1B(VQFr4mlGNF6nF8ItBAE4ygGhFZvV9JnYgVhv4XlE3XF442AI)sFdE2fHlCQX597F(eWFUzj7hFLtFPa2p0qoHgH18SGZwD5T(75SV7xzR7ie8jUEFbutDEv8Pn01IUGpvCG6FxxBgJ)uIEx42lDdvKKD33Yz9CTKRekRorO90DJroJJeoPPi52hoqhne1B)zl04nEDRLdVDI0IGBS)yasbj)(Zo)wFSNwMZMlmTVTkCSfzRJeq7wpdgImlGiYHqKOXlFhGnhEG0GSqWg5qHoWgaTLiRqsKHg0FvcK9cjmjrBabpCr)irfch3SVFWEGqhSj4d0CzKBdO8IJxCajkBiJucrLGKyqa16H)LJ)qs8PWre4qlqjzSi1gKmjY(HWfjEs88P9pHi4HrJuNq4i(wakh((UC4a2XsIwsKyqHuKWLiqUxyT0KWQcdLlo2AbrYHejsDcySXPHYOqLrRTOwaaPcTvXjfg36d)qJS2G4ndpXGu1WYIKTa5NbyAjc14eMqlcNvxy04iVrqYwqxHRxYAz0QIdvnLosCeFB8xEzOleVq0IEe9Xzuw6bm8hjkokvhAj9shThGEH)ijs3KAM(ijFtdA0fgPLMlidJej2qx1XLpWzgBOb)HLyCt4O1HFOqMNaVfhjd5cYHjsTZCqKgUK8iC6WGQJEkcjo4onXYjnowGtw4V0kg(wWAJmsI4Qe3YP9grJSaBOLHgbo(CRL(dULrBTDjgeKXJC1v0p4r2xXX5iEoXOijMib)p0SPKr(fH)BRaDIPn8qSbQdcABfrFOWjdhgEbjau)c3t3j0rS7FCcT7H6h0AAdlX6id6dA5KrrAqkDXj3AytcossjzBrfYsSxkHKdxOQniH9Dv1blJCTbcjuNE7xcUdA8F7tzLLzLELRFkWpKEF(Qo4VILvAi8xHK((t3CiPPtRjs8uZgBcS(WGyjkUrza3yqZ04SXtTdRdcdkb)DWXPE2OHaF(a7m)wklMsRbeyl8D3nC601u(AEOPuIYabQp3tK21BF2RbXN7nUeAHHyA8eS6Jp2LHJVjMoUEE0LArdtb7hI(in(XNrBSeHWkFJFOhluJGAJNaXDpk6HwvBmKevyZ51NerlT)MaIPwy27O5nG7ofA1(7xUyBwk8ASrT61a4GD5Nwd4EQ9DVbeu3)q6F7TXLGp07Z35r0rw(waxA(8cAlHqRAxO129Eqm(o0600NICzTSlRYBrrUrkp7npv0REiEN6ZmDnUxbZ(i0QWT3KpaUvlc87vx)E22tKOTz4hUqRIKoWjxTv6aCqAV41(kPiZ5Ihtl(6bmK)neJXa1DR8FJbaaiTXhVasHalKx(02TtPjSEADRLGR38CzoufX)PQKbaZiI4826)D7RGQ8)ay19178BcB3P0OqKJUeNRSqwnisPdY(eakctftnK5tIaMHqMysiHJWoYeyUAToYixcAiNYcYqWfGfk0rlL0mXeHyebqBjCFdObTKtCKfGHGPi95URZ8J5gtuewbmhSI4HlhX7ja8aKSCe1HvoeSdKJf1if10ehIexljSzqQaC4LKii2nd46SrY86IIkIRJuubX4AtcM7oXH2pTiIEKOYme3hb(bO2OjlXBzbSIqQSfRTWgHZQIGBIergAboxI8owbO)rqtEtvujjAqtuu3RT0IkH)ZgbSrmu3pYHrmjcbj0CdTMtCrNBrO8wSYgsMr(y7WsTewdQqWyHnaGhHIJLqLDaAiccN4In4AqqXuIyrqorSP4SIflZYGZBeQRKXKuDxrQJlrYB7qSKeJ1bNssl5i66igEnvcHiIQtBOkfbjIkLIy0nGC3gvx0rrerOZe1wmCubqtObwAne6tJlUSJZARmwfJcR4icZNQhr6i0FQiR4tWfyPGGr6yC0uGLpq1RiuoevzuhiW2sfTGWzrQ6Zee8txcUWeP3o4QsuuN4Fp4cHoE1uHh80X5bODiGBdzkjQWtol10(3qy)nesErumjeK2y(dFc3MZAPltV)3FghHBr)hGNCmSHTo9)ZbZleA0a1nk8HRC1iH3mZuz1hwsN8PHZPMq5ngaJ)i8q84qOO(Ta1jIFunlJ5EZBG7fV7))92U2aN6aPBqcywDAVj(mcWzq9NMt7t1s6v12NBwSEMEWiT4OEKKkNGUE8JcRg1yl6EATRl(VFkTOAmw6hpvyBZsuNtXTZHIzfSGtcSLfkXaYJHW7hdwl6x4pCDVc06dfa1N3LU9lhayguknFLNTx7)xVE2fUCF8TJF0LVuFOhBDZbnMMB3FS)7A4I19Xf(JnnS6I2o06vg(bkGyEJ75gwckOnTSe4PZoakBnUukGvyB8WVLMoF8PDcySS(6vM40JRdxGRtww3cgpBx2dphAhU4nsGnnarZbfYlsGKLqoMMcLHuCcOKnaKRZjCS6cLPavnUA)KRaog5)a2paRkT4pMuFeN8BORcsmcQ795L73n6EEtJ306jIFpqdcI)0N3L(q(kS5N0P(8wPUqdyuFp3QchiH0Pbqas8BAMp8kC(d)ry4zLKdqLPTqpcFTqGI88YZDEOrkguqcKgYJfcWXRIkvFVZ1fT)QB6)To26JSpp4GE7vx3zvVDEOn9)2W9jhh5JQmEy(TlcRTs0j3qJgq2Vw(9Di53liSt869aVKvE52p1dk5f)Vq6HSV)5ZHc7((N)9n5vWdt3Tde1QShG8iip0qD6giDy4eAkjzMf2e2CPoFSeNdOrlSs4ROZxMw1ZGzlR8PckJyjMna6wztpUDd0Kn(Z3XNap6Z1yT28l9kgXqFFAepP(NiqrR)V6GFYHm2CyF)y9pQHqq0Z9xTchemGPfaJhc8bqRhSrmUt(iBp)2oHZB2e0oQn1Y(3zE7BnEzVZjPBWd0w2C9GnjvQxj6)D3n8(WcEJ9FCtgfW9nEmH9sMgVMX267bGTT(WgBpNJZp02BuqHqqjm(BLiuRfy7DXP7X7wTbgJOMVSp9BFbXb65iSSZPOUkpoY1(vHhg3XvTC5))Oi6pdb" + return "4XzV801CBBSR)yUpF8SFVlF0kooXZnXXhlNPTZ0rnus0w8gzjFPOoPUpKF7hSlWYVePQyTtMP1MwAxaSyX3amZ4ZUB2057V)(Dt8)4QfB3Ct6YL5BEy218ztls38q2BwLT4R3S9BzftslUl7plNnz20fP7kH)CY2ILzfVz76TfEiLg218zxAmmTWMO0sL1yf2z3)V0YztFyWVPyOVPC20Lac2UE52VT581pTcXXYIlY3LoFD2BYlwSoB28As6HgKZLAjxjuwDIqZsukgHU5ZUM5jh)pl8)eqtzr(MVMvEaCxLLUUCfa5RtFm7YTBkNM)xzarauXMNUBBz2J3SoTmBxG4oF93sFE3DPfpKvMT0V9I0f5PRVz7UztN8P7U7tF0t8bWSiDDw4WqyEqMjZQvkLGj5jwNs7pdkKz2)3um03aNYDRsbo5U8hwvEx(JzfrQ4mBtbHid)DfB)2f5fzlkZ3Uz20BV6DVhOS)twXo4V)Jht))2w8hB2)yGsFO9AJhwGhvK942WrE20l2wKV7MBMn9PSYF7taMYkND9)sLCMgoW7ls)q(UYlYUpD)6sppWyTm)VZ24Vtw6L8EQihGr5ZZUgUnbwx6IVcG9Tt(8Lx6pFcRqih3w4cPwpUTaIOSKb3cxxTLkCWKm34WHwlh5zxYng(42IqAsuJBlsoNBpLZEtoS7iSR(Vu0k3iXIamFm2ZIIpmdJZo4AuYu6HVg75E3L4gwAu271UYnYdbywtnmRQxKWzQHrspNBhxighrz5Ju4fKdhEhCXHAuoL5KubBCQtKoZ4OkTqn8o6hjMKXYRekHEShfNCSw5CawgjsuYrR26mhrbza7jcXWcJIdfgfjGDUXi9Yt0SXYTmj2Hp69QtjmjUXUfMwnwgS1osryU8i(r63qkBS(eaHRKtYUytFcIKH1t6XuQGXoY1(aM31J1me4QsmsSWzc7ro895frCeVc9JJeTDyB8d4bvCedKde8eZn8jPFryNDSIxsLkzKBHdgjgEl9syEx1Jmacj4rzyrY(Sezzhr(QF(Lqp2qALs7yDBjLc2OmrkKjhHbRpCdA2rmA3J2lKC34oc2r7gvkLjdJKEVnuALCyb(EUXnQrjGyKJ1BycBSmkNrnsJjo(rSx1NyUXCSqT6r4W6g3DhSNf5y(VtlFgsiD6vBkZkUpDr2VF(YLFAZUF)DRtxU85F)QhtFiB3VJR9pk2UFZYSL)X81prPV(R1jvoC(5(8YPVBNN4wSoDxO4h)usbFbLCDv(Vq6uXQx0O(ccFHc6wrgmf9AQ8CiN5MuA7YACMZJVNOA38(mFw)WcLXIACtwXISnLahnWfi6kM8)opGX8PN49YztS(hGJJuJp4t30)aZrRjKN3Ky2B(h4sgUyFMwt8z0BcFUX4cRmKGuyRmf(qWtN)bRJEWNSsaeggdrSZf(eUKwI0jT0U9H4JRbuvNqrWhGIlHHOMtpKOLiCvsCZWN4quZ54MCGhXazYqO5jZWdcUmbXJp61jXOsdevcUhmSZa4WVrka2cslmtGeegDGReI4kSxRgPTqmftIHjfGMWqxese(s4uJ8FUb52ONvp8eqgB0Hnsv0vd4xKJ4sjXReHXH3fWIDisvCNgP8ebrgkRG(k6wHZfiad(AMenMgwCIf3UtBc7YqmTqiC(9y06aremEfwPkjbjgVTMaq8NeV4Bw57JLG7Ns9gd6lFm9p9wj6QVT7T1M0kcv27xYxwU6Y0fLaj5PgFvScgVk2)ujUhGuVMxtVLp)eyG7MvpVlFr66GMkpO1g1GbDur3L)(TRFUXszNLWOLFMgEc2IQ7wUmViR1w0SgyWCW6pVyr6M(3rabUUB460Y9ekyNbb128qe(BytYdojtdvGK2vabhGQP7381nGfOUB9Z0hJ1SLm0fpqCZbmGIT7k7GOAKe85C(MfRGlU6I86n624oUUKODVNdUWYwErwyjEu7yrDxYsjO6QrzzNaL)dvBdEWgTsPd6jAlzoijAde)DOwqt8bfGwC5sbpOHH6IHQY43gNJgrdXm53hpQisMoIOlIpYMOmAZvLG2eemlsimo(GKmy5ilKAbcjJfTuizs0ysO6ctIX3gWLJSGb24q7mXpaiVWV5TntkfezAKkYWmJ8ricaiK7Ba0wvazUi2dP6GNu0wey)gpikJcVu0Alsf6e0sdygejzm(A4bnAgK8mXtmOvmllAagn4bmxY4kKQyyfHG2cyJJwKrJxuLLNq1YDsGVIOQ2siWMcpK4iFB(QRg2lzWwl64tfSzAPpGfEG8Pc28DrKGSfG8WhsidY(sfIeOKKrniVh8TyPJe6khmHh2Qo6jeeQXfAWhSSOHBK1RqNsW3IIQgswKdhJkH6ainCjDhXrbbnjYaSle5onftGgXfiTf(nDXHFlW0jhruuiu0bGRksjJHHnGoQfmbbv4ANteeh55qwCOOOusclcnXkj)YGJcsrqHpG1SZ)jvHPahlYvlYbTcumg(fbflN8QknK6g5NfmDqSebP2PIXOuhgaEF4dT2F4iwgTUODfE0ocYPL4XWWi8sXe40uKCKepWNrLdlTc6o3srkKedhGt8h4S5xFJGl)P4zUBZRoWq9pJW3JjomD12VDzrE2MLGN55y)V(8tyl)ITn9nXelA)XXUP6jC0ZZ5lk3dXcmVok86VRBtnbVzQ(BHzCV(SioGlqlNto4lB2y1q7jPU7TER3VwF803SVyxwlqYBLTHXd06t5N2wu5Vm2FpSlGG1pr7a76NI5DP4MntSktpa9pp7sh4mZPa9iWhjyq0b3xGsW0)C2LwJwcxLAf8DW)77bSsE4PRkGS)M0PMVTSC7JFmT4H8nqAMG45uQbU1hUV)LjaJT1x0ODVHUdpOSki1d0Pf(LmbIOUsHb5dx6aZkgile44awy16kLdp71hPYqawd(H9bAW8M2TQqRWT1hVlnCWgVbcm3Za9rYxfpS)EIsDu4dAQjNpEPEcIBZpsNL)WBV8Uggt6iUBJXusXkkJXCEq(bTA(VvWchyfeNG1NJdQC3NMdQP57WVxWFzX7txF)jCKOS29A4)ZRBXHvPavMIqVNRsnKFOdmtkaNGqWq(dMgTN5aJ8CiQdWYVdIGOYO6b07pyRKhODTnF32n9PB5pPXRHLdyiOFzPlEEt6J5lWLpXB(B)MYOTZUvZOE2rQSQgLQ9Qb1MTQeMIZ6cPe3Wztqo1B)he(wemudaAThyTQH10))9PfzF)lxUF96V)LFzvEzgr51edMeztnQiH3nHdCL)uCXvZmACOJ01V20zrlz3UuCvz18SPOxW2bmG16cDge2oSrixNkKf((lnkdKaceDneuP2K4diaYlH4iXu4ORPgxgxTXZtN0mlUAgF3yj(vWEHpHdfGlMwZuSGYdRJDRAa00x0V14(BoKx4dbf8wgX63UtGBu78hprny69unHUb94Ld9LbmMj68gYN3cgI8Fa4PhUGEyleUsiv1DRZYEY)qJk0E)2IfzXBPC)VHRcdlbJSOSy9UY9BoL9OtmbdZfBwEYBXzq0SkT4XtzdgFnN84y72Ytz9ANk48(R7oLvdbBhw9INxSE7MStzlgoKHLpe1fPLW11PHgonGBGPrFGKN0jbuAXsKKEkRwNGK1YI0h2Uz38ISuqh7e2OIOn4sCe8yraxloLvB4QaLL)4tWNCsBjkLCFwAXPSEFDrMfk0tLjHG2rJagoURMgHgeCx4FODf6JwZAOuIRNQFOx)DOjvSE(3KTg(UGft0Ui7qhPx94J730okC2zqIXOVuFC1rFKOXeessfbPU2OxwCbqIHGWUg4whGUl3IkKhlI4f5DSy9s7KtCsaRS8fuNGqtp6adu6ZuvCSbBkSMqL7)BaJ9ydycHjF1Ho(Acnn44lX(3TaPWEKH7kSMYAXWtpnQQuyF7MShFoCXTzdChSi7rWquGFtouVnlDzib3DuWozHDmVAbFExtb)G7MmFDxFkTO0xZ6SD7lOa9dDBBPFB7Q3XDRGLSYNVKxGVsW9WSPUVaIpVopQ6Lv)zbX3kflFKeRA37GQaoUF7I9KGUNu6goWhWSGN3jehC7(wyskXHf7vsslJzX4LEpmCHUkwGvHS0oPthJiwnRrc1eIAg(5bDeHu1qnRV)L7aSxM)03)sqRYhssrZGRww8VHatl7jmYkkW2Fo3KHV6JFZybJXSbM(8MW2DdWfZ34n(qN(UrU0SyaRYxMnzD(F9xPfabdHnVjTgIhybDzX1qm1ds(DYt4eZPGosE52VEckrp1yK4dTbjs(F)l3MMd)m0nHYMYhLGQ1QDEY)Nsy8DLPVnBnKg2MsavV5TxF3BVT9zU32Ee1LUuzb)VCJYj56q1)HyWnv2a6RlyrbMATZ495l1)q3kh12mXQrwuPQ0uADiaNQvNU(KY)TWhIA8nldaAFreZLnkFVSOzoc0gIP9DP1pPLYePtZnCjw0Ng8R6HAOYSxpP12jhu0VFZK5UJYqAE7Kj)NFpqhJyE0(Wv6jp6UMSIlhcMR9DvvHb9AwnMnH5n0JjHj62j0cUjXgWjLSyNqOMrXeybR9romj0AaQttCSk6Cg2KcJKgsGef2ggifgQxfXA47Ordio4cvTyxYJ9W24OY6RK1DlaBGrIIAkM1qD2dblJJDqsWzocAoQF)kh23ed12jfTYeh2CpTK6YJYs4xsqGMibUwzJtma2ZcTlj2HiKsRgebtcD(PUrPfXUqrJFayDbBHKXqanozbqwmgIITyJvSX(JPOwKunQaWkc4TAubuAGnIqb4vrIK6kd2KVQPlXt101l1rjl1cO4WL4PGaMtOPmbBdRHU9P5ib2wCerqoibvAik4oSnUcRbjnaB4cuji6eSeQJMaTI0iXXtSOCKHAINVM0uxW4yd2GClJNgQxUsfbFFrRNqtN1KGago1esPlH6QOeNgd6a4rFfpJMFeSLHuNc1utAJtOrO2j(Fh7KPIgPKKeShwwSPFul98KyKdIeGwGRJAoONfHIZu)LzmuguzqWjXwNksOowgBFuCyssuuRwTK(b3XOEZXWJQq6CvY9iTJKai3qxYQ4OYupHmmQl5exbwcYWazyS5LUOeLU6IJOihYZayInNue74gndlvdjJdBzMb7YihV8aj9OIusSdzTkD4YIM16BzrxhNRAw9XHdR4PgZewLT12JZ1YIxQ59oLQ74Xy26ncSoorYd6HURcH49MyfBj3MAt010bH81QkCTED6wKFqHhZRZFooxH)GJ1QUwNbmBRDYFIrHqPzG14lK(L)pL2dMp10MDiy)UYTpgku9uF4chlEygMQyaSCnN1nRYxd464hmL6JcSNLiOeqOUw0e4G39dgQ5rb9bj6dgh9xfW6KDlqWRbynQdgY5xdWYz6FiWvlp4Dj51aSoH4fjOnayfh(Y3nkWEMok(szWRBk)knMUtQ9OG(GYVVmIEOBUdlW1Rbyf6KdEtyFnGRJFWyWpkWEgNU6sQSjxbAFj3FbGEig8HV5mVgGfYHSBrfhfypJzBvI3ettzyDs3INokGpSFJFiSciS7FaGvcXI(IyXdzd28c9eDg30si2Fx6Ali)JqL2D47J5Rby56xzhOLTkj25u9U9WTz5joEG3PLqeTZ3xMvpv37EkB9ApnSXp(itX)XFy20h3Um)(8Sc)3aBOC7giTaaa0eVGtb0S4SE3bix6RoD)WqudJqnS9Gq2diopSOV)L)hz)WPgmlXyTxolof5dbj1yGK(yqspgizogKmJbs2Jbj7yGK7yqYngiLCmiLmgiHVlIdbkF2yNmSa53gPVmJkm3I8g9SKhtvRNcB2kJXA9OlGvV9Hz1jl1SWQnAqY)8uw7wY7Fdszt4t2XPSATnrcjyGt1rRAW3S1e7ktl3VBE8qepCTMrOBdh8UntUvUV(qaxKhoG39PBM1SgXnp1nhgqp2PLfBxJFmx62bRJNhEZwbwNg(t(IyxuwKMxvmI6g49sz618f6F6wM6fbdjX((ph6Za80J(PL0)cZgAz8VC(T3E1NA8fmHom8a3C(ho)IRUU6lW32j4l(45V7T1FkcLBU9Q3o9UQpvkK2ec6F4tV5)T6lcLWb(8lU9ZxDr9YdZ9p8X3(P395AyJVBsWhp99N)XZBsj(xCQUErA1yfrDJvA11WxkdUBVd)y6d5lA5Slg8knlDNfoUR(P(AtLwndsdHoBcxiyg)7GGrzKMgJTO)1i36KmzOpiUA013uRgU0WjaSBvIAiN)sz6nhM66wy1T1t4aQ5F)z4wTId)NZfg7sfy6EDwkaws5UwFREKmaO1O3osTpjKiE7(QF2uXUYGCdAm(z19UR)QLr9TUBuon3yfnPIVdQejlB138HQQfdfuCAbebxctAygNvujO0KRm0iYXRcBBAPFycMqKxxMs7ok(JUgFiR7D7Z2TlRVxC4)5cBZpCWFQhj572EUVyPxfSzViVQgQLZM9F)tpTWLf" end function Gladdy:GetRukkProfile() - return "4XzTCf1CBJ7J)dZ98MrKuII6X4KM2mxBAU40z3DMDCxfBLyD12kNK81n7d7N9)GaGsuYYosBA7dnksKaGGGa)iiywiwC)I5RkNvuUkR8IInfL2xKU4gXI5pG))t4)xA))6fZxwuSzvX33n6o8W(hFSAM9)oFZZRP29)NvwLxS7RBt)Flk)6U9BX3MUVm9YmB7pgXd8iEaknPv1ZspQ0tTpOT9px89SsOd3N9x17lZwmFEXM8vn053(miMz1lUrQvlMxTofgPv5pTU((8TzL)2IRcJ1rkHqjKbAJoWS4XFjmbiBw9hYs3uVgOXvf7agDzrzE1T3cCoDzE6MlyTwRkOmD3tzxSoB53UdBXIhwmF3Z3xMTTajXV7efq6t3TRy)ULzBZ2vxzhG1L57(ww9DzPREX2XQNZwA)z2UST4l4g8LQSv2FDnkC2NwLvzvdPL1VaYqw1(YYSL1WCrf(vB3QA7X9RHMSgeDqJG6VvLxMxL(WMSlYlxUjZ2s3uWt(Q)GZchEcGfSdPcRGCkkCykJLs1IzlMlcuGUgEqjsur22ldc0A7dWh42inbj4drHMy6njXryVcfcBB1XyxeATjbjI0iKuldcv4NsIIP(gB4hccdjAOdcqgkmMqSTkBtSVXOIjrirz0CBcrchjd1evmjb4dAb)qsKIOBOIyn8gdXAHG6KjMg1MGWgXuIcUqLqQdPeLozcmOWMOsG(qJKasOIPVOKGEb)cO6qrqQJeKUmjK6BCejBbYysuKYeIZHGvp9P4eAqdJAbnw1g6n6OisXycts4bRtQSZn4SvOG4LmmwscHX4ASHyAID1h0ytIHgbHctenusKuteWCljfWcr7BcJcvgwFYkytKg5GMuEGCQrbgihnVz08KUqfqgvATgjlOOHFuJlS)18vWsNBaZl3I53TZA7UYsuRlRR3vNvwU)5ACbqL3xx78jCt62m7I655)DMLu4s9I6ST3UjToJCmE(MVN(s19PLpLvtRArpNZxx89ZBCmwzj7YChpEO1J2hYS(PaIhTy(Jfl3xngFIOdAAqDBr1I5Z(893)5pXe1YzW3eU8Cv5fGG(e4uldxzwTjl7z7dzTsYJfLlZUEzXo7VKB)5ncLoiHCuxxUPQE)UX0NOey(3ky7wn6UaoJr2SoTCRFhMDm5YA3aD4BvJH8WYaJT1vltRHj7X1hreokwLxzvBqqHr0jDqmoNSA5OATimY26hZsl7nOBBc4SQtVTk2IIrjnrMqdprmHUiXUK9mmKtHGwJQxjuVwvM(eek6HYSuyn3i6yiRK3NoMwhzJhy1xLzz)DwDz6OmHJmQqBVY3(m8MrnX0yo(YYnf7gLkqlqzdvcORILPBYW1SoWzZRFbEZC0DZJW6Y)48vR(8UQ)49BsxT6L)46TPpLv9huB)A1)3(0YSvF9HnpBPGLBKZNqyL)AWvXg0DXdSxgxyx0lW9FgWTa9Ex6faSJA77P(kJ0wVp8Ve45GJq)01fxlWph1FFzX3VmNbCSy(Dx)(pCFRhmphNS3rYHkc4X(RquwtpZ8ucpvWzwbBFvDXwlYUfZTakEnWG1mzfrqqTFc01ydZ8gi7zqOxKYNb249jUkigCG9gO(rfAWF9pbYAayB)4jRom5Nbzfbr)uOBKcaA9JNSgP8nzODeYkdnVjP9SiN5lr6ZI8TFvAii)BG6h1(9Tj0hBMth)ZWGqgzrR)JNUgaV(BHSNj4PUKgyInK2Iq5nq6JPGJv)u87ebrIEdK9miYGhLplr7BdhbBZ5nq8Jh34NIQqy(zmXPaOXVjv8X8bRFJrIod2eTVrSDU001q(NXsAJDlV)4jlGZ9hR0wZaVUndaJci1FkZsZN6Iqdrc6NvkVeBHzRRFACG9l3K4QFr7abIBH(Q0L1fOZKJU5xlf8s625CAVSV2YTpMxvFz2JP73GBfrhFW6KNlZbXR(fcMlaWF53aj(DZ(YvxzhWu(KMuxesvuFf)R0fvyCqF)cTDXU)CUln8aZU1K4ru0bUlFnPct)XK6IuPpaVYRYfHOpwKbh7(AyZjuxdpPGz4BsCrghyoUown88O44kmrWbtJy6QMehIoeH1RmYdddcp(iFqMGjWCkddHSV)8xBspuNC8UipKfXjtLfaQo9Owt51fmzStIly2ANetIIpi43RTOkea9nnMimQP61YaCzAmrkJMQ7uHrhnr)wucRNGPcLy7jy(s59EscLqNeF8PKbxuj1jMP2LGOWP6NloEIwWc1jIlm88EWu9XtNoWuMsWtryesLxib5eh405bnPUab3oHUsEOPO5W9O8ARCdvtn2gD(ftIlQa5jI8CKiOYt4pDy1vWeXbbHCfhFKmCSk9KJmOuXt1npDOrtWawQsKhFKenqhIKXtCvLsPoiNtVI2sfgDcf8WZ745BoPUqNS2eCzBpVTP0C1udIKemvtr8K(MwpeNWh3qXPWJoCc2u2dj9eErhyDETlF7NVSEpvWaUtn3VybO0U3E4FxVD7E6ii82BCscV34aztgECNKF7g4aabZxM)wp9bhfgt5z4vhf9lrJs8ykPJxqf7(D)roPD(u6FHQM8(76SF5C4oHfBYUwFmUUQSpzw1wLi4SkwpdJEeA3G9xE2oz3FE6Qc6KlhUVNHhehUJDVP)nPvv2J2z0SVTQtUNeC3ERFZtYKTJ7uOb0NZtRbLZd7RXtm(gCRuvpNTzJndf7s3c8HoS7fZ3wSk)X8Ss7xGouBt9amas5SqutnZs2biYv2d7EyAiBPbEK4wsOgGeNJn6F(Z)l1W0PLmROeESYsPWtrPWPqPOtrPOPqj9POKEkuk(uukEkuYCkkzMcLsofLsMcLO4MhJuw31JMwDwvXPNAULW4bx(HVCZ9V7o7tBZ3bgWaMiCL8VE(D3D9N9(qaGzW(HBp)JNF51308bk5qWh(05V)DTVLOYT3D97MFFZBvsfSrgI6F8Zx8F38bCBQW7V8UVC9LTnhHobV(Up)(V0sBQoEGxp)dN)PZ9LeBT7qPK03R3)ENg(U7zAHU3tCE3FRmGo47BHMLV7jYPypVU2sR51866Y9ytH(GZSGw6KBQbrBjpvUxW2GLY1RqM4tTfyMthEav9BdwfzNUjXVwduaU2tM5T2elZLc5iQquk4B3er3eAdRiHp(URU3liDhZIBSfyHlLYy5s9oSkiN1vo46siyiRUre4Sp4H7Y2CBr(UAjNK8vLdvINwB4EPn)H0sxfLz34WJLGRN2A9OTlTVdnzpfcp)soR)3(u6t5lhq9JNAaAIZfEtlQVM6CRdYh8yu6pdG6u9zDl5mlKIwpI36vXTwbCGkMBHdEajJ1V8mmHE76xQYbDaBMWMmpqtheqa)M)HInV41uqAdCyDJcSwzu4A)UCvUfNNxxIc84G(G2FE5Y0Dd3drtCo)oCtkbLe1EQaP)Ga)DlCKdgjZrlnUxidoGvZ3V7B7atT(D9l8RjRw2c2nGe6duaLf2IbUdJAzsDVZPHlFOOJVwqWRfwMF(ULRbJMw7fRf2bwPdD0q4MEYw5Q2X7TUTCfLQTYtNzZuzsevXOgjvcP45uapeBZ4l8t7r2mZMCwUoxtc5YZL)zOmclM1KafvxPkPalEuQKuXmGB7heLf7aMVAlbfkxzXs0ZXphd5Q9vf4yucvTRYGyssce0dQqIq2m7odthdrjDmvdSQafvMSyICN5spR9nCTbRJOcYvA4s1feo67Cr0YL)lGjGjTkKl4yQmPnjsQIETjzeheXHiRmoEJ5iIgNur2c8MggH6qsyIIIjPikHk53qblWe4c4HiQ8E1Cv(IbQGhIdyDimDIpOC1ITrQXwGBZh5MqrsQKyQ0PUThc2muRsSIscOTRgslJNgf2fU2WJK9QrCJomMFra9qsOGOQH0KwQZLSSoIEiHRR82IexX2MAsPl1QyESqfNUmjg7AKB6dmMPgQPhI5I1gpNd4HqQYVHVsCsZMGcyG0ymJKuluSfHjczAKZsrQiMBI4cKpI4fyKH)KNXOVcABS3kBzUJJnbV2WPKLudJdiLGGEFCm)dAjtumBq4QPCzCcBQhYpi0ylubcAmsNicrsUCXH)rQTqLR00PFpwsgX8cEW3a3bjVSIl(BmPsi7Lmbi5dpXTz852yFDcV6H7h0AEblxY5AYgmwWkfLMUnac2SgwKqCsPyDljqXCzUN4kDDzyJcbx3v3jw9)EiUomoJgjJp8h3211bT5sQpIzBa7dX205I30bj2QJa7lOpSpqqUTOeC4N)M3iHp6VRSfB9Qn41G5LfxbRZ1bs7j8eidnjA7n2jSr(X4x2mVKw7qz2hb1L5vzPvzdPuTxYLsclvNDbEHd8kxsenjmsmeYiRvXa7eYxN6MBSnLL8jHTE83phhN6HAfLpo1obKnHduDlqvNoTxk08MN7wIVnvvsl2CMeEG(Dc0Ns)lRgTc2MWhZ3XnhNR8UmeTOWrkWfym2QEdOnfwygO(m)3ob26xr7MVkB2M8)(VtlHbkwY0(ZWFggEoOnwqYTWE8zjpM90n82RBZ1Ptjmu9205INnczMYMwluD)jIUz2erInZHddIdq(2KggssGKcby3im5IJrCiyNRbumla5b2Xy2xCI2f5YHllMHtOzucnxmlLqZTrBipV2qcnbuixUjHCiiY1o1bWdobJqcHzyAzCxMjdfdfCDtsui30edbWlsXH8dJz2RysW33kaUqS7MPzCKYbxGfujFhW0juiHedP)IKoqj8LRsgOi8eayaEWY3BkPGVdtGGqqwJDOKcDXmfe(jf0cAS4UjuHaOskwSvv5eskoP7sZzLwEsLHve7WbeYx4lGUihtCr2WMR55C(2XjIjeIXeGzMMA(E4zie8YynjqaVOgarDjYfKWOzbjKW25UlyX8fOdWv6WwBKUMsJQah6DnnUjeuQGafdN3Dz2u0ThZqqu47qhyuYsPGaT5GggXitLoWcrAEdiafjHkuZgWjmoqqCjdfPd4xGSrJrCnssTfaiRzqnAJBANg1Xkh44qciRd9idZvzyqfHU7PxcnbRKm6etGGufeQuggmeaKaR4KbgdNkKNqebbm9cKmQgtcnXW3fpjyQsgEnxGVabz41Cx8alDACashHJtZQs(Q4XglnxerndPuZaeLoYKWiL(RfxfbdkegFuiG4nUxC8HU5jToXBYLWrbgrj6R2hnqD2U61vD9xEu4vNzADW(qrDDX2pbDdtSByJ)8(zcQjAGFYDwv()aaBQpfVI9CM3szV4WDUI2)7rvHNl0REBSdgaSXidfXtEVFFwvvgE1g5XZaX))9oxqrUNTxRjisdJ88anCR0FX(YEa5eDmc0EcLFgUmTIXbyfo9DBQ5Mw5toHttzVwO2rDdg(Ey0ID5kIN4vUCj1S7HdeNtIqyKyaxFKRY(QYB2VzZiSdwv(H0npoITa0GmBeT1FkFkM0Lf73TYzs3zkRD3mo8SDr86FlB7Fec9wXrYM9E1)Try33DpBdLhBVsJMmmDRmo6oXqE7HHKsH7bMdBYsbwE6v0IwtHwFudEqkTR)uE7kymtMUDir9gG)0(Q(PeKhGdq1ZKh691ZmzeBg(W7Oyh3m12)AjmZU6NVhK2F5GOlf5vf7g0tTULt(k(gQC5l7s3MVKe0zD391i0IDmw(x4TVZsJ(z193xC1VaOCJIT3(EaPwsIg)ZDrCxX8Gfb8PBidI8DZDFX52DhD9k)YwzaJ582BGQ3m5qhcKB)OwlV2TC1P8rqvAlabVv38QjV1lv1P17REWTO05xv37pok(N1sZTKFU9p)gZo0BpnxmhJP(p)5vGZZ)5p)1151zEUL7ESxOvrR6y9KpNkAzFNTxYk5(lR8pH1rq4UEcAx03FhOTOW6Bq5P5wM3ECtkH)8NFJCHC9M99prVf()rw5G5FlfCPfcNF7jnFSjbaDwfD45rGgkhEuyTEWGj)MC901Xo5BZUZFFT0yD723JRtFWaEAoKC3HTWI6I(Lf0KCj0bayJ9817QOsfchGnvyvJHA9If)N)p8ugma" + return "4XzTC12CBB7K)dZ966HaGea8LwjXjEUehFwotBNPJAPKOT4fzjFKuxQ7l6N9)7IDbjeFqrSX9nrYKalwSyX(0VvzHyX9lMVUC2(Y15LVz)29L4dYwCJyX8LU)9r3)wI)Bn8z2UhZFZM8vF929FlVCww595)z9IzlMVkRQg(ZXOuKJsrokfHuAnmO9BxV)B7UC7ZBOXTU8Tfvzl3M)MIYvBZxSSLSpgsYOlIhMO1Lf7(AEDpQ8CE9hYZ2wVbi1hYlECt9IB0W829897RZF62Tz15vo(4YTFl7LQ7ZkFmVoFno3YSvfzBVDF1I5Z(893)5pfqUBZlxLVRo7XCueWR(zlcAfMnmhsMLhE4HQz4)4LqVVC)3EBrz(Q6I97wm)URF)hac))Nxwb)9V)u2)7(YFF3HNOZRJh79F(w32Sm)P9LxTFhSSVDFzr1T362g)6NHLjhKg)KwcS6HYSpwuv)28hYoSTg5ETXeHFMVdLORr(75YcGc1VS4M4iCtNT6RarF3SVC1v4UsAKs10MIqQssM2uuXMO0rNIiPzknRrKkYoT1ijrnX9UsO1IPnfPsNgpTPOecH5C27Hsy7jexdFOKeBN4QitKMPUxIfJlWer9ogvrXjJFmoW5Un1oU2OAWJ9y7e3eXXrXJlQgCrerXJVidSVTcPCAmLrmrLxqpC8ziK9VrzJ1N1vWGDDQYQNgxLiJhFgdVi60PkRKXYKPUvSQPALZcRYexKy1KV2A1N4cYi2tKYXvgL9vgLPGDUPO9kstIMQ0sNAgFRp4DkPo1o1PeLepvbSXmrvyH6e(rg2qA0u9jakxPNLDXqFcY0XVNmGPuzu0jo2hX8EYundbUQKtCversZj28d5frEcVcdVgPjMXTXpIhu5jmqosWtr2X3jdRcBntv9sfhNoXPiaJeJpLbzm0v9edGqbEugxLCilrMOtOFnS8sMm1qAvkZuDBPuYOjzIuQspHaoP)esIoHr7bU9QJMyi2Mj7gvPuPJVidEAeNeRgxHFGtCD8Kuq0QP6nmnAQckRoEIgtSItyVAi1CT(uHAnGYHXoTZU6MuT7NKyt2PyU(hkZxmF((TfRhp9520MBYVewYvBZQQUE1(DNDcYR48FdPswnKM9YdWccZ9gxUdvpNVD7I5a)K9eWCuY7lM)0(1fpuKxIVbMqnMomSqzCMX10WaQkhGixTF1HQHPHSLgp4gfqc1aK4s3G(7)4)snmDAjZAQEfRrkfFkkfpfkLCkkLmfkPpfL0tHsMtrjZuOK9uuYofkLEkkLofkrUIgJu410ZMw1y1WWll3MTEDXoQkCuLHAV9C5HYSXVbDHfPYZCD68L9c9mSzGIx5hhE9FEXFLtMvcV9F2xBR2Kb3ARW17(INYlVlF7T7l2vl5Yr1DBu9UwRuKzJFUyD9MRaXYE3gjLkn117QZllp8CnnRM7)eNu)YZG0(2nVuvSkBlxYsU8LljoJUPho8pSF7lbdfwQiE4xKejAUpgoLRkqlGbtjjkyf09g)LLRY2n8menkYHt4MmYiRBRdrQgUjC)nAVP3ozUtOZZYTa9wQ5h291DG50Ut9l8JPdq(W0VHe6EcGY9v1DwO2fbnBxC5UvBGJowrdRRjOnhCk3wIZJoPfSFP81Vn3neCPTrqWpZWG8nPg8lqAlqY64tSqakZ8Lqd(IbRUa8jwnXzOtqTBMYuW)moE(txbEMHE6vUXjusH1nFh5CLAbNMaYX394u6bjcLBy87PIzGlNF9WsvmZf4lTEXPc3cjJmeJejOVOIjcH1qyMlrbIsAJ1suqftdalzWmFqRU1YAO5Qtec3R8payp3N0EHs5gNHKztTIylvCKt8ztLoc4sO1rAtSBXS(v3L)cTtJ0eTzjASoMoussmexKKM6gBSGzzkOz4ljw3l0wMwAJ79MiwkcNNUVOabpTPLA3iCrI5wni7d3BK0Ik9cCSaTZCYvAPOmuNrIj3xsTKyZvYu3CT0UprsFsL5CMlkod)Gi3x0efKwsGIlcjwa2J(sAkTvW6)rmOI1r1KSxQvgEljPhKACtfo7ibkOutdutFXqtKQTgs6ilXlPKQQM1ffW2OrP2rsTqXNrcsriHvzaXfT42eAgGUeDIyOJe(GJEli0jwwODBjLoIPsmFjlY9beQVJXJKmvHJDbZqcsMdPMrQIkfRSityrzkljnP8fHy6luH4WNySgMpu0rQGURinssng(GPIrqYgJsZx3ewwroHfjs(AhM3RJhn(BYenCXlJBowKXJZBxr4TJqsAfTn0r86sNiABIJJvcwJhKZ0Lddpc(m3iy1hMnHTilInUBKbET)h7ZnWyl4d)29LGH1cgAkWo(wWoUZD6dzRY)TlxV(Z7Q(T3VfI14LF76NGqcQ(nAS)E1)3HSY81)(YTp3eWF18n7)2vLf57wdUpxsGo9LNXfRftR34d3NYgOlUH4G3CCOfmFDZE0DPp2)Jh35bdiNjJZ3cMpvsiCJoK8yi0Coz6Hwy34tEZHYQ8Je)IJIZsJRz7o8Z7lBCODrcf6YjsQcF1zG8AigE)sq(qVS4kWaMosI1lnsgBt1lE4Naf15)5IRsucRZIxsmyEW4Ft3nytqtFNyjxUhIy9PpbjovSdKRXO7AhKND2Ebpfol2MtE2D5B9DuOH1PzhJYnmgHZ5oGBcoPkfLlMd9QIq5K)uym6eiQx(9XET5(zhfsJpmnE7O8HX1WFtttM08VbtKygQe)HSTpCg7a(caE7Bsx2l3Fy36ox2dYUNu29uFa(4cz)JXaE5mSJ1t1CFr1(DdQQOxe0mbt5O9TVazMvSIg(m0uZHD1EBnE7o97oHnD7GaSGwdGHVVJi4BbHwIrTg02jOkSYzydi0wKyhzaCUZK7F)hxDy72)(p(5nf15mN3YmuEsHk4EgVBe10ipNlrDAkHag3t7FXz88JV7Q77OE0DrBQ1dUt9obo2PgLKPbTqcxmyB1GXQ2vJgbeDiVh8zvWc2aX317qPWYWelAfvDDn(lGftJgmn6QPT2QHOua7Inlt)t(qr4KUpDKZZLqMnp6UHD0v)HpgCYQlxvFaSk3unTGtKbYhUB(vOIgwHaFUuHkG3bCos3nJvAVgrB32N50xYcmA5UOGFjOIcYwLGaUL1KAYQFEn(NktVcdNfAe6qf4lYDxBoQY89uSRzYcPjf1fvIxd6Af9GhAsK9IuVTZevpIRGei7IMWKO(OmDpCGEviRv1Te6VgKvh3dDHxdYkIs(xHUjQEG4(AqwivYFifTriRSFxVmjYI2XFK)SK(mq)fYHRlejtI6JQ)(JX0JDYHLO41NSqQT9AbTxd6Af9WFAsK9cbF0L2eOudPJmDBpRjr6XeW9HS(1GS2erxuVMezVa8meM0tQouhojTleCtI4J734FfrbK43)cKvjt7bS4RbDf6Fqprxi0hPeJNL2JvK)34kTTFJq9AqwrYRSduyGyeJJ1E1TTbmOmgeeTlcExOBQMN3MiX1p90HD5DohGlj05acCbBnHc67y8Mwv0nNH1LHPZ0DXUAF5tJVjP6tSQWhv5sA)(JgYUVHOBI02fEQoj5K9nvnwBp5P6Vt3yKc1j75qKmMt1ND8k13zv3XyJorttqdX89gGsAorpUkyV9HOiEEf1QPEIVBx(tV4003TdssAv(tGYcLoaLV3D5zRDvBScZEEjYj4mw2mGVurN8u(h43wNJiv9CwznIYxE1HsUqoUwuynoTQ2zC)gyiBGK)C1pcMiL1vNIB9qz2t5TL1QDmTpZP7g20cDl0P7kLgdvY1bb0tDBTo5Q(X9iAyOu5O0TjceN0Cb2ny8kswTp)Cu3TFQSDVwbweYZ6uDt(MfwtQsYItDZcDCDL)WPkGBB7KCgAcRl)FG7D1NQ0GMJ0BAkgAly18kguJcFLe(u2FIMYQatqFSyhpCNOiWGH7V7CyVPyD(STf)1FLvcjfdgg2L1s1EwtxxEZHTBpJkv2SuNrjRyerN5XdvbjdYatXydgjj8dqZsZCi1Wa)jiqnereMrAfHpPinMqflv7HoYdPInHbxKrRtkzq5ucndQP2YOSeRAbVHWtknMXO0OzGwjYgjia9KIiltnBkXAXwcglnJcympYulH1AIIbDl2WRVIPa2ZY4FNeBOxerZqMyt9a2rCQiksZW5W7FgCWePhuqjXoYifHONwZevli0NKIenZXgcNlJhUYygXkHG2ckyeU1L6Tn3xaXirfqw5zsgKmcZvfizAew8XldWNHrKZ9tLG5a3kNAy8KCdxZN(rXmQyeKTGOMKGmv1wgrscvDPrtSgSA0aItPLtgLYamd8kXJSep1q6rAgtvypWkAwbH3Ps6X7mIHwxfZ0hwp3Yjie4afSy6avztzqEvscnEAdGlFJmJyac6rpWTjmM5UoUe)BnHbBIhy5ynJuAkbPOHWGLryfzrVeKyGejnogRwuerQZmC)rrKoySMiNIqYwMYai7rZlMH9lnMr(2W3pe2igQ0iARkvwBJEpX7ela6n8HCSKHSmvYBNOiUPfyPcmesGb6WewYwVgvsZbhZrwsMb0KWkw6bavZJqlOryjem1eOVc6Wd009xKszalBlB8DohIo3YHoLQbV5BQ6gCzVUB64iozl6Oh8Voy7Je6K1hmbocpApiPA9l7nC)Jgwyx47cCy49h3PCQn1dVBqVaPAI6nGd)1J(9ggcNdvtCPhZJGLUBSd(9nMEptHMLc1HAwSFzOivqmNoUYTDbRGErWE7yWbACqFupGs8rdmDj9Ji5tzpwSAGGfAa85cSdOMVfIgm)7GpUOjdO291Wqv2VHZACr3Q(SUCGtVGaiwx(gi4Shbs7Ao15vBZZFomK5Ly8EqsqEarkWpVrO0rPeU11LBRQpS7CMtc482DXB36ZEkwnTmBYOCPccLFy(cTOIRX(91N3ce7Yd7RvNZObZZuwBVSA7EkpYV3u0cJlzKQvz1WT2ZBzGKPDrywuHNm7oRDIgR7fmPdzNZOtsj2ADz2JquMllZZG8poJjgZ8gCiobzSt)F9QZz0qKDooR4PNHNCwtXRL8qEw5zPKG1GLBy1U3x(Hn0g4EWf89B8q1Y2bt0logUENnixxM2bTXbsnj0oMTXuq)CMQXSiN5t1Rxu)KPfifd8pwv0wlffACS4SrEnW(9LCkWok2aLkbyQ3K5ry)w8JkPxvWs0JQ)t4Aq7E23SHhvpCFzHxxfH3c(JDnqXncBx5)aNmoh(NrwJhD0poIV)6IR(jinHetme2leGBAQ2b5RjmUL7zuLxEKlP)5s0SgOxpBNubPm362DvrRoDqGaboBFo4)kgcd6yGe0Duf8UTTPUcmjF)H8QQCcK42(fliMRJ(pjIJ7yBVeK)VnG5y)V7mn)HVCZ9V7o8Bp5AyitKWzX)NV8U7U(ZbVisM4mQD7LF8Y3E9nnVG(r7dV4tx((31(uIk3E31VB(9npvbX9MYu)JF(n)3nVWfAl6Z)UVC9BBhUR9uHhF3NF)xAPTsNKGMZMp)dx(Pld5KybBMJUV3In)yT7UWFO1PJsCIg6)LeCHXJTm6smRGuvc9f8)ebwgKtyttR20SQyldsdgtkCj1SQlxWjUVK)zV7Mk2mY4BC)(fXN00zLCMIQySfpx6tvehRchc(eRIZd21RZ0yOme8n7mKsp3tLUs47gl1rOQ4yfT0WtO8gm(wG0AOKxCvMKztjowjNCxt(90V1yCike9mANWnjRHB2xjiwCVXNOVlvULlAB0uiLiUjYLTD(PV)J1ex601M5Yevj4dcljg89nAt5qAQlaiQIsPdRyUToJvCEZAl3YZ(KPeX(o(0Kkz2WNKySGe5uzewgKpBtzeGxqvNaOIomBnQTNX540ExY)K0qQ5Rnd9liBPtsdFu3RMKNHdkNDg2pxBJPD)(lrpZxZHa36(R1LAOTQoPo1AN7OcC(pW47r9U2Xz6DoEsAAxub(BT0p)U5OgwF7GSictgbL2DZP50RDOtZWutcAyss22gfa(t4lO0XNrjhp6)CAMKG944ec41ZO4LlhkrFMv6ekXSEHX1K(7X)Wb)NZ8BMyp3wvNvFOAP)kIxZgrGROjAJ6fl(pF81Sba" +end + +function Gladdy:GetMirProfile() + return "4XzT80SCBJZKpm75XfXpee4OvsCIRnXXRLtntQAkndLeTf3ir6LKAZ45qE2)AGUbjejLIyIZLiAsGgn6Ur)pYc2I7xmF5(hEOEM9FUEvzXTPRxNx84IBylMxLw8y2R2KT6l3w(1SQzPv3N9pnlMTy(Q06g4pNvwToR6vLBlRSqk1nRLlUjAX8hD)BL9FBwmFnmOYTRl)AXLBFAdoU1vVoVoD52SxLxTABwiyFmeKrxihhOnv5fFjR5qOSCX8nzPBB2aW5M0Dzxvw0mp)FZwCdhMAXt3x2KT72TPnz1ou5YTFn9567tREmRjBTD6vPRYt3EBz9I53D9BF39wm1bLvPa8rmh34ZBEgEZ8RlAYQEiDv2FE561FSO(pF7wGi(8FE9U0hZQ)tCS)1B3wwdGSEtkqgQZFCtZ957ay0c1o(GNw92QYV(68QSvn5LfTyZ)Fwvn83)1U0)3YQ)Qy)o3SF8WXo7J3F)h)GBdxLTR0Tbwm)1Lv513E7I5pL185pcRuwZIB(nfhOZ7RsFFEDZRZEiD)2glPxLKez)nRWsExB5ppvLdqO55f3iJS0)0vFba6BM9PRUYYq4jCUyAtHXfXXtBkczsK5OtHf3oL21isePN2AehlM4ExWuk20McxOmYPnfbJXsoN9EifwFcY14mLyPEIRcpMNm19IKDCcglAaBuejJpoBCe(U2OpU0Oyu2UupXnHugjpoPA0fHfjp(ImY(wZ48PHujSjk8cYHhFgm(WtuAP6SocgSRncTAAyvmxE8zm(IOmtLwXL84PUv0IPQLtdRYexePyYhB1QtCa5i6t48JlmYhkmYnGEUPi9YmXrtLAPmjhFRp6zkUYON6uIILtLaNKmrryM4e2rgxrA0uTjacxMZsVyOnbU54Ntgrvkpk6eS9JOEpEQQHatv8jUkSiEYj28JzfHFcRcJVgM4KJRJ)iwq5Nqb5rCEksF8DY4IW6KPkEjKsZeNcdusC8PmkIznvprhieGfLJlsoMMOKOtiFno9IhpvxAfIKPA2si4rtsfjxyobboE4eIJoHs7ro9QIMOl2jt2mQqimhFrgLBiJLIJlWpchxjNKaIsmvRHMOPsO0k5evMOzNqF1yI5k1PC1AeHJe904DnTXD3lirxaP)HpmXOJh9SnQ5UOxdNXQTP1U0kmitbxj1ArsuCCc4MNWAy9HFlwmEG(D5H4EmKF7cgGZU47VsMWzmJsbM24MyvcaqP2gSE)0AGOAhcDje7lIuJL(Il0wu4jkbiVlZg5oYPW8mCBw1QSIgiuFlw5hxxAhSSiiC735tkXzNZehO(q6)0rD7Mz9B64UvU8v875RB2Cv6QMshsBWq6DPMOA)tn4SGf8gw3Q288tzlMF7MNRZxLU1TYmhw4Xi7gT)WFx52NdgkSur0WVigEcMIS)uUkVk7GPehfScQbJ)YQvPfJpd3cO7pHBsB2tlr0fGf(WnH7VHjjgStM7sfdnl3cmyPMVV4lfLFTO)u)e9AKzrmo)gIPgqaQkRB6TqDlI9ay(LfR2aSUUKxzLCd4YDNVoGtZOZZzRFDMBi2LwhbgnMzDokXKyFWEGW4EJguSpZN6b4HeBuzWV2SWmZQ8q5Mj3a61SJN(1fy8mRgsHBCmbNPDZ3boxiQ2PXGyJCV2GViMjCdJ(ogeOD58RNneVzohgW1tAyUfIhLGisedFqirazJ9AMZblesQeTgHGqIdWgQ1mVXE3APtW5QIzm3N8Vaqp3V4EbdvXodoHMkbIwczKJ8PnChaCbc4aDI0TyA)Q787d3Prke2efvQKitbu5HyrSX4gRKrOm6Sb8qS29bLMGLkX99KiIkc8t3dcGWJBAUYncNfm3QbET5(chxuUNGBtS1mhDfxk0Z(zizY9GrJKnxQMCZvJ7(yo(lMEOzoRFj0lICpOqiW1ib1Uiizbqp8bJb3k28MGiOGKrviTNRej0wIJVWK4MkW7qckiuJduHpKGteZjHf0rAexmOOQIKfzW2OvO2bsftq8igkietIma5cxCDmodqwc5ijilHyC4xbIoIYmLBljureuK0HSi3pGlsoepItqfy7mcHyinhCPffffcsyHhtKsdrjtm0bbj(aMad7Bs0jeEiqwkdpRWt4Oym8dbLegsBsek64gttcYXejHth7SXl4WXe)jzego)mSBoIKrJZRxH51JGuAbUnur06ICeLo2HXcgjXd0z8WrcncINNWiXhcnHTirItCNidSqF22x7Nj(bkBNGllTQ0Ri7gKRs1Z3u(1RQYZkwdwnxIPP)tpHLzW7uZR8ojD4R91CXIqBo07bQWdyDg(2FFFz52M8N(2FxvUVynynHQFWbfd5mlQIFUwhyogrmyF2vyhxbtE)BUcg(2sRbPXiKVAFvD2bqKDGVwQdD37JLvTg6UigDPzyLmADTACCEmEtBnrcDw9zGdhZngUa0jAKGUvT1hsGd)plUsl1kHIdkYatF2i1XV0Fd26m13XFYLLnnL7(qA1J5foFtMtvZQ32l4TDvkQXvTQVJGoSoT7ylDZ67WuePdrAhqCu6oVFxL3s7(njOWRL5Cgsnl)(v5Q94CpX2eVxD0Uu496RffNM8oE(WwPqR866Q3LU9HZyhqrFyp1oPQa6oHMT(VwU9PXINcpd4H(i4Xf8HC3aCz6S2Ow(rOuCzEDzXOsvQfbf1DkS7x)Cr6U8v4WNzv0SVOXPLAwNwNHvjUv)Lx2tffQHOLD7RmnDGjqzUtsYQhgepw5ujcaARfyhOmD()3(0QSV93xTF72V93)(M8MmcZ7qgmuRdcWLq4(oLJJ8h98wVOEd2m(17pcu3EGyuFePncC7U3BK5qBLyCQs3Xh30HjcQ(Axl87X(nLpsfIshqpVUOgJnVlyLoAxFZT)HBZEGMGUbhQI(ZbK7LqOop6odDWH7XjGUD5LRA2dQJBRRVNwUC0aK77dGvSXMEaFWvlTs99jXGnqGY)iOYoZf(v92SSNSpeKcMhkRwL5j)52FVb8slYG2CBQ2w3SV4CMtSr5u1vvSU)uwESPOv4YSjTA35SgkBcmTRrzzZ5m(yW4iHt9NYXXjj3HtpVABzr25Skkge6G1VTvPnatR(CMdNf7OwRb9zwVWoRTJkkbJ9p9CgDSbrR1vPpwwuVSklfobDgtus42xoVDc34OXRxDoJwXKoKkF3tWBoRP4LsEilT6CgVnw)fUKx0E(3PAjWe8Pnney(1PE3(qqAZ4DQPc1)L)tPt1EKFq)cr2p7AiM4Kf96kkeNerdnvE9UD7lY6zKgcpeTwAtfL3kiQ)bHK2QzoVxo7ID9efGHohHUbiVdwTRkXtWNY1Yv590X9d0Ssh4MIV3GA1v6eyvXXNSeIn2W14NQvhCJHZeNS87wWKCQsotRKnfjNEm6Otu)aCijFVbi4jNODpCJP5WKaFEXJ0gR4BkY25cumTOa4bRY2bkTC0BYC7DzPRDdOM8MjZpdAaFQg584jlNfRmBYhFkTQXM42S69vKZ2K9myA1DZ4(nWq2agKDU53k32lUKhQapMPisqNcBhvVoAl08D)WyDNfmwfmR2tI5UTwpxfEpgp5YEU6q(Te1Ec2ny7rK0gVVrwz3HUx0)yfOsilTxGPEhELlccnLwOqVlhKA)VxW5D1T4mKnwx9)aUL2CQ48swmAKTDvFGwXapg9E29H0)XQDR(wGgNxqd3rCcuH4(7ES)n5RZMTn)F)30kylb(nxK2b1bkyxxDd4u9PtjtxGcNzqf0UYkx)LZGqEGJMosX9F0gFDOitdCwBtDx)DEEgzgSu9fFVlBleqvrdmKx9MBU)n3DiYpAs(dp1qhS772PpEBlJU9KOPJn8dO2N6r1(5ujKXpXCT0g(r)6tf3UVc70wpU)5oouyK2TwHx3hVwxfsXO50gOMugeQwy4BOwRrI6SxiI4zPa8Bam(bO2hyKLqzFuU2nziBim631v)Xy6u7N5iRw)zbNP60l7n4q(RfCwVnw57aKVZMafFTRgBZ3bU4Vja7ckaQvFOVqRDcUt5W0qp2S6wELpxbuNChRged7zP0nKBkAXVHS)rYVGDVHC6bQ3wowv58oQ(JlrGKEQaWRYBJcVlIE0vs(bACUK8BySSQ48JaBsB4RTvhuWmyv9WEy2(qKMgJV2pT18XM5DCWsSyAunFGPQPAKPPP6RPNR9PMfwGIiSQacjvPebttfksqdraci0S9Lm0wzp7d(AgYI0uPjumFnkIPY1jPQecVbRArIVsc6eScloVbj0KQDjwEgSLiTVW1QJoKYeDybcDEKAhlpMklzuevMpfwsN261is81IL3vafFz8ueJqGWxa7AK(Zui1UT8lCUVuFQwSIynIijvDePGQVPstvouXWQJYK(cNKy4eAiPsSiz(YgXWYkInW0mFh64gmv2oakk3SuerRT6Hq4aoKW1rmUrkn(60rLe1vrPtyFK3zFmu13anpq4)v5l33K11pdGZWB3UyoOAZMi35415ybmH15pKdovo3EkTPbcRAU1YjLQzmp6l8D5qpGCL1P0XHbVdgoxxTGqmciU0nOV93)xIXHthywJkvwVW3)ehdsYPaP4tbP4Paj1PGKAkqk5uqkzkqsFkiPNcKmNcsMPajSLepgOSUxF2WQn0RppSfSWSv6cl0(NGUY(nvwAy5e2x3uUZLH85wRcNYp8iCLDGLfd2i(faxnBq)0ojWEHXxfKyXaGlIsg0(Ltc6hfPh04SViGvl6N4IxcWQKdAhZxcWYII)La3yXGUE)LaSAo)Nsq7iGLp8AcnjWAZ03J0VuM)cKFfkv)EkDsq)OYV)Ci9X4Cdt82lby5XMb3zVxc4QzdAy3jb2lyeRZ0gJBlOTLn4Na0hJapSh)FjaRoM1pzNtcSxawgct9SrfkdhB6Nu3jb8JB34xcPGP)vW4eCZGoX(LaUy4o)eW9ciuOqHylVuFOG8VIJ06H3CSxcWYIFHnGcdSne7WCMEqkeoD6gcYV8KI)V21dc(mcL)5dBWM(Xn9zhEFqYkdZBBDtAZ(6LEu2dlBV70LFJ7CEy2VWD9sp)Q8rthxaXjSJKCPejTI6KaUoQDs0RKr2Sye0Nzh2ox3ww1uLMh2chhKiPjrrpiJkDBB6AUp36NUZn639jxGNWt7SnKL9Yf5kM2VF5D3D9hd(qmhl37Tx((lF9130(bmiE4dF4Y3(MU3Iq527U(nZVV9TcUiXqq)9F8v)3TFW1tLwYXDF66x3nCxBbdV(Up(2p1bBmKB41ZF3LF4YqmXMpaNC8bLl5NL61VOjFi9X8vhCwYBBK6rOlC7L022Ny65bK1ESSFPJoDXeCZa76O(jRlqa7NLGekc3LC1TzPWiPJcZgMm9U)ZOGKQ7sJhm02m7Y8B5UgyXVE9VplHLBS)13z2GYE4)FgcFnZ8zx5d5f57s3MBRviDLcCt2sKfqqvuNDtnxFehBaxBrGN5YMe158mSRGzrytxReuY6msSTYnkFVx77jznLIoFceBt1LG5ZLKstTPSu019ZydzBKut(NOOBQac2ig2r82M1KGMMY7MuJ9bUIAJEjnsJgZ2vSGsgPmHwFbbbkZGSyzIpZDypyhRn(oEhX02ecQm0(N6U(yUVR6P0aYJeyU1ukcO(m8XzuY2aebZQyIpjGsQLVBtzhmc362MYozmqgrOa0kpssDzoEPfAZYRfRj2l1H8julT7tYRfdCRSHY2lETsue3NYNlljYNQwKcsqLsMjtJPcLNOqudwnCasdUC8idLbtaxrCKO4MeuosrxkbypqcAAgEHbeC)fgiIUBkcjbFy9ClhdZaliGHzVui0g6wsiWSIsBa7Y3sZO84Ixbckl4X0LoXNP0yfMk9y)nZqsP21yWKRMGxIb6kkyrrpferaWSI7f0LDWsIqXzk53rrOmOuHGtGxfeUHUbg(2H3NuxJKU6ijsFg2JO7AqeUv5cTUvUhXDefa5gIjl9PSUlt1yIQtO7aadgcsWazy8YyO9suXTmocJ0indGjEzl4(BqaLl52KvRXRaGcV1emK5bs6(dsgQJ)d10EgTA06GAicXre20bNrPPpSQQNNrmwakewZ63UpRUoR2UDw67WObxqXdl4zxBkFF5L2sIDTZhVE3VYFCBzpf8FWthwMp7ho8ooUk33RYWEAX)5fSSRtb" end \ No newline at end of file diff --git a/Modules/XiconProfiles.lua b/Modules/XiconProfiles.lua index 9fb9c1b..ab871d9 100644 --- a/Modules/XiconProfiles.lua +++ b/Modules/XiconProfiles.lua @@ -64,6 +64,16 @@ function XiconProfiles:ApplyRukk() Gladdy:ToggleFrame(3) end +function XiconProfiles:ApplyMir() + local deserialized = Gladdy.modules["Export Import"]:Decode(Gladdy:GetMirProfile()) + if deserialized then + Gladdy.modules["Export Import"]:ApplyImport(deserialized, Gladdy.db) + end + Gladdy:Reset() + Gladdy:HideFrame() + Gladdy:ToggleFrame(3) +end + function XiconProfiles:GetOptions() return { headerProfileBlizzard = { @@ -106,7 +116,7 @@ function XiconProfiles:GetOptions() }, headerProfileClassicNoPet = { type = "header", - name = "Classic " .. L["Profile"] .. " No Pet", + name = "Classic " .. L["Profile"] .. L[" No Pet"], order = 6, }, classicProfileNoPet = { @@ -116,7 +126,7 @@ function XiconProfiles:GetOptions() XiconProfiles:ApplyClassicNoPet() end, name = " ", - desc = "Classic " .. L["Profile"] .. " No Pet", + desc = "Classic " .. L["Profile"] .. L[" No Pet"], image = "Interface\\AddOns\\Gladdy\\Images\\BasicProfiles\\Classic2.blp", imageWidth = 350, imageHeight = 175, @@ -180,5 +190,24 @@ function XiconProfiles:GetOptions() width = "full", order = 13, }, + headerProfileMir = { + type = "header", + name = "Mir's " .. L["Profile"], + order = 14, + }, + mirProfile = { + type = "execute", + func = function() + Gladdy.dbi:ResetProfile(Gladdy.dbi:GetCurrentProfile()) + XiconProfiles:ApplyMir() + end, + name = " ", + desc = "Mir's " .. L["Profile"], + image = "Interface\\AddOns\\Gladdy\\Images\\BasicProfiles\\Mir1.blp", + imageWidth = 350, + imageHeight = 175, + width = "full", + order = 15, + }, } end \ No newline at end of file From 60c823fa075a50f3c5a57a8086815299c6b120de Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 14 Sep 2021 23:55:17 +0200 Subject: [PATCH 32/38] LSM replace --- Gladdy.lua | 12 ++++++------ Modules/Auras.lua | 16 ++++++++-------- Modules/BuffsDebuffs.lua | 12 ++++++------ Modules/Castbar.lua | 20 ++++++++++---------- Modules/Cooldowns.lua | 12 ++++++------ Modules/Diminishings.lua | 8 ++++---- Modules/Healthbar.lua | 28 ++++++++++++++-------------- Modules/Highlight.lua | 12 ++++++------ Modules/Pets.lua | 28 ++++++++++++++-------------- Modules/Powerbar.lua | 20 ++++++++++---------- Modules/Racial.lua | 12 ++++++------ Modules/TotemPlates.lua | 6 +++--- Modules/Trinket.lua | 12 ++++++------ 13 files changed, 99 insertions(+), 99 deletions(-) diff --git a/Gladdy.lua b/Gladdy.lua index 9926240..5d4d709 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -486,12 +486,12 @@ end local defaults = {["statusbar"] = "Smooth", ["border"] = "Gladdy Tooltip round", ["font"] = "DorisPP"} local lastWarning = {} -function Gladdy:SMFetch(lsmType, key, dbEntry) - local smMediaType = self.LSM:Fetch(lsmType, key) - if (smMediaType == nil and key ~= "None") then - if not lastWarning[dbEntry] or GetTime() - lastWarning[dbEntry] > 120 then - lastWarning[dbEntry] = GetTime() - Gladdy:Warn("Could not find", "\"" .. lsmType .. "\"", key, "for", "\"" .. dbEntry .. "\"", "- setting it to", "\"" .. defaults[lsmType] .. "\"") +function Gladdy:SMFetch(lsmType, key) + local smMediaType = self.LSM:Fetch(lsmType, Gladdy.db[key]) + if (smMediaType == nil and Gladdy.db[key] ~= "None") then + if not lastWarning[key] or GetTime() - lastWarning[key] > 120 then + lastWarning[key] = GetTime() + Gladdy:Warn("Could not find", "\"" .. lsmType .. "\" \"", Gladdy.db[key], " \" for", "\"" .. key .. "\"", "- setting it to", "\"" .. defaults[lsmType] .. "\"") end return self.LSM:Fetch(lsmType, defaults[lsmType]) end diff --git a/Modules/Auras.lua b/Modules/Auras.lua index eed66a6..abf93c8 100644 --- a/Modules/Auras.lua +++ b/Modules/Auras.lua @@ -88,7 +88,7 @@ function Auras:CreateFrame(unit) auraFrame:SetAllPoints(classIcon) auraFrame.text = auraFrame.cooldownFrame:CreateFontString(nil, "OVERLAY") - auraFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), 10, "OUTLINE") + auraFrame.text:SetFont(Gladdy:SMFetch("font", "auraFont"), 10, "OUTLINE") auraFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) --auraFrame.text:SetShadowOffset(1, -1) --auraFrame.text:SetShadowColor(0, 0, 0, 1) @@ -152,7 +152,7 @@ function Auras:CreateInterrupt(unit) interruptFrame:SetAllPoints(classIcon) interruptFrame.text = interruptFrame.cooldownFrame:CreateFontString(nil, "OVERLAY") - interruptFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), 10, "OUTLINE") + interruptFrame.text:SetFont(Gladdy:SMFetch("font", "auraFont"), 10, "OUTLINE") interruptFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) --auraFrame.text:SetShadowOffset(1, -1) --auraFrame.text:SetShadowColor(0, 0, 0, 1) @@ -205,7 +205,7 @@ function Auras:UpdateFrame(unit) auraFrame.cooldown:SetPoint("CENTER", auraFrame, "CENTER") auraFrame.cooldown:SetAlpha(Gladdy.db.auraCooldownAlpha) - auraFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") + auraFrame.text:SetFont(Gladdy:SMFetch("font", "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") auraFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) auraFrame.icon.overlay:SetTexture(Gladdy.db.auraBorderStyle) @@ -243,7 +243,7 @@ function Auras:UpdateInterruptFrame(unit) interruptFrame.cooldown:SetPoint("CENTER", interruptFrame, "CENTER") interruptFrame.cooldown:SetAlpha(Gladdy.db.auraCooldownAlpha) - interruptFrame.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") + interruptFrame.text:SetFont(Gladdy:SMFetch("font", "auraFont"), (width/2 - 1) * Gladdy.db.auraFontSizeScale, "OUTLINE") interruptFrame.text:SetTextColor(Gladdy.db.auraFontColor.r, Gladdy.db.auraFontColor.g, Gladdy.db.auraFontColor.b, Gladdy.db.auraFontColor.a) interruptFrame.icon.overlay:SetTexture(Gladdy.db.auraBorderStyle) @@ -496,7 +496,7 @@ function Auras:GetOptions() for i,v in ipairs(list) do borderArgs["auraSpellSchool" .. v.key] = { type = "color", - name = v.val.type, + name = L[v.val.type], order = i + 13, hasAlpha = true, width = "0.8", @@ -600,21 +600,21 @@ function Auras:GetOptions() debuffList = { type = "group", childGroups = "tree", - name = "Debuffs", + name = L["Debuffs"], order = 4, args = Auras:GetAuraOptions(AURA_TYPE_DEBUFF) }, buffList = { type = "group", childGroups = "tree", - name = "Buffs", + name = L["Buffs"], order = 5, args = Auras:GetAuraOptions(AURA_TYPE_BUFF) }, interruptList = { type = "group", childGroups = "tree", - name = "Interrupts", + name = L["Interrupts"], order = 6, args = Auras:GetInterruptOptions() } diff --git a/Modules/BuffsDebuffs.lua b/Modules/BuffsDebuffs.lua index 4f0c6e8..7940fd6 100644 --- a/Modules/BuffsDebuffs.lua +++ b/Modules/BuffsDebuffs.lua @@ -264,9 +264,9 @@ local function styleIcon(aura, auraType) aura.border:SetTexture(Gladdy.db.buffsBorderStyle) aura.border:SetVertexColor(spellSchoolToOptionValue(aura.spellSchool)) - aura.cooldown:SetFont(Gladdy:SMFetch("font", Gladdy.db.buffsFont, "buffsFont"), (Gladdy.db.buffsIconSize/2 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") + aura.cooldown:SetFont(Gladdy:SMFetch("font", "buffsFont"), (Gladdy.db.buffsIconSize/2 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") aura.cooldown:SetTextColor(Gladdy.db.buffsFontColor.r, Gladdy.db.buffsFontColor.g, Gladdy.db.buffsFontColor.b, Gladdy.db.buffsFontColor.a) - aura.stacks:SetFont(Gladdy:SMFetch("font", Gladdy.db.buffsFont, "buffsFont"), (Gladdy.db.buffsIconSize/3 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") + aura.stacks:SetFont(Gladdy:SMFetch("font", "buffsFont"), (Gladdy.db.buffsIconSize/3 - 1) * Gladdy.db.buffsFontScale, "OUTLINE") aura.stacks:SetTextColor(Gladdy.db.buffsFontColor.r, Gladdy.db.buffsFontColor.g, Gladdy.db.buffsFontColor.b, Gladdy.db.buffsFontColor.a) end @@ -903,7 +903,7 @@ function BuffsDebuffs:GetOptions() }, font = { type = "group", - name = "Font", + name = L["Font"], order = 4, args = { header = { @@ -946,7 +946,7 @@ function BuffsDebuffs:GetOptions() }, border = { type = "group", - name = "Border", + name = L["Border"], order = 5, args = { header = { @@ -1033,7 +1033,7 @@ function BuffsDebuffs:GetOptions() }, }, debuffList = { - name = "Debuff Lists", + name = L["Debuff Lists"], type = "group", order = 11, childGroups = "tree", @@ -1048,7 +1048,7 @@ function BuffsDebuffs:GetOptions() end, }, buffList = { - name = "Buff Lists", + name = L["Buff Lists"], type = "group", order = 12, childGroups = "tree", diff --git a/Modules/Castbar.lua b/Modules/Castbar.lua index 96c4c98..17d62e7 100644 --- a/Modules/Castbar.lua +++ b/Modules/Castbar.lua @@ -61,13 +61,13 @@ function Castbar:CreateFrame(unit) castBar:EnableMouse(false) castBar.unit = unit - castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.castBarBorderStyle, "castBarBorderStyle"), + castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"), edgeSize = Gladdy.db.castBarBorderSize }) castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a) castBar:SetFrameLevel(1) castBar.bar = CreateFrame("StatusBar", nil, castBar) - castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) + castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture")) castBar.bar:SetStatusBarColor(Gladdy.db.castBarColor.r, Gladdy.db.castBarColor.g, Gladdy.db.castBarColor.b, Gladdy.db.castBarColor.a) castBar.bar:SetMinMaxValues(0, 100) castBar.bar:SetFrameLevel(0) @@ -81,7 +81,7 @@ function Castbar:CreateFrame(unit) castBar.bg = castBar.bar:CreateTexture(nil, "BACKGROUND") castBar.bg:SetAlpha(1) - castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) + castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "castBarTexture")) castBar.bg:SetVertexColor(Gladdy.db.castBarBgColor.r, Gladdy.db.castBarBgColor.g, Gladdy.db.castBarBgColor.b, Gladdy.db.castBarBgColor.a) castBar.bg:SetAllPoints(castBar.bar) @@ -101,7 +101,7 @@ function Castbar:CreateFrame(unit) end castBar.spellText = castBar:CreateFontString(nil, "LOW") - castBar.spellText:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), Gladdy.db.castBarFontSize) + castBar.spellText:SetFont(Gladdy:SMFetch("font", "auraFont"), Gladdy.db.castBarFontSize) castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.spellText:SetShadowOffset(1, -1) castBar.spellText:SetShadowColor(0, 0, 0, 1) @@ -109,7 +109,7 @@ function Castbar:CreateFrame(unit) castBar.spellText:SetPoint("LEFT", 7, 0) -- Text of the spell castBar.timeText = castBar:CreateFontString(nil, "LOW") - castBar.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.auraFont, "auraFont"), Gladdy.db.castBarFontSize) + castBar.timeText:SetFont(Gladdy:SMFetch("font", "auraFont"), Gladdy.db.castBarFontSize) castBar.timeText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.timeText:SetShadowOffset(1, -1) castBar.timeText:SetShadowColor(0, 0, 0, 1) @@ -129,17 +129,17 @@ function Castbar:UpdateFrame(unit) castBar:SetWidth(Gladdy.db.castBarWidth) castBar:SetHeight(Gladdy.db.castBarHeight) - castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.castBarBorderStyle, "castBarBorderStyle"), + castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"), edgeSize = Gladdy.db.castBarBorderSize }) castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a) - castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) + castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture")) castBar.bar:ClearAllPoints() castBar.bar:SetStatusBarColor(Gladdy.db.castBarColor.r, Gladdy.db.castBarColor.g, Gladdy.db.castBarColor.b, Gladdy.db.castBarColor.a) castBar.bar:SetPoint("TOPLEFT", castBar, "TOPLEFT", (Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset)) castBar.bar:SetPoint("BOTTOMRIGHT", castBar, "BOTTOMRIGHT", -(Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.castBarBorderSize/Gladdy.db.statusbarBorderOffset)) - castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.castBarTexture, "castBarTexture")) + castBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "castBarTexture")) castBar.bg:SetVertexColor(Gladdy.db.castBarBgColor.r, Gladdy.db.castBarBgColor.g, Gladdy.db.castBarBgColor.b, Gladdy.db.castBarBgColor.a) if Gladdy.db.castBarSparkEnabled then @@ -183,10 +183,10 @@ function Castbar:UpdateFrame(unit) end end - castBar.spellText:SetFont(Gladdy:SMFetch("font", Gladdy.db.castBarFont, "castBarFont"), Gladdy.db.castBarFontSize) + castBar.spellText:SetFont(Gladdy:SMFetch("font", "castBarFont"), Gladdy.db.castBarFontSize) castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) - castBar.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.castBarFont, "castBarFont"), Gladdy.db.castBarFontSize) + castBar.timeText:SetFont(Gladdy:SMFetch("font", "castBarFont"), Gladdy.db.castBarFontSize) castBar.timeText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a) castBar.icon.texture.overlay:SetTexture(Gladdy.db.castBarIconStyle) diff --git a/Modules/Cooldowns.lua b/Modules/Cooldowns.lua index 622dd5b..97c0a15 100644 --- a/Modules/Cooldowns.lua +++ b/Modules/Cooldowns.lua @@ -120,7 +120,7 @@ function Cooldowns:CreateFrame(unit) icon.border:SetVertexColor(Gladdy.db.cooldownBorderColor.r, Gladdy.db.cooldownBorderColor.g, Gladdy.db.cooldownBorderColor.b, Gladdy.db.cooldownBorderColor.a) icon.cooldownFont = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") - icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon.cooldownFont:SetAllPoints(icon) @@ -172,7 +172,7 @@ function Cooldowns:UpdateFrame(unit) local icon = button.spellCooldownFrame["icon" .. j] icon:SetHeight(Gladdy.db.cooldownSize) icon:SetWidth(Gladdy.db.cooldownSize * Gladdy.db.cooldownWidthFactor) - icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon:ClearAllPoints() if (Gladdy.db.cooldownXPos == "RIGHT") then @@ -220,7 +220,7 @@ function Cooldowns:UpdateFrame(unit) icon.cooldown:SetPoint("CENTER", icon, "CENTER") icon.cooldown:SetAlpha(Gladdy.db.cooldownCooldownAlpha) - icon.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), (icon:GetWidth()/2 - 1) * Gladdy.db.cooldownFontScale, "OUTLINE") + icon.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), (icon:GetWidth()/2 - 1) * Gladdy.db.cooldownFontScale, "OUTLINE") icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a) icon.border:SetTexture(Gladdy.db.cooldownBorderStyle) @@ -294,11 +294,11 @@ function Cooldowns:CooldownStart(button, spellId, duration) self.timeLeft = self.timeLeft - elapsed local timeLeft = ceil(self.timeLeft) if timeLeft >= 540 then - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 3.1 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 3.1 * Gladdy.db.cooldownFontScale, "OUTLINE") elseif timeLeft < 540 and timeLeft >= 60 then - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft > 0 then - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.cooldownFont, "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2.15 * Gladdy.db.cooldownFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 0) if (self.timeLeft <= 0) then diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 9cb5e9c..8da1386 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -116,7 +116,7 @@ function Diminishings:CreateFrame(unit) icon.text = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") icon.text:SetDrawLayer("OVERLAY") - icon.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), 10, "OUTLINE") + icon.text:SetFont(Gladdy:SMFetch("font", "drFont"), 10, "OUTLINE") icon.text:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.text:SetShadowOffset(1, -1) icon.text:SetShadowColor(0, 0, 0, 1) @@ -125,7 +125,7 @@ function Diminishings:CreateFrame(unit) icon.timeText = icon.cooldownFrame:CreateFontString(nil, "OVERLAY") icon.timeText:SetDrawLayer("OVERLAY") - icon.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), 10, "OUTLINE") + icon.timeText:SetFont(Gladdy:SMFetch("font", "drFont"), 10, "OUTLINE") icon.timeText:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.timeText:SetShadowOffset(1, -1) icon.timeText:SetShadowColor(0, 0, 0, 1) @@ -184,9 +184,9 @@ function Diminishings:UpdateFrame(unit) icon:SetWidth(Gladdy.db.drIconSize * Gladdy.db.drWidthFactor) icon:SetHeight(Gladdy.db.drIconSize) - icon.text:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") + icon.text:SetFont(Gladdy:SMFetch("font", "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") icon.text:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) - icon.timeText:SetFont(Gladdy:SMFetch("font", Gladdy.db.drFont, "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") + icon.timeText:SetFont(Gladdy:SMFetch("font", "drFont"), (Gladdy.db.drIconSize/2 - 1) * Gladdy.db.drFontScale, "OUTLINE") icon.timeText:SetTextColor(Gladdy.db.drFontColor.r, Gladdy.db.drFontColor.g, Gladdy.db.drFontColor.b, Gladdy.db.drFontColor.a) icon.cooldown:SetWidth(icon:GetWidth() - icon:GetWidth()/16) diff --git a/Modules/Healthbar.lua b/Modules/Healthbar.lua index ea3f95c..31e850a 100644 --- a/Modules/Healthbar.lua +++ b/Modules/Healthbar.lua @@ -39,18 +39,18 @@ function Healthbar:CreateFrame(unit) local healthBar = CreateFrame("Frame", nil, Gladdy.buttons[unit], BackdropTemplateMixin and "BackdropTemplate") healthBar:EnableMouse(false) - healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.healthBarBorderStyle, "healthBarBorderStyle"), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "healthBarBorderStyle"), edgeSize = Gladdy.db.healthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.healthBarBorderColor.r, Gladdy.db.healthBarBorderColor.g, Gladdy.db.healthBarBorderColor.b, Gladdy.db.healthBarBorderColor.a) healthBar:SetFrameLevel(1) healthBar.hp = CreateFrame("StatusBar", nil, healthBar) - healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "healthBarTexture")) healthBar.hp:SetMinMaxValues(0, 100) healthBar.hp:SetFrameLevel(0) healthBar.bg = healthBar.hp:CreateTexture(nil, "BACKGROUND") - healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "healthBarTexture")) healthBar.bg:ClearAllPoints() healthBar.bg:SetAllPoints(healthBar.hp) healthBar.bg:SetAlpha(1) @@ -58,10 +58,10 @@ function Healthbar:CreateFrame(unit) healthBar.nameText = healthBar:CreateFontString(nil, "LOW", "GameFontNormalSmall") if (Gladdy.db.healthBarNameFontSize < 1) then - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarNameFont, "healthBarNameFont"), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "healthBarNameFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarNameFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), Gladdy.db.healthBarNameFontSize) healthBar.nameText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.healthBarFontColor.r, Gladdy.db.healthBarFontColor.g, Gladdy.db.healthBarFontColor.b, Gladdy.db.healthBarFontColor.a) @@ -72,10 +72,10 @@ function Healthbar:CreateFrame(unit) healthBar.healthText = healthBar:CreateFontString(nil, "LOW") if (Gladdy.db.healthBarHealthFontSize < 1) then - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarHealthFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), Gladdy.db.healthBarHealthFontSize) healthBar.healthText:Hide() end healthBar.healthText:SetTextColor(Gladdy.db.healthBarFontColor.r, Gladdy.db.healthBarFontColor.g, Gladdy.db.healthBarFontColor.b, Gladdy.db.healthBarFontColor.a) @@ -167,33 +167,33 @@ function Healthbar:UpdateFrame(unit) return end - healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "healthBarTexture")) healthBar.bg:SetVertexColor(Gladdy.db.healthBarBgColor.r, Gladdy.db.healthBarBgColor.g, Gladdy.db.healthBarBgColor.b, Gladdy.db.healthBarBgColor.a) - healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.healthBarBorderStyle, "healthBarBorderStyle"), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "healthBarBorderStyle"), edgeSize = Gladdy.db.healthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.healthBarBorderColor.r, Gladdy.db.healthBarBorderColor.g, Gladdy.db.healthBarBorderColor.b, Gladdy.db.healthBarBorderColor.a) healthBar:ClearAllPoints() healthBar:SetPoint("TOPLEFT", Gladdy.buttons[unit], "TOPLEFT", 0, 0) healthBar:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit], "BOTTOMRIGHT") - healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.healthBarTexture, "healthBarTexture")) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "healthBarTexture")) healthBar.hp:ClearAllPoints() healthBar.hp:SetPoint("TOPLEFT", healthBar, "TOPLEFT", (Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset)) healthBar.hp:SetPoint("BOTTOMRIGHT", healthBar, "BOTTOMRIGHT", -(Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.healthBarBorderSize/Gladdy.db.statusbarBorderOffset)) if (Gladdy.db.healthBarHealthFontSize < 1) then - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarHealthFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), Gladdy.db.healthBarHealthFontSize) healthBar.healthText:Show() end if (Gladdy.db.healthBarNameFontSize < 1) then - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarNameFont, "healthBarNameFont"), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "healthBarNameFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.healthBarFont, "healthBarFont"), Gladdy.db.healthBarNameFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "healthBarFont"), Gladdy.db.healthBarNameFontSize) if Gladdy.db.healthName then healthBar.nameText:Show() else diff --git a/Modules/Highlight.lua b/Modules/Highlight.lua index 92f3356..5cebb1a 100644 --- a/Modules/Highlight.lua +++ b/Modules/Highlight.lua @@ -55,17 +55,17 @@ function Highlight:CreateFrame(unit) local healthBar = Gladdy.modules["Health Bar"].frames[unit] local targetBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) + targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --targetBorder:SetFrameStrata("MEDIUM") targetBorder:Hide() local focusBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) + focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --focusBorder:SetFrameStrata("MEDIUM") focusBorder:Hide() local leaderBorder = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) + leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = Gladdy.db.highlightBorderSize }) --leaderBorder:SetFrameStrata("MEDIUM") leaderBorder:Hide() @@ -106,7 +106,7 @@ function Highlight:UpdateFrame(unit) button.targetBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) + button.targetBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = borderSize }) button.targetBorder:SetBackdropBorderColor(Gladdy.db.targetBorderColor.r, Gladdy.db.targetBorderColor.g, Gladdy.db.targetBorderColor.b, Gladdy.db.targetBorderColor.a) button.focusBorder:SetWidth(width) @@ -119,7 +119,7 @@ function Highlight:UpdateFrame(unit) button.focusBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) + button.focusBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = borderSize }) button.focusBorder:SetBackdropBorderColor(Gladdy.db.focusBorderColor.r, Gladdy.db.focusBorderColor.g, Gladdy.db.focusBorderColor.b, Gladdy.db.focusBorderColor.a) button.leaderBorder:SetWidth(width) @@ -132,7 +132,7 @@ function Highlight:UpdateFrame(unit) button.leaderBorder:SetPoint("TOP", button.healthBar, "TOP", 0, (Gladdy.db.highlightInset and 0 or borderSize)) end - button.leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.highlightBorderStyle, "highlightBorderStyle"), edgeSize = borderSize }) + button.leaderBorder:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = borderSize }) button.leaderBorder:SetBackdropBorderColor(Gladdy.db.leaderBorderColor.r, Gladdy.db.leaderBorderColor.g, Gladdy.db.leaderBorderColor.b, Gladdy.db.leaderBorderColor.a) if Gladdy.frame.testing then Highlight:Test(unit) diff --git a/Modules/Pets.lua b/Modules/Pets.lua index 2eabfab..994a8b5 100644 --- a/Modules/Pets.lua +++ b/Modules/Pets.lua @@ -149,7 +149,7 @@ function Pets:CreateFrame(unitId) button.secure = secure local healthBar = CreateFrame("Frame", nil, button, BackdropTemplateMixin and "BackdropTemplate") - healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.petHealthBarBorderStyle, "petHealthBarBorderStyle"), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "petHealthBarBorderStyle"), edgeSize = Gladdy.db.petHealthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) healthBar:SetFrameLevel(1) @@ -167,14 +167,14 @@ function Pets:CreateFrame(unitId) healthBar.hp = CreateFrame("StatusBar", nil, healthBar) - healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "petHealthBarTexture")) healthBar.hp:SetStatusBarColor(Gladdy.db.petHealthBarColor.r, Gladdy.db.petHealthBarColor.g, Gladdy.db.petHealthBarColor.b, Gladdy.db.petHealthBarColor.a) healthBar.hp:SetMinMaxValues(0, 100) healthBar.hp:SetFrameLevel(0) healthBar.hp:SetAllPoints(healthBar) healthBar.bg = healthBar.hp:CreateTexture(nil, "BACKGROUND") - healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "petHealthBarTexture")) healthBar.bg:ClearAllPoints() healthBar.bg:SetAllPoints(healthBar.hp) healthBar.bg:SetAlpha(1) @@ -182,10 +182,10 @@ function Pets:CreateFrame(unitId) healthBar.nameText = healthBar:CreateFontString(nil, "LOW", "GameFontNormalSmall") if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), 1) healthBar.nameText:Hide() else - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.nameText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) @@ -196,10 +196,10 @@ function Pets:CreateFrame(unitId) healthBar.healthText = healthBar:CreateFontString(nil, "LOW") if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), 1) healthBar.healthText:Hide() else - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.healthText:Hide() end healthBar.healthText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) @@ -263,28 +263,28 @@ function Pets:UpdateFrame(unitId) healthBar.portrait.border:SetTexture(Gladdy.db.petPortraitBorderStyle) healthBar.portrait.border:SetVertexColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) - healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) + healthBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "petHealthBarTexture")) healthBar.bg:SetVertexColor(Gladdy.db.petHealthBarBgColor.r, Gladdy.db.petHealthBarBgColor.g, Gladdy.db.petHealthBarBgColor.b, Gladdy.db.petHealthBarBgColor.a) - healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.petHealthBarBorderStyle, "petHealthBarBorderStyle"), + healthBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "petHealthBarBorderStyle"), edgeSize = Gladdy.db.petHealthBarBorderSize }) healthBar:SetBackdropBorderColor(Gladdy.db.petHealthBarBorderColor.r, Gladdy.db.petHealthBarBorderColor.g, Gladdy.db.petHealthBarBorderColor.b, Gladdy.db.petHealthBarBorderColor.a) - healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.petHealthBarTexture, "petHealthBarTexture")) + healthBar.hp:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "petHealthBarTexture")) healthBar.hp:SetStatusBarColor(Gladdy.db.petHealthBarColor.r, Gladdy.db.petHealthBarColor.g, Gladdy.db.petHealthBarColor.b, Gladdy.db.petHealthBarColor.a) healthBar.hp:ClearAllPoints() healthBar.hp:SetPoint("TOPLEFT", healthBar, "TOPLEFT", (Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset)) healthBar.hp:SetPoint("BOTTOMRIGHT", healthBar, "BOTTOMRIGHT", -(Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.petHealthBarBorderSize/Gladdy.db.statusbarBorderOffset)) if (Gladdy.db.petHealthBarFontSize < 1) then - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), 1) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), 1) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), 1) healthBar.nameText:Hide() healthBar.healthText:Hide() else - healthBar.nameText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) + healthBar.nameText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.nameText:Show() - healthBar.healthText:SetFont(Gladdy:SMFetch("font", Gladdy.db.petHealthBarFont, "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) + healthBar.healthText:SetFont(Gladdy:SMFetch("font", "petHealthBarFont"), Gladdy.db.petHealthBarFontSize) healthBar.healthText:Show() end healthBar.nameText:SetTextColor(Gladdy.db.petHealthBarFontColor.r, Gladdy.db.petHealthBarFontColor.g, Gladdy.db.petHealthBarFontColor.b, Gladdy.db.petHealthBarFontColor.a) diff --git a/Modules/Powerbar.lua b/Modules/Powerbar.lua index 686a1b6..eaa961a 100644 --- a/Modules/Powerbar.lua +++ b/Modules/Powerbar.lua @@ -38,24 +38,24 @@ function Powerbar:CreateFrame(unit) local powerBar = CreateFrame("Frame", nil, Gladdy.buttons[unit], BackdropTemplateMixin and "BackdropTemplate") powerBar:EnableMouse(false) - powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.powerBarBorderStyle, "powerBarBorderStyle"), + powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "powerBarBorderStyle"), edgeSize = Gladdy.db.powerBarBorderSize }) powerBar:SetBackdropBorderColor(Gladdy.db.powerBarBorderColor.r, Gladdy.db.powerBarBorderColor.g, Gladdy.db.powerBarBorderColor.b, Gladdy.db.powerBarBorderColor.a) powerBar:SetFrameLevel(1) powerBar.energy = CreateFrame("StatusBar", nil, powerBar) - powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) + powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "powerBarTexture")) powerBar.energy:SetMinMaxValues(0, 100) powerBar.energy:SetFrameLevel(0) powerBar.bg = powerBar.energy:CreateTexture(nil, "BACKGROUND") - powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) + powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "powerBarTexture")) powerBar.bg:ClearAllPoints() powerBar.bg:SetAllPoints(powerBar.energy) powerBar.bg:SetVertexColor(Gladdy.db.powerBarBgColor.r, Gladdy.db.powerBarBgColor.g, Gladdy.db.powerBarBgColor.b, Gladdy.db.powerBarBgColor.a) powerBar.raceText = powerBar:CreateFontString(nil, "LOW") - powerBar.raceText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) + powerBar.raceText:SetFont(Gladdy:SMFetch("font", "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.raceText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) powerBar.raceText:SetShadowOffset(1, -1) powerBar.raceText:SetShadowColor(0, 0, 0, 1) @@ -63,7 +63,7 @@ function Powerbar:CreateFrame(unit) powerBar.raceText:SetPoint("LEFT", 5, 1) powerBar.powerText = powerBar:CreateFontString(nil, "LOW") - powerBar.powerText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) + powerBar.powerText:SetFont(Gladdy:SMFetch("font", "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.powerText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) powerBar.powerText:SetShadowOffset(1, -1) powerBar.powerText:SetShadowColor(0, 0, 0, 1) @@ -149,7 +149,7 @@ function Powerbar:UpdateFrame(unit) else powerBar:Show() end - powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) + powerBar.bg:SetTexture(Gladdy:SMFetch("statusbar", "powerBarTexture")) powerBar.bg:SetVertexColor(Gladdy.db.powerBarBgColor.r, Gladdy.db.powerBarBgColor.g, Gladdy.db.powerBarBgColor.b, Gladdy.db.powerBarBgColor.a) powerBar:SetWidth(healthBar:GetWidth()) @@ -158,18 +158,18 @@ function Powerbar:UpdateFrame(unit) powerBar:ClearAllPoints() powerBar:SetPoint("TOPLEFT", healthBar, "BOTTOMLEFT", 0, -1) - powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", Gladdy.db.powerBarBorderStyle, "powerBarBorderStyle"), + powerBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "powerBarBorderStyle"), edgeSize = Gladdy.db.powerBarBorderSize }) powerBar:SetBackdropBorderColor(Gladdy.db.powerBarBorderColor.r, Gladdy.db.powerBarBorderColor.g, Gladdy.db.powerBarBorderColor.b, Gladdy.db.powerBarBorderColor.a) - powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", Gladdy.db.powerBarTexture, "powerBarTexture")) + powerBar.energy:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "powerBarTexture")) powerBar.energy:ClearAllPoints() powerBar.energy:SetPoint("TOPLEFT", powerBar, "TOPLEFT", (Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset), -(Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset)) powerBar.energy:SetPoint("BOTTOMRIGHT", powerBar, "BOTTOMRIGHT", -(Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset), (Gladdy.db.powerBarBorderSize/Gladdy.db.statusbarBorderOffset)) - powerBar.raceText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) + powerBar.raceText:SetFont(Gladdy:SMFetch("font", "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.raceText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) - powerBar.powerText:SetFont(Gladdy:SMFetch("font", Gladdy.db.powerBarFont, "powerBarFont"), Gladdy.db.powerBarFontSize) + powerBar.powerText:SetFont(Gladdy:SMFetch("font", "powerBarFont"), Gladdy.db.powerBarFontSize) powerBar.powerText:SetTextColor(Gladdy.db.powerBarFontColor.r, Gladdy.db.powerBarFontColor.g, Gladdy.db.powerBarFontColor.b, Gladdy.db.powerBarFontColor.a) end diff --git a/Modules/Racial.lua b/Modules/Racial.lua index ad62474..94fb049 100644 --- a/Modules/Racial.lua +++ b/Modules/Racial.lua @@ -44,19 +44,19 @@ local function iconTimer(self,elapsed) if timeLeft >= 60 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 0.15* self:GetWidth()) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), (self:GetWidth()/2 - 0.15* self:GetWidth()) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft >= 30 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 30 and timeLeft >= 11 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 10 and timeLeft >= 5 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") elseif timeLeft < 5 and timeLeft > 0 then self.cooldownFont:SetTextColor(1, 0, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), (self:GetWidth()/2 - 1) * Gladdy.db.racialFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 10, true) end @@ -80,7 +80,7 @@ function Racial:CreateFrame(unit) racial.cooldownFrame:SetPoint("BOTTOMRIGHT", racial, "BOTTOMRIGHT") racial.cooldownFont = racial.cooldownFrame:CreateFontString(nil, "OVERLAY") - racial.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.racialFont, "racialFont"), 20, "OUTLINE") + racial.cooldownFont:SetFont(Gladdy:SMFetch("font", "racialFont"), 20, "OUTLINE") --trinket.cooldownFont:SetAllPoints(trinket.cooldown) racial.cooldownFont:SetJustifyH("CENTER") racial.cooldownFont:SetPoint("CENTER") diff --git a/Modules/TotemPlates.lua b/Modules/TotemPlates.lua index ad72893..f87053d 100644 --- a/Modules/TotemPlates.lua +++ b/Modules/TotemPlates.lua @@ -269,7 +269,7 @@ function TotemPlates:UpdateFrameOnce() Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].color.b, Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].color.a) nameplate.gladdyTotemFrame.totemName:SetPoint("TOP", nameplate.gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) - nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") + nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") nameplate.gladdyTotemFrame.totemName:SetText(Gladdy.db.npTotemColors["totem" .. totemDataEntry.id].customText or "") self:SetTotemAlpha(nameplate.gladdyTotemFrame, k) @@ -300,7 +300,7 @@ function TotemPlates:UpdateFrameOnce() gladdyTotemFrame:SetWidth(Gladdy.db.npTotemPlatesSize * Gladdy.db.npTotemPlatesWidthFactor) gladdyTotemFrame:SetHeight(Gladdy.db.npTotemPlatesSize) gladdyTotemFrame.totemBorder:SetTexture(Gladdy.db.npTotemPlatesBorderStyle) - gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") + gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") gladdyTotemFrame.totemName:SetPoint("TOP", gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) end end @@ -327,7 +327,7 @@ function TotemPlates:CreateTotemFrame(nameplate) nameplate.gladdyTotemFrame.totemBorder:SetPoint("BOTTOMRIGHT", nameplate.gladdyTotemFrame, "BOTTOMRIGHT") nameplate.gladdyTotemFrame.totemBorder:SetTexture(Gladdy.db.npTotemPlatesBorderStyle) nameplate.gladdyTotemFrame.totemName = nameplate.gladdyTotemFrame:CreateFontString(nil, "OVERLAY") - nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", Gladdy.db.npTremorFont, "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") + nameplate.gladdyTotemFrame.totemName:SetFont(Gladdy:SMFetch("font", "npTremorFont"), Gladdy.db.npTremorFontSize, "OUTLINE") nameplate.gladdyTotemFrame.totemName:SetPoint("TOP", nameplate.gladdyTotemFrame, "BOTTOM", Gladdy.db.npTremorFontXOffset, Gladdy.db.npTremorFontYOffset) nameplate.gladdyTotemFrame.selectionHighlight = nameplate.gladdyTotemFrame:CreateTexture(nil, "OVERLAY") nameplate.gladdyTotemFrame.selectionHighlight:SetTexture("Interface/TargetingFrame/UI-TargetingFrame-BarFill") diff --git a/Modules/Trinket.lua b/Modules/Trinket.lua index db940bd..3a71c6a 100644 --- a/Modules/Trinket.lua +++ b/Modules/Trinket.lua @@ -40,19 +40,19 @@ local function iconTimer(self, elapsed) if timeLeft >= 60 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 0.15*self:GetWidth()) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), (self:GetWidth()/2 - 0.15*self:GetWidth()) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 60 and timeLeft >= 30 then self.cooldownFont:SetTextColor(1, 1, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 30 and timeLeft >= 11 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft <= 10 and timeLeft >= 5 then self.cooldownFont:SetTextColor(1, 0.7, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") elseif timeLeft < 5 and timeLeft > 0 then self.cooldownFont:SetTextColor(1, 0, 0) - self.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") + self.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), (self:GetWidth()/2 - 1) * Gladdy.db.trinketFontScale, "OUTLINE") end Gladdy:FormatTimer(self.cooldownFont, self.timeLeft, self.timeLeft < 10, true) end @@ -76,7 +76,7 @@ function Trinket:CreateFrame(unit) trinket.cooldownFrame:SetPoint("BOTTOMRIGHT", trinket, "BOTTOMRIGHT") trinket.cooldownFont = trinket.cooldownFrame:CreateFontString(nil, "OVERLAY") - trinket.cooldownFont:SetFont(Gladdy:SMFetch("font", Gladdy.db.trinketFont, "trinketFont"), 20, "OUTLINE") + trinket.cooldownFont:SetFont(Gladdy:SMFetch("font", "trinketFont"), 20, "OUTLINE") --trinket.cooldownFont:SetAllPoints(trinket.cooldown) trinket.cooldownFont:SetJustifyH("CENTER") trinket.cooldownFont:SetPoint("CENTER") From ce5c8fc5a049bff1580a3df00c091628ef847247 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Tue, 14 Sep 2021 23:55:27 +0200 Subject: [PATCH 33/38] added zhTW locale --- .gitignore | 3 +- Lang.lua | 428 +++++++++++++++++++++++++++++++++++++++++ Modules/Clicks.lua | 4 +- Modules/RangeCheck.lua | 6 +- Options.lua | 12 +- 5 files changed, 441 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index f00ad52..23b1f2d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ BuffLib *.psd Ace-Libs Images_Raw -Gladdy_old \ No newline at end of file +Gladdy_old +Gladdy_TW \ No newline at end of file diff --git a/Lang.lua b/Lang.lua index 45e8808..ce0ec8d 100644 --- a/Lang.lua +++ b/Lang.lua @@ -557,6 +557,434 @@ elseif GetLocale() == "deDE" then L["Offset of border to statusbar (in case statusbar shows beyond the border)"] = "Offset des Rahmens zur Statusbar (falls der Balken hinter dem Rahmen erscheint)" L["Statusbar border color"] = "Balken Rahmenfarbe" L["This changes the border color of all statusbar frames"] = "Dies ändert die Rahmenfarbe aller Balken" +elseif GetLocale() == "zhTW" then + -- Announcements.lua + L["Announcements"] = "通報" + L["RESURRECTING: %s (%s)"] = "復活: %s (%s) " + L["SPEC DETECTED: %s - %s (%s)"] = "敵方天賦: %s - %s (%s)" + L["LOW HEALTH: %s (%s)"] = "低生命值: %s (%s)" + L["TRINKET USED: %s (%s)"] = "飾品已使用: %s (%s)" + L["TRINKET READY: %s (%s)"] = "飾品就緒: %s (%s)" + L["DRINKING: %s (%s)"] = "正在喝水: %s (%s)" + L["Self"] = "玩家" + L["Party"] = "隊伍" + L["Raid Warning"] = "團隊警告" + L["Blizzard's Floating Combat Text"] = "Blizzard 戰鬥浮動文字" + L["Trinket used"] = "飾品已使用" + L["Announce when an enemy's trinket is used"] = "當敵方使用飾品時發出通知" + L["Trinket ready"] = "飾品就緒" + L["Announce when an enemy's trinket is ready again"] = "當敵方飾品就緒時發出通報" + L["Drinking"] = "正在喝水" + L["Announces when enemies sit down to drink"] = "當敵方喝水時發出通報" + L["Resurrection"] = "復活" + L["Announces when an enemy tries to resurrect a teammate"] = "當敵方嘗試復活隊友時發出通報" + L["New enemies"] = "新的敵人" + L["Announces when new enemies are discovered"] = "當發現新的敵人時發出通報" + L["Spec Detection"] = "天賦偵測" + L["Announces when the spec of an enemy was detected"] = "當偵測到敵方天賦時發出通報" + L["Low health"] = "低生命值" + L["Announces when an enemy drops below a certain health threshold"] = "當敵方生命值低於一定條件時發出通報" + L["Low health threshold"] = "低生命值門檻" + L["Choose how low an enemy must be before low health is announced"] = "設定低生命值通報門檻" + L["Destination"] = "發送通報至" + L["Choose how your announcements are displayed"] = "選擇通報發送至哪個頻道" + + -- ArenaCountDown.lua + L["Arena Countdown"] = "競技場計時" + L["Turns countdown before the start of an arena match on/off."] = "在競技場開始前倒數剩餘秒數" + L["Size"] = "大小" + + -- Auras.lua + L["Auras"] = "光環" + L["Frame"] = "框架" + L["Cooldown"] = "冷卻時間" + L["No Cooldown Circle"] = "取消圖示冷卻倒數陰影" + L["Cooldown circle alpha"] = "冷卻倒數陰影alpha值" + L["Font"] = "字型" + L["Font of the cooldown"] = "設定冷卻時間字型" + L["Font scale"] = "字體大小" + L["Scale of the text"] = "設定字體大小" + L["Font color"] = "字體顏色" + L["Color of the text"] = "設定字體顏色" + L["Border"] = "邊框" + L["Border style"] = "邊框樣式" + L["Buff color"] = "增益顏色" + L["Debuff color"] = "減益顏色" + L["Check All"] = "全選" + L["Uncheck All"] = "取消全選" + L["Enabled"] = "啟用" + L["Priority"] = "優先" + L["Interrupt Spells School Colors"] = "打斷法術分類顏色" + L["Enable Interrupt Spell School Colors"] = "啟用" + L["Will use Debuff Color if disabled"] = "若未啟用則使用一般減益顏色" + L["Buffs"] = "增益" --Line 573 + L["Debuffs"] = "減益" --Line 566 + L["Interrupts"] = "斷法" --Line 580 + + -- BuffsDebuffs.lua + L["Buffs and Debuffs"] = "增益與減益" + L["Enabled Buffs and Debuffs module"] = "啟用增益與減益模組" + L["Show CC"] = "顯示控場" + L["Shows all debuffs, which are displayed on the ClassIcon as well"] = "顯示所有減益效果,這些減益效果也顯示在職業圖示上" + L["Buffs"] = "增益" + L["Size & Padding"] = "大小與內距" + L["Icon Size"] = "圖示大小" + L["Size of the DR Icons"] = "遞減圖示大小" + L["Icon Width Factor"] = "圖示寬度比例" + L["Stretches the icon"] = "圖示寬度" + L["Icon Padding"] = "圖示內距" + L["Space between Icons"] = "圖示間距" + L["Position"] = "位置" + L["Aura Position"] = "光環位置" + L["Position of the aura icons"] = "光環圖示位置" + L["Top"] = "頂部" + L["Bottom"] = "底部" + L["Left"] = "左" + L["Right"] = "右" + --L["Grow Direction"] = "" + L["Grow Direction of the aura icons"] = "光環圖示的延伸方向" + L["Horizontal offset"] = "水平位移" + L["Vertical offset"] = "垂直位移" + L["Alpha"] = "Alpha值" + L["Debuffs"] = "減益" + L["Dynamic Timer Color"] = "動態計時條顏色" + L["Show dynamic color on cooldown numbers"] = "冷卻時間數字以動態顏色顯示" + L["Color of the cooldown timer and stacks"] = "Farbe der Abklingzeit und Stapel" + L["Spell School Colors"] = "法術種類顏色" + L["Spell School Colors Enabled"] = "啟用" + L["Show border colors by spell school"] = "根據不同法術種類顯示不同邊框顏色" + L["Curse"] = "詛咒" + L["Color of the border"] = "邊框顏色" + L["Magic"] = "魔法" + L["Poison"] = "中毒" + L["Physical"] = "物理" + L["Immune"] = "免疫" + L["Disease"] = "疾病" + L["Aura"] = "光環" + L["Form"] = "形態" + L["Font"] = "字型" --Line 906 + L["Border"] = "邊框" --Line 949 + L["Debuff Lists"] = "減益列表" --Line 1036 + L["Buff Lists"] = "增益列表" --Line 1051 + + -- Castbar.lua + L["Cast Bar"] = "施法條" + L["Bar"] = "施法條" + L["Bar Size"] = "施法條大小" + L["Bar height"] = "高度" + L["Height of the bar"] = "計量條高度" + L["Bar width"] = "寬度" + L["Width of the bars"] = "計量條寬度" + L["Texture"] = "材質" + L["Bar texture"] = "施法條材質" + L["Texture of the bar"] = "計量條材質" + L["Bar color"] = "施法條顏色" + L["Color of the cast bar"] = "計量條顏色" + L["Background color"] = "背景顏色" + L["Color of the cast bar background"] = "施法條背景顏色" + L["Border size"] = "邊框大小" + L["Status Bar border"] = "狀態列邊框" + L["Status Bar border color"] = "狀態列邊框顏色" + L["Icon"] = "圖示" + L["Icon size"] = "圖示大小" + L["Icon border"] = "圖示邊框" + L["Icon border color"] = "圖示邊框顏色" + L["If test is running, type \"/gladdy test\" again"] = "如果測試已經開始,調整此選項後請輸入/gladdy test以重新開始測試" + L["Spark"] = "尾端發亮" + L["Spark enabled"] = "啟用" + L["Spark color"] = "顏色" + L["Color of the cast bar spark"] = "計時條進度的尾端顏色" + L["Font of the castbar"] = "施法條字型" + L["Font size"] = "字體大小" + L["Size of the text"] = "施法條字體大小" + L["Format"] = "格式" + L["Timer Format"] = "時間格式" + L["Remaining"] = "剩餘時間" + L["Total"] = "總時間" + L["Both"] = "兩者" + L["Castbar position"] = "施法條位置" + L["Icon position"] = "圖示位置" + L["Offsets"] = "位移" + + -- Classicon.lua + L["Class Icon"] = "職業圖示" + L["Balance"] = "平衡" + L["Feral"] = "野性" + L["Restoration"] = "恢復" + L["Beast Mastery"] = "獸王" + L["Marksmanship"] = "射擊" + L["Survival"] = "生存" + L["Arcane"] = "奧術" + L["Fire"] = "火焰" + L["Frost"] = "冰霜" + L["Holy"] = "神聖" + L["Protection"] = "防護" + L["Retribution"] = "懲戒" + L["Discipline"] = "戒律" + L["Shadow"] = "暗影" + L["Assassination"] = "刺殺" + L["Combat"] = "戰鬥" + L["Subtlety"] = "敏銳" + L["Elemental"] = "元素" + L["Enhancement"] = "增強" + L["Affliction"] = "痛苦" + L["Demonology"] = "惡魔" + L["Destruction"] = "毀滅" + L["Arms"] = "武器" + L["Fury"] = "狂怒" + L["Show Spec Icon"] = "顯示天賦圖示" + L["Shows Spec Icon once spec is detected"] = "若偵測到天賦則顯示天賦圖示" + L["Icon width factor"] = "圖示寬度比例" + L["This changes positions with trinket"] = "調整職業圖示位置" + L["Border color"] = "邊框顏色" + + --CombatIndicator.lua + L["Combat Indicator"] = "戰鬥指示器" + L["Enable Combat Indicator icon"] = "顯示是否進入戰鬥" + L["Anchor"] = "定位" + L["This changes the anchor of the ci icon"] = "調整戰鬥指示器圖示定位點" + L["This changes position relative to its anchor of the ci icon"] = "調整戰鬥指示器位置" + + -- Constants.lua + L["Physical"] = "物理" --Line 749 + L["Holy"] = "神聖" --Line 750 + L["Fire"] = "火焰" --Line 751 + L["Nature"] = "自然" --Line 752 + L["Frost"] = "冰霜" --Line 753 + L["Shadow"] = "暗影" --Line 754 + L["Arcane"] = "奧術" --Line 755 + L["Unknown"] = "未知" --Line 756 + + -- Cooldowns.lua + L["Cooldowns"] = "技能冷卻監控" + L["Enabled cooldown module"] = "啟用冷卻時間監控模組" + L["Cooldown size"] = "大小" + L["Size of each cd icon"] = "冷卻時間圖示大小" + L["Icon Width Factor"] = "寬度" + L["Max Icons per row"] = "每行圖示數量" + L["Scale of the font"] = "字體大小" + L["Anchor of the cooldown icons"] = "冷卻圖示定位" + L["Grow Direction of the cooldown icons"] = "冷卻圖示延伸方向" + L["Offset"] = "位移" + L["BloodElf"] = "血精靈" + L["NightElf"] = "夜精靈" + L["Scourge"] = "不死族" + + -- Diminishings.lua + L["Diminishings"] = "控場遞減" + L["Enabled DR module"] = "啟用遞減模組" + L["DR Cooldown position"] = "遞減冷卻時間位置" + L["Position of the cooldown icons"] = "遞減冷卻時間圖示位置" + L["DR Border Colors"] = "DR邊框顏色" + L["Dr Border Colors Enabled"] = "啟用" + L["Colors borders of DRs in respective DR-color below"] = "邊框顏色依遞減設定為以下顏色" + L["Half"] = "二分之一" + L["Quarter"] = "四分之一" + L["Categories"] = "法術列表" + L["Force Icon"] = "使用自訂圖示" + L["Icon of the DR"] = "選擇此區圖示取代原始技能圖示" + + -- ExportImport.lua + L["Export Import"] = "匯出/匯入" + L["Profile Export Import"] = "設定檔匯出/匯入" + L["Export"] = "匯出" --Line 138 + L["Export your current profile to share with others or your various accounts."] = "匯出您目前的設定檔" --Line 139 + L["Import"] = "匯入" --Line 162 + L["This will overwrite your current profile!"] = "這將會覆蓋您目前的設定檔" --Line 163 + + -- Healthbar.lua + L["Health Bar"] = "血量條" + L["DEAD"] = "死亡" + L["LEAVE"] = "暫離" + L["General"] = "一般" + L["Color of the status bar background"] = "狀態列背景顏色" + L["Font of the bar"] = "字型" + L["Name font size"] = "名稱字體大小" + L["Size of the name text"] = "設定名稱字體大小" + L["Health font size"] = "生命值字體大小" + L["Size of the health text"] = "設定生命值字體大小" + L["Size of the border"] = "邊框大小" + L["Health Bar Text"] = "血量條文字" + L["Show name text"] = "顯示名稱" + L["Show the units name"] = "顯示單位名稱" + L["Show ArenaX"] = "顯示編號" + L["Show 1-5 as name instead"] = "使用編號1-5代替角色名稱" + L["Show the actual health"] = "顯示目前生命值" + L["Show the actual health on the health bar"] = "在血量條上顯示目前生命值" + L["Show max health"] = "顯示最大生命值" + L["Show max health on the health bar"] = "在血量條上顯示最大生命值" + L["Show health percentage"] = "顯示百分比" + L["Show health percentage on the health bar"] = "在血量條上顯示生命值百分比" + + -- Highlight.lua + L["Highlight"] = "高亮提示" + L["Show Inside"] = "顯示在框架內" + L["Show Highlight border inside of frame"] = "將高亮邊框顯示於框架內側" + L["Colors"] = "邊框顏色" + L["Target border color"] = "目標" + L["Color of the selected targets border"] = "目標的邊框顏色" + L["Focus border color"] = "專注" + L["Color of the focus border"] = "專注目標邊框顏色" + L["Highlight target"] = "高亮目標" + L["Toggle if the selected target should be highlighted"] = "是否高亮當前目標" + L["Show border around target"] = "顯示目標邊框" + L["Toggle if a border should be shown around the selected target"] = "是否顯示當前目標的邊框" + L["Show border around focus"] = "顯示專注邊框" + L["Toggle of a border should be shown around the current focus"] = "是否顯示當前專注目標的邊框" + + -- Pets.lua + L["Pets"] = "寵物" + L["Enables Pets module"] = "啟用寵物模組" + L["Width of the bar"] = "寵物列寬度" + L["Health color"] = "生命值顏色" + L["Color of the status bar"] = "狀態列顏色" + L["Portrait"] = "頭像" + L["Health Values"] = "生命值" + + -- Powerbar.lua + L["Power Bar"] = "法力/能量條" + L["Power Bar Text"] = "法力/能量條文字" + L["Power Texts"] = "法力/能量條文字" + L["Show race"] = "顯示種族" + L["Show spec"] = "顯示天賦" + L["Show the actual power"] = "顯示目前法力/能量" + L["Show the actual power on the power bar"] = "在計量條中顯示目前法力/能量值" + L["Show max power"] = "顯示最大法力/能量值" + L["Show max power on the power bar"] = "在計量條中顯示最大法力/能量值" + L["Show power percentage"] = "顯示法力/能量百分比" + L["Show power percentage on the power bar"] = "在計量條中顯示目前法力/能量百分比" + + -- Racial.lua + L["Racial"] = "種族" + L["Enable racial icon"] = "啟用種族圖示" + L["This changes the anchor of the racial icon"] = "調整種族圖示定位點" + L["This changes position relative to its anchor of the racial icon"] = "調整種族圖示位置" + + -- TotemPlates.lua + L["Totem Plates"] = "圖騰名條" + L["Customize Totems"] = "自訂圖騰" + L["Custom totem name"] = "自訂圖騰名稱" + L["Totem General"] = "圖騰通用設定" + L["Turns totem icons instead of nameplates on or off. (Requires reload)"] = "是否顯示圖騰名條(需重新載入)" + L["Show friendly"] = "顯示友方圖騰" + L["Show enemy"] = "顯示敵方圖騰" + L["Totem size"] = "圖騰大小" + L["Size of totem icons"] = "圖騰圖示大小" + L["Font of the custom totem name"] = "自訂圖騰字型" + L["Apply alpha when no target"] = "圖騰非目標時套用alpha值" + L["Always applies alpha, even when you don't have a target. Else it is 1."] = "若圖騰未被選為目標,其圖示套用alpha值設定" + L["Apply alpha when targeted"] = "圖騰為目標時套用alpha值" + L["Always applies alpha, even when you target the totem. Else it is 1."] = "圖騰被選為目標時,其圖示套用alpha值設定" + L["All totem border alphas (configurable per totem)"] = "圖騰 Alpha值 " + L["Totem icon border style"] = "圖騰邊框樣式" + L["All totem border color"] = "圖騰邊框顏色" + + -- Trinket.lua + L["Trinket"] = "飾品" + L["Enable trinket icon"] = "啟用飾品圖示" + L["This changes positions of the trinket"] = "調整飾品圖示位置" + + -- XiconProfiles.lua + L["Profile"] = "樣式" + L["XiconProfiles"] = "框架外觀" --Line 4 + L[" No Pet"] = "(無寵物)" --Line 109, 119 + + -- Frame.lua + L["Gladdy - drag to move"] = "Gladdy - 拖曳移動" + + -- Gladdy.lua + L["Welcome to Gladdy!"] = "歡迎使用 Gladdy!" + L["First run has been detected, displaying test frame."] = "第一次使用時,顯示此測試框架。" + L["Valid slash commands are:"] = "可用的指令為:" + L["If this is not your first run please lock or move the frame to prevent this from happening."] = "若非第一次使用,請移動或鎖定框架以避免此提示再次出現。" + + -- Clicks.lua + L["Action #%d"] = "動作 #%d" + L["Target"] = "目標" --Line 15 + L["Focus"] = "專注" --Line 16 + L["Clicks"] = "點擊動作" + L["Left button"] = "左鍵" + L["Right button"] = "右鍵" + L["Middle button"] = "中鍵" + L["Button 4"] = "滑鼠按鍵4" + L["Button 5"] = "滑鼠按鍵5" + L["Select what action this mouse button does"] = "設定輸入按鍵後的欲執行的動作" + L["Modifier"] = "修飾鍵" + L["Select which modifier to use"] = "設定欲使用的修飾鍵" + L["Button"] = "按鍵" + L["Select which mouse button to use"] = "設定欲使用的滑鼠按鍵" + L["Name"] = "名稱" + L["Select the name of the click option"] = "設定動作名稱" + L["Action"] = "動作" + L["Cast Spell / Macro"] = "施放法術/巨集" + + --RangeCheck.lua + L["Range Check"] = "距離檢查" + L["Spells"] = "法術" + L["Fade"] = "變暗" + L["Out of Range Darkening Level"] = "超出距離時變暗程度" + L["Higher is darker"] = "數值越高越暗" + L["yds"] = " 碼" --Line 366, 388 + L["Changing the spellID only applies to your player class!\n\nExample: If you are a Paladin and wish to change your range check spell to Repentance, edit the Paladin spellID to 20066."] = "對應您的職業修改欲用於監控距離的技能。\n\n範例:若您為聖騎士且想以懺悔技能用於距離監控,請將聖騎士的法術ID改為20066。" --Line 352 + + --ShadowsightTimer.lua + L["Shadowsight Timer"] = "暗影視界計時" + L["Locked"] = "鎖定" + L["Announce"] = "通報" + L["Scale"] = "大小" + L["Shadowsight up in %ds"] = "暗影視界於%d秒後就緒" + L["Shadowsight up!"] = "暗影視界已就緒" + + -- Options.lua + L["settings"] = "設定" + L["Reset module"] = "重設模組" + L["Reset module to defaults"] = "將模組重設為預設值" + L["No settings"] = "無設定" + L["Module has no settings"] = "模組沒有設定" + L["General settings"] = "通用設定" + L["Lock frame"] = "鎖定框架" + L["Toggle if frame can be moved"] = "調整框架是否可移動" + L["Grow frame upwards"] = "框架向上延伸" + L["If enabled the frame will grow upwards instead of downwards"] = "開啟此選項時框架向上延伸" + L["Down"] = "下" + L["Up"] = "上" + L["Frame General"] = "框架" + L["Frame scale"] = "框架大小" + L["Scale of the frame"] = "框架的尺寸" + L["Frame padding"] = "框架內距" + L["Padding of the frame"] = "框架的內距" + L["Frame width"] = "框架寬度" + L["Margin"] = "框架間距" + L["Margin between each button"] = "框架的間距" + L["Cooldown General"] = "冷卻" + L["Font General"] = "字型" + L["General Font"] = "Allgemeine Schriftart" + L["Font color text"] = "文字顏色" + L["Font color timer"] = "計時器文字顏色" + L["Color of the timers"] = "計時器顏色" + L["Icons General"] = "圖示" + L["Icon border style"] = "圖示邊框樣式" + L["This changes the border style of all icons"] = "調整所有圖示的邊框樣式" + L["This changes the border color of all icons"] = "調整所有圖示的邊框顏色" + L["Statusbar General"] = "狀態列" + L["Statusbar texture"] = "狀態列材質" + L["This changes the texture of all statusbar frames"] = "調整所有狀態列的材質" + L["Statusbar border style"] = "狀態列邊框樣式" + L["This changes the border style of all statusbar frames"] = "調整所有狀態列的邊框樣式" + L["Statusbar border offset divider (smaller is higher offset)"] = "狀態列邊框距離" + L["Offset of border to statusbar (in case statusbar shows beyond the border)"] = "調整狀態列邊框距離" + L["Statusbar border color"] = "狀態列邊框顏色" + L["This changes the border color of all statusbar frames"] = "調整所有狀態列的邊框顏色" + L["Hide Blizzard"] = "隱藏暴雪框架" + L["Grow Direction"] = "框架延伸方向" + L["Arena only"] = "只在競技場中" + L["Never"] = "從不" + L["Always"] = "永遠" + L["Load configuration"] = "設定選項" --Line 713 + L["Load configuration options"] = "載入設定選項" --Line 714 + L["Background Color of the frame"] = "框架的背景顏色" + + L["Gladdy"] = "Gladdy目標框架" --Line 210, 709, 727 end diff --git a/Modules/Clicks.lua b/Modules/Clicks.lua index 2e20924..1b5f971 100644 --- a/Modules/Clicks.lua +++ b/Modules/Clicks.lua @@ -12,8 +12,8 @@ local Gladdy = LibStub("Gladdy") local L = Gladdy.L local attributes = { - { name = "Target", button = "1", modifier = "", action = "target", spell = "" }, - { name = "Focus", button = "2", modifier = "", action = "focus", spell = "" }, + { name = L["Target"], button = "1", modifier = "", action = "target", spell = "" }, + { name = L["Focus"], button = "2", modifier = "", action = "focus", spell = "" }, } for i = 3, 10 do tinsert(attributes, { name = L["Action #%d"]:format(i), button = "", modifier = "", action = "disabled", spell = "" }) diff --git a/Modules/RangeCheck.lua b/Modules/RangeCheck.lua index 5fac117..3e95600 100644 --- a/Modules/RangeCheck.lua +++ b/Modules/RangeCheck.lua @@ -349,7 +349,7 @@ function RangeCheck:GetSpells() local group = { description = { type = "description", - name = "Changing the spellID only applies to your player class!\n\nExample: If you are a Paladin and wish to change your range check spell to Repentance, edit the Paladin spellID to 20066.", + name = L["Changing the spellID only applies to your player class!\n\nExample: If you are a Paladin and wish to change your range check spell to Repentance, edit the Paladin spellID to 20066."], order = 1, }, } @@ -363,7 +363,7 @@ function RangeCheck:GetSpells() args = { headerMin = { type = "header", - name = GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min) and format("|T%s:20|t %s - %dyds", select(3, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(1, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(6, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min))) + name = GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min) and format("|T%s:20|t %s - %d" .. L["yds"], select(3, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(1, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(6, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min))) or "nil", order = 1, }, @@ -385,7 +385,7 @@ function RangeCheck:GetSpells() Gladdy.db.rangeCheckDefaultSpells[class].min = tonumber(value) --Gladdy.options.args["Range Check"].args.oorSpells.args[class].args.min.name = GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min) and format("|T%s:20|t %s", select(3, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(1, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min))) -- or "nil" - Gladdy.options.args["Range Check"].args.oorSpells.args[class].args.headerMin.name = GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min) and format("|T%s:20|t %s - %dyds", select(3, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(1, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(6, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min))) + Gladdy.options.args["Range Check"].args.oorSpells.args[class].args.headerMin.name = GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min) and format("|T%s:20|t %s - %d" .. L["yds"], select(3, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(1, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min)), select(6, GetSpellInfo(Gladdy.db.rangeCheckDefaultSpells[class].min))) or "nil" end }, diff --git a/Options.lua b/Options.lua index 68c3abe..0c8faa6 100644 --- a/Options.lua +++ b/Options.lua @@ -208,7 +208,7 @@ end function Gladdy:SetupOptions() self.options = { type = "group", - name = "Gladdy", + name = L["Gladdy"], plugins = {}, childGroups = "tree", get = getOpt, @@ -735,12 +735,12 @@ function Gladdy:SetupOptions() end local options = { - name = "Gladdy", + name = L["Gladdy"], type = "group", args = { load = { - name = "Load configuration", - desc = "Load configuration options", + name = L["Load configuration"], + desc = L["Load configuration options"], type = "execute", func = function() HideUIPanel(InterfaceOptionsFrame) @@ -767,7 +767,7 @@ function Gladdy:GetAuras(auraType) ckeckAll = { order = 1, width = "0.7", - name = "Check All", + name = L["Check All"], type = "execute", func = function(info) if auraType == AURA_TYPE_DEBUFF then @@ -784,7 +784,7 @@ function Gladdy:GetAuras(auraType) uncheckAll = { order = 2, width = "0.7", - name = "Uncheck All", + name = L["Uncheck All"], type = "execute", func = function(info) if auraType == AURA_TYPE_DEBUFF then From b6d243b8c06d20147b7abb250dd774bb2be69df0 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 15 Sep 2021 00:24:36 +0200 Subject: [PATCH 34/38] fix GetItemInfo item not loaded from server yet... fallback to constant --- Constants.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Constants.lua b/Constants.lua index e6458a5..67c8f8d 100644 --- a/Constants.lua +++ b/Constants.lua @@ -740,7 +740,7 @@ local importantAuras = { duration = 8, priority = 15, spellID = 5024, - altName = select(1, GetSpellInfo(5024)) .. " - " .. select(1, GetItemInfo(4984)), + altName = select(1, GetSpellInfo(5024)) .. " - " .. (select(1, GetItemInfo(4984)) or "Skull of Impending Doom"), }, } function Gladdy:GetImportantAuras() From f9b1ac9c51fd533b20b00cd6c82833ce36f64390 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 15 Sep 2021 00:29:12 +0200 Subject: [PATCH 35/38] possible localization on DR-Categories --- Modules/Diminishings.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/Diminishings.lua b/Modules/Diminishings.lua index 8da1386..780c188 100644 --- a/Modules/Diminishings.lua +++ b/Modules/Diminishings.lua @@ -642,7 +642,7 @@ function Diminishings:CategoryOptions() for i,k in ipairs(indexList) do categories[k] = { type = "group", - name = DRData:GetCategoryName(k), + name = L[DRData:GetCategoryName(k)], order = i, icon = Gladdy.db.drCategories[k].icon, args = { From f36883df31e88bfef311031ed49b50e1743b3ced Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 15 Sep 2021 00:42:36 +0200 Subject: [PATCH 36/38] add version in options --- Options.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Options.lua b/Options.lua index 0c8faa6..e0c7f37 100644 --- a/Options.lua +++ b/Options.lua @@ -216,7 +216,7 @@ function Gladdy:SetupOptions() args = { test = { order = 1, - width = "0.7", + width = 0.7, name = L["Test"], type = "execute", func = function() @@ -225,7 +225,7 @@ function Gladdy:SetupOptions() }, hide = { order = 2, - width = "0.7", + width = 0.7, name = L["Hide"], type = "execute", func = function() @@ -235,19 +235,25 @@ function Gladdy:SetupOptions() }, reload = { order = 3, - width = "0.7", + width = 0.7, name = L["ReloadUI"], type = "execute", func = function() ReloadUI() end, }, + version = { + order = 4, + width = 1, + type = "description", + name = " Gladdy v" .. Gladdy.version_num .. "-" .. Gladdy.version_releaseType + }, general = { type = "group", name = L["General"], desc = L["General settings"], childGroups = "tab", - order = 4, + order = 5, args = { locked = { type = "toggle", @@ -728,7 +734,7 @@ function Gladdy:SetupOptions() }, } - local order = 5 + local order = 6 for k, v in pairsByKeys(self.modules) do self:SetupModule(k, v, order) order = order + 1 From c3a1555932e0115ed879d52ec90ca63db4129929 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 15 Sep 2021 00:42:49 +0200 Subject: [PATCH 37/38] bump version --- Gladdy.lua | 4 ++-- Gladdy.toc | 4 ++-- README.md | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Gladdy.lua b/Gladdy.lua index 5d4d709..a3f6578 100644 --- a/Gladdy.lua +++ b/Gladdy.lua @@ -26,9 +26,9 @@ local MAJOR, MINOR = "Gladdy", 4 local Gladdy = LibStub:NewLibrary(MAJOR, MINOR) local L Gladdy.version_major_num = 1 -Gladdy.version_minor_num = 0.19 +Gladdy.version_minor_num = 0.20 Gladdy.version_num = Gladdy.version_major_num + Gladdy.version_minor_num -Gladdy.version_releaseType = RELEASE_TYPES.beta +Gladdy.version_releaseType = RELEASE_TYPES.release Gladdy.version = PREFIX .. Gladdy.version_num .. "-" .. Gladdy.version_releaseType Gladdy.VERSION_REGEX = VERSION_REGEX diff --git a/Gladdy.toc b/Gladdy.toc index ba5a687..b3623bc 100644 --- a/Gladdy.toc +++ b/Gladdy.toc @@ -1,6 +1,6 @@ -## Interface: 20501 +## Interface: 20502 ## Title: Gladdy - TBC -## Version: 1.19-Beta +## Version: 1.20-Release ## Notes: The most powerful arena AddOn for WoW 2.5.1 ## Author: XiconQoo, DnB_Junkee, Knall ## X-Email: contact me on discord Knall#1751 diff --git a/README.md b/README.md index f4bdfb5..ad22649 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Gladdy - TBC ### The most powerful arena addon for WoW TBC 2.5.1 -## [v1.19-Beta Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v1.19-Beta/Gladdy_TBC-Classic_v1.19-Beta.zip) +## [v1.20-Release Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v1.19-Release/Gladdy_TBC-Classic_v1.20-Release.zip) ###### Please consider donating if you like my work @@ -62,6 +62,9 @@ The goal is to make Gladdy highly configurable in it's appearance. Everything ca ### Changes +### v1.20-Release +TODO + ### v1.19-Beta - fix gladdy frames not showing v2 - minor bug fixes From b861091d4494fc411024fa32b3347a6094b72109 Mon Sep 17 00:00:00 2001 From: Sumsebrum Date: Wed, 15 Sep 2021 00:55:06 +0200 Subject: [PATCH 38/38] added 1.20 changelist --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ad22649..06f3d23 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Gladdy - TBC ### The most powerful arena addon for WoW TBC 2.5.1 -## [v1.20-Release Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v1.19-Release/Gladdy_TBC-Classic_v1.20-Release.zip) +## [v1.20-Release Download Here](https://github.com/XiconQoo/Gladdy-TBC/releases/download/v1.20-Release/Gladdy_TBC-Classic_v1.20-Release.zip) ###### Please consider donating if you like my work @@ -63,7 +63,23 @@ The goal is to make Gladdy highly configurable in it's appearance. Everything ca ### Changes ### v1.20-Release -TODO +- configurable DR duration +- scale in 0.01 percent steps +- added Net-o-Matic, Nigh Invulnerablility Shield, Nigh Invulnerablility Backfire & Flee (Skull of Impending Doom) to Auras +- added Mangle, Chastise, Avenging Wrath, Rapid Fire to BuffsDebuffs +- improved testmode to only activate Auras/Buffs/Debuffs/Dr's that are actually enabled +- added Mir's profile to XiconProfiles +- added zhTW localization +- added buttons for Test, Hide & Reload in the config +- added version in config +- ArenaCountdown upgrade +- Repentance, Freezing Trap & Wyvern Sting are now disorients +- import string now ignores errors on deleted options +- added (un)checkAll button in DR-Categories in Diminishing Module +- totemplates fix option to alter all colors/alphas +- hide blizzard arena pets as well +- fix shadowsight timer showing when not in arena or testmode +- some minor refactoring / optimization ### v1.19-Beta - fix gladdy frames not showing v2