Compare with Previous | Blame | View Log
-- ZAM_Stats © ZAM Network LLC -- All Rights Reserved local isVeteran, GetLevel, GetCurXP, GetMaxXP, veteranIcon local GetUnitVeteranPoints = GetUnitVeteranPoints local GetUnitVeteranPointsMax = GetUnitVeteranPointsMax local GetUnitXP = GetUnitXP local GetUnitXPMax = GetUnitXPMax local strformat = string.format local function UpdateVeteranStatus() if isVeteran ~= IsUnitVeteran("player") then isVeteran = IsUnitVeteran("player") end GetLevel = isVeteran and GetUnitVeteranRank or GetUnitLevel GetCurXP = isVeteran and GetUnitVeteranPoints or GetUnitXP GetMaxXP = isVeteran and GetUnitVeteranPointsMax or GetUnitXPMax veteranIcon = isVeteran and "|t28:28:EsoUI\\Art\\UnitFrames\\target_veteranrank_icon.dds|t" or "" end local module, text = ZAM_Stats:CreateModule("Exp") CALLBACK_MANAGER:RegisterCallback("ZAM_Stats_Modules_Ready", function() local em = EVENT_MANAGER local function UpdateTextOnEvent(event) ZAM_Stats:SetModuleText(text, strformat("%d%%", GetCurXP("player")/GetMaxXP("player")*100), " Lvl "..GetLevel("player")..veteranIcon) end em:RegisterForEvent(module:GetName(), EVENT_EXPERIENCE_UPDATE, UpdateTextOnEvent) em:RegisterForEvent(module:GetName(), EVENT_VETERAN_POINTS_UPDATE, UpdateTextOnEvent) em:RegisterForEvent(module:GetName(), EVENT_LEVEL_UPDATE, function() UpdateVeteranStatus() UpdateTextOnEvent() end) em:RegisterForEvent(module:GetName(), EVENT_VETERAN_RANK_UPDATE, function() UpdateVeteranStatus() UpdateTextOnEvent() end) UpdateVeteranStatus() UpdateTextOnEvent() CALLBACK_MANAGER:RegisterCallback("ZAM_Stats_Force_Refresh", UpdateTextOnEvent) end)