--[[============================================================================ This file is a part of ChampionBar Copyright (C) 2015 Scott Yeskie (Sasky) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. ============================================================================]] ChampionBar = ChampionBar or {} local function replaceBars() local ppb = PLAYER_PROGRESS_BAR ppb.barTypeClasses[PPB_CLASS_EP] = ChampionBar.EPBarType ppb.barTypeClasses[PPB_CLASS_VP] = ChampionBar.VPMaxBarType ppb.nextBarType = 1 ppb.barTypes = {} PPB_XP = ppb:InstantiateBarType(PPB_CLASS_XP) PPB_VP = ppb:InstantiateBarType(PPB_CLASS_VP) PPB_CP = ppb:InstantiateBarType(PPB_CLASS_CP) PPB_EP = ppb:InstantiateBarType(PPB_CLASS_EP) ppb:InitializeLastValues() end local function replaceHandlers() function PLAYER_PROGRESS_BAR:RefreshSecondaryBar() local secondaryBarInfo = self:GetSecondaryBarInfo() if secondaryBarInfo then local current = secondaryBarInfo:GetCurrent() local max = secondaryBarInfo:GetLevelSize(secondaryBarInfo:GetLevel()) if max == nil then current = 1 max = 1 end self.secondaryBarControl:SetMinMax(0, max) self.secondaryBarControl:SetValue(current) local gradient = secondaryBarInfo:GetBarGradient() ZO_StatusBar_SetGradientColor(self.secondaryBarControl, gradient) ZO_StatusBar_SetGradientColor(self.enlightenedBarControl, gradient) local icon = secondaryBarInfo:GetIcon() if icon then self.secondaryBarLevelTypeIcon:SetTexture(icon) end self.secondaryBarLevelTypeIcon:SetHidden(not icon) local txt = current == 0 and "" or "ENLIGHTENED" self.secondaryBarControl:GetNamedChild("SecondaryLevelType"):SetText(txt) end self.secondaryBarControl:SetHidden(secondaryBarInfo == nil) end function PLAYER_PROGRESS_BAR:Show() self:SetBarState("showing") local barTypeInfo = self:GetBarTypeInfo() AAA = barTypeInfo ZO_StatusBar_SetGradientColor(self.barControl, barTypeInfo:GetBarGradient()) self:RefreshSecondaryBar() for i = 1, self.glowContainer:GetNumChildren() do local glowTexture = self.glowContainer:GetChild(i) glowTexture:SetColor(barTypeInfo.barGlowColor:UnpackRGB()) end self.levelTypeLabel:SetText(zo_strformat(SI_LEVEL_BAR_LABEL, barTypeInfo.levelTypeText)) if(barTypeInfo:GetIcon() ~= nil) then self.levelTypeIcon:SetHidden(false) self.levelTypeIcon:SetTexture(barTypeInfo.icon) else self.levelTypeIcon:SetHidden(true) end self.control:SetHidden(false) self.fadeTimeline:PlayForward() end end local function onAddOnLoaded(_, addonName) if addonName ~= "ChampionBar" then return end replaceBars() replaceHandlers() end EVENT_MANAGER:RegisterForEvent("ChampionBarReplace", EVENT_ADD_ON_LOADED, onAddOnLoaded)