Lua error on Brewmaster [Bug]
f4ndor opened this issue ยท 0 comments
**What version of TellMeWhen are you using? **
9.0.2
What steps will reproduce the problem?
- Log in brewmaster monk
- Zone into a dungeon
Screenshots and Export Strings
1x [string "Condition_STAGGER_HEALTH_SPELLCD"]:3: attempt to perform arithmetic on a nil value
[string "Condition_STAGGER_HEALTH_SPELLCD"]:3: in function `CheckFunction'
[string "@TellMeWhen\Components\Core\Conditions\ConditionObject.lua"]:265: in function `Check'
[string "ConditionEvents_STAGGER_HEALTH_SPELLCD"]:32: in function `UpdateFunction'
[string "@TellMeWhen\Components\Core\Conditions\UpdateEngine.lua"]:131: in function <...llMeWhen\Components\Core\Conditions\UpdateEngine.lua:124>
Locals:
ConditionObject = <table> {
Failed = true
conditionString = "local ConditionObject = ...
return (
((UnitStagger("player") / (UnitHealthMax("player")+epsilon) >= 0.3) -- 1_STAGGER
or (UnitHealth("player")/(UnitHealthMax("player")+epsilon) <= 0.7)) -- 2_HEALTH
and(CooldownDuration("celestial brew", false) == 0) -- 3_SPELLCD
)"
NextUpdateTime = Infinite
UpdateMethod = "OnEvent"
RequestedEvents = <table> {
}
registeredForUpdating = true
AutoUpdateRequesters = <table> {
}
AnticipateFunction = <function> defined ConditionEvents_STAGGER_HEALTH_SPELLCD:0
doesAutoUpdate = true
UpdateFunction = <function> defined ConditionEvents_STAGGER_HEALTH_SPELLCD:0
numArgsForEventString = 1
updateString = "local ConditionObject, event, arg1 = ...
if (not event or
(event == 'SPELL_UPDATE_USABLE') or
(event == 'SPELL_UPDATE_COOLDOWN') or
(event == 'UNIT_MAXHEALTH' and arg1 == "player") or
(false) or
(event == 'UNIT_ABSORB_AMOUNT_CHANGED' and arg1 == "player") or
(event == 'UNIT_HEALTH' and arg1 == "player")
) then
-- Anticipator #1
local start, duration = GetSpellCooldown("celestial brew")
local ANTICIPATOR_RESULT1 = duration and start + (duration - 0) or huge
if ANTICIPATOR_RESULT1 <= time then
ANTICIPATOR_RESULT1 = huge
end
-- Calculate next update time:
local nextTime = ANTICIPATOR_RESULT1
if nextTime == 0 then
nextTime = huge
end
ConditionObject.NextUpdateTime = nextTime
-- Don't check the condition or request an immediate check if event is nil
-- since event is only nil when manually calling from within :Check()
if not event then return end
-- Chec CheckFunction = <function> defined Condition_STAGGER_HEALTH_SPELLCD:0
funcIdentifier = "_STAGGER_HEALTH_SPELLCD"
ExternalUpdaters = <table> {
}
}
(*temporary) = nil
(*temporary) = 0.000000
(*temporary) = 0.000000
(*temporary) = "attempt to perform arithmetic on a nil value"
If I use the Condition: Stagger - Percent of Current Health, I get an additional error:
1x [string "Condition_STAGGER_CURPCT_ICON"]:3: attempt to perform arithmetic on a nil value
[string "Condition_STAGGER_CURPCT_ICON"]:3: in function `CheckFunction'
[string "@TellMeWhen\Components\Core\Conditions\ConditionObject.lua"]:265: in function `Check'
[string "@TellMeWhen\Components\Core\Conditions\UpdateEngine.lua"]:151: in function <...llMeWhen\Components\Core\Conditions\UpdateEngine.lua:146>
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "safecall Dispatcher[4]"]:9: in function <[string "safecall Dispatcher[4]"]:5>
[string "=(tail call)"]: ?
[string "@TellMeWhen\TellMeWhen-9.0.2.lua"]:839: in function `Fire'
[string "@TellMeWhen\TellMeWhen-9.0.2.lua"]:2664: in function <TellMeWhen\TellMeWhen.lua:2643>