feat: v2.14.0 - personal/realm bank, stat search, faster sort

- Bagnon_Forever: silence "Unknown Bank Type" for regular guild banks; mirror
  IsPersonalBank/IsRealmBank from BANK_PERMISSIONS_PAYLOAD onto GuildBankFrame
  and broadcast GUILDBANK_TYPE_DETECTED so other modules pick up the bank type
- TitleFrame: show "Personal Bank" / "Realm Bank" instead of always "Guild Bank";
  re-render on GUILDBANK_TYPE_DETECTED to handle event-ordering races
- LibItemSearch: full-tooltip text scan (substring across every line, cached);
  bare-text search now falls back to it at 3+ chars so typing "Agility" or
  "Strength" finds matching gear. Explicit prefix tt:<text> also works
- SortBtn: rewrite DoContainerMoves to use the 3-pickup swap pattern with
  client-side cursor verification and an explicit 50ms inter-swap delay;
  much faster than the old link-verify loop without outpacing the realm
  server and desyncing after ~10 moves
This commit is contained in:
2026-05-13 08:02:49 +02:00
parent da85c0b9fb
commit 0aac38f254
6 changed files with 182 additions and 90 deletions
+13 -1
View File
@@ -46,6 +46,12 @@ function TitleFrame:PLAYER_UPDATE(msg, frameID, player)
end
end
function TitleFrame:GUILDBANK_TYPE_DETECTED()
if self:GetFrameID() == 'guildbank' then
self:UpdateText()
end
end
--[[ Frame Events ]]--
@@ -113,6 +119,7 @@ function TitleFrame:UpdateEvents()
if self:IsVisible() then
self:RegisterMessage('PLAYER_UPDATE')
self:RegisterMessage('GUILDBANK_TYPE_DETECTED')
end
end
@@ -147,8 +154,13 @@ function TitleFrame:GetTitleText()
if self:GetFrameID() == 'keys' then
return L.TitleKeys
end
if self:GetFrameID() == 'guildbank' then
if GuildBankFrame and GuildBankFrame.IsPersonalBank then
return [[%s's Personal Bank]]
elseif GuildBankFrame and GuildBankFrame.IsRealmBank then
return [[Realm Bank]]
end
return [[%s's Guild Bank]]
end