Quantcast

- Fix for Gold where server name has spaces

urnati [05-31-22 - 14:08]
- Fix for Gold where server name has spaces
- Tweaked Gold tooltip for readability
- Updated TOC for 9.2.5
Filename
Titan/Titan.toc
Titan/TitanUtils.lua
Titan/locale/Localization.BR.lua
Titan/locale/Localization.CN.lua
Titan/locale/Localization.DE.lua
Titan/locale/Localization.ES.lua
Titan/locale/Localization.FR.lua
Titan/locale/Localization.IT.lua
Titan/locale/Localization.KR.lua
Titan/locale/Localization.MX.lua
Titan/locale/Localization.RU.lua
Titan/locale/Localization.TW.lua
Titan/locale/Localization.lua
TitanBag/TitanBag.toc
TitanClock/TitanClock.toc
TitanGold/TitanGold.lua
TitanGold/TitanGold.toc
TitanLocation/TitanLocation.toc
TitanLootType/TitanLootType.toc
TitanPerformance/TitanPerformance.toc
TitanRepair/TitanRepair.toc
TitanVolume/TitanVolume.toc
TitanXP/TitanXP.toc
diff --git a/Titan/Titan.toc b/Titan/Titan.toc
index 11900db..01b5675 100644
--- a/Titan/Titan.toc
+++ b/Titan/Titan.toc
@@ -1,7 +1,7 @@
-## Interface: 90204
-## Title: Titan Panel |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel |cff00aa005.23.4.90205|r
 ## Author: Titan Panel Development Team
-## Version: 5.23.3.90204
+## Version: 5.23.4.90205
 ## SavedVariables: TitanAll, TitanSettings, TitanSkins, ServerTimeOffsets, ServerHourFormat
 ## OptionalDeps: Ace3, AceGUI-3.0-SharedMediaWidgets, LibSharedMedia-3.0, LibQTip-1.0, !LibUIDropDownMenu
 ## Notes: Adds a display bar on the top and/or bottom of the screen. Allows users to show and control information/launcher plugins.
