Skip to content

Improve extra item aura refresh timing for fishing buffs#32

Open
thllxb wants to merge 1 commit into
LegolandoBloom:releasefrom
thllxb:release
Open

Improve extra item aura refresh timing for fishing buffs#32
thllxb wants to merge 1 commit into
LegolandoBloom:releasefrom
thllxb:release

Conversation

@thllxb

@thllxb thllxb commented Mar 16, 2026

Copy link
Copy Markdown

Summary

This PR updates extra item and macro aura refresh behavior so Angleur can reapply before the buff fully expires, using fishing channel timing instead of waiting for aura removal.

Closes #30.

Changes

  • add shared extra-item aura reuse logic for retail and classic variants
  • refresh extra items and macros when remaining aura time drops below the refresh threshold instead of only after expiration
  • measure the fishing channel duration from UnitChannelInfo("player") and use that as the preferred refresh threshold
  • fall back to a 30 second threshold when no live fishing channel duration is available
  • clear cached channel duration on failed reads so stale timing data is not reused
  • add a standalone Lua regression script covering fallback and dynamic-threshold behavior

Validation

  • editor diagnostics show no errors in the changed Lua files
  • standalone Lua regression script was updated, but could not be executed in this workspace because no lua or luajit runtime is available on PATH

@thllxb

thllxb commented Mar 16, 2026

Copy link
Copy Markdown
Author

@LegolandoBloom Can you please review and merge?

@drewkeller

Copy link
Copy Markdown

I added the new file and manually merged in the few changes for retail.
I took a brief look at the code but it was not easy to follow what all the auras and time remaining were actually referring to. Probably because I'm not familiar with the existing Angleur code.

This update does work better, so thanks for that :)

But... it still wasn't perfect. Eventually, I ran into a scenario like this (counts down to the end of the buff)...

Caught a fish close to when the buff was going to expire.
T-30s Aura tracker throws a fish in to make 30s buff
T-28 Cast
T-14 Catch
T-12 Cast (fish is not thrown in, so buff might run out before catch)
T-0  Buff runs out
T+2  Catch (this catch is unbuffed)

(in my experience, it seems that if you start out with a buff, and it expires before the catch, the catch does not benefit from the buff.)

Honestly, the way I expected the timer to work is that it just keeps track of the last time it threw a fish in. So if I manually throw a bunch in to get 3 minutes buff and start fishing, the next cast with less than 2m30s (being longer than my 30s timer setting) would throw in a fish to get me back to ~3 minutes. Eventually, that would also run out of buff time unless the tracker also applies the deltas each time.

@drewkeller

Copy link
Copy Markdown

By the way, this PR is never going to be accepted per this comment: #29 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

custom item should be re-applied before the associated buff is completely gone.

2 participants