From 385b64636357fc53521ba278aabd733c341808c5 Mon Sep 17 00:00:00 2001 From: Sidoine De Wispelaere Date: Sat, 12 Nov 2011 19:16:01 +0000 Subject: [PATCH] divide by zero fix git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@426 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- Condition.lua | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Condition.lua b/Condition.lua index 64bf768..8411bf1 100644 --- a/Condition.lua +++ b/Condition.lua @@ -715,10 +715,16 @@ Ovale.conditions= -- 2 : the limit, in percent LifePercent = function(condition) local target = getTarget(condition.target) + if UnitHealthMax(target) == nil or UnitHealthMax(target) == 0 then + return nil + end return compare(UnitHealth(target)/UnitHealthMax(target), condition[1], condition[2]/100) end, lifePercent = function(condition) local target = getTarget(condition.target) + if UnitHealthMax(target) == nil or UnitHealthMax(target) == 0 then + return nil + end return 100 * UnitHealth(target)/UnitHealthMax(target), 0, 0 end, -- Test if a list item is selected @@ -752,11 +758,19 @@ Ovale.conditions= return GetManaAndRate(false) end, ManaPercent = function(condition) - return compare(UnitPower("player")/UnitPowerMax("player"), condition[1], condition[2]/100) + local target = getTarget(condition.target) + if UnitPowerMax(target) == 0 then + return nil + end + return compare(UnitPower(target)/UnitPowerMax(target), condition[1], condition[2]/100) end, manaPercent = function(condition) + local target = getTarget(condition.target) + if UnitPowerMax(target) == 0 then + return nil + end local value, t, rate = GetManaAndRate(false) - local conversion = 100/UnitPowerMax("player") + local conversion = 100/UnitPowerMax(target) return value * conversion, t, rate * conversion end, MaxHealth = function(condition) -- 1.7.9.5