From 35f9050daa836e0a9535898c13682865ef109395 Mon Sep 17 00:00:00 2001 From: p3lim Date: Wed, 13 Oct 2010 02:43:20 +0200 Subject: [PATCH] Add some basic tags --- oUF_Experience.lua | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/oUF_Experience.lua b/oUF_Experience.lua index e7c934c..5f3559c 100644 --- a/oUF_Experience.lua +++ b/oUF_Experience.lua @@ -2,6 +2,49 @@ local _, ns = ... local oUF = ns.oUF or oUF assert(oUF, 'oUF Experience was unable to locate oUF install') +local tagStrings = { + ['curxp'] = function(unit) + if(unit == 'pet') then + return GetPetExperience() + else + return UnitXP(unit) + end + end, + ['maxxp'] = function(unit) + if(unit == 'pet') then + local _, max = GetPetExperience() + return max + else + return UnitXPMax(unit) + end + end, + ['perxp'] = function(unit) + if(unit == 'pet') then + local min, max = GetPetExperience() + return math.floor(min / max * 100 + 0.5) + else + return math.floor(UnitXP(unit) / UnitXPMax(unit) * 100 + 0.5) + end + end, + ['currested'] = function(unit) + return GetXPExhaustion() + end, + ['perrested'] = function(unit) + local rested = GetXPExhaustion() + if(rested and rested > 0) then + return math.floor(rested / UnitXPMax(unit) * 100 + 0.5) + end + end, +} + +local tagEvents = { + ['curxp'] = 'PLAYER_XP_UPDATE PLAYER_LEVEL_UP UNIT_PET_EXPERIENCE', + ['maxxp'] = 'PLAYER_XP_UPDATE PLAYER_LEVEL_UP UNIT_PET_EXPERIENCE', + ['perxp'] = 'PLAYER_XP_UPDATE PLAYER_LEVEL_UP UNIT_PET_EXPERIENCE', + ['currested'] = 'UPDATE_EXHAUSTION', + ['perrested'] = 'UPDATE_EXHAUSTION', +} + local function Unbeneficial(self, unit) if(unit == 'player') then if(UnitLevel(unit) == MAX_PLAYER_LEVEL) then @@ -68,6 +111,14 @@ local function Enable(self) self:RegisterEvent('PLAYER_LEVEL_UP', Path) self:RegisterEvent('UNIT_PET_EXPERIENCE', Path) + for tag, func in pairs(tagStrings) do + oUF.Tags[tag] = func + end + + for tag, event in pairs(tagEvents) do + oUF.TagEvents[tag] = event + end + local rested = experience.Rested if(rested) then self:RegisterEvent('UPDATE_EXHAUSTION', Path) -- 1.7.9.5