diff --git a/SVUI_!Core/SVUI_!Core.toc b/SVUI_!Core/SVUI_!Core.toc index 253d7ad..f8a15b3 100644 --- a/SVUI_!Core/SVUI_!Core.toc +++ b/SVUI_!Core/SVUI_!Core.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Core|r ## Notes: SVUI [|cff9911FFCore Framework|r]. ## SavedVariables: SVUI_Global, SVUI_Errors, SVUI_Filters, SVUI_Media, SVUI_Shared diff --git a/SVUI_!Core/system/overrides.lua b/SVUI_!Core/system/overrides.lua index 6bc2d70..d27d9a0 100644 --- a/SVUI_!Core/system/overrides.lua +++ b/SVUI_!Core/system/overrides.lua @@ -1123,4 +1123,4 @@ local function SetOverrides() AlterBlizzMainBar() end -SV:NewScript(SetOverrides) +SV:NewScript(SetOverrides) \ No newline at end of file diff --git a/SVUI_!Options/SVUI_!Options.toc b/SVUI_!Options/SVUI_!Options.toc index 601873b..54e3a20 100644 --- a/SVUI_!Options/SVUI_!Options.toc +++ b/SVUI_!Options/SVUI_!Options.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Options|r ## Notes: SVUI [|cff9911FFConfig Options|r] ## RequiredDeps: SVUI_!Core diff --git a/SVUI_!Options/UnitFrames.lua b/SVUI_!Options/UnitFrames.lua index 987d925..8b12ae9 100644 --- a/SVUI_!Options/UnitFrames.lua +++ b/SVUI_!Options/UnitFrames.lua @@ -2407,6 +2407,28 @@ SVUIOptions.FilterOptionSpells['PetBuffWatch'] = function(selectedSpell) return RESULT; end; +local function GetPowerColorOptions() + local args = {}; + local count = 1; + for power, color in next, SV.media.extended.unitframes.power do + args[power] = { + order = count, + name = power, + type = "color", + get = function(key) + local color = SV.media.extended.unitframes.power[power] + return color[1],color[2],color[3] + end, + set = function(key, rValue, gValue, bValue) + SV.media.extended.unitframes.power[power] = {rValue, gValue, bValue} + MOD:RefreshAllUnitMedia() + end, + }; + count = count + 1; + end + return args; +end; + SV.Options.args[Schema] = { type = "group", name = Schema, @@ -2696,73 +2718,7 @@ SV.Options.args[Schema] = { type = "group", guiInline = true, name = L["Powers"], - args = { - MANA = { - order = 1, - name = MANA, - type = "color", - get = function(key) - local color = SV.media.extended.unitframes.power["MANA"] - return color[1],color[2],color[3] - end, - set = function(key, rValue, gValue, bValue) - SV.media.extended.unitframes.power["MANA"] = {rValue, gValue, bValue} - MOD:RefreshAllUnitMedia() - end, - }, - RAGE = { - order = 2, - name = RAGE, - type = "color", - get = function(key) - local color = SV.media.extended.unitframes.power["RAGE"] - return color[1],color[2],color[3] - end, - set = function(key, rValue, gValue, bValue) - SV.media.extended.unitframes.power["RAGE"] = {rValue, gValue, bValue} - MOD:RefreshAllUnitMedia() - end, - }, - FOCUS = { - order = 3, - name = FOCUS, - type = "color", - get = function(key) - local color = SV.media.extended.unitframes.power["FOCUS"] - return color[1],color[2],color[3] - end, - set = function(key, rValue, gValue, bValue) - SV.media.extended.unitframes.power["FOCUS"] = {rValue, gValue, bValue} - MOD:RefreshAllUnitMedia() - end, - }, - ENERGY = { - order = 4, - name = ENERGY, - type = "color", - get = function(key) - local color = SV.media.extended.unitframes.power["ENERGY"] - return color[1],color[2],color[3] - end, - set = function(key, rValue, gValue, bValue) - SV.media.extended.unitframes.power["ENERGY"] = {rValue, gValue, bValue} - MOD:RefreshAllUnitMedia() - end, - }, - RUNIC_POWER = { - order = 5, - name = RUNIC_POWER, - type = "color", - get = function(key) - local color = SV.media.extended.unitframes.power["RUNIC_POWER"] - return color[1],color[2],color[3] - end, - set = function(key, rValue, gValue, bValue) - SV.media.extended.unitframes.power["RUNIC_POWER"] = {rValue, gValue, bValue} - MOD:RefreshAllUnitMedia() - end, - } - } + args = GetPowerColorOptions() }, castBars = { order = 11, diff --git a/SVUI_ActionBars/SVUI_ActionBars.toc b/SVUI_ActionBars/SVUI_ActionBars.toc index 48718f0..df2a197 100644 --- a/SVUI_ActionBars/SVUI_ActionBars.toc +++ b/SVUI_ActionBars/SVUI_ActionBars.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Action Bars|r ## Notes: Action Bar Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0, LibActionButton-1.0 diff --git a/SVUI_Auras/SVUI_Auras.toc b/SVUI_Auras/SVUI_Auras.toc index bcf748b..e88f287 100644 --- a/SVUI_Auras/SVUI_Auras.toc +++ b/SVUI_Auras/SVUI_Auras.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Auras|r ## Notes: Aura Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_Chat/SVUI_Chat.toc b/SVUI_Chat/SVUI_Chat.toc index f6e9e4e..80485fc 100644 --- a/SVUI_Chat/SVUI_Chat.toc +++ b/SVUI_Chat/SVUI_Chat.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Chat|r ## Notes: Chat Plugin for [|cff9911FFSVUI|r]. ## SavedVariables: SVUI_Global_ChatCache diff --git a/SVUI_Inventory/SVUI_Inventory.toc b/SVUI_Inventory/SVUI_Inventory.toc index 261d059..da92fe2 100644 --- a/SVUI_Inventory/SVUI_Inventory.toc +++ b/SVUI_Inventory/SVUI_Inventory.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Inventory|r ## Notes: Inventory Plugin for [|cff9911FFSVUI|r]. ## SavedVariables: SVUI_LootCache diff --git a/SVUI_Maps/SVUI_Maps.toc b/SVUI_Maps/SVUI_Maps.toc index 6db48d1..697c4a2 100644 --- a/SVUI_Maps/SVUI_Maps.toc +++ b/SVUI_Maps/SVUI_Maps.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Maps|r ## Notes: Maps Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_NamePlates/SVUI_NamePlates.lua b/SVUI_NamePlates/SVUI_NamePlates.lua index 1336369..58481f9 100644 --- a/SVUI_NamePlates/SVUI_NamePlates.lua +++ b/SVUI_NamePlates/SVUI_NamePlates.lua @@ -51,7 +51,7 @@ LOCAL VARS ########################################################## ]]-- local PlateRegistry, VisiblePlates = {}, {}; -local _hook_NamePlateDriverMixin, PlateForge; +local _hook_NamePlateDriverMixin, PlateForge, PlateUpdate; local CURRENT_TARGET_NAME; local TARGET_CHECKS = 0; local PLATE_TOP = MOD.media.topArt; @@ -76,16 +76,21 @@ function _hook_NamePlateDriverMixin(self, event, ...) local frame = ...; if(not PlateRegistry[frame]) then PlateForge(frame) + else + PlateUpdate(frame) end elseif event == "NAME_PLATE_UNIT_ADDED" then local namePlateUnitToken = ...; local frame = C_NamePlate.GetNamePlateForUnit(namePlateUnitToken); if(not PlateRegistry[frame]) then PlateForge(frame) + else + PlateUpdate(frame) end elseif event == "NAME_PLATE_UNIT_REMOVED" then - -- local namePlateUnitToken = ...; - -- DO STUFF + local namePlateUnitToken = ...; + local frame = C_NamePlate.GetNamePlateForUnit(namePlateUnitToken); + PlateUpdate(frame) elseif event == "PLAYER_TARGET_CHANGED" then -- DO STUFF elseif event == "DISPLAY_SIZE_CHANGED" then @@ -96,24 +101,26 @@ function _hook_NamePlateDriverMixin(self, event, ...) -- DO STUFF end end ---[[ -########################################################## -SCRIPT HANDLERS -########################################################## -]]-- -function PlateForge(source) + +function PlateUpdate(source) local plate = source.UnitFrame; if(not plate) then return end; - - plate.healthBar:SetStyle("Frame", "Bar") plate.healthBar:SetStatusBarTexture(NPBarTex) - plate.castBar:SetStyle("Frame", 'Bar') plate.castBar:SetStatusBarTexture(NPBarTex) plate.name:SetFontObject(SVUI_Font_NamePlate) plate.name:SetTextColor(1, 1, 1) +end + +function PlateForge(source) + local plate = source.UnitFrame; + if(not plate) then return end; + + plate.healthBar:SetStyle("Frame", "Bar") + plate.castBar:SetStyle("Frame", 'Bar') VisiblePlates[plate] = true PlateRegistry[source] = true; + PlateUpdate(source) end --[[ ########################################################## @@ -197,5 +204,11 @@ function MOD:Load() self:RegisterEvent("PLAYER_ENTERING_WORLD") self:RegisterEvent("PLAYER_TARGET_CHANGED") NamePlateDriverFrame:HookScript("OnEvent", _hook_NamePlateDriverMixin) + + if (ClassNameplateManaBarFrame) then + ClassNameplateManaBarFrame:SetStyle("Frame", "Bar") + ClassNameplateManaBarFrame:SetStatusBarTexture(SV.media.statusbar.glow) + end + self:CombatToggle(true) end diff --git a/SVUI_NamePlates/SVUI_NamePlates.toc b/SVUI_NamePlates/SVUI_NamePlates.toc index b44b414..e24c6b5 100644 --- a/SVUI_NamePlates/SVUI_NamePlates.toc +++ b/SVUI_NamePlates/SVUI_NamePlates.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00NamePlates|r ## Notes: NamePlates Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_QuestTracker/SVUI_QuestTracker.toc b/SVUI_QuestTracker/SVUI_QuestTracker.toc index 3dbe249..3a4b2e4 100644 --- a/SVUI_QuestTracker/SVUI_QuestTracker.toc +++ b/SVUI_QuestTracker/SVUI_QuestTracker.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00QuestTracker|r ## Notes: QuestTracker Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_Skins/SVUI_Skins.toc b/SVUI_Skins/SVUI_Skins.toc index b909d7f..df702a7 100644 --- a/SVUI_Skins/SVUI_Skins.toc +++ b/SVUI_Skins/SVUI_Skins.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch, Azilroka, Sortokk -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Skins|r ## Notes: SVUI [|cff9911FFSkins System and AddOn Frames|r]. ## SavedVariables: SVUIUI_STYLE_GLOBAL diff --git a/SVUI_Skins/components/blizzard/pvp.lua b/SVUI_Skins/components/blizzard/pvp.lua index f80bec5..b2ad24a 100644 --- a/SVUI_Skins/components/blizzard/pvp.lua +++ b/SVUI_Skins/components/blizzard/pvp.lua @@ -62,9 +62,9 @@ local function PVPFrameStyle() HonorFrame.BonusFrame.RandomBGButton:SetStyle("Button") HonorFrame.BonusFrame.RandomBGButton.SelectedTexture:InsetPoints() HonorFrame.BonusFrame.RandomBGButton.SelectedTexture:SetColorTexture(1, 1, 0, 0.1) - HonorFrame.BonusFrame.DiceButton:DisableDrawLayer("ARTWORK") HonorFrame.BonusFrame.DiceButton:SetHighlightTexture("") + HonorFrame.RoleInset:RemoveTextures() HonorFrame.RoleInset.DPSIcon.checkButton:SetStyle("CheckButton") HonorFrame.RoleInset.TankIcon.checkButton:SetStyle("CheckButton") diff --git a/SVUI_Skins/components/blizzard/system.lua b/SVUI_Skins/components/blizzard/system.lua index ea646f0..e985fa8 100644 --- a/SVUI_Skins/components/blizzard/system.lua +++ b/SVUI_Skins/components/blizzard/system.lua @@ -172,7 +172,7 @@ local SystemFrameList15 = { "NamesPanelUnitNameplatesMakeLarger", "NamesPanelUnitNameplatesShowAll", "NamesPanelUnitNameplatesAggroFlash", - "NamesPanelUnitNameplatesFriends", + --"NamesPanelUnitNameplatesFriends", "NamesPanelUnitNameplatesFriendlyGuardians", "NamesPanelUnitNameplatesFriendlyPets", "NamesPanelUnitNameplatesFriendlyTotems", @@ -187,7 +187,7 @@ local SystemFrameList15 = { "NamesPanelEnemyGuardians", "NamesPanelEnemyTotems", "NamesPanelUnitNameplatesEnemyPets", - "NamesPanelUnitNameplatesEnemies", + --"NamesPanelUnitNameplatesEnemies", "NamesPanelUnitNameplatesEnemyGuardians", "NamesPanelUnitNameplatesEnemyTotems", "NamesPanelUnitNameplatesEnemyMinus", diff --git a/SVUI_Skins/components/blizzard/talents.lua b/SVUI_Skins/components/blizzard/talents.lua index a2f9e51..7d3c636 100644 --- a/SVUI_Skins/components/blizzard/talents.lua +++ b/SVUI_Skins/components/blizzard/talents.lua @@ -103,7 +103,8 @@ local function TalentFrameStyle() SV.API:Set("Window", PlayerTalentFrame) PlayerTalentFrameInset:RemoveTextures() PlayerTalentFrameTalents:RemoveTextures() - --PlayerTalentFrameSpecialization:RemoveTextures() + PlayerTalentFrameSpecialization:DisableDrawLayer("BORDER") + PlayerTalentFramePetSpecialization:DisableDrawLayer("BORDER") PlayerTalentFrameSpecializationTutorialButton:Die() PlayerTalentFrameTalentsTutorialButton:Die() PlayerTalentFramePetSpecializationTutorialButton:Die() @@ -111,8 +112,13 @@ local function TalentFrameStyle() PlayerTalentFrame.Panel:SetPoint("BOTTOMRIGHT", PlayerTalentFrame, "BOTTOMRIGHT", 0, -5) PlayerTalentFrameTalents:SetStyle("!_Frame", "Inset") - PlayerTalentFrameSpecialization:SetStyle("!_Frame", "Inset") + PlayerTalentFrameSpecialization:SetStyle("Frame", "Inset") + PlayerTalentFrameSpecialization.Panel:SetPoint("TOPLEFT", PlayerTalentFrameSpecialization, "TOPLEFT", 0, 4) + PlayerTalentFrameSpecialization.Panel:SetPoint("BOTTOMRIGHT", PlayerTalentFrameSpecialization, "BOTTOMRIGHT", 3, 0) PlayerTalentFramePetSpecialization:SetStyle("!_Frame", "Inset") + PlayerTalentFramePetSpecialization.Panel:SetPoint("TOPLEFT", PlayerTalentFramePetSpecialization, "TOPLEFT", 0, 4) + PlayerTalentFramePetSpecialization.Panel:SetPoint("BOTTOMRIGHT", PlayerTalentFramePetSpecialization, "BOTTOMRIGHT", 3, 0) + SV.API:Set("CloseButton", PlayerTalentFrameCloseButton) SV.API:Set("ScrollBar", PlayerTalentFrameSpecializationSpellScrollFrameScrollBar, 5) SV.API:Set("ScrollBar", PlayerTalentFramePetSpecializationSpellScrollFrameScrollBar, 5) @@ -130,34 +136,6 @@ local function TalentFrameStyle() end end --- PlayerTalentFrameSpecializationSpellScrollFrameScrollBar - -- PlayerTalentFrameTalentsClearInfoFrame.icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - -- PlayerTalentFrameTalentsClearInfoFrame:SetWidth(PlayerTalentFrameTalentsClearInfoFrame:GetWidth()-2) - -- PlayerTalentFrameTalentsClearInfoFrame:SetHeight(PlayerTalentFrameTalentsClearInfoFrame:GetHeight()-2) - -- PlayerTalentFrameTalentsClearInfoFrame.icon:SetSize(PlayerTalentFrameTalentsClearInfoFrame:GetSize()) - -- PlayerTalentFrameTalentsClearInfoFrame:SetPoint('TOPLEFT', PlayerTalentFrameTalents, 'BOTTOMLEFT', 8, -8) - - -- hooksecurefunc("PlayerTalentFrame_UpdateTabs", function() - -- for i = 1, 4 do - -- local d, e, k, g = _G["PlayerTalentFrameTab"..i]:GetPoint() - -- _G["PlayerTalentFrameTab"..i]:SetPoint(d, e, k, g, -4) - -- end - -- end) - - -- PlayerTalentFrameSpecializationSpellScrollFrameScrollChild.Seperator:SetColorTexture(1, 1, 1) - -- PlayerTalentFrameSpecializationSpellScrollFrameScrollChild.Seperator:SetAlpha(0.2) - - -- for i = 1, 2 do - -- local v = _G["PlayerSpecTab"..i] - -- _G["PlayerSpecTab"..i.."Background"]:Die() - -- ChangeTabHelper(v) - -- end - - -- hooksecurefunc("PlayerTalentFrame_UpdateSpecs", function() - -- local d, x, f, g, h = PlayerSpecTab1:GetPoint() - -- PlayerSpecTab1:SetPoint(d, x, f, -1, h) - -- end) - local maxTiers = 7 for i = 1, 7 do @@ -198,140 +176,45 @@ local function TalentFrameStyle() end end) - -- for b = 1, 5 do - -- select(b, PlayerTalentFrameSpecializationSpellScrollFrameScrollChild:GetRegions()):Hide() - -- end - - -- local C = _G["PlayerTalentFrameSpecializationSpellScrollFrameScrollChild"] - -- C.ring:Hide() - -- C:SetStyle("!_Frame", "Inset") - -- C.Panel:WrapPoints(C.specIcon) - -- C.specIcon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - - -- local D = _G["PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild"] - -- D.ring:Hide() - -- D:SetStyle("!_Frame", "Inset") - -- D.Panel:WrapPoints(D.specIcon) - -- D.specIcon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - - -- hooksecurefunc("PlayerTalentFrame_UpdateSpecFrame", function(self, arg1) - -- local arg2 = GetSpecialization(nil, self.isPet, PlayerSpecTab2:GetChecked() and 2 or 1) - -- local spec = arg1 or arg2 or 1; - -- local arg3, _, _, icon = GetSpecializationInfo(spec, nil, self.isPet) - -- local scrollChild = self.spellsScroll.child; - -- scrollChild.specIcon:SetTexture(icon) - - -- local cache; - -- if self.isPet then - -- cache = { GetSpecializationSpells(spec, nil, self.isPet) } - -- else - -- cache = SPEC_SPELLS_DISPLAY[arg3] - -- end - - -- local indexOffset = 1; - -- for i = 1, #cache, 2 do - -- local button = scrollChild["abilityButton" .. indexOffset] - -- if(button) then - -- local _, icon = GetSpellTexture(cache[i]) - -- button.icon:SetTexture(icon) - -- if not button.restyled then - -- button.restyled = true; - -- button:SetSize(30, 30) - -- button.ring:Hide() - -- button:SetStyle("!_Frame", "Inset") - -- button.icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - -- button.icon:InsetPoints() - -- end - -- end - -- indexOffset = indexOffset + 1 - -- end - - -- for i = 1, GetNumSpecializations(nil, self.isPet)do - -- local specButton = self["specButton"..i] - -- if(specButton) then - -- specButton.SelectedTexture:InsetPoints(specButton.Panel) - -- if specButton.selected then - -- specButton.SelectedTexture:Show() - -- else - -- specButton.SelectedTexture:Hide() - -- end - -- end - -- end - -- end) - - -- for b = 1, GetNumSpecializations(false, nil)do - -- local button = PlayerTalentFrameSpecialization["specButton"..b] - -- if(button) then - -- local _, _, _, icon = GetSpecializationInfo(b, false, nil) - -- button.ring:Hide() - -- button.specIcon:SetTexture(icon) - -- button.specIcon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - -- button.specIcon:SetSize(50, 50) - -- button.specIcon:SetPoint("LEFT", button, "LEFT", 15, 0) - -- button.SelectedTexture = button:CreateTexture(nil, 'ARTWORK') - -- button.SelectedTexture:SetColorTexture(1, 1, 0, 0.1) - -- end - -- end - - -- local btnList = { - -- "PlayerTalentFrameSpecializationSpecButton", "PlayerTalentFramePetSpecializationSpecButton" - -- } - - -- for _, gName in pairs(btnList)do - -- for b = 1, 4 do - -- local button = _G[gName..b] - -- if(button) then - -- if(_G[gName..b.."Glow"]) then _G[gName..b.."Glow"]:Die() end - -- local bTex = button:CreateTexture(nil, 'ARTWORK') - -- bTex:SetColorTexture(1, 1, 1, 0.1) - -- button:SetHighlightTexture(bTex) - -- button.bg:SetAlpha(0) - -- button.learnedTex:SetAlpha(0) - -- button.selectedTex:SetAlpha(0) - -- button:SetStyle("!_Frame", "Button") - -- button:GetHighlightTexture():InsetPoints(button.Panel) - -- end - -- end - -- end - - -- if SV.class == "HUNTER" then - -- for b = 1, 6 do - -- select(b, PlayerTalentFramePetSpecialization:GetRegions()):Hide() - -- end - -- for b = 1, PlayerTalentFramePetSpecialization:GetNumChildren()do - -- local O = select(b, PlayerTalentFramePetSpecialization:GetChildren()) - -- if O and not O:GetName() then - -- O:DisableDrawLayer("OVERLAY") - -- end - -- end - -- for b = 1, 5 do - -- select(b, PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild:GetRegions()):Hide() - -- end - -- for b = 1, GetNumSpecializations(false, true)do - -- local A = PlayerTalentFramePetSpecialization["specButton"..b] - -- local p, p, p, icon = GetSpecializationInfo(b, false, true) - -- A.ring:Hide() - -- A.specIcon:SetTexture(icon) - -- A.specIcon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS)) - -- A.specIcon:SetSize(50, 50) - -- A.specIcon:SetPoint("LEFT", A, "LEFT", 15, 0) - -- A.SelectedTexture = A:CreateTexture(nil, 'ARTWORK') - -- A.SelectedTexture:SetColorTexture(1, 1, 0, 0.1) - -- end - -- PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild.Seperator:SetColorTexture(1, 1, 1) - -- PlayerTalentFramePetSpecializationSpellScrollFrameScrollChild.Seperator:SetAlpha(0.2) - -- end - - -- PlayerTalentFrameSpecialization:DisableDrawLayer('ARTWORK') - -- PlayerTalentFrameSpecialization:DisableDrawLayer('BORDER') - - -- for b = 1, PlayerTalentFrameSpecialization:GetNumChildren()do - -- local O = select(b, PlayerTalentFrameSpecialization:GetChildren()) - -- if O and not O:GetName() then - -- O:DisableDrawLayer("OVERLAY") - -- end - -- end + --[[ PVP TALENTS ]]-- + PlayerTalentFramePVPTalents:RemoveTextures() + PlayerTalentFramePVPTalents.Talents:RemoveTextures() + PlayerTalentFramePVPTalents.Talents:SetStyle("!_Frame", "Inset") + for i = 1, 6 do + local rowFrame = PlayerTalentFramePVPTalents.Talents[("Tier%d"):format(i)] + if(rowFrame) then + if(rowFrame.Bg) then rowFrame.Bg:Hide() end + + --rowFrame:DisableDrawLayer("BORDER") + rowFrame:RemoveTextures() + rowFrame.TopLine:SetPoint("TOP", 0, 4) + rowFrame.BottomLine:SetPoint("BOTTOM", 0, -4) + + for z = 1, 3 do + local talentItem = rowFrame[("Talent%d"):format(z)] + if(talentItem) then + SV.API:Set("ItemButton", talentItem) + talentItem.Cover:SetColorTexture(0,0,0,0.4) + end + end + end + end + hooksecurefunc("PVPTalentFrame_Update", function() + for i = 1, 6 do + local rowFrame = PlayerTalentFramePVPTalents.Talents[("Tier%d"):format(i)] + for z = 1, 3 do + local talentItem = rowFrame[("Talent%d"):format(z)] + if(talentItem) then + if talentItem.knownSelection:IsShown() then + talentItem:SetBackdropBorderColor(0, 1, 0) + else + talentItem:SetBackdropBorderColor(0, 0, 0) + end + end + end + end + end) end --[[ ########################################################## @@ -354,7 +237,6 @@ local function GlyphStyle() if(GlyphFrameClearInfoFrame and GlyphFrameClearInfoFrame.icon) then GlyphFrameClearInfoFrame:RemoveTextures() - local w,h = GlyphFrameClearInfoFrame:GetSize() GlyphFrameClearInfoFrame:SetSize((w - 2),(h - 2)) GlyphFrameClearInfoFrame:SetPoint("TOPLEFT", GlyphFrame, "BOTTOMLEFT", 6, -10) diff --git a/SVUI_Tooltip/SVUI_Tooltip.toc b/SVUI_Tooltip/SVUI_Tooltip.toc index f152d7b..141a52d 100644 --- a/SVUI_Tooltip/SVUI_Tooltip.toc +++ b/SVUI_Tooltip/SVUI_Tooltip.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Tooltip|r ## Notes: Tooltip Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_UnitFrames/Loader.lua b/SVUI_UnitFrames/Loader.lua index 8a21b2b..15e80f0 100644 --- a/SVUI_UnitFrames/Loader.lua +++ b/SVUI_UnitFrames/Loader.lua @@ -20,15 +20,7 @@ local Schema = MOD.Schema; local unitframeColors = { ["health"] = {0.3, 0.5, 0.3}, ["healthBackdrop"] = {0.1, 0.1, 0.1}, - ["power"] = { - ["MANA"] = {0.41, 0.85, 1}, - ["RAGE"] = {1, 0.31, 0.31}, - ["FOCUS"] = {1, 0.63, 0.27}, - ["ENERGY"] = {0.85, 0.83, 0.25}, - ["RUNES"] = {0.55, 0.57, 0.61}, - ["RUNIC_POWER"] = {0, 0.82, 1}, - ["FUEL"] = {0, 0.75, 0.75} - }, + ["power"] = { }, ["reaction"] = { [1] = {0.92, 0.15, 0.15}, [2] = {0.92, 0.15, 0.15}, @@ -54,6 +46,12 @@ local unitframeColors = { } }; +for power, color in next, PowerBarColor do + if(type(power) == 'string' and (not unitframeColors.power[power])) then + unitframeColors.power[power] = {color.r, color.g, color.b} + end +end + MOD.media = {} MOD.media.groupNumbers = { [[Interface\AddOns\SVUI_UnitFrames\assets\GroupNumbers\1]], diff --git a/SVUI_UnitFrames/SVUI_UnitFrames.toc b/SVUI_UnitFrames/SVUI_UnitFrames.toc index f253aab..4ca8512 100644 --- a/SVUI_UnitFrames/SVUI_UnitFrames.toc +++ b/SVUI_UnitFrames/SVUI_UnitFrames.toc @@ -1,6 +1,6 @@ ## Interface: 70000 ## Author: Munglunch -## Version: 1.3.1 +## Version: 1.3.2 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00UnitFrames|r ## Notes: UnitFrames Plugin for [|cff9911FFSVUI|r]. ## OptionalDeps: LibSharedMedia-3.0 diff --git a/SVUI_UnitFrames/class_resources/deathknight.lua b/SVUI_UnitFrames/class_resources/deathknight.lua index 1347d84..fa67a6b 100644 --- a/SVUI_UnitFrames/class_resources/deathknight.lua +++ b/SVUI_UnitFrames/class_resources/deathknight.lua @@ -46,24 +46,22 @@ SV.SpecialFX:Register("rune_unholy", [[Spells\Poison_impactdot_med_chest.m2]], 0 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", - [3] = "rune_frost", - [4] = "rune_frost", - [5] = "rune_unholy", - [6] = "rune_unholy", + [2] = "rune_frost", + [3] = "rune_unholy", + [4] = "rune_death" }; local RUNE_FG = [[Interface\AddOns\SVUI_UnitFrames\assets\Class\RUNES-FG]]; local RUNE_BG = [[Interface\AddOns\SVUI_UnitFrames\assets\Class\RUNES-BG]]; local runeColors = { {0.75, 0, 0}, -- blood - {0.1, 0.75, 0}, -- unholy {0, 0.75, 1}, -- frost + {0.1, 0.75, 0}, -- unholy {1, 1, 1}, -- death }; local runeTextures = { [[Interface\AddOns\SVUI_UnitFrames\assets\Class\DEATHKNIGHT-BLOOD]], - [[Interface\AddOns\SVUI_UnitFrames\assets\Class\DEATHKNIGHT-UNHOLY]], [[Interface\AddOns\SVUI_UnitFrames\assets\Class\DEATHKNIGHT-FROST]], + [[Interface\AddOns\SVUI_UnitFrames\assets\Class\DEATHKNIGHT-UNHOLY]], [[Interface\AddOns\SVUI_UnitFrames\assets\Class\DEATHKNIGHT-DEATH]] }; local runeClassic = { @@ -83,25 +81,19 @@ local OnMove = function() SV.db.UnitFrames.player.classbar.detachFromFrame = true end -local RuneChange = function(self, runeType) - if(runeType and runeType == 7) then - self.FX:SetEffect("rune_death") - else - self.FX:SetEffect(specEffects[self.effectIndex]) - end +local RuneChange = function(self, ...) + local spec = GetSpecialization() + self.FX:SetEffect(specEffects[spec]) end -local ClassicRuneChange = function(self, runeType) - local graphic = runeTextures[runeType] - local colors = runeColors[runeType] +local ClassicRuneChange = function(self, ...) + local spec = GetSpecialization() + local graphic = runeTextures[spec] + local colors = runeColors[spec] self:SetStatusBarColor(colors[1], colors[2], colors[3]) self.bg:SetTexture(graphic) self:SetStatusBarTexture(graphic) - if(runeType and runeType == 7) then - self.FX:SetEffect("rune_death") - else - self.FX:SetEffect(specEffects[self.effectIndex]) - end + self.FX:SetEffect(specEffects[spec]) end local Reposition = function(self) @@ -112,6 +104,8 @@ local Reposition = function(self) local inset = size * 0.1 local width = size * max; + local spec = GetSpecialization() + bar.Holder:SetSize(width, size) if(not db.classbar.detachFromFrame) then SV:ResetAnchors(L["Classbar"]) @@ -126,7 +120,7 @@ local Reposition = function(self) if(db.classbar.altRunes) then for i = 1, max do - local graphic = runeClassic[i] + local graphic = runeTextures[spec] bar[i]:ClearAllPoints() bar[i]:SetHeight(size) bar[i]:SetWidth(size) diff --git a/SVUI_UnitFrames/class_resources/mage.lua b/SVUI_UnitFrames/class_resources/mage.lua index a629fd5..69ad8ca 100644 --- a/SVUI_UnitFrames/class_resources/mage.lua +++ b/SVUI_UnitFrames/class_resources/mage.lua @@ -146,33 +146,33 @@ function MOD:CreateClassBar(playerFrame) bgTexture:SetColorTexture(0.09,0.01,0,0.5) local borderB = bgFrame:CreateTexture(nil,"OVERLAY") - borderB:SetColorTexture(0,0,0) - borderB:SetPoint("BOTTOMLEFT") - borderB:SetPoint("BOTTOMRIGHT") - borderB:SetHeight(2) + borderB:SetColorTexture(0,0,0) + borderB:SetPoint("BOTTOMLEFT") + borderB:SetPoint("BOTTOMRIGHT") + borderB:SetHeight(2) - local borderT = bgFrame:CreateTexture(nil,"OVERLAY") - borderT:SetColorTexture(0,0,0) - borderT:SetPoint("TOPLEFT") - borderT:SetPoint("TOPRIGHT") - borderT:SetHeight(2) + local borderT = bgFrame:CreateTexture(nil,"OVERLAY") + borderT:SetColorTexture(0,0,0) + borderT:SetPoint("TOPLEFT") + borderT:SetPoint("TOPRIGHT") + borderT:SetHeight(2) - local borderL = bgFrame:CreateTexture(nil,"OVERLAY") - borderL:SetColorTexture(0,0,0) - borderL:SetPoint("TOPLEFT") - borderL:SetPoint("BOTTOMLEFT") - borderL:SetWidth(2) + local borderL = bgFrame:CreateTexture(nil,"OVERLAY") + borderL:SetColorTexture(0,0,0) + borderL:SetPoint("TOPLEFT") + borderL:SetPoint("BOTTOMLEFT") + borderL:SetWidth(2) - local borderR = bgFrame:CreateTexture(nil,"OVERLAY") - borderR:SetColorTexture(0,0,0) - borderR:SetPoint("TOPRIGHT") - borderR:SetPoint("BOTTOMRIGHT") - borderR:SetWidth(2) + local borderR = bgFrame:CreateTexture(nil,"OVERLAY") + borderR:SetColorTexture(0,0,0) + borderR:SetPoint("TOPRIGHT") + borderR:SetPoint("BOTTOMRIGHT") + borderR:SetWidth(2) - bar.bg = bgTexture; + bar.bg = bgTexture; - local ignite = CreateFrame("StatusBar", nil, bgFrame) + local ignite = CreateFrame("StatusBar", nil, bgFrame) ignite.noupdate = true; ignite:InsetPoints(bgFrame) ignite:SetOrientation("HORIZONTAL") diff --git a/SVUI_UnitFrames/class_resources/priest.lua b/SVUI_UnitFrames/class_resources/priest.lua index 7ccc8c0..1de6e83 100644 --- a/SVUI_UnitFrames/class_resources/priest.lua +++ b/SVUI_UnitFrames/class_resources/priest.lua @@ -79,6 +79,7 @@ local Reposition = function(self) bar[i]:SetPoint("LEFT", bar[i - 1], "RIGHT", -1, 0) end end + --print(UnitPowerType('player')) end --[[ ########################################################## diff --git a/SVUI_UnitFrames/class_resources/shaman.lua b/SVUI_UnitFrames/class_resources/shaman.lua index 3ebce47..8d5032a 100644 --- a/SVUI_UnitFrames/class_resources/shaman.lua +++ b/SVUI_UnitFrames/class_resources/shaman.lua @@ -40,31 +40,9 @@ if(SV.class ~= "SHAMAN") then return end LOCALS ########################################################## ]]-- -local totemMax = MAX_TOTEMS -local totemPriorities = SHAMAN_TOTEM_PRIORITIES or {1, 2, 3, 4}; -local totemTextures = { - [EARTH_TOTEM_SLOT] = [[Interface\Addons\SVUI_UnitFrames\assets\Class\SHAMAN-EARTH]], - [FIRE_TOTEM_SLOT] = [[Interface\Addons\SVUI_UnitFrames\assets\Class\SHAMAN-FIRE]], - [WATER_TOTEM_SLOT] = [[Interface\Addons\SVUI_UnitFrames\assets\Class\SHAMAN-WATER]], - [AIR_TOTEM_SLOT] = [[Interface\Addons\SVUI_UnitFrames\assets\Class\SHAMAN-AIR]], -}; - --- [[Spells\Flowingwater_high.m2]] --- [[Spells\Cyclonewater_state.m2]] --- [[Spells\Shaman_water_precast.m2]] --- [[Spells\Monk_rushingjadewind_grey.m2]] --- [[Spells\Missile_bomb.m2]] - -SV.SpecialFX:Register("shaman_fire", [[Spells\Bloodlust_state_hand.m2]], -8, 16, 8, -16, 0.23, 0.05, -0.1) -SV.SpecialFX:Register("shaman_earth", [[Spells\Sand_precast_hand.m2]], -8, 16, 8, -16, 0.20, -0.04, -0.08) -SV.SpecialFX:Register("shaman_air", [[Spells\Monk_rushingjadewind_grey.m2]], -8, 16, 8, -16, 1.8, 0, 2) -SV.SpecialFX:Register("shaman_water", [[Spells\Flowingwater_high.m2]], -8, 16, 8, -16, 0.008, -0.02, -0.22) -local specEffects = { - [EARTH_TOTEM_SLOT] = "shaman_earth", - [FIRE_TOTEM_SLOT] = "shaman_fire", - [WATER_TOTEM_SLOT] = "shaman_water", - [AIR_TOTEM_SLOT] = "shaman_air", -}; +SV.SpecialFX:Register("maelstrom", [[Spells\Fill_lightning_cast_01.m2]], 0, 0, 0, 0, 1.18, 0, 0) +SV.SpecialFX:Register("maelstrom_air", [[Spells\Monk_rushingjadewind_grey.m2]], 2, -2, -2, 2, 0.5, 0, 2) +SV.SpecialFX:Register("maelstrom_water", [[Spells\Flowingwater_high.m2]], 2, -2, -2, 2, 0.008, -0.02, -0.22) --[[ ########################################################## POSITIONING @@ -76,10 +54,11 @@ end local Reposition = function(self) local db = SV.db.UnitFrames.player - local bar = self.TotemBars + local bar = self.Maelstrom; + local max = self.MaxClassPower; local size = db.classbar.height - local width = size * totemMax - bar.Holder:SetSize(width, size) + local width = size * max; + bar.Holder:SetSize(width, size*0.8) if(not db.classbar.detachFromFrame) then SV:ResetAnchors(L["Classbar"]) end @@ -90,65 +69,81 @@ local Reposition = function(self) bar:ClearAllPoints() bar:SetAllPoints(bar.Holder) - for i = 1, totemMax do - bar[i].holder:ClearAllPoints() - bar[i].holder:SetHeight(size) - bar[i].holder:SetWidth(size) - bar[i]:GetStatusBarTexture():SetHorizTile(false) - if i==1 then - bar[i].holder:SetPoint("TOPLEFT", bar, "TOPLEFT", 0, 0) - else - bar[i].holder:SetPoint("LEFT", bar[i - 1].holder, "RIGHT", -1, 0) - end - end end --[[ ########################################################## SHAMAN ########################################################## ]]-- -local SFXUpdate = function(self, value) +local PostUpdate = function(self, ...) + local value = ...; if(not value) then return end - if(not self.FX:IsShown()) then - if(value > 0.02) then - self.FX:Show() - self.FX:UpdateEffect() + if(value > 0) then + self:FadeIn() + if(not self.Bar.FX:IsShown()) then + self.Bar.FX:Show() + self.Bar.FX:UpdateEffect() end - elseif(value <= 0.02) then - self.FX:Hide() + else + self:FadeOut() end end function MOD:CreateClassBar(playerFrame) + local max = 6 local bar = CreateFrame("Frame",nil,playerFrame) bar:SetFrameLevel(playerFrame.TextGrip:GetFrameLevel() + 30) - for i=1, totemMax do - local iconfile = totemTextures[totemPriorities[i]] - local holder = CreateFrame("Frame", nil, bar) - holder:SetFrameLevel(bar:GetFrameLevel() - 1) - - bar[i] = CreateFrame("StatusBar",nil,holder) - bar[i]:SetAllPoints(holder) - bar[i]:SetStatusBarTexture(iconfile) - bar[i]:GetStatusBarTexture():SetHorizTile(false) - bar[i]:SetOrientation("VERTICAL") - bar[i]:SetFrameLevel(bar:GetFrameLevel() + 1) - hooksecurefunc(bar[i], "SetValue", SFXUpdate) - bar[i].noupdate=true; - - bar[i].backdrop = holder:CreateTexture(nil,"BACKGROUND") - bar[i].backdrop:SetAllPoints(holder) - bar[i].backdrop:SetTexture(iconfile) - bar[i].backdrop:SetDesaturated(true) - bar[i].backdrop:SetVertexColor(0.2,0.2,0.2,0.7) - - bar[i]:EnableMouse(true) - - bar[i].holder = holder - - SV.SpecialFX:SetFXFrame(bar[i], specEffects[totemPriorities[i]], true) - bar[i].FX:SetFrameLevel(bar:GetFrameLevel()) - end + + local bgTexture = bar:CreateTexture(nil, "BACKGROUND") + bgTexture:SetAllPoints(bar) + bgTexture:SetColorTexture(0,0.05,0.1,0.5) + + local borderB = bar:CreateTexture(nil,"OVERLAY") + borderB:SetColorTexture(0,0,0) + borderB:SetPoint("BOTTOMLEFT") + borderB:SetPoint("BOTTOMRIGHT") + borderB:SetHeight(2) + + local borderT = bar:CreateTexture(nil,"OVERLAY") + borderT:SetColorTexture(0,0,0) + borderT:SetPoint("TOPLEFT") + borderT:SetPoint("TOPRIGHT") + borderT:SetHeight(2) + + local borderL = bar:CreateTexture(nil,"OVERLAY") + borderL:SetColorTexture(0,0,0) + borderL:SetPoint("TOPLEFT") + borderL:SetPoint("BOTTOMLEFT") + borderL:SetWidth(2) + + local borderR = bar:CreateTexture(nil,"OVERLAY") + borderR:SetColorTexture(0,0,0) + borderR:SetPoint("TOPRIGHT") + borderR:SetPoint("BOTTOMRIGHT") + borderR:SetWidth(2) + + bar.bg = bgTexture; + + local maelBar = CreateFrame("StatusBar", nil, bar) + maelBar.noupdate = true; + maelBar:InsetPoints(bar) + maelBar:SetOrientation("HORIZONTAL") + maelBar:SetStatusBarTexture(SV.media.statusbar.gradient) + maelBar:SetStatusBarColor(0.2, 0.9, 1, 0.75) + maelBar.text = maelBar:CreateFontString(nil, "OVERLAY") + maelBar.text:SetPoint("LEFT") + maelBar.text:SetFontObject(SVUI_Font_Unit_Small) + maelBar.text:SetJustifyH('LEFT') + maelBar.text:SetTextColor(1,1,1) + maelBar.text:SetText("0") + + SV.SpecialFX:SetFXFrame(bar, "maelstrom_air", true) + SV.SpecialFX:SetFXFrame(maelBar, "maelstrom", true) + bar.FX:SetFrameLevel(0) + bar.FX:SetAlpha(0.5) + + bar.Bar = maelBar; + bar.PostUpdate = PostUpdate; local classBarHolder = CreateFrame("Frame", "Player_ClassBar", bar) classBarHolder:SetPoint("TOPLEFT", playerFrame, "BOTTOMLEFT", 0, -2) @@ -156,8 +151,9 @@ function MOD:CreateClassBar(playerFrame) bar.Holder = classBarHolder SV:NewAnchor(bar.Holder, L["Classbar"], OnMove) - playerFrame.MaxClassPower = totemMax; + playerFrame.MaxClassPower = max + playerFrame.PostTalentUpdate = PostUpdate; playerFrame.RefreshClassBar = Reposition; - playerFrame.TotemBars = bar - return 'TotemBars' + playerFrame.Maelstrom = bar + return 'Maelstrom' end diff --git a/SVUI_UnitFrames/class_resources/warrior.lua b/SVUI_UnitFrames/class_resources/warrior.lua index 7615ed2..e9a701c 100644 --- a/SVUI_UnitFrames/class_resources/warrior.lua +++ b/SVUI_UnitFrames/class_resources/warrior.lua @@ -79,40 +79,40 @@ function MOD:CreateClassBar(playerFrame) bgTexture:SetColorTexture(0.2,0,0,0.5) local borderB = bgFrame:CreateTexture(nil,"OVERLAY") - borderB:SetColorTexture(0,0,0) - borderB:SetPoint("BOTTOMLEFT") - borderB:SetPoint("BOTTOMRIGHT") - borderB:SetHeight(2) - - local borderT = bgFrame:CreateTexture(nil,"OVERLAY") - borderT:SetColorTexture(0,0,0) - borderT:SetPoint("TOPLEFT") - borderT:SetPoint("TOPRIGHT") - borderT:SetHeight(2) - - local borderL = bgFrame:CreateTexture(nil,"OVERLAY") - borderL:SetColorTexture(0,0,0) - borderL:SetPoint("TOPLEFT") - borderL:SetPoint("BOTTOMLEFT") - borderL:SetWidth(2) - - local borderR = bgFrame:CreateTexture(nil,"OVERLAY") - borderR:SetColorTexture(0,0,0) - borderR:SetPoint("TOPRIGHT") - borderR:SetPoint("BOTTOMRIGHT") - borderR:SetWidth(2) - - bar.bg = bgTexture; + borderB:SetColorTexture(0,0,0) + borderB:SetPoint("BOTTOMLEFT") + borderB:SetPoint("BOTTOMRIGHT") + borderB:SetHeight(2) + + local borderT = bgFrame:CreateTexture(nil,"OVERLAY") + borderT:SetColorTexture(0,0,0) + borderT:SetPoint("TOPLEFT") + borderT:SetPoint("TOPRIGHT") + borderT:SetHeight(2) + + local borderL = bgFrame:CreateTexture(nil,"OVERLAY") + borderL:SetColorTexture(0,0,0) + borderL:SetPoint("TOPLEFT") + borderL:SetPoint("BOTTOMLEFT") + borderL:SetWidth(2) + + local borderR = bgFrame:CreateTexture(nil,"OVERLAY") + borderR:SetColorTexture(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:InsetPoints(bgFrame) enrage:SetOrientation("HORIZONTAL") enrage:SetStatusBarTexture(SV.media.statusbar.glow) - enrage:SetStatusBarColor(1, 0, 0, 0.75) + enrage:SetStatusBarColor(1, 0, 0, 0.75) - bgFrame.bar = enrage; - --SV.SpecialFX:SetFXFrame(enrage, "conqueror", true) + bgFrame.bar = enrage; + --SV.SpecialFX:SetFXFrame(enrage, "conqueror", true) --enrage.FX:SetScript("OnShow", EffectModel_OnShow) bar.Enrage = bgFrame; diff --git a/SVUI_UnitFrames/elements/essentials.lua b/SVUI_UnitFrames/elements/essentials.lua index 7f7fb75..4c5de01 100644 --- a/SVUI_UnitFrames/elements/essentials.lua +++ b/SVUI_UnitFrames/elements/essentials.lua @@ -726,14 +726,14 @@ end function MOD:PostUpdatePower(unit, value, max) local db = SV.db.UnitFrames[unit] - local powerType, _, _, _, _ = UnitPowerType(unit) + local powerType, powerToken = UnitPowerType(unit) local parent = self:GetParent() if parent.isForced then value = random(1, max) powerType = random(0, 4) self:SetValue(value) end - local colors = oUF_SVUI.colors.power[token[powerType]] + local colors = oUF_SVUI.colors.power[powerToken] local mult = self.bg.multiplier or 1; local isPlayer = UnitPlayerControlled(unit) if isPlayer and self.colorClass then diff --git a/SVUI_UnitFrames/frames.lua b/SVUI_UnitFrames/frames.lua index 128ed2c..d29522f 100644 --- a/SVUI_UnitFrames/frames.lua +++ b/SVUI_UnitFrames/frames.lua @@ -255,19 +255,17 @@ local UpdatePlayerFrame = function(self) if USE_CLASSBAR and self.RefreshClassBar then self.RefreshClassBar(self) end - if(self.ClassBar) then - local classBar = self[self.ClassBar]; - if USE_CLASSBAR then - if(not self:IsElementEnabled(self.ClassBar)) then - self:EnableElement(self.ClassBar) - end - classBar:Show() - else - if(self:IsElementEnabled(self.ClassBar)) then - self:DisableElement(self.ClassBar) - end - classBar:Hide() + local classBar = self[self.ClassBar]; + if USE_CLASSBAR then + if(not self:IsElementEnabled(self.ClassBar)) then + self:EnableElement(self.ClassBar) + end + classBar:Show() + else + if(self:IsElementEnabled(self.ClassBar)) then + self:DisableElement(self.ClassBar) end + classBar:Hide() end end end diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Maelstrom/oUF_Maelstrom.lua b/SVUI_UnitFrames/libs/Plugins/oUF_Maelstrom/oUF_Maelstrom.lua new file mode 100644 index 0000000..570a442 --- /dev/null +++ b/SVUI_UnitFrames/libs/Plugins/oUF_Maelstrom/oUF_Maelstrom.lua @@ -0,0 +1,75 @@ +--GLOBAL NAMESPACE +local _G = _G; +--LUA +local unpack = _G.unpack; +local select = _G.select; +--BLIZZARD API +local GameTooltip = _G.GameTooltip; +local MAX_TOTEMS = _G.MAX_TOTEMS; +local TotemFrame = _G.TotemFrame; + +local class = select(2, UnitClass('player')) +if(class ~= 'SHAMAN') then return end + +local parent, ns = ... +local oUF = ns.oUF + +local Update = function(self, event) + local maelstrom = self.Maelstrom + local bar = maelstrom.Bar + local current = UnitPower("player", SPELL_POWER_MAELSTROM); + local max = UnitPowerMax("player", SPELL_POWER_MAELSTROM); + + if(maelstrom.PreUpdate) then maelstrom:PreUpdate() end + bar:SetMinMaxValues(0,max) + bar:SetValue(current) + if(bar.text) then + bar.text:SetText(current) + end + if(maelstrom.PostUpdate) then + return maelstrom:PostUpdate(current) + end +end + +local Path = function(self, ...) + return (self.Maelstrom.Override or Update) (self, ...) +end + +local ForceUpdate = function(element) + return Path(element.__owner, 'ForceUpdate') +end + +local Enable = function(self) + local maelstrom = self.Maelstrom + + if(maelstrom and maelstrom.Bar) then + local bar = maelstrom.Bar + bar.__owner = self + bar.ForceUpdate = ForceUpdate + + bar:SetMinMaxValues(0,100) + bar:SetValue(0) + + self:RegisterEvent('UNIT_DISPLAYPOWER', Path, true) + self:RegisterUnitEvent('UNIT_DISPLAYPOWER', "player") + self:RegisterEvent('UNIT_POWER_FREQUENT', Path, true) + self:RegisterUnitEvent("UNIT_POWER_FREQUENT", "player") + self:RegisterEvent('UNIT_MAXPOWER', Path, true) + self:RegisterUnitEvent("UNIT_MAXPOWER", "player") + + return true + end +end + +local Disable = function(self) + if(self.Maelstrom) then + self.Maelstrom:Hide() + self:UnregisterEvent('PLAYER_ENTERING_WORLD', Path) + self:UnregisterEvent('UNIT_DISPLAYPOWER', Path) + self:UnregisterEvent('PLAYER_TARGET_CHANGED', Path) + self:UnregisterEvent('UNIT_POWER_FREQUENT', Path) + self:UnregisterEvent('UNIT_MAXPOWER', Path) + end +end + +oUF:AddElement("Maelstrom", Path, Enable, Disable) diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_Necromancy/oUF_Necromancy.lua b/SVUI_UnitFrames/libs/Plugins/oUF_Necromancy/oUF_Necromancy.lua index 43ad2a1..a32b2ad 100644 --- a/SVUI_UnitFrames/libs/Plugins/oUF_Necromancy/oUF_Necromancy.lua +++ b/SVUI_UnitFrames/libs/Plugins/oUF_Necromancy/oUF_Necromancy.lua @@ -7,11 +7,8 @@ local floor = math.floor local runeColors = { {0.75, 0, 0}, -- blood - {0.75, 0, 0}, -- blood - {0, 0.75, 1}, -- frost {0, 0.75, 1}, -- frost {0.1, 0.75, 0}, -- unholy - {0.1, 0.75, 0}, -- unholy {0.75, 0, 1}, -- death } @@ -29,9 +26,10 @@ end local spellName = GetSpellInfo(54637) local UpdateType = function(self, event, rid) + local spec = GetSpecialization() local isUsable = IsUsableSpell(spellName) local rune = self.Necromancy[rid] - local colors = runeColors[rid] + local colors = runeColors[spec] if (rune and colors) then local r, g, b = colors[1], colors[2], colors[3] rune.bar:SetStatusBarColor(r, g, b) @@ -83,7 +81,7 @@ local Enable = function(self, unit) if(runes and unit == 'player') then runes.__owner = self runes.ForceUpdate = ForceUpdate - + self:RegisterEvent("PLAYER_TALENT_UPDATE", UpdateAllRuneTypes) self:RegisterEvent("RUNE_POWER_UPDATE", UpdateRune, true) self:RegisterEvent("RUNE_TYPE_UPDATE", UpdateType, true) --I have no idea why this won't fire on initial login. self:RegisterEvent("PLAYER_ENTERING_WORLD", UpdateAllRuneTypes) @@ -109,7 +107,7 @@ local Disable = function(self) local runes = self.Necromancy if(runes) then runes:SetScript('OnUpdate', nil) - + self:UnregisterEvent("PLAYER_TALENT_UPDATE", UpdateAllRuneTypes) self:UnregisterEvent("RUNE_POWER_UPDATE", UpdateRune) self:UnregisterEvent("RUNE_TYPE_UPDATE", UpdateType) self:UnregisterEvent("PLAYER_ENTERING_WORLD", UpdateAllRuneTypes) diff --git a/SVUI_UnitFrames/libs/_load.xml b/SVUI_UnitFrames/libs/_load.xml index 2a24e3b..4963bb5 100644 --- a/SVUI_UnitFrames/libs/_load.xml +++ b/SVUI_UnitFrames/libs/_load.xml @@ -68,7 +68,7 @@ <Script file="plugins\oUF_WarlockShards\oUF_WarlockShards.lua"/> <Script file="plugins\oUF_PriestOrbs\oUF_PriestOrbs.lua"/> <Script file="plugins\oUF_KungFu\oUF_KungFu.lua"/> - <Script file="plugins\oUF_TotemBars\oUF_TotemBars.lua"/> + <Script file="plugins\oUF_Maelstrom\oUF_Maelstrom.lua"/> <Script file="plugins\oUF_HyperCombo\oUF_HyperCombo.lua"/> <Script file="plugins\oUF_Gladiator\oUF_Gladiator.lua"/> <Script file="plugins\oUF_Necromancy\oUF_Necromancy.lua"/>