diff --git a/Titan/TitanUtils.lua b/Titan/TitanUtils.lua
index 2787425..5a66668 100644
--- a/Titan/TitanUtils.lua
+++ b/Titan/TitanUtils.lua
@@ -635,6 +635,19 @@ function TitanUtils_GetColoredText(text, color) -- Used by plugins
 end

 --[[ API
+NAME: TitanUtils_GetHexText
+DESC: Make the given text a custom color.
+VAR: text - text to color
+VAR: hex - color as a 6 char hex code
+OUT: string - Custom color string with proper start and end font encoding
+--]]
+function TitanUtils_GetHexText(text, hex) -- Used by plugins
+	if (text and hex) then
+		return "|cff"..tostring(hex)..text.._G["FONT_COLOR_CODE_CLOSE"];
+	end
+end
+
+--[[ API
 NAME: TitanUtils_GetThresholdColor
 DESC: Flexable routine that returns the threshold color for a given value using a table as input.
 VAR: ThresholdTable - table holding the list of colors and values
diff --git a/Titan/locale/Localization.BR.lua b/Titan/locale/Localization.BR.lua
index e86be74..ff9f7ce 100644
--- a/Titan/locale/Localization.BR.lua
+++ b/Titan/locale/Localization.BR.lua
@@ -531,6 +531,8 @@ L["TITAN_GOLD_COLORS"] = "Exibir Gold Colors";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Informação de Volume";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Master Sound Volume: ";
diff --git a/Titan/locale/Localization.CN.lua b/Titan/locale/Localization.CN.lua
index 46e2fbd..b2e6863 100644
--- a/Titan/locale/Localization.CN.lua
+++ b/Titan/locale/Localization.CN.lua
@@ -531,6 +531,8 @@ L["TITAN_GOLD_COLORS"] = "显示金币颜色";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "音量信息";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "主音量: ";
diff --git a/Titan/locale/Localization.DE.lua b/Titan/locale/Localization.DE.lua
index 76f8730..21d9ccf 100644
--- a/Titan/locale/Localization.DE.lua
+++ b/Titan/locale/Localization.DE.lua
@@ -527,6 +527,8 @@ L["TITAN_GOLD_COLORS"] = "Zeige Gold (und Bruchteil)-Farben";
 L["TITAN_GOLD_MERGE"] = "Zusammengelegte Servers";
 L["TITAN_GOLD_SEPARATE"] = "Getrennte Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Lautst\195\164rke einstellen";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Momentane Gesamtlautst\195\164rke: ";
diff --git a/Titan/locale/Localization.ES.lua b/Titan/locale/Localization.ES.lua
index 14bc2a0..2cb4951 100644
--- a/Titan/locale/Localization.ES.lua
+++ b/Titan/locale/Localization.ES.lua
@@ -545,6 +545,8 @@ L["TITAN_GOLD_COLORS"] = "Mostrar colores en el oro";
 L["TITAN_GOLD_MERGE"] = "Unificar servidores";
 L["TITAN_GOLD_SEPARATE"] = "Separar servidores";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Control de Volumen";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Volumen general: ";
diff --git a/Titan/locale/Localization.FR.lua b/Titan/locale/Localization.FR.lua
index c5e3958..a45a596 100644
--- a/Titan/locale/Localization.FR.lua
+++ b/Titan/locale/Localization.FR.lua
@@ -528,6 +528,8 @@ L["TITAN_GOLD_ONLY"] = "Afficher uniquement les pièces d'or";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Contrôle du volume";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Volume global : ";
diff --git a/Titan/locale/Localization.IT.lua b/Titan/locale/Localization.IT.lua
index 31ce3ee..b3976a0 100644
--- a/Titan/locale/Localization.IT.lua
+++ b/Titan/locale/Localization.IT.lua
@@ -529,6 +529,8 @@ L["TITAN_GOLD_COLORS"] = "Mostra colori";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Info Volume";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Volume master: ";
diff --git a/Titan/locale/Localization.KR.lua b/Titan/locale/Localization.KR.lua
index 134e856..aff143a 100644
--- a/Titan/locale/Localization.KR.lua
+++ b/Titan/locale/Localization.KR.lua
@@ -530,6 +530,8 @@ L["TITAN_GOLD_COLORS"] = "소지금 색상 표시";
 L["TITAN_GOLD_MERGE"] = "서버 통합";
 L["TITAN_GOLD_SEPARATE"] = "서버 분리";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "음량 정보";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "주 음량 : ";
diff --git a/Titan/locale/Localization.MX.lua b/Titan/locale/Localization.MX.lua
index e27c855..820c618 100644
--- a/Titan/locale/Localization.MX.lua
+++ b/Titan/locale/Localization.MX.lua
@@ -545,6 +545,8 @@ L["TITAN_GOLD_COLORS"] = "Mostrar colores en el oro";
 L["TITAN_GOLD_MERGE"] = "Unificar servidores";
 L["TITAN_GOLD_SEPARATE"] = "Separar servidores";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Control de Volumen";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Volumen general: ";
diff --git a/Titan/locale/Localization.RU.lua b/Titan/locale/Localization.RU.lua
index b6bc10a..b0122c5 100644
--- a/Titan/locale/Localization.RU.lua
+++ b/Titan/locale/Localization.RU.lua
@@ -529,6 +529,8 @@ L["TITAN_GOLD_COLORS"] = "Показать окраску золота";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Контроль звука";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Громкость общего звука: ";
diff --git a/Titan/locale/Localization.TW.lua b/Titan/locale/Localization.TW.lua
index 9002385..a631794 100644
--- a/Titan/locale/Localization.TW.lua
+++ b/Titan/locale/Localization.TW.lua
@@ -528,6 +528,8 @@ L["TITAN_GOLD_COLORS"] = "Show Gold Colors";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "音量控制";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "主音量大小: ";
diff --git a/Titan/locale/Localization.lua b/Titan/locale/Localization.lua
index 00a4841..5b97413 100644
--- a/Titan/locale/Localization.lua
+++ b/Titan/locale/Localization.lua
@@ -531,6 +531,8 @@ L["TITAN_GOLD_COLORS"] = "Show Gold Colors";
 L["TITAN_GOLD_MERGE"] = "Merge Servers";
 L["TITAN_GOLD_SEPARATE"] = "Separate Servers";
 L["TITAN_GOLD_ALL"] = "All Servers";
+L["TITAN_GOLD_IGNORE_FACTION"] = IGNORE.." "..FACTION
+L["TITAN_GOLD_MERGED"] = "Merged"

 L["TITAN_VOLUME_TOOLTIP"] = "Volume Info";
 L["TITAN_VOLUME_MASTER_TOOLTIP_VALUE"] = "Master Sound Volume: ";
diff --git a/TitanBag/TitanBag.toc b/TitanBag/TitanBag.toc
index 4f6db04..cd9e92b 100644
--- a/TitanBag/TitanBag.toc
+++ b/TitanBag/TitanBag.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fBag|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fBag|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds bag and free slot information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90204
+## Version: 5.23.4.90205
 ## X-Child-Of: Titan
 TitanBag.xml
diff --git a/TitanClock/TitanClock.toc b/TitanClock/TitanClock.toc
index acc5396..17405bb 100644
--- a/TitanClock/TitanClock.toc
+++ b/TitanClock/TitanClock.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fClock|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fClock|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds a clock to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90204
+## Version: 5.23.4.90205
 ## X-Child-Of: Titan
 TitanClock.xml
diff --git a/TitanGold/TitanGold.lua b/TitanGold/TitanGold.lua
index 807f2e4..9cef382 100644
--- a/TitanGold/TitanGold.lua
+++ b/TitanGold/TitanGold.lua
@@ -177,7 +177,7 @@ function TitanPanelGoldButton_OnLoad(self)
 		iconWidth = 16,
 		controlVariables = {
 			ShowIcon = true,
-			ShowLabelText =true,
+			ShowLabelText = true,
 			ShowRegularText = false,
 			ShowColoredText = false,
 			DisplayOnRightSide = false
@@ -199,6 +199,7 @@ function TitanPanelGoldButton_OnLoad(self)
 			MergeServers = false,
 			SeparateServers = true,
 			AllServers = false,
+			IgnoreFaction = false,
 			gold = { total = "112233", neg = false },
 		}
 	};
@@ -259,6 +260,13 @@ function TitanGold_OnEvent(self, event, ...)
 	end
 end

+local function ToonInfo(info)
+	-- Take apart the created key <char>_<server name>::<faction>
+	local character, charserver, char_faction = string.match(info, '(.*)_(.*)::(.*)');
+
+	return character, charserver, char_faction
+end
+
 --[[
 -- *******************************************************************************************
 -- NAME: TitanPanelGoldButton_GetTooltipText()
@@ -271,6 +279,7 @@ function TitanPanelGoldButton_GetTooltipText()
 	local final_text = ""
 	local countelements = 0;
 	local faction = UnitFactionGroup("Player")
+	local ignore_faction = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction")

 	for _ in pairs (realmNames) do
 		countelements = countelements + 1
@@ -279,9 +288,10 @@ function TitanPanelGoldButton_GetTooltipText()
 --	if countelements == 0 or TitanGetVar(TITAN_GOLD_ID, "SeparateServers") then
 	-- The check for no connected realms was confusing so use the 'merge' format
 	-- if requested.
+	-- insert all keys from hash into the GoldSaveSorted array
+
 	if TitanGetVar(TITAN_GOLD_ID, "SeparateServers") then
 		-- Parse the database and display all characters from the same faction and server
-		local server = realmName
 		GoldSave[GOLD_INDEX].gold = GetMoney("player")
 		local coin_str = ""
 		local character, charserver = "", ""
@@ -290,10 +300,14 @@ function TitanPanelGoldButton_GetTooltipText()
 			or TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons"))

 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)');
+			character, charserver, char_faction = ToonInfo(index)
 			if (character) then
-				if (charserver == server) then
-					table.insert(GoldSaveSorted, index); -- insert all keys from hash into the array
+				if (charserver == realmName) then
+					if ignore_faction or (char_faction == faction) then
+						if GoldSave[index].show then
+							table.insert(GoldSaveSorted, index);
+						end
+					end
 				end
 			end
 		end
@@ -310,13 +324,19 @@ function TitanPanelGoldButton_GetTooltipText()
 				or TitanGetVar(TITAN_GOLD_ID, "ShowCoinIcons"))

 			for index, money in pairs(GoldSave) do
-				character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)');
+				character, charserver, char_faction = ToonInfo(index)
+				-- GetAutoCompleteRealms removes spaces, idk why...
 				if (charserver) then
 					charserver = string.gsub(charserver, "%s", "");
 				end
