WeakAuras

WeakAuras

206M Downloads

Trigger dynamic information is being used to evaluate a Condition

Tauril opened this issue ยท 6 comments

commented

Description

Good day!

I was drafting a weakaura whose purpose would be to change a predefined fallback icon based on some condtions. I have created a reduced version of my initial weakaura in order to try to explain my problem.
In this reduced version of my weakaura that reproduces the issue I am observing, there are two triggers. The first one is true, and the other is using the Unit Characteristics trigger to check if there is a warrior in my party. I have a custom trigger function that only returns the state of the 2nd trigger. Moreover, I have one condition which checks if the trigger 2 is false, in which case I change the icon I wish to display (in this reduced version of the weakaura, this condition shouldn't really matter since the trigger condition is only trigger 2, and the condition checks if it is false, but it does actually matter).
Note that my default fallback icon is the shaman windfury totem icon, and the icon my condition may change it to is the grace of air totem icon.

What I am observing is that, when I am in a party with a warrior (i.e. trigger 2 is true, so the weakaura is triggered), if the first trigger is true (whose information I actually never use), then my condition which checks if trigger 2 is not active to change the icon (i.e. if (trigger[2] == "not active") evaluates to true, and my icon is changed.
However, if I do either of the following, then my condition correctly evaluates to false, and my icon isn't changed.

  1. Set the first trigger to false
  2. Swap the order of Trigger 1 and Trigger 2 (and update the trigger condition to check for trigger 1 instead of trigger 2). In this case, Trigger 2 no longer matters whether it evaluates to true or false, which is what is expected.

One thing I noticed is that if I choose Dynamic Information -> Dynamic Information from Trigger 2 (i.e. use the dynamic information of my trigger that checks for a warrior in my party), then my weakaura is working as intended no matter whether trigger 1 is active or not.
On the other hand, having it set to "first active trigger" results in the the misbehaviour I've described.
This finding would indicate that my Condition which checks if Trigger 2 is "not active" actually is using the result of the Dynamic Information instead.

WeakAuras Version

3.4.2

World of Warcraft Flavor

The Burning Crusade

Tested with only WeakAuras

  • Yes
  • No

Lua Error

No response

Reproduction Steps

  1. Import my weakaura from the Export String section
  2. Group a warrior
  3. You should see the Grace of Air Totem icon
  4. Modify the Dynamic Information of your triggers from "first active" to "trigger 2"
  5. You should correctly see the Windfury Totem icon

Last Good Version

No response

Screenshots

Trigger 1 is true (not checked for)
image
Trigger 2 is true
image
Condition 1 should evaluate to false and not modify the icon
image
Condition 1 actually evaluates to true, which results in the icon to be changed into Grace of Air
image
I change the Dynamic Information to check for Trigger 2
image
My condition now correctly evaluates to false and doesn't modify my fallback icon
image

Export String

!WA:2!DrvZUTTrq4O4g0aEkrXrOXhku)ZjUTWTqn2O1TfPIQs1UqXwGK5NIGcZLKdj3AQDP3DPKLVuaDkN1dqrHoNt6qpx4NGfcf9bipc(jOZsjlG6fqGJMF(MDM5BNkDQ2VAu1Ox)rtPHCMlVqecvMtkuPCXr5kkNjTeJokowcQ9)Hp)0)8g4zgHfI27XPmvqR2h612zEiNNfXhYChsZb)lU6VTJsGuBd2(JvcAsciK)XMILIVU2esHGWi9b5gx8cIce1DtPqwu(DlKWXjade0q3u(WJy(53rXvq)drV7ruOVS8QEy0NwqZQ3KkQ7zm7uIM1ezoKLz8TY0iiOio2Buoi2VD3EDEwx7cgvfKNrgbcBfAqV(8)xYERS8tRLLXBLfbWaGPCrGONn74wnD9o21RPJ3mZfLYgGfg4N)GRFfpMJzLO4IPXuw0JE4NiF4woLqnTfNfrlBXRGVNaq4DC71UB35cGK5UQkMBYZQIYFCP4brsR81nwUEE9fO2spNymtYOdwkQeKWt8hBenDbujB54WAtT1FPRPxx)a9goHzePu8IMoohCKJ(9Zx)zO31BLsW4XmqLkAOuV1cqlD2x)Xw67yPx3jNiuJ011FGUQ(E6p1Awev(BfSqfElcclKkE)8Ql(6Ti3D5j0W86XLoXz1FKAlR64raQcbRU6vn(vlGH8csjilJ6P8i4n34sKhILmj754qad(vxEca5nXouOYHGWLoHWO9nsSDDKk8Y15cGibxLayjQ03vxZMXzW8iKnA86ydNahOiVnso24QH9O3ZUpHY6O)gma9E6Vv)D6VxVxaozPY0RRgPDsIYaiKofhWoqIzwVX)opjJpSJaoTayHJ69oF52n2rxtGUymCb2o)j8BlEgxKo2OYK75bfkfNDeYZqw7uJ6UL397pZi)llEIwzsYvH(ZRHNsBVCPnBZF8lZUxkn8egiLRvgGBijdwi2LIQVBj(2CreisdsbAsQIyNXjrd0BVyGZq(kAtHbYu1C6xKPOw2s65qnT3Z1FHFdfW8NQgIMhfBiFJJ5iPOpH5hSqRV(Z2mqszjzqG7(nFAZd1Eie4udHWsCooqq(9nNkkBCLdGBB4EMU4U6V2s)elBSZRSMrzi2lMVwtdx9SAJnDctHWt2vBDRXdickjidSnVSDgqYkGkIWuclb39SPo(9U59yJZfMNRQrg(Qz7Wbiyb4VyAc(o7QLAEWzQFKknOfLAFoN3VYufpCWc23T7D)pKg5ywiTZejKfxUNuFRzXc85is5ikYAxUyfAhJktLf42YPD7dDcxn6AuqJM5rpSrVZcFSCNcXYDmPIZwUo(V)9NOmRJDgsJuPenflHzJV6sM6qYYtjRvv68vB)4TBuDW)8Y)7d

commented

I think you'll find that this issue is due to the trigger you're using actually creating clone states for each unit matching the trigger's filter. These clone states do not match the "main" state of your Aura's Dynamic Info because you have Dynamic Info coming from that mostly unused trigger1.

The direct fix would be to either swap trigger2 into the #1 slot and continue using Dynamic Info From First Active, or else set Dynamic Info to always come from trigger2. The weakness of these solutions is that in a cloning trigger the clones are the Dynamic Info so you'll have multiple clones being made.

You might find it simpler to just make a quick custom trigger to check for a specific class in the group. Feel free to come to the Discord to chat about achieving that if you're not sure.

commented

This is a bug tracker not a help forum. If you want help, don't choose the wrong avenue.

commented

And I described what I thought to be a bug, explaining why it isn't one would have been better than saying "you don't understand anything".

commented

If you put stuff in quotes, it better be a quote.

commented

From the auras setup it's pretty clear that you don't quite understand what a custom trigger combination does. I suggest you join the discord and simply ask how to achieve what you want to do.

commented

@InfusOnWoW your comment is in no way helping. Saying something is wrong without explaining why isn't useful. asaka-wa already helped me by explaining the issue on discord.