display only current realm characters
This commit is contained in:
+10
-6
@@ -160,11 +160,13 @@ function DB:SaveMoney(copper)
|
||||
end
|
||||
end
|
||||
|
||||
-- Get all characters (optionally filter by faction)
|
||||
function DB:GetAllCharacters(sameFactionOnly)
|
||||
-- Get all characters (optionally filter by faction and/or realm)
|
||||
function DB:GetAllCharacters(sameFactionOnly, currentRealmOnly)
|
||||
local chars = {}
|
||||
for fullName, data in pairs(Guda_DB.characters) do
|
||||
if not sameFactionOnly or data.faction == playerFaction then
|
||||
local factionMatch = not sameFactionOnly or data.faction == playerFaction
|
||||
local realmMatch = not currentRealmOnly or data.realm == playerRealm
|
||||
if factionMatch and realmMatch then
|
||||
table.insert(chars, {
|
||||
fullName = fullName,
|
||||
name = data.name,
|
||||
@@ -211,11 +213,13 @@ function DB:GetCharacterInfo(fullName)
|
||||
return char and char.character or {}
|
||||
end
|
||||
|
||||
-- Get total money across all characters
|
||||
function DB:GetTotalMoney(sameFactionOnly)
|
||||
-- Get total money across all characters (optionally filter by faction and/or realm)
|
||||
function DB:GetTotalMoney(sameFactionOnly, currentRealmOnly)
|
||||
local total = 0
|
||||
for fullName, data in pairs(Guda_DB.characters) do
|
||||
if not sameFactionOnly or data.faction == playerFaction then
|
||||
local factionMatch = not sameFactionOnly or data.faction == playerFaction
|
||||
local realmMatch = not currentRealmOnly or data.realm == playerRealm
|
||||
if factionMatch and realmMatch then
|
||||
total = total + (data.money or 0)
|
||||
end
|
||||
end
|
||||
|
||||
+4
-3
@@ -188,11 +188,12 @@ function Tooltip:AddInventoryInfo(tooltip, link)
|
||||
local hasAnyItems = false
|
||||
|
||||
local currentPlayerName = addon.Modules.DB:GetPlayerFullName()
|
||||
local currentRealm = GetRealmName()
|
||||
|
||||
-- Count items across all characters with safety checks
|
||||
-- Count items across characters on current realm only
|
||||
for charName, charData in pairs(Guda_DB.characters) do
|
||||
-- Ensure charData is actually a table before processing
|
||||
if type(charData) == "table" then
|
||||
-- Ensure charData is actually a table and on current realm
|
||||
if type(charData) == "table" and charData.realm == currentRealm then
|
||||
local isCurrentChar = (charName == currentPlayerName)
|
||||
local bagCount, bankCount, equippedCount = CountItemsForCharacter(itemID, charData, isCurrentChar)
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@ function MoneyTracker:GetCurrentMoney()
|
||||
return GetMoney()
|
||||
end
|
||||
|
||||
-- Get total money across all characters
|
||||
function MoneyTracker:GetTotalMoney(sameFactionOnly)
|
||||
return addon.Modules.DB:GetTotalMoney(sameFactionOnly)
|
||||
-- Get total money across all characters (optionally filter by faction and/or realm)
|
||||
function MoneyTracker:GetTotalMoney(sameFactionOnly, currentRealmOnly)
|
||||
return addon.Modules.DB:GetTotalMoney(sameFactionOnly, currentRealmOnly)
|
||||
end
|
||||
|
||||
-- Initialize money tracker
|
||||
|
||||
+9
-9
@@ -659,13 +659,13 @@ function Guda_BagFrame_MoneyOnEnter(self)
|
||||
GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT", 0, 0)
|
||||
GameTooltip:ClearLines()
|
||||
|
||||
-- Get all characters and total
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true)
|
||||
local totalMoney = addon.Modules.DB:GetTotalMoney(true)
|
||||
-- Get all characters and total (faction + realm filtered)
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true, true)
|
||||
local totalMoney = addon.Modules.DB:GetTotalMoney(true, true)
|
||||
|
||||
-- Header with faction/realm total - use colored money
|
||||
-- Header with current realm total - use colored money
|
||||
GameTooltip:AddLine(
|
||||
"Faction/realm-wide gold: " .. addon.Modules.Utils:FormatMoney(totalMoney, false, true),
|
||||
"Current realm gold: " .. addon.Modules.Utils:FormatMoney(totalMoney, false, true),
|
||||
1, 0.82, 0
|
||||
)
|
||||
GameTooltip:AddLine(" ")
|
||||
@@ -732,8 +732,8 @@ function Guda_BagFrame_ToggleCharacterDropdown(button)
|
||||
end
|
||||
characterDropdown.buttons = {}
|
||||
|
||||
-- Get all characters
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true)
|
||||
-- Get all characters on current realm
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true, true)
|
||||
|
||||
-- Add "Current Character" option at the top
|
||||
local yOffset = -8
|
||||
@@ -900,8 +900,8 @@ function Guda_BagFrame_ToggleBankDropdown(button)
|
||||
end
|
||||
bankDropdown.buttons = {}
|
||||
|
||||
-- Get all characters
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true)
|
||||
-- Get all characters on current realm
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true, true)
|
||||
|
||||
local yOffset = -8
|
||||
|
||||
|
||||
+7
-7
@@ -382,13 +382,13 @@ function Guda_BankFrame_MoneyOnEnter(self)
|
||||
GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT", 0, 0)
|
||||
GameTooltip:ClearLines()
|
||||
|
||||
-- Get all characters and total
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true)
|
||||
local totalMoney = addon.Modules.DB:GetTotalMoney(true)
|
||||
-- Get all characters and total (faction + realm filtered)
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true, true)
|
||||
local totalMoney = addon.Modules.DB:GetTotalMoney(true, true)
|
||||
|
||||
-- Header with faction/realm total - use colored money
|
||||
-- Header with current realm total - use colored money
|
||||
GameTooltip:AddLine(
|
||||
"Faction/realm-wide gold: " .. addon.Modules.Utils:FormatMoney(totalMoney, false, true),
|
||||
"Current realm gold: " .. addon.Modules.Utils:FormatMoney(totalMoney, false, true),
|
||||
1, 0.82, 0
|
||||
)
|
||||
GameTooltip:AddLine(" ")
|
||||
@@ -1215,8 +1215,8 @@ function Guda_BankFrame_ToggleBankDropdown(button)
|
||||
end
|
||||
bankCharDropdown.buttons = {}
|
||||
|
||||
-- Get all characters
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true)
|
||||
-- Get all characters on current realm
|
||||
local chars = addon.Modules.DB:GetAllCharacters(true, true)
|
||||
|
||||
local yOffset = -8
|
||||
|
||||
|
||||
Reference in New Issue
Block a user