+
 				if (character) then
-					if (server == charserver) and (char_faction == faction) then
-						table.insert(GoldSaveSorted, index); -- insert all keys from hash into the array
+					if (charserver == server) then
+						if ignore_faction or (char_faction == faction) then
+							if GoldSave[index].show then
+								table.insert(GoldSaveSorted, index);
+							end
+						end
 					end
 				end
 			end
@@ -333,13 +353,12 @@ function TitanPanelGoldButton_GetTooltipText()


 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)');
-			if (charserver) then
-				charserver = string.gsub(charserver, "%s", "");
-			end
+			character, charserver, char_faction = ToonInfo(index)
 			if (character) then
-				if (char_faction == faction) then
-					table.insert(GoldSaveSorted, index); -- insert all keys from hash into the array
+				if ignore_faction or (char_faction == faction) then
+					if GoldSave[index].show then
+						table.insert(GoldSaveSorted, index);
+					end
 				end
 			end
 		end
@@ -353,18 +372,35 @@ function TitanPanelGoldButton_GetTooltipText()
 		table.sort(GoldSaveSorted, function (key1, key2) return GoldSave[key1].gold > GoldSave[key2].gold end)
 	end

+	-- Array holds all characters to display, nicely sorted.
 	currentMoneyRichText = ""
 	coin_str = ""
