Bagnon

Bagnon

127M Downloads

Pawn disabled PawnShouldItemLinkHaveUpgradeArrow on Classic

TravisSpomer opened this issue · 3 comments

commented

Running Software (issues missing this information will be deleted):

  • Addon version: n/a
  • Server patch: all Classic versions

Have you read the changelog? (please don't waste our time)
-[X] Mark if read.

Describe the bug
When used alongside Pawn, Bagnon calls PawnShouldItemLinkHaveUpgradeArrow to determine whether or not to show green arrows. Starting with Pawn 2.7.6, that function will just return false for you on all Classic versions.

Additional context
I'm the author of Pawn. I'm doing this because I've been getting a bunch of reports that it's causing some unplayable slowdowns for some people using Bagnon. (PawnShouldItemLinkHaveUpgradeArrow is much slower on Classic versions than modern WoW because it can't cache the results due to a bunch of game bugs. Once we all have a moment to breathe, I'll see if there's a way we can get this working again for Classic versions, because I know a lot of people were excited about getting green arrows in bags on Classic versions too!)

Feel free to close this; I just wanted to make sure you were aware. You can reach out to me directly at any time!

commented

Should I use a different function? Or you'll handle it on yourend? Recently changed to this because a user said it gave better results.

commented

PawnIsContainerItemAnUpgrade was the correct one to use—sorry, I probably should have made PawnShouldItemLinkHaveUpgradeArrow local and then there wouldn't have been a mixup. It would be safe and good to switch back. The differences are:

  • PawnIsContainerItemAnUpgrade is nil on the Classic versions of the game
  • PawnIsContainerItemAnUpgrade allows users to disable Pawn's interference with a setting and go back to the game's normal IsContainerItemAnUpgrade functionality
  • Then PawnIsContainerItemAnUpgrade just calls PawnShouldItemLinkHaveUpgradeArrow, which is also used for other cases like the loot roll popups

This problem doesn't occur in non-Classic versions because upgrade checking is faster, and also I suspect that the game's built-in bags may be more aggressive about caching the results but I'm not sure of that.

In the future I can make it so that PawnIsContainerItemAnUpgrade works on Classic versions too, and then people with both Pawn and Bagnon could get green arrows there too. But I'd need to implement some kind of throttling or then this problem would come back.

commented

(Clearly the lesson is: never listen to users.)