Quantcast

Localized FILTER_NAMES table, added GetFilterNames() so that it can be initialized when required (and when the player's faction is available).

James D. Callahan III [03-09-10 - 14:44]
Localized FILTER_NAMES table, added GetFilterNames() so that it can be initialized when required (and when the player's faction is available).
Filename
ARL.lua
diff --git a/ARL.lua b/ARL.lua
index 70f18b7..4c56075 100644
--- a/ARL.lua
+++ b/ARL.lua
@@ -1654,107 +1654,120 @@ do
 		[A.CUSTOM]	= _G.CUSTOM,
 	}

-	local FILTER_NAMES = {
-		[1] = "Alliance",
-		[2] = "Horde",
-		[3] = "Trainer",
-		[4] = "Vendor",
-		[5] = "Instance",
-		[6] = "Raid",
-		[7] = "Seasonal",
-		[8] = "Quest",
-		[9] = "PVP",
-		[10] = "World Drop",
-		[11] = "Mob Drop",
-		[12] = "Discovery",
-		[21] = "Death Knight",
-		[22] = "Druid",
-		[23] = "Hunter",
-		[24] = "Mage",
-		[25] = "Paladin",
-		[26] = "Priest",
-		[27] = "Shaman",
-		[28] = "Rogue",
-		[29] = "Warlock",
-		[30] = "Warrior",
-		[36] = "Item BOE",
-		[37] = "Item BOP",
-		[38] = "Item BOA",
-		[40] = "Recipe BOE",
-		[41] = "Recipe BOP",
-		[42] = "Recipe BOA",
-		[51] = "DPS",
-		[52] = "TANK",
-		[53] = "HEALER",
-		[54] = "CASTER",
-		[56] = "CLOTH",
-		[57] = "LEATHER",
-		[58] = "MAIL",
-		[59] = "PLATE",
-		[60] = "CLOAK",
-		[61] = "TRINKET",
-		[62] = "RING",
-		[63] = "NECK",
-		[64] = "SHIELD",
-		[66] = "One-Hand",
-		[67] = "Two-Hand",
-		[68] = "Axe",
-		[69] = "Sword",
-		[70] = "Mace",
-		[71] = "Polearm",
-		[72] = "Dagger",
-		[73] = "Staff",
-		[74] = "Wand",
-		[75] = "Thrown",
-		[76] = "Bow",
-		[77] = "Crossbow",
-		[78] = "Ammo",
-		[79] = "Fist",
-		[80] = "Gun",
-		[96] = "Argent Dawn",
-		[97] = "Cenarion Circle",
-		[98] = "Thorium Brotherhood",
-		[99] = "Timbermaw Hold",
-		[100] = "Zandalar Tribe",
-		[101] = "The Aldor",
-		[102] = "Ashtongue Deathsworn",
-		[103] = "Cenarion Expedition",
-		[104] = "Thrallmar/Honor Hold",
-		[105] = "The Consortium",
-		[106] = "The Keepers of Time",
-		[107] = "Lower City",
-		[108] = "Mag'har/Kurenai",
-		[109] = "The Scales of the Sands",
-		[110] = "The Scryers",
-		[111] = "The Shatar",
-		[112] = "The Shattered Sun Offensive",
-		[113] = "Sporeggar",
-		[114] = "Violet Eye",
-		[115] = "Argent Crusade",
-		[116] = "Frenzyheart Tribe",
-		[117] = "Knights of the Ebon Blade",
-		[118] = "Kirin Tor",
-		[119] = "Sons of Hodir",
-		[120] = "Kalu'ak",
-		[121] = "The Oracles",
-		[122] = "Wyrmrest Accord",
-		[123] = "The Silver Covenant/The Sunreavers",
-		[124] = "Explorers' League/The Hand of Vengeance",
-		[125] = "Explorers' League/Valiance Expedition",
-		[126] = "The Frostborn/The Taunka",
-		[127] = "Alliance Vanguard/Horde Expedition",
-		[128] = "The Ashen Verdict",
-	}
+	local GetFilterNames
+	do
+		local LC = _G.LOCALIZED_CLASS_NAMES_MALE
+		local FILTER_NAMES
+
+		function GetFilterNames()
+			if not FILTER_NAMES then
+				local is_alliance = (Player.faction == "Alliance")
+
+				FILTER_NAMES = {
+					[1]	= BFAC["Alliance"],
+					[2]	= BFAC["Horde"],
+					[3]	= L["Trainer"],
+					[4]	= L["Vendor"],
+					[5]	= _G.INSTANCE,
+					[6]	= _G.RAID,
+					[7]	= _G.EVENTS_LABEL,
+					[8]	= L["Quest"],
+					[9]	= _G.PVP,
+					[10]	= L["World Drop"],
+					[11]	= L["Mob Drop"],
+					[12]	= L["Discovery"],
+					[21]	= LC["DEATHKNIGHT"],
+					[22]	= LC["DRUID"],
+					[23]	= LC["HUNTER"],
+					[24]	= LC["MAGE"],
+					[25]	= LC["PALADIN"],
+					[26]	= LC["PRIEST"],
+					[27]	= LC["SHAMAN"],
+					[28]	= LC["ROGUE"],
+					[29]	= LC["WARLOCK"],
+					[30]	= LC["WARRIOR"],
+					[36]	= L["BOEFilter"],
+					[37]	= L["BOPFilter"],
+					[38]	= L["BOAFilter"],
+					[40]	= L["RecipeBOEFilter"],
+					[41]	= L["RecipeBOPFilter"],
+					[42]	= L["RecipeBOAFilter"],
+					[51]	= _G.MELEE,
+					[52]	= _G.TANK,
+					[53]	= _G.HEALER,
+					[54]	= _G.DAMAGER,
+					[56]	= L["Cloth"],
+					[57]	= L["Leather"],
+					[58]	= L["Mail"],
+					[59]	= L["Plate"],
+					[60]	= L["Cloak"],
+					[61]	= L["Trinket"],
+					[62]	= L["Ring"],
+					[63]	= L["Necklace"],
+					[64]	= L["Shield"],
+					[66]	= L["One Hand"],
+					[67]	= L["Two Hand"],
+					[68]	= L["Axe"],
+					[69]	= L["Sword"],
+					[70]	= L["Mace"],
+					[71]	= L["Polearm"],
+					[72]	= L["Dagger"],
+					[73]	= L["Staff"],
+					[74]	= L["Wand"],
+					[75]	= L["Thrown"],
+					[76]	= L["Bow"],
+					[77]	= L["Crossbow"],
+					[78]	= L["Ammo"],
+					[79]	= L["Fist"],
+					[80]	= L["Gun"],
+					[96]	= BFAC["Argent Dawn"],
+					[97]	= BFAC["Cenarion Circle"],
+					[98]	= BFAC["Thorium Brotherhood"],
+					[99]	= BFAC["Timbermaw Hold"],
+					[100]	= BFAC["Zandalar Tribe"],
+					[101]	= BFAC["The Aldor"],
+					[102]	= BFAC["Ashtongue Deathsworn"],
+					[103]	= BFAC["Cenarion Expedition"],
+					[104]	= (is_alliance and BFAC["Honor Hold"] or BFAC["Thrallmar"]),
+					[105]	= BFAC["The Consortium"],
+					[106]	= BFAC["Keepers of Time"],
+					[107]	= BFAC["Lower City"],
+					[108]	= (is_alliance and BFAC["Kurenai"] or BFAC["The Mag'har"]),
+					[109]	= BFAC["The Scale of the Sands"],
+					[110]	= BFAC["The Scryers"],
+					[111]	= BFAC["The Sha'tar"],
+					[112]	= BFAC["Shattered Sun Offensive"],
+					[113]	= BFAC["Sporeggar"],
+					[114]	= BFAC["Violet Eye"],
+					[115]	= BFAC["Argent Crusade"],
+					[116]	= BFAC["Frenzyheart Tribe"],
+					[117]	= BFAC["Knights of the Ebon Blade"],
+					[118]	= BFAC["Kirin Tor"],
+					[119]	= BFAC["The Sons of Hodir"],
+					[120]	= BFAC["The Kalu'ak"],
+					[121]	= BFAC["The Oracles"],
+					[122]	= BFAC["The Wyrmrest Accord"],
+					[123]	= (is_alliance and BFAC["The Silver Covenant"] or BFAC["The Sunreavers"]),
+					[124]	= (is_alliance and BFAC["Explorers' League"] or BFAC["The Hand of Vengeance"]),
+					[125]	= (is_alliance and BFAC["Valiance Expedition"] or BFAC["Warsong Offensive"]),
+					[126]	= (is_alliance and BFAC["The Frostborn"] or BFAC["The Taunka"]),
+					[127]	= (is_alliance and BFAC["Alliance Vanguard"] or BFAC["Horde Expedition"]),
+					[128]	= BFAC["The Ashen Verdict"],
+				}
+			end
+			return FILTER_NAMES
+		end
+	end	-- do

 	---Dumps the recipe database in a format that is readable to humans.
 	function addon:GetTextDump(RecipeDB, profession)
-		twipe(text_table)
 		local output = "BBCode"
+		twipe(text_table)

-		if (not output) or (output == "Comma") then
+		if not output or output == "Comma" then
 			tinsert(text_table, strformat("Ackis Recipe List Text Dump for %s, in the form of Comma Separated Values.\n  ", profession))
 			tinsert(text_table, "Spell ID,Recipe Name,Skill Level,ARL Filter Flags,Acquire Methods,Known\n")
-		elseif (output == "BBCode") then
+		elseif output == "BBCode" then
 			tinsert(text_table, strformat("Ackis Recipe List Text Dump for %s, in the form of BBCode.\n", profession))
 		end

@@ -1762,9 +1775,8 @@ do
 			local recipe_prof = GetSpellInfo(RecipeDB[SpellID].profession)

 			if recipe_prof == profession then
-
 				-- CSV
-				if (not output) or (output == "Comma") then
+				if not output or output == "Comma" then
 					-- Add Spell ID, Name and Skill Level to the list
 					tinsert(text_table, SpellID)
 					tinsert(text_table, ",")
@@ -1773,7 +1785,7 @@ do
 					tinsert(text_table, RecipeDB[SpellID].skill_level)
 					tinsert(text_table, ",\"")
 				-- BBCode
-				elseif (output == "BBCode") then
+				elseif output == "BBCode" then
 					-- Make the entry red
 					if not RecipeDB[SpellID].is_known then
 						tinsert(text_table, "[color=red]")
@@ -1789,27 +1801,29 @@ do

 				-- Add in all the filter flags
 				local recipe_flags = RecipeDB[SpellID]["Flags"]
+				local filter_names = GetFilterNames()
 				local prev = false

 				-- Find out which flags are marked as "true"
 				for i = 1, NUM_FILTER_FLAGS, 1 do
 					if recipe_flags[i] then
 						-- CSV
-						if (not output) or (output == "Comma") then
+						if not output or output == "Comma" then
 							if prev then
 								tinsert(text_table, ",")
 							end
-							tinsert(text_table, FILTER_NAMES[i])
+							tinsert(text_table, filter_names[i])
 							prev = true
 						-- BBCode
-						elseif (output == "BBCode") then
-							tinsert(text_table, "[*]" .. FILTER_NAMES[i])
+						elseif output == "BBCode" then
+							tinsert(text_table, "[*]" .. filter_names[i])
 						end
 					end
 				end
-				if (not output) or (output == "Comma") then
+
+				if not output or output == "Comma" then
 					tinsert(text_table, "\",\"")
-				elseif (output == "BBCode") then
+				elseif output == "BBCode" then
 					tinsert(text_table, "[/list]\nAcquire Methods:\n[list]")
 				end

@@ -1826,23 +1840,24 @@ do
 				prev = false

 				for i in pairs(acquire_list) do
-					if (not output) or (output == "Comma") then
+					if not output or output == "Comma" then
 						if prev then
 							tinsert(text_table, ",")
 						end
 						tinsert(text_table, i)
 						prev = true
-					elseif (output == "BBCode") then
+					elseif output == "BBCode" then
 						tinsert(text_table, "[*] " .. i)
 					end
 				end
-				if (not output) or (output == "Comma") then
+
+				if not output or output == "Comma" then
 					if RecipeDB[SpellID].is_known then
 						tinsert(text_table, "\",true\n")
 					else
 						tinsert(text_table, "\",false\n")
 					end
-				elseif (output == "BBCode") then
+				elseif output == "BBCode" then
 					tinsert(text_table, "\n[/list]")
 				end
 			end