+	faction_text = ""
 	for i = 1, getn(GoldSaveSorted) do
-		character, charserver, char_faction = string.match(GoldSaveSorted[i], '(.*)_(.*)::(.*)');
-		if (character) then
-			if (char_faction == faction) then
-				if (GoldSave[GoldSaveSorted[i]].show) then
-					coin_str = NiceCash(GoldSave[GoldSaveSorted[i]].gold, false, false)
-					currentMoneyRichText = currentMoneyRichText.."\n"..character.."-"..charserver.."\t"..coin_str
-				end
+		character, charserver, char_faction = ToonInfo(GoldSaveSorted[i])
+		coin_str = NiceCash(GoldSave[GoldSaveSorted[i]].gold, false, false)
+
+		if ignore_faction then
+			if char_faction == FACTION_ALLIANCE then
+				faction_text = "-".."|cff5b92e5"..FACTION_ALLIANCE.._G["FONT_COLOR_CODE_CLOSE"]
+				-- 		 "|cff5b92e5"..FACTION_ALLIANCE.._G["FONT_COLOR_CODE_CLOSE"]
+			elseif char_faction == FACTION_HORDE then
+--				faction_text = "-".."|cffd42447"..FACTION_HORDE.._G["FONT_COLOR_CODE_CLOSE"]
+				faction_text = "-"..TitanUtils_GetHexText(FACTION_HORDE, "d42447")
 			end
 		end
