diff --git a/Interface/AddOns/SVUI/SVUI.toc b/Interface/AddOns/SVUI/SVUI.toc index a84b988..90c381b 100644 --- a/Interface/AddOns/SVUI/SVUI.toc +++ b/Interface/AddOns/SVUI/SVUI.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI|r ## Notes: Supervillain UI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global, SVUI_Errors diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-BLOOD.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-BLOOD.blp deleted file mode 100644 index 1965896..0000000 Binary files a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-BLOOD.blp and /dev/null differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-FROST.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-FROST.blp deleted file mode 100644 index a37e79e..0000000 Binary files a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-FROST.blp and /dev/null differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-UNHOLY.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-UNHOLY.blp deleted file mode 100644 index 4d1c6ea..0000000 Binary files a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/DEATHKNIGHT-UNHOLY.blp and /dev/null differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-BG-ANIMATION.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-BG-ANIMATION.blp deleted file mode 100644 index 456c68f..0000000 Binary files a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-BG-ANIMATION.blp and /dev/null differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-CHARGE.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-CHARGE.blp new file mode 100644 index 0000000..ed032c4 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-CHARGE.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-FG-ANIMATION.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-FG-ANIMATION.blp deleted file mode 100644 index 40a1141..0000000 Binary files a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-FG-ANIMATION.blp and /dev/null differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-1.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-1.blp new file mode 100644 index 0000000..fc58a3e Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-1.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-2.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-2.blp new file mode 100644 index 0000000..5457703 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-2.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-3.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-3.blp new file mode 100644 index 0000000..2d8abdc Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-3.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-4.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-4.blp new file mode 100644 index 0000000..b07dc24 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-4.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-5.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-5.blp new file mode 100644 index 0000000..6cfe93c Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/MAGE-ICICLE-5.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-BG.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-BG.blp new file mode 100644 index 0000000..b83d793 Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-BG.blp differ diff --git a/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-FG.blp b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-FG.blp new file mode 100644 index 0000000..37ebffb Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Unitframe/Class/RUNES-FG.blp differ diff --git a/Interface/AddOns/SVUI/data/defaults.lua b/Interface/AddOns/SVUI/data/defaults.lua index 1a8b1d5..87ebb97 100644 --- a/Interface/AddOns/SVUI/data/defaults.lua +++ b/Interface/AddOns/SVUI/data/defaults.lua @@ -977,16 +977,16 @@ SV.defaults["SVUnit"] = { ["combatIcon"] = { ["enable"] = true, ["size"] = 26, - ["attachTo"] = "INNERTOPRIGHT", - ["xOffset"] = 8, - ["yOffset"] = 8, + ["attachTo"] = "TOPRIGHT", + ["xOffset"] = 28, + ["yOffset"] = 2, }, ["restIcon"] = { ["enable"] = true, ["size"] = 22, - ["attachTo"] = "INNERTOPRIGHT", - ["xOffset"] = 8, - ["yOffset"] = 8, + ["attachTo"] = "INNERBOTTOMRIGHT", + ["xOffset"] = 0, + ["yOffset"] = 0, }, }, ["stagger"] = diff --git a/Interface/AddOns/SVUI/framework/api/api.xml b/Interface/AddOns/SVUI/framework/api/api.xml index b6babc6..5c0f8e5 100644 --- a/Interface/AddOns/SVUI/framework/api/api.xml +++ b/Interface/AddOns/SVUI/framework/api/api.xml @@ -861,22 +861,22 @@ <Attributes> <Attribute name="panelID" type="string" value="container" /> <Attribute name="panelPadding" type="number" value="2" /> - <Attribute name="panelColor" type="string" value="special" /> - <Attribute name="panelGradient" type="string" value="special" /> + <Attribute name="panelColor" type="string" value="container" /> + <Attribute name="panelGradient" type="string" value="container" /> <Attribute name="panelTexUpdate" type="boolean" value="true" /> <Attribute name="panelSkipUpdate" type="boolean" value="false" /> </Attributes> - <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN3" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> + <Backdrop bgFile="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false"> <EdgeSize val="1" /> <TileSize val="0" /> <BackgroundInsets left="0" right="0" top="0" bottom="0" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> + <Color r="0.22" g="0.21" b="0.2" a="1" /> <BorderColor r="0" g="0" b="0" a="1" /> </Backdrop> <Layers> <Layer level="BACKGROUND" textureSubLevel="1"> - <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PATTERN3" setAllPoints="true" /> - <Color r="0.37" g="0.32" b="0.29" a="1" /> + <Texture parentKey="Skin" nonBlocking="true" file="Interface\AddOns\SVUI\assets\artwork\Template\Background\PAPER" setAllPoints="true" /> + <Color r="0.22" g="0.21" b="0.2" a="1" /> </Layer> <Layer level="BORDER"> <Texture parentKey="BorderLeft" file="Interface\BUTTONS\WHITE8X8"> diff --git a/Interface/AddOns/SVUI/framework/widgets/widget_afk.lua b/Interface/AddOns/SVUI/framework/widgets/widget_afk.lua index f26bf5d..96f28e1 100644 --- a/Interface/AddOns/SVUI/framework/widgets/widget_afk.lua +++ b/Interface/AddOns/SVUI/framework/widgets/widget_afk.lua @@ -62,15 +62,14 @@ function SV.AFK:Activate(enabled) end local AFK_OnEvent = function(self, event) - if(event == "PLAYER_REGEN_DISABLED") then - self:RegisterEvent("PLAYER_REGEN_ENABLED", "OnEvent") - self:Activate(false) - else + if(event == "PLAYER_FLAGS_CHANGED") then if(UnitIsAFK("player")) then self:Activate(true) else self:Activate(false) end + else + self:Activate(false) end end @@ -106,6 +105,8 @@ function SV.AFK:Initialize() if(SV.db.general.afk) then self:RegisterEvent("PLAYER_FLAGS_CHANGED") self:RegisterEvent("PLAYER_REGEN_DISABLED") + self:RegisterEvent("PLAYER_ENTERING_WORLD") + self:RegisterEvent("PET_BATTLE_OPENING_START") self:SetScript("OnEvent", AFK_OnEvent) end end @@ -114,10 +115,16 @@ function SV.AFK:Toggle() if(SV.db.general.afk) then self:RegisterEvent("PLAYER_FLAGS_CHANGED") self:RegisterEvent("PLAYER_REGEN_DISABLED") + self:RegisterEvent("PLAYER_ENTERING_WORLD") + self:RegisterEvent("PET_BATTLE_OPENING_START") + self:RegisterEvent("PLAYER_DEAD") self:SetScript("OnEvent", AFK_OnEvent) else self:UnregisterEvent("PLAYER_FLAGS_CHANGED") self:UnregisterEvent("PLAYER_REGEN_DISABLED") + self:UnregisterEvent("PLAYER_ENTERING_WORLD") + self:UnregisterEvent("PET_BATTLE_OPENING_START") + self:UnregisterEvent("PLAYER_DEAD") self:SetScript("OnEvent", nil) end end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua index bd7003c..cdf635e 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/Registry.lua @@ -179,29 +179,6 @@ function table.copy(targetTable,deepCopy,mergeTable) return replacementTable end -function string.trim(this) - return find(this, '^%s*$') and '' or match(this, '^%s*(.*%S)') -end - -function string.color(this, color) - return format("|cff%s%s|r", color, this) -end - -function string.link(this, prefix, text, color) - text = tostring(text) - local colorstring = tostring(this):color(color or "ffffff") - return format("|H%s:%s|h%s|h", prefix, text, colorstring) -end - -function string.explode(this, delim) - local pattern = format("([^%s]+)", delim) - local res = {} - for line in this:gmatch(pattern) do - tinsert(res, line) - end - return res -end - --DATABASE LOCAL HELPERS local function copydefaults(d, s) diff --git a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua index f481c2d..aeae438 100644 --- a/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua +++ b/Interface/AddOns/SVUI/libs/LibSuperVillain-1.0/modules/SpecialFX.lua @@ -70,7 +70,7 @@ local EFFECTS_LIST = setmetatable({ ["arcane"] = {[[Spells\Cast_arcane_01.m2]], -12, 12, 12, -12, 0.25, 0, 0}, ["fire"] = {[[Spells\Bloodlust_state_hand.m2]], -8, 4, 24, -24, 0.23, -0.08, 0.08}, ["frost"] = {[[Spells\Ice_cast_low_hand.m2]], -12, 12, 12, -12, 0.25, -0.2, -0.35}, - ["chi"] = {[[Spells\Fel_fire_precast_high_hand.m2]], -12, 12, 12, -12, 0.3, 0, 0}, + ["chi"] = {[[Spells\Fel_fire_precast_high_hand.m2]], -12, 12, 12, -12, 0.3, -0.04, -0.1}, ["lightning"] = {[[Spells\Fill_lightning_cast_01.m2]], -12, 12, 12, -12, 1.25, 0, 0}, ["water"] = {[[Spells\Monk_drunkenhaze_impact.m2]], -12, 12, 12, -12, 0.9, 0, 0}, ["earth"] = {[[Spells\Sand_precast_hand.m2]], -12, 12, 12, -12, 0.23, 0, 0}, diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc index 5192212..d8bba41 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_ActionPanel/oUF_ActionPanel.toc @@ -2,7 +2,7 @@ ## Title: oUF ActionPanel ## Notes: Adds a backing to all unit frames that provides many utilities. ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc index e1856ba..bddcfb3 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Afflicted/oUF_Afflicted.toc @@ -2,7 +2,7 @@ ## Title: oUF Afflicted ## Notes: Adds Custom Debuff Highlighting to oUF. ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Conqueror/oUF_Conqueror.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Conqueror/oUF_Conqueror.lua index c8ad6d0..e1c66fa 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Conqueror/oUF_Conqueror.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Conqueror/oUF_Conqueror.lua @@ -11,14 +11,14 @@ local UnitDebuff = _G.UnitDebuff; local parent, ns = ... local oUF = ns.oUF -local ENRAGE_ID = 13046; +local ENRAGE_ID = 12880; -local function getRageAmount() +local function getEnrageAmount() for i = 1, 40 do - local name, rank, icon, count, dispelType, duration, expires, _, _, _, spellID, _, _, _, amount = + local _, _, _, count, _, duration, expires, _, _, _, spellID = UnitBuff("player", i) - if spellID == ENRAGE_ID then - return duration, expires + if(spellID and spellID == ENRAGE_ID) then + return floor(expires), duration end end return 0,0 @@ -41,19 +41,41 @@ local BarOnUpdate = function(self, elapsed) end end +local EnrageOnUpdate = function(self, elapsed) + if not self.duration then return end + self.elapsed = (self.elapsed or 0) + elapsed + if self.elapsed >= 0.5 then + local timeLeft = (self.duration - self.elapsed) + if timeLeft > 0 then + self.bar:SetValue(timeLeft) + else + self.start = 0; + self.duration = 8; + self.elapsed = 0; + self.bar:SetValue(0); + self:SetScript("OnUpdate", nil); + self:FadeOut(); + end + end +end + local Update = function(self, event, unit) local element = self.Conqueror - local bar = element.Enrage + local enrage = element.Enrage if(element.PreUpdate) then element:PreUpdate(event) end - local start, duration = getRageAmount() - - if(duration and start) then - bar:SetMinMaxValues(0, start) - bar:SetValue(start) - bar.start = start - bar.duration = duration - bar:SetScript('OnUpdate', BarOnUpdate) + if(enrage:IsShown()) then + local start, duration = getEnrageAmount() + if(duration and start and (start ~= enrage.start)) then + enrage.bar:SetMinMaxValues(0, duration) + enrage.bar:SetValue(duration) + + enrage.elapsed = 0; + enrage.start = start + enrage.duration = duration + enrage:SetScript('OnUpdate', EnrageOnUpdate) + enrage:FadeIn(); + end end if(element.PostUpdate) then @@ -78,11 +100,13 @@ local Enable = function(self) self:RegisterEvent('UNIT_AURA', Path, true) - if(bar.Enrage:IsObjectType'Texture' and not bar.Enrage:GetTexture()) then - bar.Enrage:SetTexture[[Interface\TargetingFrame\UI-StatusBar]] + local enrage = bar.Enrage; + if(enrage.bar:IsObjectType'Texture' and not enrage.bar:GetTexture()) then + enrage.bar:SetTexture[[Interface\TargetingFrame\UI-StatusBar]] end - bar.Enrage:SetMinMaxValues(0, 100) - bar.Enrage:SetValue(0) + enrage.bar:SetMinMaxValues(0, 100) + enrage.bar:SetValue(0) + enrage:FadeOut() return true end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc index 3679662..0a2f7de 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_Gladiator/oUF_Gladiator.toc @@ -2,7 +2,7 @@ ## Title: oUF Gladiator ## Notes: Adds PvP trinket status and spec icons to oUF frames. ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## X-Category: oUF ## Dependencies: oUF diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_KungFu/oUF_KungFu.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_KungFu/oUF_KungFu.lua index b9872e7..b6fb2b9 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_KungFu/oUF_KungFu.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_KungFu/oUF_KungFu.lua @@ -168,7 +168,9 @@ local Update = function(self, event, unit) local staggering = getStaggerAmount() if staggering == 0 then stagger:SetValue(0) + stagger:FadeOut() else + stagger:FadeIn() local health = UnitHealth("player") local maxHealth = UnitHealthMax("player") local staggerTotal = UnitStagger("player") @@ -244,7 +246,7 @@ local function Enable(self, unit) bar[i]:SetStatusBarTexture([=[Interface\TargetingFrame\UI-StatusBar]=]) end - bar[i]:SetStatusBarColor(unpack(oUF.colors.KungFu[i])) + bar[i]:SetStatusBarColor(unpack(CHI_COLORS[i])) bar[i]:SetFrameLevel(bar:GetFrameLevel() + 1) bar[i]:GetStatusBarTexture():SetHorizTile(false) end @@ -253,7 +255,7 @@ local function Enable(self, unit) if(stagger:IsObjectType'StatusBar' and not stagger:GetStatusBarTexture()) then stagger:SetStatusBarTexture(0.91, 0.75, 0.25) end - stagger:SetStatusBarColor(unpack(brewColor)) + stagger:SetStatusBarColor(unpack(DEFAULT_BREW_COLOR)) stagger:SetMinMaxValues(0, 100) stagger:SetValue(0) diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.lua b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.lua index 2653700..c1d7286 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.lua +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.lua @@ -19,7 +19,7 @@ if not oUF then return end local playerGUID; local ARCANE_CHARGE_ID = 36032; - +local ARCANE_BARRAGE_ID = 44425; local IGNITE_ID = 12654; local COMBUSTION_ID = 83853; local PYROBLAST_ID = 11366; @@ -72,14 +72,24 @@ end local GetResources = { [1] = function(self, event, ...) - if(event == 'UNIT_AURA') then + if(event == 'COMBAT_LOG_EVENT_UNFILTERED') then + local _, eventType, _, srcGUID, _, _, _, destGUID, _, _, _, spellID, _, _, amount = ... + if(srcGUID == playerGUID) then + if(eventType:find("_DAMAGE")) then + if(spellID == ARCANE_BARRAGE_ID) then + SPELLCOUNT = 0 + return + end + end + end + elseif(event == 'UNIT_AURA') then local unit = ...; for index = 1, 30 do - local _, _, _, count, _, start, duration, _, _, _, spellID = UnitDebuff(unit, index) + local name, _, _, count, _, start, duration, _, _, _, spellID = UnitDebuff(unit, index) if(spellID == ARCANE_CHARGE_ID) then - SPELLCOUNT = count + SPELLCOUNT = count or 0 return start, duration - end + end end end return 0,0,true @@ -155,8 +165,12 @@ local BarOnUpdate = function(self, elapsed) if timeLeft > 0 then self:SetValue(timeLeft) else - self.start = nil - self.duration = nil + if(SPELLCOUNT > 0) then + SPELLCOUNT = SPELLCOUNT - 1 + end + self.start = 0; + self.duration = 0; + self.elapsed = 0; self:SetValue(0) self:Hide() self:SetScript("OnUpdate", nil) @@ -195,7 +209,7 @@ local IcicleOnUpdate = function(self, elapsed) if(SPELLCOUNT > 0) then SPELLCOUNT = SPELLCOUNT - 1 end - self.elapsed = nil; + self.elapsed = 0; self:SetValue(0); self:Hide(); self:SetScript("OnUpdate", nil); @@ -241,6 +255,7 @@ local Update = function(self, event, ...) bar[i]:SetValue(start) bar[i]:SetScript('OnUpdate', BarOnUpdate) else + bar[i].elapsed = 0; bar[i]:SetValue(0) bar[i]:SetScript('OnUpdate', nil) bar[i]:Hide() @@ -256,6 +271,7 @@ local Update = function(self, event, ...) bar[i]:SetValue(31) bar[i]:SetScript('OnUpdate', IcicleOnUpdate) else + bar[i].elapsed = 0; bar[i]:SetValue(0) bar[i]:SetScript('OnUpdate', nil) bar[i]:FadeOut() @@ -281,21 +297,23 @@ local Proxy = function(self, ...) if((not bar.CurrentSpec) or (bar.CurrentSpec ~= spec)) then ResetMagic(self); if(spec) then - bar.CurrentSpec = spec; - if(bar.CurrentSpec == 3) then + if(spec == 3) then self:UnregisterEvent('UNIT_AURA', Update) self:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED', Update, true) --print("Switch To Frost") - elseif(bar.CurrentSpec == 2) then + bar.CurrentSpec = spec; + elseif(spec == 2) then self:RegisterEvent('UNIT_AURA', Update) self:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED', Update, true) if(not bar.Ignite:IsShown()) then bar.Ignite:Show() end bar.Ignite.Bar:SetValue(0) --print("Switch To Fire") - elseif(bar.CurrentSpec == 1) then + bar.CurrentSpec = spec; + elseif(spec == 1) then self:RegisterEvent('UNIT_AURA', Update) - self:UnregisterEvent('COMBAT_LOG_EVENT_UNFILTERED', Update) + self:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED', Update, true) --print("Switch To Arcane") + bar.CurrentSpec = spec; end if(bar.PostTalentUpdate) then bar:PostTalentUpdate(spec) end else @@ -319,6 +337,7 @@ local Enable = function(self, unit) if(bar) then self:RegisterEvent("PLAYER_TALENT_UPDATE", Path) + self:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED", Path) self:RegisterEvent("PLAYER_ENTERING_WORLD", Path) bar.__owner = self bar.ForceUpdate = ForceUpdate @@ -354,6 +373,7 @@ local Disable = function(self, unit) self:UnregisterEvent("UNIT_AURA", Update) self:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED", Update) self:UnregisterEvent("PLAYER_TALENT_UPDATE", Path) + self:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED", Path) self:UnregisterEvent("PLAYER_ENTERING_WORLD", Path) bar:Hide() end diff --git a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc index cccf22e..2ffd799 100644 --- a/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc +++ b/Interface/AddOns/SVUI/libs/oUF_Villain/Plugins/oUF_MageMagic/oUF_MageMagic.toc @@ -2,7 +2,7 @@ ## Title: oUF Mage Magic ## Notes: Adds support for mage spell indicators to oUF. ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Dependencies: oUF oUF_MageMagic.lua \ No newline at end of file diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua index 147ffc7..39cc496 100644 --- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua +++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua @@ -54,6 +54,7 @@ local hooksecurefunc = _G.hooksecurefunc; local BLANK_TEXTURE = [[Interface\BUTTONS\WHITE8X8]]; local BASIC_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]; local BORDER_TEXTURE = [[Interface\Addons\SVUI\assets\artwork\Template\ROUND]]; +local BORDER_BG = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\ORB-BG]]; local ICON_BAGS = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-BAGS]]; local ICON_SORT = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-SORT]]; local ICON_STACK = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-STACK]]; @@ -96,30 +97,35 @@ local function FormatCurrency(amount) end local function StyleBagToolButton(button, iconTex) - if button.styled then return end + if button.styled then return end + + local bg = button:CreateTexture(nil, "BACKGROUND") + bg:SetAllPointsOut(button, 4, 4) + bg:SetTexture(BORDER_BG) + bg:SetVertexColor(unpack(SV.Media.color.default)) local outer = button:CreateTexture(nil, "OVERLAY") - outer:SetAllPointsOut(button, 6, 6) + outer:SetAllPointsOut(button, 5, 5) outer:SetTexture(BORDER_TEXTURE) - outer:SetGradient("VERTICAL", 0.4, 0.47, 0.5, 0.3, 0.33, 0.35) + outer:SetGradient(unpack(SV.Media.gradient.container)) button:SetNormalTexture(iconTex) iconTex = button:GetNormalTexture() - iconTex:SetGradient("VERTICAL", 0.5, 0.53, 0.55, 0.8, 0.8, 1) + iconTex:SetGradient(unpack(SV.Media.gradient.medium)) local icon = button:CreateTexture(nil, "OVERLAY") - icon:SetAllPointsOut(button, 6, 6) + icon:SetAllPointsOut(button, 5, 5) SetPortraitToTexture(icon, iconTex) hooksecurefunc(icon, "SetTexture", SetPortraitToTexture) local hover = button:CreateTexture(nil, "HIGHLIGHT") - hover:SetAllPointsOut(button, 6, 6) + hover:SetAllPointsOut(button, 5, 5) hover:SetTexture(BORDER_TEXTURE) hover:SetGradient(unpack(SV.Media.gradient.yellow)) if button.SetPushedTexture then local pushed = button:CreateTexture(nil, "BORDER") - pushed:SetAllPointsOut(button, 6, 6) + pushed:SetAllPointsOut(button, 5, 5) pushed:SetTexture(BORDER_TEXTURE) pushed:SetGradient(unpack(SV.Media.gradient.highlight)) button:SetPushedTexture(pushed) @@ -127,7 +133,7 @@ local function StyleBagToolButton(button, iconTex) if button.SetCheckedTexture then local checked = button:CreateTexture(nil, "BORDER") - checked:SetAllPointsOut(button, 6, 6) + checked:SetAllPointsOut(button, 5, 5) checked:SetTexture(BORDER_TEXTURE) checked:SetGradient(unpack(SV.Media.gradient.green)) button:SetCheckedTexture(checked) @@ -135,7 +141,7 @@ local function StyleBagToolButton(button, iconTex) if button.SetDisabledTexture then local disabled = button:CreateTexture(nil, "BORDER") - disabled:SetAllPointsOut(button, 6, 6) + disabled:SetAllPointsOut(button, 5, 5) disabled:SetTexture(BORDER_TEXTURE) disabled:SetGradient(unpack(SV.Media.gradient.default)) button:SetDisabledTexture(disabled) @@ -621,9 +627,8 @@ local ContainerFrame_UpdateLayout = function(self) slot = CreateFrame("CheckButton", slotName, bag, template); slot:SetNormalTexture(""); slot:SetCheckedTexture(""); - slot:RemoveTextures() - slot:SetStylePanel("Slot", true, 2, 0, 0, 0.45); - slot.Panel.Shadow:SetAttribute("shadowAlpha", 0.9) + slot:RemoveTextures(); + slot:SetStylePanel("Slot", true, 1, 0, 0); if(not slot.NewItemTexture) then slot.NewItemTexture = slot:CreateTexture(nil, "OVERLAY", 1); @@ -642,8 +647,8 @@ local ContainerFrame_UpdateLayout = function(self) if(not slot.icon) then slot.icon = slot:CreateTexture(nil, "BORDER"); end - slot.icon:SetAllPointsIn(slot); slot.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9); + slot.icon:SetAllPointsIn(slot); slot.questIcon = _G[questIcon] or slot:CreateTexture(nil, "OVERLAY") slot.questIcon:SetTexture(TEXTURE_ITEM_QUEST_BANG); @@ -766,7 +771,7 @@ local ReagentFrame_UpdateLayout = function(self) slot:SetNormalTexture(nil); slot:SetCheckedTexture(nil); slot:RemoveTextures() - slot:SetStylePanel("Slot", true, 2, 0, 0, 0.5); + slot:SetStylePanel("Slot", true, 2, 0, 0); slot.NewItemTexture = slot:CreateTexture(nil, "OVERLAY", 1); slot.NewItemTexture:SetAllPointsIn(slot); @@ -1221,7 +1226,7 @@ do end local Tooltip_Hide = function(self) - self:GetNormalTexture():SetGradient("VERTICAL", 0.5, 0.53, 0.55, 0.8, 0.8, 1) + self:GetNormalTexture():SetGradient(unpack(SV.Media.gradient.medium)) GameTooltip:Hide() end @@ -1435,7 +1440,7 @@ do local bagsCount = #self.BagFrames + 1; local frame = CreateFrame("Button", bagName, isReagent and self.BankFrame or SV.Screen) - frame:SetStylePanel("Default", isReagent and "Action" or "Container") + frame:SetStylePanel("Default", "Container") frame:SetFrameStrata("HIGH") frame:SetFrameLevel(SVUI_ContainerFrame:GetFrameLevel() + 99) diff --git a/Interface/AddOns/SVUI/packages/chat/SVChat.lua b/Interface/AddOns/SVUI/packages/chat/SVChat.lua index 9421d81..0d219ac 100644 --- a/Interface/AddOns/SVUI/packages/chat/SVChat.lua +++ b/Interface/AddOns/SVUI/packages/chat/SVChat.lua @@ -274,10 +274,16 @@ do return msg end + local function _getlink(this, prefix, text, color) + text = tostring(text) + local colorstring = ("|cff%s%s|r"):format(color or "ffffff", tostring(this)) + return format("|H%s:%s|h%s|h", prefix, text, colorstring) + end + local function _parse(arg1, arg2, arg3) internalTest = true; local prefix = (" [%s]"):format(arg2) - local slink = prefix:link("url", arg2, "0099FF") + local slink = _getlink(prefix, "url", arg2, "0099FF") return ("%s "):format(slink) end diff --git a/Interface/AddOns/SVUI/packages/tip/SVTip.lua b/Interface/AddOns/SVUI/packages/tip/SVTip.lua index 8791eb9..4ff7879 100644 --- a/Interface/AddOns/SVUI/packages/tip/SVTip.lua +++ b/Interface/AddOns/SVUI/packages/tip/SVTip.lua @@ -291,7 +291,7 @@ local function tipcleaner(this) for i=3, this:NumLines() do local tip = _G["GameTooltipTextLeft"..i] local tipText = tip:GetText() - if tipText:find(PVP) or tipText:find(FACTION_ALLIANCE) or tipText:find(FACTION_HORDE) then + if(tipText and (tipText:find(PVP) or tipText:find(FACTION_ALLIANCE) or tipText:find(FACTION_HORDE))) then tip:SetText(nil) tip:Hide() end diff --git a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua index 1adbdab..ad6b2c1 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/castbar.lua @@ -548,12 +548,10 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha local hadouken = CreateFrame("Frame", nil, castbar) if ryu then - castbar.Time:SetFont(SV.Media.font.numbers, 12, "OUTLINE") - castbar.Time:SetShadowOffset(1, -1) + castbar.Time:FontManager("aura") castbar.Time:SetTextColor(1, 1, 1) - castbar.Text:SetFont(SV.Media.font.alert, 12, "OUTLINE") - castbar.Text:SetShadowOffset(0, 0) - castbar.Text:SetTextColor(1, 1, 1) + castbar.Text:FontManager("caps") + castbar.Text:SetTextColor(1, 1, 1, 0.75) castbar:SetStatusBarTexture(SV.Media.bar.lazer) @@ -606,7 +604,6 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha organizer:SetPointToScale("LEFT", castbar, "RIGHT", 4, 0) castbar.Time:SetPointToScale("RIGHT", castbar, "LEFT", -4, 0) - castbar.Time:SetJustifyH("CENTER") else hadouken[1] = hadouken:CreateTexture(nil, "ARTWORK") hadouken[1]:SetAllPoints(hadouken) @@ -642,26 +639,20 @@ function MOD:CreateCastbar(frame, reversed, moverName, ryu, useFader, isBoss, ha organizer:SetPointToScale("RIGHT", castbar, "LEFT", -4, 0) castbar.Time:SetPointToScale("LEFT", castbar, "RIGHT", 4, 0) - castbar.Time:SetJustifyH("CENTER") end -- castbar.Time:SetPointToScale("CENTER", organizer, "CENTER", 0, 0) -- castbar.Time:SetJustifyH("CENTER") castbar.Text:SetAllPoints(castbar) - castbar.Text:SetJustifyH("CENTER") else - castbar.Time:SetFont(SV.Media.font.default, 11) - castbar.Time:SetShadowOffset(1, -1) + castbar.Time:FontManager("aura", "RIGHT") castbar.Time:SetTextColor(1, 1, 1, 0.9) castbar.Time:SetPoint("RIGHT", castbar, "LEFT", -1, 0) - castbar.Time:SetJustifyH("RIGHT") - castbar.Text:SetFont(SV.Media.font.default, 11) - castbar.Text:SetShadowOffset(1, -1) + castbar.Text:FontManager("caps") castbar.Text:SetTextColor(1, 1, 1, 0.9) castbar.Text:SetAllPoints(castbar) - castbar.Text:SetJustifyH("CENTER") castbar.pewpew = false diff --git a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua index 1e4b817..42a11a7 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/essentials.lua @@ -263,7 +263,7 @@ local function CreateThreat(frame, unit) aggro:SetFrameStrata("HIGH") aggro:SetFrameLevel(30) aggro:SetSize(40,40) - aggro:SetPoint("CENTER", frame, "TOPRIGHT", -6, -6) + aggro:SetPoint("BOTTOMLEFT", frame, "TOPRIGHT", -6, -6) aggro.texture = aggro:CreateTexture(nil, "OVERLAY") aggro.texture:SetAllPoints(aggro) aggro.texture:SetTexture(AGGRO_TEXTURE) @@ -386,16 +386,17 @@ end function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) if(unit and (unit == "target" or unit == "player")) then frame.ActionPanel = CreateActionPanel(frame, 3) - + local baseSize = SV.db.font.unitprimary.size / 0.55; local info = CreateFrame("Frame", nil, frame) info:SetFrameStrata("BACKGROUND") info:SetFrameLevel(0) - info:SetPointToScale("TOPLEFT", frame.ActionPanel, "BOTTOMLEFT", -1, 1) - info:SetPointToScale("TOPRIGHT", frame.ActionPanel, "BOTTOMRIGHT", 1, 1) - info:SetHeight(30) + info:SetPointToScale("TOPLEFT", frame.ActionPanel, "BOTTOMLEFT", 0, 1) + info:SetPointToScale("TOPRIGHT", frame.ActionPanel, "BOTTOMRIGHT", 0, 1) + info:SetHeight(baseSize) local bg = info:CreateTexture(nil, "BACKGROUND") - bg:SetAllPointsIn(info) + bg:SetPointToScale("TOPLEFT", frame.ActionPanel, "BOTTOMLEFT", 0, 1) + bg:SetPointToScale("BOTTOMRIGHT", info, "BOTTOMRIGHT", 0, 0) bg:SetTexture(1, 1, 1, 1) bg:SetGradientAlpha("VERTICAL", 0, 0, 0, 0, 0, 0, 0, 0.7) @@ -477,6 +478,8 @@ function MOD:SetActionPanel(frame, unit, noHealthText, noPowerText, noMiscText) border4:SetPoint("BOTTOMLEFT") border4:SetWidth(2) else + frame.InfoPanel = info; + frame.LossOfControl = CreateFrame("Frame", nil, frame.TextGrip) frame.LossOfControl:SetAllPoints(frame) frame.LossOfControl:SetFrameStrata("DIALOG") diff --git a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua index 0451860..df5bb18 100644 --- a/Interface/AddOns/SVUI/packages/unit/elements/misc.lua +++ b/Interface/AddOns/SVUI/packages/unit/elements/misc.lua @@ -302,37 +302,45 @@ end PLAYER ONLY COMPONENTS ########################################################## ]]-- -function MOD:CreateRestingIndicator(frame) +function MOD:CreatePlayerIndicators(frame) local resting = CreateFrame("Frame",nil,frame) resting:SetFrameStrata("MEDIUM") resting:SetFrameLevel(20) resting:SetSizeToScale(26,26) - resting:SetPointToScale("TOPRIGHT",frame,3,3) + resting:SetPointToScale("BOTTOMRIGHT", frame.Health, "BOTTOMRIGHT", 0, 0) resting.bg = resting:CreateTexture(nil,"OVERLAY",nil,1) resting.bg:SetAllPoints(resting) resting.bg:SetTexture(STATE_ICON_FILE) resting.bg:SetTexCoord(0.5,1,0,0.5) - return resting -end - -function MOD:CreateCombatIndicator(frame) + local combat = CreateFrame("Frame",nil,frame) combat:SetFrameStrata("MEDIUM") combat:SetFrameLevel(30) combat:SetSizeToScale(26,26) - combat:SetPointToScale("TOPRIGHT",frame,3,3) + combat:SetPointToScale("BOTTOMLEFT", frame , "TOPRIGHT", 3, 3) combat.bg = combat:CreateTexture(nil,"OVERLAY",nil,5) combat.bg:SetAllPoints(combat) combat.bg:SetTexture(STATE_ICON_FILE) combat.bg:SetTexCoord(0,0.5,0,0.5) + combat.linked = resting SV.Animate:Pulse(combat) + --IsResting() combat:SetScript("OnShow", function(this) - if not this.anim:IsPlaying() then this.anim:Play() end + if not this.anim:IsPlaying() then this.anim:Play() end + if(resting:IsShown()) then + resting:SetAlpha(0) + end end) - combat:Hide() - return combat -end + combat:SetScript("OnHide", function(this) + if(IsResting()) then + resting:SetAlpha(1) + end + end) + + frame.Resting = resting + frame.Combat = combat +end local ExRep_OnEnter = function(self)if self:IsShown() then UIFrameFadeIn(self,.1,0,1) end end local ExRep_OnLeave = function(self)if self:IsShown() then UIFrameFadeOut(self,.2,1,0) end end @@ -581,7 +589,7 @@ end RESOLVE ########################################################## ]]-- -local resolve +local cached_resolve; local resolveId = GetSpellInfo(158300) local function Short(value) @@ -634,49 +642,56 @@ end local ResolveBar_OnEvent = function(self, event, unit) if(event == 'UNIT_AURA') then local _, _, _, _, _, _, _, _, _, _, _, _, _, _, value, amount = UnitBuff(unit, resolveId) - if resolve ~= amount then - resolve = amount - self:SetValue(value) - self.text:SetText(Short(amount)) + if(value and amount and (cached_resolve ~= amount)) then + cached_resolve = amount + self.bar:SetValue(value) + self.bar.text:SetText(Short(amount)) + self:FadeIn() end else if IsTank() then - if(not self:IsShown()) then + if(not self.bar:IsShown()) then self:RegisterUnitEvent("UNIT_AURA", "player") - self:Show() + self.bar:Show() end else - if(self:IsShown()) then + if(self.bar:IsShown()) then self:UnregisterEvent("UNIT_AURA") - self:Hide() + self.bar:Hide() end end end + if(self.bar:IsShown()) then + if(self.bar.text:GetText() == "0") then + self.bar.text:SetText("") + self:FadeOut() + end + end end function MOD:CreateResolveBar(frame) - local health = frame.Health; - - local resolve = CreateFrame('StatusBar', nil, health) - resolve:SetPoint("BOTTOMLEFT", health, "BOTTOMLEFT", -1, -1) - resolve:SetPoint("BOTTOMRIGHT", health, "BOTTOMRIGHT", 1, -1) - resolve:SetHeight(5) - resolve:SetFrameStrata("LOW") - resolve:SetFrameLevel(11) - resolve:SetStylePanel("Default", "Bar") - resolve:SetStatusBarTexture([[Interface\BUTTONS\WHITE8X8]]) - resolve:SetStatusBarColor(0.15, 0.7, 0.05, 0.9) - resolve:SetMinMaxValues(0, 100) - - resolve.text = resolve:CreateFontString(nil, "OVERLAY") - resolve.text:SetPoint("RIGHT") - resolve.text:FontManager("pixel", "RIGHT") - - resolve:Hide() + local resolve = CreateFrame("Frame", nil, frame) + resolve:SetPointToScale("TOPLEFT", frame.Health, "TOPLEFT", 0, 0) + resolve:SetPointToScale("TOPRIGHT", frame.Health, "TOPRIGHT", 0, 0) + resolve:SetHeight(8) + + local bar = CreateFrame('StatusBar', nil, resolve) + bar:SetAllPointsIn(resolve) + bar:SetStylePanel("Default", "Bar") + bar:SetStatusBarTexture([[Interface\BUTTONS\WHITE8X8]]) + bar:SetStatusBarColor(0.15, 0.7, 0.05, 0.9) + bar:SetMinMaxValues(0, 100) + bar.text = bar:CreateFontString(nil, "OVERLAY") + bar.text:SetPoint("LEFT") + bar.text:FontManager("pixel", "LEFT") + bar.text:SetTextColor(0.8, 0.42, 0.09) + bar:Hide() + resolve.bar = bar; resolve:RegisterEvent("PLAYER_TALENT_UPDATE") resolve:RegisterEvent("PLAYER_ENTERING_WORLD") resolve:SetScript('OnEvent', ResolveBar_OnEvent) - + + ResolveBar_OnEvent(resolve) return resolve end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/packages/unit/frames.lua b/Interface/AddOns/SVUI/packages/unit/frames.lua index 69ed2ad..b01a147 100644 --- a/Interface/AddOns/SVUI/packages/unit/frames.lua +++ b/Interface/AddOns/SVUI/packages/unit/frames.lua @@ -203,41 +203,7 @@ local UpdatePlayerFrame = function(self) pvp:SetPointToScale(db.pvp.position, MASTER_GRIP, db.pvp.position) self:Tag(pvp, db.pvp.tags) end - do - if SV.class == "DRUID" and self.DruidMana then - if db.power.druidMana then - self:EnableElement("DruidMana") - else - self:DisableElement("DruidMana") - self.DruidMana:Hide() - end - end - if SV.class == "MONK" then - local stagger = self.DrunkenMaster; - if db.stagger.enable then - if not self:IsElementEnabled("DrunkenMaster")then - self:EnableElement("DrunkenMaster") - end - else - if self:IsElementEnabled("DrunkenMaster")then - self:DisableElement("DrunkenMaster") - end - end - end - end do - if(self.DrunkenMaster) then - if db.stagger.enable then - if not self:IsElementEnabled("DrunkenMaster")then - self:EnableElement("DrunkenMaster") - end - else - if self:IsElementEnabled("DrunkenMaster")then - self:DisableElement("DrunkenMaster") - end - end - end - if(self.ClassBar) then if USE_CLASSBAR and self.ClassBarRefresh then self.ClassBarRefresh(self) @@ -291,8 +257,7 @@ CONSTRUCTORS["player"] = function(self, unit) MOD:CreateExperienceRepBar(self) self.ClassBar = MOD:CreateClassBar(self) self.RaidIcon = MOD:CreateRaidIcon(self) - self.Resting = MOD:CreateRestingIndicator(self) - self.Combat = MOD:CreateCombatIndicator(self) + MOD:CreatePlayerIndicators(self) self.PvPText = self.TextGrip:CreateFontString(nil,'OVERLAY') self.PvPText:FontManager("dialog") self.Afflicted = MOD:CreateAfflicted(self) diff --git a/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua b/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua index 27562a2..ffe5de5 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/deathknight.lua @@ -53,7 +53,7 @@ LOCALS SV.SpecialFX:Register("rune_blood", [[Spells\Monk_drunkenhaze_impact.m2]], 0, 0, 0, 0, 0.00001, 0, 0.3) SV.SpecialFX:Register("rune_frost", [[Spells\Ice_cast_low_hand.m2]], 0, 0, 0, 0, 0.00001, -0.2, 0.4) SV.SpecialFX:Register("rune_unholy", [[Spells\Poison_impactdot_med_chest.m2]], 0, 0, 0, 0, 0.13, -0.3, -0.2) -SV.SpecialFX:Register("rune_death", [[Spells\Shadow_strikes_state_hand.m2]], 0, 0, 0, 0, 0.001, 0, -0.35) +SV.SpecialFX:Register("rune_death", [[Spells\Shadow_strikes_state_hand.m2]], 0, 0, 0, 0, 0.001, 0, -0.25) local specEffects = { [1] = "rune_blood", [2] = "rune_blood", @@ -67,7 +67,9 @@ local colors = { {0.1, 0.75, 0}, -- unholy {0, 0.5, 0.75}, -- frost {0.5, 0, 1}, -- death -} +}; +local RUNE_FG = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\RUNES-FG]]; +local RUNE_BG = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\RUNES-BG]]; --[[ ########################################################## POSITIONING @@ -78,6 +80,7 @@ local Reposition = function(self) local bar = self.Necromancy; local max = self.MaxClassPower; local size = db.classbar.height + local inset = size * 0.1 local width = size * max; bar.Holder:SetSizeToScale(width, size) @@ -93,14 +96,16 @@ local Reposition = function(self) bar:SetAllPoints(bar.Holder) for i = 1, max do bar[i]:ClearAllPoints() - bar[i]:SetHeight(size+4) + bar[i]:SetHeight(size + 4) bar[i]:SetWidth(size) bar[i].bar:GetStatusBarTexture():SetHorizTile(false) if i==1 then bar[i]:SetPoint("TOPLEFT", bar, "TOPLEFT", 0, 1) else - bar[i]:SetPointToScale("LEFT", bar[i - 1], "RIGHT", -3, 0) + bar[i]:SetPointToScale("LEFT", bar[i - 1], "RIGHT", -6, 0) end + bar[i].bar:ClearAllPoints() + bar[i].bar:SetAllPointsIn(bgFrame,inset,inset) end if bar.UpdateAllRuneTypes then @@ -135,39 +140,23 @@ function MOD:CreateClassBar(playerFrame) local bgTexture = bgFrame:CreateTexture(nil, "BORDER") bgTexture:SetAllPoints(bgFrame) - bgTexture:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]) + bgTexture:SetTexture(RUNE_BG) bgTexture:SetGradientAlpha("VERTICAL",colors[1],colors[2],colors[3],0.75,0,0,0,0.25) - local borderB = bgFrame:CreateTexture(nil,"OVERLAY") - borderB:SetTexture(0,0,0) - borderB:SetPoint("BOTTOMLEFT") - borderB:SetPoint("BOTTOMRIGHT") - borderB:SetHeight(2) - - local borderT = bgFrame:CreateTexture(nil,"OVERLAY") - borderT:SetTexture(0,0,0) - borderT:SetPoint("TOPLEFT") - borderT:SetPoint("TOPRIGHT") - borderT:SetHeight(2) - - local borderL = bgFrame:CreateTexture(nil,"OVERLAY") - borderL:SetTexture(0,0,0) - borderL:SetPoint("TOPLEFT") - borderL:SetPoint("BOTTOMLEFT") - borderL:SetWidth(2) - - local borderR = bgFrame:CreateTexture(nil,"OVERLAY") - borderR:SetTexture(0,0,0) - borderR:SetPoint("TOPRIGHT") - borderR:SetPoint("BOTTOMRIGHT") - borderR:SetWidth(2) - rune.bar = CreateFrame("StatusBar", nil, bgFrame) rune.bar.noupdate = true; - rune.bar:SetAllPointsIn(bgFrame) + rune.bar:SetAllPointsIn(bgFrame,4,4) rune.bar:SetOrientation("HORIZONTAL") rune.bar:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]) + local fgFrame = CreateFrame("Frame", nil, rune.bar) + fgFrame:SetAllPoints(bgFrame) + + local fgTexture = fgFrame:CreateTexture(nil, "OVERLAY") + fgTexture:SetAllPoints(fgFrame) + fgTexture:SetTexture(RUNE_FG) + fgTexture:SetVertexColor(0.25,0.25,0.25) + local effectName = specEffects[i] SV.SpecialFX:SetFXFrame(rune.bar, effectName) diff --git a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua index 4e1c59d..7f9310d 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/mage.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/mage.lua @@ -48,9 +48,16 @@ if(not MOD) then return end local ORB_ICON = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\ORB]]; local ORB_BG = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\ORB-BG]]; -local MAGE_ANIMATION = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\MAGE-BG-ANIMATION]]; +local CHARGE_ICON = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\MAGE-CHARGE]]; +local ICICLE_ICON = [[Interface\AddOns\SVUI\assets\artwork\Unitframe\Class\MAGE-ICICLE]]; +local NO_ART = [[Interface\AddOns\SVUI\assets\artwork\Template\EMPTY]]; SV.SpecialFX:Register("mage_fire", [[Spells\Fill_fire_cast_01.m2]], 2, -2, -2, 2, 0.5, -0.45, 1) local specEffects = { [1] = "arcane", [2] = "mage_fire", [3] = "frost" }; +local specColors = { + [1] = {0.8, 1, 1, 1}, + [2] = {1, 0.2, 0, 0.75}, + [3] = {0.95, 1, 1, 0.75} +}; --[[ ########################################################## POSITIONING @@ -77,11 +84,10 @@ local Reposition = function(self) bar[i]:ClearAllPoints() bar[i]:SetHeight(size) bar[i]:SetWidth(size) - bar[i]:SetStatusBarColor(0.15, 0.65, 0.85) if i==1 then bar[i]:SetPoint("TOPLEFT", bar, "TOPLEFT", 0, 0) else - bar[i]:SetPointToScale("LEFT", bar[i - 1], "RIGHT", -1, 0) + bar[i]:SetPointToScale("LEFT", bar[i - 1], "RIGHT", -3, 0) end end end @@ -94,8 +100,19 @@ local PostTalentUpdate = function(self, spec) if(not self:IsShown()) then self:Show() end - if(spec == 1 or spec == 3) then + local color = specColors[spec] + if(spec == 1) then for i = 1, 5 do + self[i]:SetStatusBarTexture(CHARGE_ICON) + self[i].bg:SetTexture(ORB_BG) + self[i]:SetStatusBarColor(unpack(color)) + self[i].FX:SetEffect(specEffects[spec]) + end + elseif(spec == 3) then + for i = 1, 5 do + self[i]:SetStatusBarTexture(ICICLE_ICON.."-"..i) + self[i].bg:SetTexture(ICICLE_ICON.."-"..i) + self[i]:SetStatusBarColor(unpack(color)) self[i].FX:SetEffect(specEffects[spec]) end else @@ -106,29 +123,27 @@ end function MOD:CreateClassBar(playerFrame) local max = 5 local spec = GetSpecialization() + local color = specColors[spec] local effectName = specEffects[spec] local bar = CreateFrame("Frame",nil,playerFrame) bar:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 30) for i = 1, max do bar[i] = CreateFrame("StatusBar", nil, bar) - bar[i]:SetStatusBarTexture(ORB_ICON) + bar[i]:SetStatusBarTexture(CHARGE_ICON) bar[i]:GetStatusBarTexture():SetHorizTile(false) bar[i]:SetOrientation("VERTICAL") + bar[i]:SetStatusBarColor(unpack(color)) bar[i].noupdate = true; bar[i].bg = bar[i]:CreateTexture(nil, "BACKGROUND") bar[i].bg:SetAllPoints(bar[i]) bar[i].bg:SetTexture(ORB_BG); - - bar[i].fg = bar[i]:CreateTexture(nil, "OVERLAY") - bar[i].fg:SetAllPoints(bar[i]) - bar[i].fg:SetTexture(MAGE_ANIMATION) - bar[i].fg:SetBlendMode("ADD") - bar[i].fg:SetVertexColor(0.5,0.6,0.6) - bar[i].fg:SetTexCoord(0,0.25,0,1) + bar[i].bg:SetVertexColor(0.25,0.5,0.5) SV.SpecialFX:SetFXFrame(bar[i], effectName) + --bar[i].FX:SetFrameLevel(0) + bar[i].FX:SetAlpha(0.5) end local bgFrame = CreateFrame("Frame", nil, bar) diff --git a/Interface/AddOns/SVUI/packages/unit/resources/monk.lua b/Interface/AddOns/SVUI/packages/unit/resources/monk.lua index e172bd7..f3aa043 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/monk.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/monk.lua @@ -109,7 +109,7 @@ MONK HARMONY ]]-- function MOD:CreateClassBar(playerFrame) local max = 6 - local bar = CreateFrame("Frame",nil,playerFrame) + local bar = CreateFrame("Frame", nil, playerFrame) bar:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 30) for i=1, max do local coords = CHI_COORDS[i] @@ -127,7 +127,7 @@ function MOD:CreateClassBar(playerFrame) bar[i].glow:SetTexture(CHI_FILE) bar[i].glow:SetTexCoord(coords[1],coords[2],coords[3],coords[4]) - bar[i].overlay = bar[i]:CreateTexture(nil, "OVERLAY", nil, 1) + bar[i].overlay = bar[i]:CreateTexture(nil, "OVERLAY", nil, 7) bar[i].overlay:SetAllPoints(bar[i]) bar[i].overlay:SetTexture(CHI_FILE) bar[i].overlay:SetTexCoord(coords[1],coords[2],coords[3],coords[4]) @@ -137,30 +137,31 @@ function MOD:CreateClassBar(playerFrame) bar[i]:SetScript("OnHide", StopFlash) SV.SpecialFX:SetFXFrame(bar[i], "chi") + bar[i].FX:SetFrameLevel(bar[i]:GetFrameLevel()) end local stagger = CreateFrame("Statusbar",nil,playerFrame) - stagger:SetSize(45,90) - stagger:SetPointToScale('BOTTOMLEFT', playerFrame, 'BOTTOMRIGHT', 6, 0) + stagger:SetPointToScale('TOPLEFT', playerFrame, 'TOPRIGHT', 3, 0) + stagger:SetPointToScale('BOTTOMLEFT', playerFrame, 'BOTTOMRIGHT', 3, 0) + stagger:SetWidth(10) + stagger:SetStylePanel("Default", "Bar") stagger:SetOrientation("VERTICAL") - stagger:SetStatusBarTexture(STAGGER_BAR) - stagger:GetStatusBarTexture():SetHorizTile(false) + stagger:SetStatusBarTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]) + --stagger:GetStatusBarTexture():SetHorizTile(false) stagger.bg = stagger:CreateTexture(nil,'BORDER',nil,1) stagger.bg:SetAllPoints(stagger) - stagger.bg:SetTexture(STAGGER_BG) - stagger.bg:SetVertexColor(1,1,1,0.6) + stagger.bg:SetTexture([[Interface\AddOns\SVUI\assets\artwork\Bars\DEFAULT]]) + stagger.bg:SetVertexColor(0,0,0,0.33) - stagger.overlay = stagger:CreateTexture(nil,'OVERLAY') - stagger.overlay:SetAllPoints(stagger) - stagger.overlay:SetTexture(STAGGER_FG) - stagger.overlay:SetVertexColor(1,1,1) + -- stagger.overlay = stagger:CreateTexture(nil,'OVERLAY') + -- stagger.overlay:SetAllPoints(stagger) + -- stagger.overlay:SetTexture(STAGGER_FG) + -- stagger.overlay:SetVertexColor(1,1,1) - stagger.icon = stagger:CreateTexture(nil,'OVERLAY') - stagger.icon:SetAllPoints(stagger) - stagger.icon:SetTexture(STAGGER_ICON) - - stagger:Hide() + -- stagger.icon = stagger:CreateTexture(nil,'OVERLAY') + -- stagger.icon:SetAllPoints(stagger) + -- stagger.icon:SetTexture(STAGGER_ICON) bar.DrunkenMaster = stagger diff --git a/Interface/AddOns/SVUI/packages/unit/resources/warrior.lua b/Interface/AddOns/SVUI/packages/unit/resources/warrior.lua index 194d588..19a6da2 100644 --- a/Interface/AddOns/SVUI/packages/unit/resources/warrior.lua +++ b/Interface/AddOns/SVUI/packages/unit/resources/warrior.lua @@ -50,17 +50,18 @@ local Reposition = function(self) local max = self.MaxClassPower; local size = db.classbar.height local width = size * max; + bar.Holder:SetSizeToScale(width, size) - if(not db.classbar.detachFromFrame) then - SV.Mentalo:Reset(L["Classbar"]) - end - local holderUpdate = bar.Holder:GetScript('OnSizeChanged') - if holderUpdate then - holderUpdate(bar.Holder) - end - - bar:ClearAllPoints() - bar:SetAllPoints(bar.Holder) + if(not db.classbar.detachFromFrame) then + SV.Mentalo:Reset(L["Classbar"]) + end + local holderUpdate = bar.Holder:GetScript('OnSizeChanged') + if holderUpdate then + holderUpdate(bar.Holder) + end + + bar:ClearAllPoints() + bar:SetAllPoints(bar.Holder) end local EffectModel_OnShow = function(self) @@ -68,72 +69,70 @@ local EffectModel_OnShow = function(self) end function MOD:CreateClassBar(playerFrame) - return -end --- function MOD:CreateClassBar(playerFrame) --- local max = 6 --- local bar = CreateFrame("Frame",nil,playerFrame) - --- bar:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 30) --- --SV.SpecialFX:SetFXFrame(bar, "conqueror") --- --bar.FX:SetFrameStrata("BACKGROUND") --- --bar.FX:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 1) - --- local bgFrame = CreateFrame("Frame", nil, bar) --- bgFrame:SetAllPointsIn(bar, 1, 4) --- SV.SpecialFX:SetFXFrame(bgFrame, "conqueror") - --- local bgTexture = bgFrame:CreateTexture(nil, "BACKGROUND") --- bgTexture:SetAllPoints(bgFrame) --- bgTexture:SetTexture(0.2,0,0,0.5) - --- local borderB = bgFrame:CreateTexture(nil,"OVERLAY") --- borderB:SetTexture(0,0,0) --- borderB:SetPoint("BOTTOMLEFT") --- borderB:SetPoint("BOTTOMRIGHT") --- borderB:SetHeight(2) - --- local borderT = bgFrame:CreateTexture(nil,"OVERLAY") --- borderT:SetTexture(0,0,0) --- borderT:SetPoint("TOPLEFT") --- borderT:SetPoint("TOPRIGHT") --- borderT:SetHeight(2) - --- local borderL = bgFrame:CreateTexture(nil,"OVERLAY") --- borderL:SetTexture(0,0,0) --- borderL:SetPoint("TOPLEFT") --- borderL:SetPoint("BOTTOMLEFT") --- borderL:SetWidth(2) - --- local borderR = bgFrame:CreateTexture(nil,"OVERLAY") --- borderR:SetTexture(0,0,0) --- borderR:SetPoint("TOPRIGHT") --- borderR:SetPoint("BOTTOMRIGHT") --- borderR:SetWidth(2) - --- bar.bg = bgTexture; - --- local enrage = CreateFrame("StatusBar", nil, bgFrame) --- enrage.noupdate = true; --- enrage:SetAllPointsIn(bgFrame) --- enrage:SetOrientation("HORIZONTAL") --- enrage:SetStatusBarTexture(SV.Media.bar.glow) --- enrage:SetStatusBarColor(1, 0.2, 0, 0.75) - --- --SV.SpecialFX:SetFXFrame(enrage, "conqueror", true) --- --enrage.FX:SetScript("OnShow", EffectModel_OnShow) --- bar.Enrage = enrage; - - --- local classBarHolder = CreateFrame("Frame", "Player_ClassBar", bar) --- classBarHolder:SetPointToScale("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) --- bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) --- bar.Holder = classBarHolder --- SV.Mentalo:Add(bar.Holder, L["Classbar"]) - --- playerFrame.MaxClassPower = max --- playerFrame.ClassBarRefresh = Reposition - --- playerFrame.Conqueror = bar --- return 'Conqueror' --- end \ No newline at end of file + local max = 6 + local bar = CreateFrame("Frame",nil,playerFrame) + + bar:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 30) + --SV.SpecialFX:SetFXFrame(bar, "conqueror") + --bar.FX:SetFrameStrata("BACKGROUND") + --bar.FX:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 1) + + local bgFrame = CreateFrame("Frame", nil, bar) + bgFrame:SetAllPointsIn(bar, 1, 4) + SV.SpecialFX:SetFXFrame(bgFrame, "conqueror") + + local bgTexture = bgFrame:CreateTexture(nil, "BACKGROUND") + bgTexture:SetAllPoints(bgFrame) + bgTexture:SetTexture(0.2,0,0,0.5) + + local borderB = bgFrame:CreateTexture(nil,"OVERLAY") + borderB:SetTexture(0,0,0) + borderB:SetPoint("BOTTOMLEFT") + borderB:SetPoint("BOTTOMRIGHT") + borderB:SetHeight(2) + + local borderT = bgFrame:CreateTexture(nil,"OVERLAY") + borderT:SetTexture(0,0,0) + borderT:SetPoint("TOPLEFT") + borderT:SetPoint("TOPRIGHT") + borderT:SetHeight(2) + + local borderL = bgFrame:CreateTexture(nil,"OVERLAY") + borderL:SetTexture(0,0,0) + borderL:SetPoint("TOPLEFT") + borderL:SetPoint("BOTTOMLEFT") + borderL:SetWidth(2) + + local borderR = bgFrame:CreateTexture(nil,"OVERLAY") + borderR:SetTexture(0,0,0) + borderR:SetPoint("TOPRIGHT") + borderR:SetPoint("BOTTOMRIGHT") + borderR:SetWidth(2) + + bar.bg = bgTexture; + + local enrage = CreateFrame("StatusBar", nil, bgFrame) + enrage.noupdate = true; + enrage:SetAllPointsIn(bgFrame) + enrage:SetOrientation("HORIZONTAL") + enrage:SetStatusBarTexture(SV.Media.bar.glow) + enrage:SetStatusBarColor(1, 0, 0, 0.75) + + bgFrame.bar = enrage; + --SV.SpecialFX:SetFXFrame(enrage, "conqueror", true) + --enrage.FX:SetScript("OnShow", EffectModel_OnShow) + bar.Enrage = bgFrame; + + + local classBarHolder = CreateFrame("Frame", "Player_ClassBar", bar) + classBarHolder:SetPointToScale("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) + bar:SetPoint("TOPLEFT", classBarHolder, "TOPLEFT", 0, 0) + bar.Holder = classBarHolder + SV.Mentalo:Add(bar.Holder, L["Classbar"]) + + playerFrame.MaxClassPower = max + playerFrame.ClassBarRefresh = Reposition + + playerFrame.Conqueror = bar + return 'Conqueror' +end \ No newline at end of file diff --git a/Interface/AddOns/SVUI/setup/presets.lua b/Interface/AddOns/SVUI/setup/presets.lua index 81c10dd..15be2ac 100644 --- a/Interface/AddOns/SVUI/setup/presets.lua +++ b/Interface/AddOns/SVUI/setup/presets.lua @@ -98,8 +98,8 @@ local function LoadPresetData() ["unitframes"] = { ["buff_bars"] = {.91, .91, .31, 1}, ["health"] = {.1, .6, .02, 1}, - ["casting"] = {.91, .91, .31, 1}, - ["spark"] = {1, .72, 0, 1}, + ["casting"] = {0, 0.92, 1, 1}, + ["spark"] = {0, 0.42, 1, 1}, }, }, ["kaboom"] = { @@ -116,8 +116,8 @@ local function LoadPresetData() ["unitframes"] = { ["buff_bars"] = {.51, .79, 0, 1}, ["health"] = {.16, .86, .22, 1}, - ["casting"] = {.91, .91, 0, 1}, - ["spark"] = {1, .72, 0, 1}, + ["casting"] = {0, 0.92, 1, 1}, + ["spark"] = {0, 0.42, 1, 1}, }, }, ["classy"] = { @@ -134,8 +134,8 @@ local function LoadPresetData() ["unitframes"] = { ["buff_bars"] = {scc.r, scc.g, scc.b, 1}, ["health"] = {.16, .86, .22, 1}, - ["casting"] = {.91, .91, 0, 1}, - ["spark"] = {1, .72, 0, 1}, + ["casting"] = {0, 0.92, 1, 1}, + ["spark"] = {0, 0.42, 1, 1}, }, }, ["dark"] = { @@ -152,8 +152,8 @@ local function LoadPresetData() ["unitframes"] = { ["buff_bars"] = {.45, .55, .15, 1}, ["health"] = {.06, .06, .06, 1}, - ["casting"] = {.8, .8, 0, 1}, - ["spark"] = {1, .72, 0, 1}, + ["casting"] = {0, 0.92, 1, 1}, + ["spark"] = {0, 0.42, 1, 1}, }, }, }, diff --git a/Interface/AddOns/SVUI/system/core.lua b/Interface/AddOns/SVUI/system/core.lua index 56bccc1..5680946 100644 --- a/Interface/AddOns/SVUI/system/core.lua +++ b/Interface/AddOns/SVUI/system/core.lua @@ -125,12 +125,26 @@ local function _sendmessage(msg, prefix) end end +local function _explode(this, delim) + local pattern = string.format("([^%s]+)", delim) + local res = {} + for line in string.gmatch(this, pattern) do + tinsert(res, line) + end + return res +end local function _needsupdate(value, lowest) local minimumVersion = 5; --print(table.dump(self.safedata)) local version = value or '0.0'; - local vt = version:explode(".") + if(version and type(version) ~= string) then + version = tostring(version) + end + if(not version) then + return true + end + local vt = _explode(version, ".") local MAJOR,MINOR,PATCH = unpack(vt) if(MAJOR) then if(type(MAJOR) == "string") then diff --git a/Interface/AddOns/SVUI/system/media.lua b/Interface/AddOns/SVUI/system/media.lua index f253a3e..3e254c4 100644 --- a/Interface/AddOns/SVUI/system/media.lua +++ b/Interface/AddOns/SVUI/system/media.lua @@ -174,9 +174,11 @@ do ["default"] = {0.2, 0.2, 0.2, 1}, ["special"] = {.37, .32, .29, 1}, ["specialdark"] = {.23, .22, .21, 1}, - ["unique"] = {0.32, 0.258, 0.21, 1}, + ["unique"] = {0.32, 0.258, 0.21, 1}, + ["container"] = {.28, .27, .26, 1}, ["class"] = {r1, g1, b1, 1}, ["bizzaro"] = {ir1, ig1, ib1, 1}, + ["medium"] = {0.47, 0.47, 0.47}, ["dark"] = {0, 0, 0, 1}, ["darkest"] = {0, 0, 0, 1}, ["light"] = {0.95, 0.95, 0.95, 1}, @@ -190,10 +192,32 @@ do ["gold"] = {1, 0.68, 0.1, 1}, ["transparent"] = {0, 0, 0, 0.5}, ["hinted"] = {0, 0, 0, 0.35}, - ["invisible"] = {0, 0, 0, 0}, + ["invisible"] = {0, 0, 0, 0}, ["white"] = {1, 1, 1, 1}, } + SV.Media["gradient"] = { + ["default"] = {"VERTICAL", 0.08, 0.08, 0.08, 0.22, 0.22, 0.22}, + ["special"] = {"VERTICAL", 0.33, 0.25, 0.13, 0.47, 0.39, 0.27}, + ["specialdark"] = {"VERTICAL", 0.23, 0.15, 0.03, 0.33, 0.25, 0.13}, + ["container"] = {"VERTICAL", 0.12, 0.11, 0.1, 0.22, 0.21, 0.2}, + ["class"] = {"VERTICAL", r2, g2, b2, r1, g1, b1}, + ["bizzaro"] = {"VERTICAL", ir2, ig2, ib2, ir1, ig1, ib1}, + ["medium"] = {"VERTICAL", 0.22, 0.22, 0.22, 0.47, 0.47, 0.47}, + ["dark"] = {"VERTICAL", 0.02, 0.02, 0.02, 0.22, 0.22, 0.22}, + ["darkest"] = {"VERTICAL", 0.15, 0.15, 0.15, 0, 0, 0}, + ["darkest2"] = {"VERTICAL", 0, 0, 0, 0.12, 0.12, 0.12}, + ["light"] = {"VERTICAL", 0.65, 0.65, 0.65, 0.95, 0.95, 0.95}, + ["highlight"] = {"VERTICAL", 0.3, 0.8, 1, 0.1, 0.9, 1}, + ["green"] = {"VERTICAL", 0.08, 0.9, 0.25, 0.25, 0.9, 0.08}, + ["red"] = {"VERTICAL", 0.5, 0, 0, 0.9, 0.08, 0.08}, + ["yellow"] = {"VERTICAL", 1, 0.3, 0, 1, 1, 0}, + ["tan"] = {"VERTICAL", 0.15, 0.08, 0, 0.37, 0.22, 0.1}, + ["inverse"] = {"VERTICAL", 0.25, 0.25, 0.25, 0.12, 0.12, 0.12}, + ["icon"] = {"VERTICAL", 0.5, 0.53, 0.55, 0.8, 0.8, 1}, + ["white"] = {"VERTICAL", 0.75, 0.75, 0.75, 1, 1, 1}, + } + SV.Media["font"] = { ["default"] = Shared:Fetch("font", "SVUI Default Font"), ["combat"] = Shared:Fetch("font", "SVUI Combat Font"), @@ -224,25 +248,6 @@ do ["unitlarge"] = Shared:Fetch("background", "SVUI Unit BG 3"), ["unitsmall"] = Shared:Fetch("background", "SVUI Small BG 3") } - - SV.Media["gradient"] = { - ["default"] = {"VERTICAL", 0.08, 0.08, 0.08, 0.22, 0.22, 0.22}, - ["special"] = {"VERTICAL", 0.33, 0.25, 0.13, 0.47, 0.39, 0.27}, - ["class"] = {"VERTICAL", r2, g2, b2, r1, g1, b1}, - ["bizzaro"] = {"VERTICAL", ir2, ig2, ib2, ir1, ig1, ib1}, - ["dark"] = {"VERTICAL", 0.02, 0.02, 0.02, 0.22, 0.22, 0.22}, - ["darkest"] = {"VERTICAL", 0.15, 0.15, 0.15, 0, 0, 0}, - ["darkest2"] = {"VERTICAL", 0, 0, 0, 0.12, 0.12, 0.12}, - ["light"] = {"VERTICAL", 0.65, 0.65, 0.65, 0.95, 0.95, 0.95}, - ["highlight"] = {"VERTICAL", 0.3, 0.8, 1, 0.1, 0.9, 1}, - ["green"] = {"VERTICAL", 0.08, 0.9, 0.25, 0.25, 0.9, 0.08}, - ["red"] = {"VERTICAL", 0.5, 0, 0, 0.9, 0.08, 0.08}, - ["yellow"] = {"VERTICAL", 1, 0.3, 0, 1, 1, 0}, - ["tan"] = {"VERTICAL", 0.15, 0.08, 0, 0.37, 0.22, 0.1}, - ["inverse"] = {"VERTICAL", 0.25, 0.25, 0.25, 0.12, 0.12, 0.12}, - ["icon"] = {"VERTICAL", 0.5, 0.53, 0.55, 0.8, 0.8, 1}, - ["white"] = {"VERTICAL", 0.75, 0.75, 0.75, 1, 1, 1}, - } end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc index 77bd7a0..3989d2c 100644 --- a/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc +++ b/Interface/AddOns/SVUI_ChatOMatic/SVUI_ChatOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Chat-O-Matic|r ## Notes: Supervillain UI [|cff9911FFVarious Chat Gadgets|r] ## SavedVariables: ChatOMatic_Data diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua index ee718e8..d1ebd5e 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua @@ -183,17 +183,24 @@ SV.Options.args.common = { LoginMessage = { order = 4, type = 'toggle', - name = L['Login Message'], + name = L['Login Messages'], get = function(j)return SV.db.general.loginmessage end, set = function(j,value)SV.db.general.loginmessage = value end }, - scaleAdjust = { + questTracker = { order = 5, + type = 'toggle', + name = L['Custom Quest Tracker'], + get = function(j) return SV.db.SVQuest.enable end, + set = function(j,value) SV.db.SVQuest.enable = value end + }, + scaleAdjust = { + order = 6, name = L["Base Scale"], desc = L["You can use this to adjust the base value applied to auto-scaling."], type = "range", width = "full", - min = 0.64, + min = 0.5, max = 1, step = 0.01, get = function(j)return SV.db.general.scaleAdjust end, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc index 24d8ae4..2df861f 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Config-O-Matic|r ## Notes: Supervillain UI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI diff --git a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc index 795ce94..91e0c0c 100644 --- a/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc +++ b/Interface/AddOns/SVUI_CraftOMatic/SVUI_CraftOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Craft-O-Matic|r ## Notes: Supervillain UI [|cff9911FFProfession Tools|r]. ## SavedVariablesPerCharacter: CraftOMatic_Profile, CraftOMatic_Cache diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua index cb4b49f..62d6960 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.lua @@ -695,6 +695,15 @@ local onMouseWheel = function(self, delta) end end +local function _explode(this, delim) + local pattern = ("([^%s]+)"):format(delim) + local res = {} + for line in this:gmatch(pattern) do + tinsert(res, line) + end + return res +end + local function MakeLogWindow() local frame = CreateFrame("Frame", nil, UIParent) @@ -720,7 +729,7 @@ local function MakeLogWindow() output:SetInsertMode('TOP') output:SetScript("OnHyperlinkEnter", function(self, linkData, link, button) - local t = link:explode(":") + local t = _explode(link, ":") local name = t[2] or "" SVUI_TargetScanButton:SetAttribute("macrotext", ("/tar %s"):format(name)) SVUI_TargetScanButton:EnableMouse(true) diff --git a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc index 16bc0cc..7c5a172 100644 --- a/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc +++ b/Interface/AddOns/SVUI_FightOMatic/SVUI_FightOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Fight-O-Matic|r ## Notes: Supervillain UI [|cff9911FFPvP Tools|r]. ## SavedVariablesPerCharacter: FightOMatic_Profile, FightOMatic_Cache diff --git a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc index 004f01b..4d8b641 100644 --- a/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc +++ b/Interface/AddOns/SVUI_LogOMatic/SVUI_LogOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Log-O-Matic|r ## Notes: Supervillain UI [|cff9911FFData Logging|r]. ## SavedVariables: LogOMatic_Data diff --git a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc index ecaf9f3..26778e0 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc +++ b/Interface/AddOns/SVUI_StyleOMatic/SVUI_StyleOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Style-O-Matic|r ## Notes: Supervillain UI [|cff9911FFAddon Skins|r]. ## SavedVariables: StyleOMatic_Global diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/auctionhouse.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/auctionhouse.lua index a56be8e..271893a 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/auctionhouse.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/auctionhouse.lua @@ -108,18 +108,7 @@ local function AuctionStyle() ShowOnPlayerCheckButton:SetStylePanel("Checkbox", true) --ExactMatchCheckButton:SetStylePanel("Checkbox", true) - - SideDressUpFrame:RemoveTextures(true) - SideDressUpFrame:ClearAllPoints() - SideDressUpFrame:SetSizeToScale(300, 400) - SideDressUpFrame:SetPoint("LEFT", AuctionFrame, "RIGHT", 16, 0) - SideDressUpFrame.SetPoint = SV.fubar - SideDressUpModel:RemoveTextures(true) - SideDressUpModel:SetAllPoints(SideDressUpFrame) - SideDressUpModel:SetStylePanel("Fixed", "ModelBorder") - SideDressUpModelResetButton:SetStylePanel("Button") - SideDressUpModelResetButton:SetPoint("BOTTOM", SideDressUpModel, "BOTTOM", 0, 20) - PLUGIN:ApplyCloseButtonStyle(SideDressUpModelCloseButton) + --SideDressUpFrame:SetPoint("LEFT", AuctionFrame, "RIGHT", 16, 0) AuctionProgressFrame:RemoveTextures() AuctionProgressFrame:SetStylePanel("Fixed", "Transparent", true) diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/character.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/character.lua index 904f081..5eb2164 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/character.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/character.lua @@ -106,13 +106,13 @@ local function StyleCharacterSlots() if(not charSlot.Panel) then charSlot:RemoveTextures() charSlot.ignoreTexture:SetTexture([[Interface\PaperDollInfoFrame\UI-GearManager-LeaveItem-Transparent]]) - charSlot:SetStylePanel("Slot", true, 2, 0, 0) + charSlot:SetStylePanel("Slot", true, 1, 0, 0) local iconTex = _G[globalName.."IconTexture"] if(iconTex) then iconTex:SetTexCoord(0.1, 0.9, 0.1, 0.9) + iconTex:SetAllPointsIn(charSlot) iconTex:SetParent(charSlot.Panel) - iconTex:SetAllPointsIn(charSlot.Panel, 2, 2) end end diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/system.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/system.lua index b9510ab..54c0ea8 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/system.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/system.lua @@ -719,9 +719,18 @@ local function SystemPanelQue() ReportPlayerNameDialogCommentFrameEditBox:SetStylePanel("Editbox") ReportPlayerNameDialog:SetStylePanel("Fixed", "Transparent", true) ReportPlayerNameDialogReportButton:SetStylePanel("Button") - ReportPlayerNameDialogCancelButton:SetStylePanel("Button") - PLUGIN:ApplyCloseButtonStyle(SideDressUpModelCloseButton) + ReportPlayerNameDialogCancelButton:SetStylePanel("Button") + + + SideDressUpFrame:RemoveTextures(true) + SideDressUpFrame:SetSizeToScale(300, 400) + SideDressUpModel:RemoveTextures(true) + SideDressUpModel:SetAllPoints(SideDressUpFrame) + SideDressUpModel:SetStylePanel("Fixed", "ModelBorder") SideDressUpModelResetButton:SetStylePanel("Button") + SideDressUpModelResetButton:SetPoint("BOTTOM", SideDressUpModel, "BOTTOM", 0, 20) + PLUGIN:ApplyCloseButtonStyle(SideDressUpModelCloseButton) + PLUGIN:ApplyCloseButtonStyle(SideDressUpModelCloseButton) end --[[ ########################################################## diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/voidstorage.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/voidstorage.lua index f592e92..329f532 100644 --- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/voidstorage.lua +++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/voidstorage.lua @@ -30,6 +30,8 @@ local Schema = PLUGIN.Schema; HELPERS ########################################################## ]]-- +local NO_TEXTURE = [[Interface\AddOns\SVUI\assets\artwork\Template\EMPTY]]; + local VoidStorageList = { "VoidStorageBorderFrame", "VoidStorageDepositFrame", @@ -89,17 +91,36 @@ local function ChangeTabHelper(this) this:SetPointToScale(a,b,c,1,e) end +local SlotBorderColor_Hook = function(self, ...) + local parent = self:GetParent() + if(parent) then + parent:SetBackdropBorderColor(...) + end +end +local SlotBorder_OnHide = function(self, ...) + local parent = self:GetParent() + if(parent) then + parent:SetBackdropBorderColor(0,0,0,0.5) + end +end + local function VoidSlotStyler(name, index) local gName = ("%sButton%d"):format(name, index) local button = _G[gName] local icon = _G[gName .. "IconTexture"] local bg = _G[gName .. "Bg"] if(button) then + local border = button.IconBorder if(bg) then bg:Hide() end button:SetStylePanel("Slot", true, 2, 0, 0) if(icon) then icon:SetTexCoord(0.1, 0.9, 0.1, 0.9) - icon:SetAllPointsIn() + icon:SetAllPointsIn(button) + end + if(border) then + border:SetTexture(NO_TEXTURE) + hooksecurefunc(border, "Hide", SlotBorder_OnHide) + hooksecurefunc(border, "SetVertexColor", SlotBorderColor_Hook) end end end @@ -140,7 +161,7 @@ local function VoidStorageStyle() VoidItemSearchBox.Panel:SetPointToScale("TOPLEFT", 10, -1) VoidItemSearchBox.Panel:SetPointToScale("BOTTOMRIGHT", 4, 1) - for i=1, 9 do + for i = 1, 9 do VoidSlotStyler("VoidStorageDeposit", i) VoidSlotStyler("VoidStorageWithdraw", i) end diff --git a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc index a234f2b..ae18787 100644 --- a/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc +++ b/Interface/AddOns/SVUI_TrackOMatic/SVUI_TrackOMatic.toc @@ -1,6 +1,6 @@ ## Interface: 60000 ## Author: Munglunch -## Version: 5.4.15 +## Version: 5.4.16 ## Title: |cffFF9900SVUI |r|cffFFEF00Track-O-Matic|r ## Notes: Supervillain UI [|cff9911FFRaid & Party Member Tracking|r]. ## SavedVariables: TrackOMatic_Global