TellMeWhen

TellMeWhen

24M Downloads

Lua error on Brewmaster [Bug]

f4ndor opened this issue ยท 0 comments

commented

**What version of TellMeWhen are you using? **
9.0.2

What steps will reproduce the problem?

  1. Log in brewmaster monk
  2. 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>