TellMeWhen

TellMeWhen

24M Downloads

[CF 1602] Unit Alive = True triggers if Arena1-3 leaves instance

tmw-issue-import opened this issue ยท 5 comments

commented

Title.

 

Haven't actually confirmed this 100%, but my aura which should only evaluate as true if A1-3 are all alive is sometimes triggering when the healer is dead and after their arena frame changes - pretty sure this is because they release spirit?


Posted by CurseForge user Jalopyy | Imported from CurseForge issue #1602 | Raw

commented

Update: this actually happens when someone leaves the arena, causing ArenaX to no longer exist.

 

Since my conditions are as follows below, I assume since Arena2 (for this example) stop existing, the condition for Arena2 = alive is skipped entirely, making it so only Arena1 and 3 have to be alive. But then it still caches the old pre-leaving unit specs of A1-3 somehow?

 

Really confused how to quantify this accurately for you.

 


Posted by CurseForge user Jalopyy

commented

I'm think when someone leaves an arena after being fetched as an Arena1-3 unit, their ArenaX frame can't be targeted but still exists. I assume something about this happening either causes TMW to assume the unit is alive or assumes the unit does not exist, therefore  skipping the Unit is Alive = True  check on that frame entirely and only consulting the other 2 "Unit is Alive".

 

Not sure which. I assume the former, as if the arenaX frame ceased to exist entirely I would assume the condition wouldn't fire at all, as it still requires A1/2/3 to be fetched and equated to a healing spec in the first place.


Edited Oct 23, 2018

Posted by CurseForge user Jalopyy

commented
commented

My only guess on this one as that if a unit which existed (arenaX in this cast) suddenly stops existing, it somehow makes unit=alive succeed? I dunno.

E: Either that or since Arena1/2/3 stops existing, the conditional stops checking them and only checks the other two, which since they haven't left the instance yet, makes the aura succeed.

Assuming the E: is true the solution for me is to just also add some sort of unit=exists check.

E2: Maybe not because if the healer (arena1 for example's sake) leaves, then the aura should fail to proc entirely, because no other healer would be in the arena to make the aura succeed, I'd assume?

commented

I forgot that the "is alive" api that Blizzard provides is actually "is dead", and TMW just negates the result. This means that for some unit that doesn't exist, UnitIsDeadOrGhost returns false, which TMW then flips to true, which then makes TMW consider the unit to be alive.

I'll add a check to the condition that the unit exists.