+
+		if (TitanGetVar(TITAN_GOLD_ID, "SeparateServers")) then
+			charserver = ""  -- do not repeat the server on each line
+		else
+			charserver = "-"..charserver
+		end
+
+		currentMoneyRichText = currentMoneyRichText.."\n"
+			..character
+			..charserver
+			..faction_text
+			.."\t"..coin_str
 	end

 --[[
@@ -414,34 +450,44 @@ print("TG"
 	end

 	coin_str = NiceCash(sesstotal, true, true)
+--		..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
 	sessionMoneyRichText = sessionMoneyRichText
-		..TitanUtils_GetColoredText(GOLD_SESS_STATUS,GOLD_COLOR)
+		..GOLD_SESS_STATUS
 		.."\t"..coin_str.."\n";

 	if TitanGetVar(TITAN_GOLD_ID, "DisplayGoldPerHour") then
 		coin_str = NiceCash(perhour, true, true)
 		sessionMoneyRichText = sessionMoneyRichText
-			..TitanUtils_GetColoredText(GOLD_PERHOUR_STATUS,GOLD_COLOR)
+			..GOLD_PERHOUR_STATUS
 			.."\t"..coin_str.."\n";
 	end

-	local final_tooltip = L["TITAN_GOLD_TOOLTIPTEXT"].." : "
+	local final_tooltip = TitanUtils_GetGoldText(L["TITAN_GOLD_TOOLTIPTEXT"].." : ")
+
+	local final_server = ""
 	if realmNames == nil or TitanGetVar(TITAN_GOLD_ID, "SeparateServers") then
-		final_tooltip = final_tooltip..realmName
+		final_server = realmName
 	elseif TitanGetVar(TITAN_GOLD_ID, "MergeServers") then
-		final_tooltip = final_tooltip..L["TITAN_GOLD_MERGE"]
+		final_server = L["TITAN_GOLD_MERGED"]
 	elseif TitanGetVar(TITAN_GOLD_ID, "AllServers") then
-		final_tooltip = final_tooltip..ALL
+		final_server = ALL
 	end
-	final_tooltip = final_tooltip.." : "..select(2,UnitFactionGroup("Player"));
-
-	if (UnitFactionGroup("Player")=="Alliance") then
-		GOLD_COLOR = TITAN_GOLD_GREEN;
-	else
-		GOLD_COLOR = TITAN_GOLD_RED;
+	final_server = TitanUtils_GetGoldText(final_server.." : ")
+
+	local final_faction = ""
+	if ignore_faction then
+		final_faction = TitanUtils_GetGoldText(ALL)
+	elseif faction == FACTION_ALLIANCE then
+		final_faction = "|cff5b92e5"..FACTION_ALLIANCE.._G["FONT_COLOR_CODE_CLOSE"]
+--		final_faction = TitanUtils_GetGreenText(FACTION_ALLIANCE)
+		-- "|cff0000ff"..text.._G["FONT_COLOR_CODE_CLOSE"]
+	elseif faction == FACTION_HORDE then
+		final_faction = TitanUtils_GetRedText(FACTION_HORDE)
 	end
-
-	return ""..TitanUtils_GetColoredText(final_tooltip,GOLD_COLOR)..FONT_COLOR_CODE_CLOSE
+
+	return ""
+		..final_tooltip..final_server..final_faction.."\n"
+		..TITAN_GOLD_SPACERBAR
 		..currentMoneyRichText
 		..sessionMoneyRichText
 end
@@ -459,7 +505,6 @@ function TitanPanelGoldButton_FindGold()
 		return ""
 	end

-	local server = realmName.."::"..UnitFactionGroup("Player");
 	local ret_str = ""
 	local ttlgold = 0;

@@ -476,6 +521,16 @@ function TitanPanelGoldButton_FindGold()
 	return L["TITAN_GOLD_MENU_TEXT"]..": "..FONT_COLOR_CODE_CLOSE, ret_str
 end

+local function ToonAdd(show, amount, total)
+	local new_total = 0
+
+	if show then
+		new_total = total + amount
+	end
+
+	return new_total
+end
+
 --[[
 -- *******************************************************************************************
 -- NAME: TitanPanelGoldButton_TotalGold()
@@ -490,68 +545,65 @@ function TitanPanelGoldButton_TotalGold()
 	local coin_str = ""
 	local character, charserver = "", ""
 	local char_faction = ""
+	local ignore_faction = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction")

 	for _ in pairs (realmNames) do
 		countelements = countelements + 1
 	end

 	if TitanGetVar(TITAN_GOLD_ID, "SeparateServers") then
-		-- Parse the database and display all characters from the same faction and server
-		local server = realmName.."::"..UnitFactionGroup("Player");
+		-- Parse the database and display all characters on this server
 		GoldSave[GOLD_INDEX].gold = GetMoney("player")

 		for index, money in pairs(GoldSave) do
-			character, charserver = string.match(index, '(.*)_(.*)');
-			if (charserver) then
-				charserver = string.gsub(charserver, "%s", "");
-			end
-			if (character) then
-				if (charserver == server) then
-					if GoldSave[index].show then
-						ttlgold = ttlgold + GoldSave[index].gold;
-					end
+			character, charserver, char_faction = ToonInfo(index)
+			if (character) and (charserver == realmName) then
+				if ignore_faction or (char_faction == faction) then
+					ttlgold = ToonAdd(GoldSave[index].show, GoldSave[index].gold, ttlgold)
+				else
+					-- Do not show per flags
 				end
+			else
+				-- Toon is not on connected / merged server
 			end
 		end
 	elseif TitanGetVar(TITAN_GOLD_ID, "MergeServers") then
-		-- Parse the database and display characters from the same faction on merged / connected servers
+		-- Parse the database and display characters on merged / connected servers
 		for ms = 1, countelements do
-			local faction = UnitFactionGroup("Player");
-			local server = realmNames[ms]
 			GoldSave[GOLD_INDEX].gold = GetMoney("player")
-			local char_faction = ""

 			for index, money in pairs(GoldSave) do
-				character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)');
+				character, charserver, char_faction = ToonInfo(index)
+				-- GetAutoCompleteRealms removes spaces, idk why...
 				if (charserver) then
 					charserver = string.gsub(charserver, "%s", "");
 				end
-				if (character) then
-					if (server == charserver) and (char_faction == faction) then
-						if GoldSave[index].show then
-							ttlgold = ttlgold + GoldSave[index].gold;
-						end
+
+				if (character) and (charserver == realmNames[ms]) then
+					if ignore_faction or (char_faction == faction) then
+						ttlgold = ToonAdd(GoldSave[index].show, GoldSave[index].gold, ttlgold)
+					else
+						-- Do not show per flags
 					end
+				else
+					-- Toon is not on connected / merged server
 				end
 			end
 		end
 	elseif TitanGetVar(TITAN_GOLD_ID, "AllServers") then
-		-- Parse the database and display characters from the same faction on all servers
-		local faction = UnitFactionGroup("Player");
+		-- Parse the database and display characters on all servers
 		GoldSave[GOLD_INDEX].gold = GetMoney("player")
-		local char_faction = ""

 		for index, money in pairs(GoldSave) do
-			character, charserver, char_faction = string.match(index, '(.*)_(.*)::(.*)');
-			if (charserver) then
-				charserver = string.gsub(charserver, "%s", "");
-			end
+			character, charserver, char_faction = ToonInfo(index)
 			if (character) then
-				if (char_faction == faction) then
-					if GoldSave[index].show then
-						ttlgold = ttlgold + GoldSave[index].gold;
-					end
+				if ignore_faction or (char_faction == faction) then
+					ttlgold = ToonAdd(GoldSave[index].show, GoldSave[index].gold, ttlgold)
+				else
+					-- Do not show per flags
 				end
+			else
+				-- Toon is invalid??
 			end
 		end
 	end
@@ -699,6 +751,19 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

+		-- Option to ignore faction - per 9.2.5 changes
+		local info = {};
+		info.text = L["TITAN_GOLD_IGNORE_FACTION"];
+		info.checked = TitanGetVar(TITAN_GOLD_ID, "IgnoreFaction");
+		info.func = function()
+			TitanToggleVar(TITAN_GOLD_ID, "IgnoreFaction");
+			TitanPanelButton_UpdateButton(TITAN_GOLD_ID);
+		end
+		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
+
+		TitanPanelRightClickMenu_AddSeparator();
+
+		-- What lables to show next to money none / text / icon
 		local info = {};
 		info.text = L["TITAN_GOLD_COIN_NONE"];
 		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowCoinNone");
@@ -725,6 +790,7 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

+		-- Use comma or period as separater on gold
 		local info = {};
 		info.text = L["TITAN_USE_COMMA"];
 		info.checked = TitanGetVar(TITAN_GOLD_ID, "UseSeperatorComma");
@@ -743,7 +809,10 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

-		-- Which characters to show
+		-- Which characters to show
+		--  - Seprate : this server
+		--  - Merge : connected / merged servers
+		--  - All : any server
 		local info = {};
 		info.text = L["TITAN_GOLD_MERGE"];
 		info.checked = TitanGetVar(TITAN_GOLD_ID, "MergeServers");
@@ -770,7 +839,7 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

-		-- Only gold option
+		-- Show gold only option - no silver, no copper
 		info = {};
 		info.text = L["TITAN_GOLD_ONLY"];
 		info.checked = TitanGetVar(TITAN_GOLD_ID, "ShowGoldOnly");
@@ -782,7 +851,7 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()

 		TitanPanelRightClickMenu_AddSeparator();

-		-- Show toon
+		-- Show / delete toons
 		info = {};
 		info.notCheckable = true
 		info.text = L["TITAN_GOLD_SHOW_PLAYER"];
@@ -790,7 +859,6 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()
 		info.hasArrow = 1;
 		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());

-		-- Delete toon
 		info = {};
 		info.notCheckable = true
 		info.text = L["TITAN_GOLD_DELETE_PLAYER"];
@@ -819,7 +887,9 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()
 		TitanPanelRightClickMenu_AddCommand(L["TITAN_PANEL_MENU_HIDE"], TITAN_GOLD_ID, TITAN_PANEL_MENU_FUNC_HIDE);
 	end

-	if TitanPanelRightClickMenu_GetDropdownLevel() == 2 and TitanPanelRightClickMenu_GetDropdMenuValue() == "ToonDelete" then
+	-- Second (2nd) level for show / delete
+	if TitanPanelRightClickMenu_GetDropdownLevel() == 2
+		and TitanPanelRightClickMenu_GetDropdMenuValue() == "ToonDelete" then
 		local info = {};
 		info.notCheckable = true
 		info.text = L["TITAN_GOLD_FACTION_PLAYER_ALLY"];
@@ -831,7 +901,8 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()
 		info.value = "DeleteHorde";
 		info.hasArrow = 1;
 		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
-	elseif TitanPanelRightClickMenu_GetDropdownLevel() == 2 and TitanPanelRightClickMenu_GetDropdMenuValue() == "ToonShow" then
+	elseif TitanPanelRightClickMenu_GetDropdownLevel() == 2
+		and TitanPanelRightClickMenu_GetDropdMenuValue() == "ToonShow" then
 		local info = {};
 		info.notCheckable = true
 		info.text = L["TITAN_GOLD_FACTION_PLAYER_ALLY"];
@@ -845,6 +916,7 @@ function TitanPanelRightClickMenu_PrepareGoldMenu()
 		TitanPanelRightClickMenu_AddButton(info, TitanPanelRightClickMenu_GetDropdownLevel());
 	end

+	-- Third (3rd) level for the list of characters / toons
 	if TitanPanelRightClickMenu_GetDropdownLevel() == 3 and TitanPanelRightClickMenu_GetDropdMenuValue() == "DeleteAlliance" then
 		DeleteMenuButtons("Alliance")
 	elseif TitanPanelRightClickMenu_GetDropdownLevel() == 3 and TitanPanelRightClickMenu_GetDropdMenuValue() == "DeleteHorde" then
diff --git a/TitanGold/TitanGold.toc b/TitanGold/TitanGold.toc
index 267e8d0..2d690a7 100644
--- a/TitanGold/TitanGold.toc
+++ b/TitanGold/TitanGold.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fGold|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fGold|r] |cff00aa005.23.4.90205|r
 ## Notes: Keeps track of all gold held by a player's toons on a per server/faction basis.
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables: GoldSave
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanGold.xml
diff --git a/TitanLocation/TitanLocation.toc b/TitanLocation/TitanLocation.toc
index 817e682..c828b67 100644
--- a/TitanLocation/TitanLocation.toc
+++ b/TitanLocation/TitanLocation.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fLocation|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds coordinates and location information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanLocation.xml
diff --git a/TitanLootType/TitanLootType.toc b/TitanLootType/TitanLootType.toc
index 6a0b99a..d418e80 100644
--- a/TitanLootType/TitanLootType.toc
+++ b/TitanLootType/TitanLootType.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fLootType|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds group loot and instance difficulty information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanLootType.xml
diff --git a/TitanPerformance/TitanPerformance.toc b/TitanPerformance/TitanPerformance.toc
index bee4204..9004592 100644
--- a/TitanPerformance/TitanPerformance.toc
+++ b/TitanPerformance/TitanPerformance.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fPerformance|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds FPS and Garbage collection information to Titan Panel
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanPerformance.xml
diff --git a/TitanRepair/TitanRepair.toc b/TitanRepair/TitanRepair.toc
index 0c3f822..c4ea7bc 100644
--- a/TitanRepair/TitanRepair.toc
+++ b/TitanRepair/TitanRepair.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fRepair|r] |cff00aa005.23.4.90205|r
 ## Notes: Provides a configurable durability display. Also adds the ability to auto repair items and inventory at vendors
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanRepair.xml
diff --git a/TitanVolume/TitanVolume.toc b/TitanVolume/TitanVolume.toc
index 001988c..2091f95 100644
--- a/TitanVolume/TitanVolume.toc
+++ b/TitanVolume/TitanVolume.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fVolume|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds a volume control icon on your Titan Bar
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanVolume.xml
diff --git a/TitanXP/TitanXP.toc b/TitanXP/TitanXP.toc
index ce8851d..6c577e5 100644
--- a/TitanXP/TitanXP.toc
+++ b/TitanXP/TitanXP.toc
@@ -1,10 +1,10 @@
-## Interface: 90204
-## Title: Titan Panel [|cffeda55fXP|r] |cff00aa005.23.3.90204|r
+## Interface: 90205
+## Title: Titan Panel [|cffeda55fXP|r] |cff00aa005.23.4.90205|r
 ## Notes: Adds information to Titan Panel about XP earned and time to level
 ## Author: Titan Panel Development Team (http://www.titanpanel.org)
 ## SavedVariables:
 ## OptionalDeps:
 ## Dependencies: Titan
-## Version: 5.23.3.90200
+## Version: 5.23.4.90200
 ## X-Child-Of: Titan
 TitanXP.xml