On Cooldown conditions activate when expirationTime is Inf
shrugal opened this issue ยท 1 comments
Describe the bug
Having an aura with a "Cooldown Progress (Spell)" trigger and adding an "On Cooldown" condition with value = true to it causes the condition to activate even though the spell is not on cooldown. The reason seems to be that the state.expirationTime
is infinite and therefore set and greater than GetTime()
, causing the conditionTest
method to return true.
Happens with a few spells, e.g. Seraphim and Avenging Wrath
Do you have an error log of what happened?
No error, just wrong behavior.
To Reproduce
- Create aura with "Cooldown Progress (Spell)" trigger
- Add "On Cooldown" condition, set value to true and add a property change
- Property changes even when the spell is not on cooldown
Which version of WeakAuras are you using?
2.17.4
Are you on World of Warcraft Classic or Retail?
- Classic
- Retail
Was it working in a previous version? If yes, which was the last good one?
I know it worked correctly in the past, but don't quite know when it stopped working
Additional Info
Example Seraphim aura: https://gist.github.com/shrugal/e8c954d32525a6ec52a87d221a770ea3
The issue is your aura's first trigger. It's set to show "only on cd", which means that if the ability is not on cd it does not create any state.
In that case a fallback state is created, which does contain a infinite progress.
You should simply set your first triggert to "Always Show".