FeralSnapshots

FeralSnapshots

15k Downloads

"Sudden Ambush" calculating wrong

aavvaavvaa opened this issue ยท 7 comments

commented

Hello, I noticed a bug with "Sudden Ambush", it returns wrong value of current, next and relative rake most of the time, in rare cases it returns proper value, there is an example https://imgur.com/a/R2p9TL8

  1. normal rake applied to the target (no TF etc), you can see current value is 1, next and relative is 1.6.
  2. boosted rake applied, the "Sudden Ambush" is down, but you can see current, next and relative is 1.
  3. boosted rake applied, the "Sudden Ambush" is up, current is 1, next and relative is 1.6.

You can see the TF is on cooldown, but i canceled it by myself before i applying the rake.

code:

function()
    if aura_env.snapshots then
        local c = aura_env.snapshots.CurrentRake(UnitGUID("target"))
        local n = aura_env.snapshots.NextRake(UnitGUID("target"))
        local r = aura_env.snapshots.RelativeRake(UnitGUID("target"))
        if c == nil or n == nil then return nil end
        local res = "current: "
        res = res .. tostring(c.total)
        res = res .. "\nnext: "
        res = res .. tostring(n.total)
        res = res .. "\nrelative: "
        res = res .. tostring(r.total)
        return res
    end
end

update:
after a few hours break i tried again and now it works fine, i'm trying to reproduce the bug, but no luck so far.

commented

Thanks for the report. By boosted rake, do you mean a rake that consumed a Sudden Ambush buff (or from Stealth?)

For 2. - did you expect next and relative to be lower than current?

One thing I could think of is the function you have. Is it displayed on every frame, or by a trigger condition?

commented

Thanks for the report. By boosted rake, do you mean a rake that consumed a Sudden Ambush buff (or from Stealth?)

Yes

For 2. - did you expect next and relative to be lower than current?

Yes
I made a video for better understanding: https://youtu.be/w7x5oeAC1hs

One thing I could think of is the function you have. Is it displayed on every frame, or by a trigger condition?

WA i used: https://wago.io/vu9-F3qo-
Sometimes this bug is hard to reproduce, sometimes not, like in the video.

commented

One of the reasons for making this AddOn was to have the state of the snapshot for WAs without calculating it every frame.

However, this depends on FeralSnapshots to receive the aura update events before WA receives them.

The trigger action on that WA is on UNIT_AURA:player:target which should update the text when rake or SA change (add/update/remove).

Could you try to update that WA on every frame rather than an event trigger?

If you can reproduce it when the WA is updating every frame then it's in FeralSnapshots. If not, then we can look closer at how the WA is setup.

commented

One of the reasons for making this AddOn was to have the state of the snapshot for WAs without calculating it every frame.

However, this depends on FeralSnapshots to receive the aura update events before WA receives them.

The trigger action on that WA is on UNIT_AURA:player:target which should update the text when rake or SA change (add/update/remove).

Could you try to update that WA on every frame rather than an event trigger?

If you can reproduce it when the WA is updating every frame then it's in FeralSnapshots. If not, then we can look closer at how the WA is setup.

WA i used(every frame): https://wago.io/gyNw8uqO0
https://www.youtube.com/watch?v=k89pUZuMDHE, first SA proc on 1:45
https://www.youtube.com/watch?v=XIH9HZaoXB0, same problem with stealth at start, proc on 0.37
As you can see sometimes it works, sometimes it doesn't.

commented

Hello, same issue here, using FeralSnapshots Nameplates, video : https://www.youtube.com/watch?v=XZrecym6yVo&ab_channel=minorrus
i use rake from stealth -> after i leave stealth nameplate rake should always be with the red mark (power loss), but first 2 times it doesnt have it, it shows no red icon (Equal power), the third time it shows the red mark. It bugs with default steal->rake combo and with Sudden Ambush proc (1:04 video)

commented

https://www.youtube.com/watch?v=XIH9HZaoXB0, same problem with stealth at start, proc on 0.37
As you can see sometimes it works, sometimes it doesn't.

Interesting at about 0.56 when rake is applied with SA, there is a frame where the relative power indicator is red, then relative is gray. I can see it's not consistent.

commented

Thanks for the reports. There are some assumptions this addon makes:

  • Each frame gets a single GetTime().
  • GetTime() will agree with C_UnitAuras.GetPlayerAuraBySpellID start/expiration times.
  • Multiple events per frame will be delivered in a stable order.
  • SuddenAmbush will expire on the same frame that Rake is (re-)applied

It looks like some of these assumptions need to change in TWW, so bear with me, it'll take some debugging time to find out how.