WeakAuras

WeakAuras

210M Downloads

Conditions like "Remaining Duration < x" do not return true anymore when the ability is off cooldown.

hambold opened this issue ยท 3 comments

commented

Is there an existing issue for this?

  • I have searched the existing open and closed issues.

Description

Hi,

until version 5.17.4 it used to be that a condition like "Remaining Duration <= 3sec" would return true if the ability in question was not on cooldown. I think this was intuitive and useful behavior.

Since 5.17.5 a condition like that no longer returns true when an ability is off cooldown.
In the changelogs for this version there is no mention of this new behavior, so I'm hoping this was an unintentional side effect of some other fix.
Perhaps cooldowns got caught in the crossfire when fixing auras: "BT2: Treat Auras with expirationTime == 0 as having an unknown time"

Thank you!

WeakAuras Version

WeakAuras 5.17.5 and up

World of Warcraft Flavor

Retail (Default)

World of Warcraft Region

EU

Tested with only WeakAuras

I got this issue with only WeakAuras enabled

Lua Error

No response

Reproduction Steps

  1. Make a WA that tracks a cooldown
  2. Set it to always show
  3. Make a condition that does something when Remaining Duration is < 3sec
  4. (Or install the WA below and skip steps 1-3)
  5. Use the ability to put it on cooldown
  6. Condition should return true while the cooldown has 3sec or less remaining
  7. Condition should return false when the cooldown has expired (desired behavior is for it to return true in this state)

Last Good Version

WeakAuras 5.17.4

Screenshots

Wow_2025_01_09_15h58m32s.mp4

Export String

!WA:2!1rvZoUrrq41RrksgeSXbIsqriZkikHdlqcjOGGd7SXgsKJxRzCYgUGDptxE6MDC3nD3J)jWL4t5aN8las(mCXx4gh2NGrwiEa2d8aSpbu9m27MeX6dE6Q663VUQVsnQoOkTk9f3yopskcKP6i4ABSKKAzs9(klxkmvwqO)yQXc0hrgV5zcCXM6j73VVbSLwqerOhTLCHnCV6T6u3FzKuMqLJebJ4kO3rRfRtJbMMeLh776BSeTTsyFUGByv8Wp2ktTAECmOnV911Ro(pE2jkW3OGKKJnPHWqqyds73NpEr392nOt3Go763rDXud0ngeGMhfWKJ2x0Zp3w1v3BvbuRTwgRbJP2ncCH7M(cYaWuzofcXa2bZJ(7Q3SDJh3CPlA55SfAsVP5hFa1uz5RKI5g8ZUjJitmEPydeQsita9P1zBnG1PFq76nBoZfsl2)h2B2Pr(kL(0)AwQyvVwrDrh8me6ui)ijf(9nobHwqlijpbbge7(TJvR6JINTp5ABS5mdK0p)ri7cy7yi2unXcS5yL4dXoe)RUC2wlrXqScI1Yub9FxgNih1qd)ukiIM0(n(SDU1DY2sJg5U4i3F33fh09YtDsoiYdrXO5oPMGi2YEVfUZF)Q5HzoH9Kjs9dlJ)ocB6VDTgwULpDLL5jVdJhDOaBLY5ogersGYEUJSCfn54LxmpBEsnf0SxCv1hAHX2U5)1xQhqSDvDT8bqxLgI4oiQ8Stnz7pwPQDEomqs76WPEhNF5lbIQlLRb3hKO98Od4ulZBxu8KI4Whd0CLpx9rNx4tGys0KU9tKyZFuUbUviE)j4RKwAXm3bv61A)w1lUEiw(HjqVIxbNQLflyRrT55MfDkapBvAX58l1UtTaIWuRfrRLJQ5Ht9QQfngJqpd5FfLRF4ux9)Plko47Ag6Y8RgHVchOjQPhS6WYtlG89N9FCNMpOvD1wfW3zKdiK(bNhovivALtf1vXmuPsLkFwgc4pdUT6MNxyOtW9zEuxldxoyy3xAf4TUhdzapMzFUxIKqFs(cPa3t1Sqlo3jSx2FqAILxXpkHymxo7hQ4HBQrfhWC7oO2cDB3vuH5mJSxxfxWMRZx6Y3xCeS3kLtxWoyq4nADVhYBDVtoea1UUGB9D7xSfCrrZGEvjd6PE310MUjK7ZneCSG2Z7zs5Gs(KefJuEUvgnSGt4kL(J)CBovDnFyabPsfX1wV5wBpPGYDNuvX6CnziYT47M8x0xJ8qbiXKLu(Kc8QHtLR2dd2ZVE9w(JYh0dXgPppUIMlCPfy(V0CirWlQ(7M9MnocigxmZjiUq2wEcPawsxvrDDm6O)y4OMPotD5kBINR0BKngDiBs2ZY(5SFb)(wVUM5rRBiZ7FD)igeDyJS3P80Hen3HshdJv8Im1bhl8hsssHQ3EBPA7V(B0rmIigqpZM2BksKIvIDIJMCNBTJJMz6ACVNECXyZVUzvt4D25Z)YD(IQd)7N(Fp

Bisector Report

No response

commented

That's disappointing, but I understand.
Maybe a new conditional like "Time until usable" is worth considering for people who prefer the old behavior, but it's probably very niche.

The old behavior was nice to track things like Arcane Mage's mini/big burn or any sort of ramp probably. I was able to track both burn conditions with just one WeakAura, three triggers (one for each spell) and two condition blocks (to check if a spell is usable or usable soon).
Now I have to split them up into two WeakAuras with twice the amount of triggers for each and custom trigger conditions.

Not the end of the world, but wanted to point out how the old behavior was useful to have.

commented

That's intended behaviour. A cooldown that is ready has no remaining duration.

commented

Also your guess is correct, the change is indeed connected to the mentioned bug fix. As part of that the comparisions for expiration times was cleaned up, so that they work correctly now. An unknown expiration time always returns false for any check,