Files
coa-altoholic/Altoholic-Addon/Altoholic/Loots.lua
T
2023-11-03 13:50:47 +01:00

1273 lines
71 KiB
Lua

local addonName = ...
local addon = _G[addonName]
local L = LibStub("AceLocale-3.0"):GetLocale(addonName)
local BB = LibStub("LibBabble-Boss-3.0"):GetLookupTable()
local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable()
local BI = LibStub("LibBabble-Inventory-3.0"):GetLookupTable()
local WHITE = "|cFFFFFFFF"
local GREEN = "|cFF00FF00"
-- Simplified loot table containing item ID's only, based on AtlasLoot v5.09.00
local lootTable = {
-- to do: HardModeArena & HardModeArena2 from sets_en.lua
-- to do : wotlk crafts
-- to do : pvp non set 80, line 3000 in wotlk.lua of AL 5.04
-- tier 8
-- ** Miscellaneous **
[L["Bash'ir Landing"]] = {
[L["Skyguard Raid"]] = { 32596, 32600, 32599, 32597, 32634, 32637, 32635, 32636, 32639, 32638,
32641, 32640, 32759, 32630, 32631, 32627, 32625, 32629, 32628, 32626, 32624 },
[L["Stasis Chambers"]] = { 32522, 31577, 31569, 31553, 31561},
},
[L["Skettis"]] = {
[L["Darkscreecher Akkarai"]] = { 32529, 32715, 31558, 31555, 31566, 31563, 31574, 31571, 31582, 31579, 32514 },
[L["Karrog"]] = { 32533, 32717, 31558, 31555, 31566, 31563, 31574, 31571, 31582, 31579, 32514 },
[L["Gezzarak the Huntress"]] = { 32531, 32716, 31558, 31555, 31566, 31563, 31574, 31571, 31582, 31579, 32514 },
[L["Vakkiz the Windrager"]] = { 32532, 32718, 31558, 31555, 31566, 31563, 31574, 31571, 31582, 31579, 32514 },
[L["Terokk"]] = { 32540, 32541, 31556, 31564, 31572, 31580, 32535, 32534, 32782, 32536, 32537 }
},
[L["Ethereum Prison"]] = {
[L["Armbreaker Huffaz"]] = { 31943, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Fel Tinkerer Zortan"]] = { 31573, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Forgosh"]] = { 31940, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Gul'bor"]] = { 31940, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Malevus the Mad"]] = { 31581, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Porfus the Gem Gorger"]] = { 31557, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 },
[L["Wrathbringer Laz-tarash"]] = { 32520, 31939, 31938, 31936, 31935, 31937, 31957, 31928, 31929, 31925, 31926, 31927 }
},
[L["Abyssal Council"] .. " (" .. BZ["Silithus"] .. ")"] = {
[L["Crimson Templar (Fire)"]] = { 20657, 20655, 20656 },
[L["Azure Templar (Water)"]] = { 20654, 20652, 20653 },
[L["Hoary Templar (Wind)"]] = { 20658, 20659, 20660 },
[L["Earthen Templar (Earth)"]] = { 20661, 20662, 20663 },
[L["The Duke of Cinders (Fire)"]] = { 20665, 20666, 20514, 20664, 21989 },
[L["The Duke of Fathoms (Water)"]] = { 20668, 20669, 20514, 20667 },
[L["The Duke of Zephyrs (Wind)"]] = { 20674, 20675, 20514, 20673 },
[L["The Duke of Shards (Earth)"]] = { 20671, 20672, 20514, 20670 },
[BB["Prince Skaldrenox"] .. " (Fire)"] = { 20682, 20515, 20681, 20680 },
[BB["Lord Skwol"] .. " (Water)"] = { 20685, 20515, 20684, 20683 },
[BB["High Marshal Whirlaxis"] .. " (Wind)"] = { 20691, 20515, 20690, 20689 },
[BB["Baron Kazum"] .. " (Earth)"] = { 20688, 20515, 20686, 20687 }
},
[L["Elemental Invasion"]] = {
[BB["Baron Charr"] .. " (" .. BZ["Un'Goro Crater"] .. ")"] = { 18671, 19268, 18672 },
[BB["Princess Tempestria"] .. " (" .. BZ["Winterspring"] .. ")"] = { 18678, 19268, 21548, 18679 },
[BB["Avalanchion"] .. " (" .. BZ["Azshara"] .. ")"] = { 18673, 19268, 18674 },
[BB["The Windreaver"] .. " (" .. BZ["Silithus"] .. ")"] = { 18676, 19268, 21548, 18677 }
},
[L["Gurubashi Arena"]] = {
[L["Booty Run"]] = { 18709, 18710, 18711, 18712, 18706, 19024 }
},
[L["Fishing Extravaganza"]] = {
[L["First Prize"]] = { 19970, 19979 },
[L["Rare Fish"]] = { 19805, 19803, 19806, 19808 },
[L["Rare Fish Rewards"]] = { 19972, 19969, 19971 }
},
[L["Children's Week"]] = {
[BZ["Azeroth"]] = { 23007, 23015, 23002, 23022 },
[BZ["Outland"]] = { 32616, 32622, 32617 }
},
[L["Love is in the air"]] = {
[L["Gift of Adoration"]] = { 34480, 22279, 22235, 22200, 22261, 22218, 21813, 34258 },
[L["Box of Chocolates"]] = { 22237, 22238, 22236, 22239 },
[L["Quest rewards"]] = { 22276, 22278, 22280, 22277, 22281, 22282 }
},
[L["Hallow's End"]] = {
[L["Various Locations"]] = { 33117, 20400, 18633, 18632, 18635, 20557 },
[L["Treat Bag"]] = { 20410, 20409, 20399, 20398, 20397, 20413, 20411, 20414, 20389, 20388,
20390, 20561, 20391, 20566, 20564, 20570, 20572, 20568, 20573, 20562,
20392, 20565, 20563, 20569, 20571, 20567, 20574 },
[L["Headless Horseman"]] = { 33808, 34075, 34073, 34074, 33292, 33154, 34068, 33226, 33182, 33184,
33176, 33183, 33189 }
},
[L["Feast of Winter Veil"]] = {
[L["Various Locations"]] = { 21525, 21524, 17712, 17202, 34191, 21212, 21519 },
[L["Smokywood Pastures Vendor"]] = { 34262, 34319, 34261, 34413, 17201, 17200, 17344, 17406, 17407, 17408,
34410, 17404, 17405, 34412, 17196, 17403, 17402, 17194, 17303, 17304, 17307 },
[L["Gaily Wrapped Present"]] = { 21301, 21308, 21305, 21309 },
[L["Festive Gift"]] = { 21328 },
[L["Winter Veil Gift"]] = { 34425 },
[L["Gently Shaken Gift"]] = { 21235, 21241 },
[L["Ticking Present"]] = { 21325, 21213, 17706, 17725, 17720, 17722, 17709, 17724 },
[L["Carefully Wrapped Present"]] = { 21254 },
[L["Smokywood Pastures Extra-Special Gift"]] = { 21215 }
},
[L["Noblegarden"]] = {
[L["Brightly Colored Egg"]] = { 19028, 6833, 6835, 7807, 7808, 7806 }
},
[L["Harvest Festival"]] = {
[L["Quest rewards"]] = { 19697, 20009, 20010 },
[L["Food"]] = { 19994, 19995, 19996, 19997 }
},
[L["Scourge Invasion"]] = {
[L["Miscellaneous"]] = { 23123, 23122, 22999, 23194, 23195, 23196 },
[L["Cloth Set"]] = { 23085, 23091, 23084 },
[L["Leather Set"]] = { 23089, 23093, 23081 },
[L["Mail Set"]] = { 23088, 23092, 23082 },
[L["Plate Set"]] = { 23087, 23090, 23078 },
[L["Balzaphon"]] = { 23126, 23125, 23124 },
[L["Lord Blackwood"]] = { 23156, 23132, 23139 },
[L["Revanchion"]] = { 23127, 23129, 23128 },
[L["Scorn"]] = { 23170, 23169, 23168 },
[L["Sever"]] = { 23173, 23171 },
[L["Lady Falther'ess"]] = { 23178, 23177 }
},
[L["Lunar Festival"]] = {
[L["Miscellaneous"]] = { 21540, 21157, 21538, 21539, 21541, 21544, 21543, 21537, 21713, 21100 },
[L["Fireworks Pack"]] = { 21558, 21559, 21557, 21561, 21562, 21589, 21590, 21592, 21593, 21595 },
[L["Lucky Red Envelope"]] = { 21744, 21745 },
[BI["Engineering"]] = { 21738, 21724, 21725, 21726, 21727, 21728, 21729, 21737, 21730, 21731,
21732, 21733, 21734, 21735 },
[BI["Tailoring"]] = { 21722, 21723 }
},
[L["Midsummer Fire Festival"]] = {
[L["Miscellaneous"]] = { 34686, 23379, 23083, 23247, 23246, 23435, 23327, 23326,
23211, 34684, 23323, 23324, 34685, 34683 },
[L["Lord Ahune"]] = { 35494, 35495, 35496, 35497, 35498, 35514, 35723, 34955, 35279, 35280 },
[L["Lord Ahune"] .. L[" (Heroic)"]] = { 35507, 35509, 35508, 35511, 35498, 34955, 35723, 35279, 35280, 35497,
35496, 35494, 35495, 35514 }
},
[L["Shartuul"]] = {
[L["Blade Edge Mountains"]] = { 32941, 32676, 32675, 32677, 32678, 32672, 32673, 32674, 32670, 32671,
32679, 32942, 32655, 32656, 32665, 32664, 32658, 32659, 32660, 32663,
32661, 32662 }
},
[L["Brewfest"]] = {
[L["Miscellaneous"]] = { 33927, 33047, 33968, 33864, 33967, 33969, 33862, 33863, 33868, 33966,
33978, 33977, 33976, 32912, 34140, 32233, 33455, 34063, 34064, 33023,
33024, 33025, 33026, 33043, 33929 },
[L["Barleybrew Brewery"]] = { 33030, 33028, 33029 },
[L["Thunderbrew Brewery"]] = { 33031, 33032, 33033 },
[L["Gordok Brewery"]] = { 33034, 33036, 33035 },
[L["Drohn's Distillery"]] = { 34017, 34018, 34019 },
[L["T'chali's Voodoo Brewery"]] = { 34020, 34021, 34022 },
[BB["Coren Direbrew"] .. " (Lv70)"] = { 37127, 38289, 38290, 38288, 38287, 37597 },
[BB["Coren Direbrew"]] = {
38280, -- Direbrew's Dire Brew (Quest Item)
38281, -- Direbrew's Dire Brew (Quest Item)
49078, -- Ancient Pickled Egg
49118, -- Bubbling Balebrew Charm
49116, -- Bitter Brightbrew Charm
49080, -- Brawler's Souvenir
49074, -- Coren's Chromium Coaster
49076, -- Mithril Pocketwatch
},
[ LOOKING_FOR_DUNGEON .. " " .. LFD_REWARDS ] = { -- global string for "Dungeon Finder" and "Rewards"
49120, -- Direbrew's Shanker 2.0
48663, -- Tankard O' Terror
37828, -- Great Brewfest Kodo
-- 33977, -- Swift Brewfest Ram (can also be bought)
37863, -- Direbrew's Remote
},
},
-- ** Sets & PVP ***
[BZ["Alterac Valley"]] = {
[L["Miscellaneous"].." (" .. FACTION_ALLIANCE .. ")"] = { 19045, 19032 },
[L["Miscellaneous"].." (" .. FACTION_HORDE .. ")"] = { 19046, 19031 },
[L["Miscellaneous"]] = { 19316, 17348, 17349, 19301, 19307, 19317, 17351, 17352, 19318 },
[L["Superior Rewards"].." (" .. FACTION_ALLIANCE .. ")"] = { 19086, 19084, 19094, 19093, 19092, 19091, 19098, 19097, 19100, 19104,
19102, 19320, 19319 },
[L["Superior Rewards"].." (" .. FACTION_HORDE .. ")"] = { 19085, 19083, 19090, 19089, 19088, 19087, 19096, 19095, 19099, 19103,
19101, 19320, 19319 },
[L["Epic Rewards"].." (" .. FACTION_ALLIANCE .. ")"] = { 19030 },
[L["Epic Rewards"].." (" .. FACTION_HORDE .. ")"] = { 19029 },
[L["Epic Rewards"]] = { 19325, 19312, 19308, 19309, 19324, 19321, 21563, 19315, 19311, 19310, 19323 }
},
[BZ["Arathi Basin"]] = {
[L["Miscellaneous"].." (" .. FACTION_ALLIANCE .. ")"] = { 17349, 17352, 20225, 20227, 20226, 20243, 20237, 20244 },
[L["Miscellaneous"].." (" .. FACTION_HORDE .. ")"] = { 17349, 17352, 20222, 20224, 20223, 20234, 20232, 20235 },
[format(L["Lv %s Rewards"], "20-29").." (" .. FACTION_ALLIANCE .. ")"] = { 20099, 20096, 20117, 20105, 20120, 20090, 20114, 20102, 20123, 20093,
20108, 20126, 20111, 20129, 21119 },
[format(L["Lv %s Rewards"], "20-29").." (" .. FACTION_HORDE .. ")"] = { 20164, 20162, 20191, 20172, 20152, 20197, 20188, 20169, 20201, 20157,
20178, 20207, 20182, 20210, 21120 },
[format(L["Lv %s Rewards"], "30-39").." (" .. FACTION_ALLIANCE .. ")"] = { 20098, 20095, 20116, 20104, 20113, 20101, 21118 },
[format(L["Lv %s Rewards"], "30-39").." (" .. FACTION_HORDE .. ")"] = { 20166, 20161, 20192, 20173, 20187, 20168, 21116 },
[format(L["Lv %s Rewards"], "40-49").." (" .. FACTION_ALLIANCE .. ")"] = { 20097, 20094, 20115, 20103, 20112, 20100, 20089, 20088, 20119, 20118,
20092, 20091, 20122, 20121, 20107, 20106, 20125, 20124, 20110, 20109,
20128, 20127, 21117 },
[format(L["Lv %s Rewards"], "40-49").." (" .. FACTION_HORDE .. ")"] = { 20165, 20160, 20193, 20174, 20189, 20170, 20153, 20151, 20198, 20196,
20156, 20155, 20200, 20202, 20180, 20179, 20206, 20205, 20183, 20185,
20209, 20211, 21115 },
[format(L["Lv %s Rewards"], "50-59").." (" .. FACTION_ALLIANCE .. ")"] = { 20047, 20054, 20045, 20046, 20052, 20053, 20043, 20050, 20042, 20041,
20049, 20048, 20071 },
[format(L["Lv %s Rewards"], "50-59").." (" .. FACTION_HORDE .. ")"] = { 20163, 20159, 20190, 20171, 20186, 20167, 20150, 20195, 20154, 20199,
20204, 20208, 20072 },
[format(L["Lv %s Rewards"], "60").." (" .. FACTION_ALLIANCE .. ")"] = { 20073, 20061, 20059, 20060, 20055, 20056, 20058, 20057, 20070, 20069 },
[format(L["Lv %s Rewards"], "60").." (" .. FACTION_HORDE .. ")"] = { 20068, 20176, 20194, 20175, 20158, 20203, 20212, 20214, 20220 },
[L["PVP Cloth Set"].." (" .. FACTION_ALLIANCE .. ")"] = { 20061, 20047, 20054 },
[L["PVP Cloth Set"].." (" .. FACTION_HORDE .. ")"] = { 20176, 20163, 20159 },
[L["PVP Leather Sets"].." (" .. FACTION_ALLIANCE .. ")"] = { 20059, 20045, 20052, 20060, 20046, 20053 },
[L["PVP Leather Sets"].." (" .. FACTION_HORDE .. ")"] = { 20194, 20190, 20186, 20175, 20171, 20167 },
[L["PVP Mail Sets"].." (" .. FACTION_ALLIANCE .. ")"] = { 20055, 20043, 20050, 20056, 20044, 20051 },
[L["PVP Mail Sets"].." (" .. FACTION_HORDE .. ")"] = { 20158, 20150, 20154, 20203, 20195, 20199 },
[L["PVP Plate Sets"].." (" .. FACTION_ALLIANCE .. ")"] = { 20057, 20041, 20048, 20058, 20042, 20049 },
[L["PVP Plate Sets"].." (" .. FACTION_HORDE .. ")"] = { 20212, 20204, 20208 }
},
[BZ["Warsong Gulch"]] = {
[L["Miscellaneous"].." (" .. FACTION_ALLIANCE .. ")"] = { 19506 },
[L["Miscellaneous"].." (" .. FACTION_HORDE .. ")"] = { 19505 },
[L["Miscellaneous"]] = { 17348, 17349, 19060, 19062, 19067, 17351, 17352, 19061, 19066, 19068 },
[format(L["Lv %s Rewards"], "10-19").." (" .. FACTION_ALLIANCE .. ")"] = { 20428, 20444, 20431, 20439, 20443, 20440, 20434, 20438 },
[format(L["Lv %s Rewards"], "10-19").." (" .. FACTION_HORDE .. ")"] = { 20427, 20442, 20426, 20429, 20441, 20430, 20425, 20437 },
[format(L["Lv %s Rewards"], "20-29").." (" .. FACTION_ALLIANCE .. ")"] = { 19533, 19541, 19525, 19517, 21568, 21566, 19549, 19557, 19573, 19565 },
[format(L["Lv %s Rewards"], "20-29").." (" .. FACTION_HORDE .. ")"] = { 19529, 19537, 19521, 19513, 21568, 21566, 19545, 19553, 19569, 19561 },
[format(L["Lv %s Rewards"], "30-39").." (" .. FACTION_ALLIANCE .. ")"] = { 19532, 19540, 19524, 19515, 19548, 19556, 19572, 19564 },
[format(L["Lv %s Rewards"], "30-39").." (" .. FACTION_HORDE .. ")"] = { 19528, 19536, 19520, 19512, 19544, 19552, 19568, 19560 },
[format(L["Lv %s Rewards"], "40-49").." (" .. FACTION_ALLIANCE .. ")"] = { 19597, 19590, 19584, 19581, 19531, 19539, 19523, 19516, 21567, 21565,
19547, 19555, 19571, 19563 },
[format(L["Lv %s Rewards"], "40-49").." (" .. FACTION_HORDE .. ")"] = { 19597, 19590, 19584, 19581, 19527, 19535, 19519, 19511, 21567, 21565,
19543, 19551, 19567, 19559 },
[format(L["Lv %s Rewards"], "50-59").." (" .. FACTION_ALLIANCE .. ")"] = { 19596, 19589, 19583, 19580, 19530, 19538, 19522, 19514, 19546, 19554, 19570, 19562 },
[format(L["Lv %s Rewards"], "50-59").." (" .. FACTION_HORDE .. ")"] = { 19596, 19589, 19583, 19580, 19526, 19534, 19518, 19510, 19542, 19550,
19566, 19558 },
[format(L["Lv %s Rewards"], "60").." (" .. FACTION_ALLIANCE .. ")"] = { 19595, 22752, 19587, 22749, 22750, 19582, 22748, 30497, 19578, 22753, 22672 },
[format(L["Lv %s Rewards"], "60").." (" .. FACTION_HORDE .. ")"] = { 19595, 22747, 19587, 22740, 22741, 19582, 22673, 22676, 19578, 30498, 22651 }
},
[L["World PVP"]] = {
[L["Hellfire Fortifications"]] = { 27833, 27786, 28360, 27830, 27785, 27777, 24520, 24579, 24522, 24581 },
[L["Twin Spire Ruins"]] = { 27990, 27984, 27922, 27929, 27939, 27983, 27920, 27927, 27930 },
[L["Spirit Towers (Terrokar)"]] = { 28553, 28557, 28759, 28574, 28575, 28577, 28560, 28761, 32947, 28555,
28556, 28760, 28561, 28576, 28758, 28559, 32948 },
[L["Halaa (Nagrand)"]] = { 28915, 27679, 27649, 27648, 27650, 27647, 27652, 27654, 27653, 24208,
29228, 27680, 27638, 27645, 27637, 27646, 27643, 27644, 27639, 33783,
32071, 30611, 30615, 30598, 30597, 30599, 30612, 30571, 30570, 30568 }
},
[format(L["Arena Season %d"], 1)] = {
[L["Druid Set"]] = { 28127, 28129, 28130, 28126, 28128, 28137, 28139, 28140, 28136, 28138,
31376, 31378, 31379, 31375, 31377 },
[L["Hunter Set"]] = { 28331, 28333, 28334, 28335, 28332 },
[L["Mage Set"]] = { 25855, 25854, 25856, 25857, 25858 },
[L["Paladin Set"]] = { 27704, 27706, 27702, 27703, 27705, 27881, 27883, 27879, 27880, 27882,
31616, 31619, 31613, 31614, 31618 },
[L["Priest Set"]] = { 27708, 27710, 27711, 27707, 27709, 31410, 31412, 31413, 31409, 31411 },
[L["Rogue Set"]] = { 25830, 25832, 25831, 25834, 25833 },
[L["Shaman Set"]] = { 25998, 25999, 25997, 26000, 26001,27471, 27473, 27469, 27470, 27472,
31400, 31407, 31396, 31397, 31406 },
[L["Warlock Set"]] = { 24553, 24554, 24552, 24556, 24555, 30187, 30186, 30200, 30188, 30201 },
[L["Warrior Set"]] = { 24545, 24546, 24544, 24549, 24547 },
[L["Weapons"]] = { 28313, 28314, 28297, 28312, 28310, 28295, 28307, 24550, 28308, 28309,
28298, 32450, 32451, 28305, 28302, 28299, 28476, 28300, 24557, 28358,
28319, 28294, 28320, 28346, 32452, 33945, 33942, 28355, 33936, 28356,
33948, 33939, 33951, 28357 }
},
[format(L["Arena Season %d"], 2)] = {
[L["Druid Set"]] = { 31968, 31971, 31972, 31967, 31969, 32057, 32059, 32060, 32056, 32058,
31988, 31990, 31991, 31987, 31989 },
[L["Hunter Set"]] = { 31962, 31964, 31960, 31961, 31963 },
[L["Mage Set"]] = { 32048, 32047, 32050, 32049, 32051 },
[L["Paladin Set"]] = { 31997, 31996, 31992, 31993, 31995, 32041, 32043, 32039, 32040, 32042,
32022, 32024, 32020, 32021, 32023 },
[L["Priest Set"]] = { 32035, 32037, 32038, 32034, 32036, 32016, 32018, 32019, 32015, 32017 },
[L["Rogue Set"]] = { 31999, 32001, 32002, 31998, 32000 },
[L["Shaman Set"]] = { 32006, 32008, 32004, 32005, 32007, 32011, 32013, 32009, 32010, 32012,
32031, 32033, 32029, 32030, 32032 },
[L["Warlock Set"]] = { 31974, 31976, 31977, 31973, 31975, 31980, 31979, 31982, 31981, 31983 },
[L["Warrior Set"]] = { 30488, 30490, 30486, 30487, 30489 },
[L["Weapons"]] = { 32028, 32003, 32053, 32044, 32046, 32052, 32027, 31984, 31965, 31985,
31966, 32963, 32964, 32026, 31958, 31959, 32014, 32025, 32055, 33313,
33309, 32045, 32054, 31986, 32962, 31978, 32961, 33946, 33943, 33076,
33937, 33077, 33949, 33940, 33952, 33078 }
},
[format(L["Arena Season %d"], 3)] = {
[L["Druid Set"]] = { 33672, 33674, 33675, 33671, 33673, 33768, 33770, 33771, 33767, 33769,
33691, 33693, 33694, 33690, 33692 },
[L["Hunter Set"]] = { 33666, 33668, 33664, 33665, 33667 },
[L["Mage Set"]] = { 33758, 33757, 33760, 33759, 33761 },
[L["Paladin Set"]] = { 33697, 33699, 33695, 33696, 33698, 33751, 33753, 33749, 33750, 33752,
33724, 33726, 33722, 33723, 33725 },
[L["Priest Set"]] = { 33745, 33747, 33748, 33744, 33746, 33718, 33720, 33721, 33717, 33719 },
[L["Rogue Set"]] = { 33701, 33703, 33704, 33700, 33702 },
[L["Shaman Set"]] = { 33708, 33710, 33706, 33707, 33709, 33713, 33715, 33711, 33712, 33714,
33740, 33742, 33738, 33739, 33741 },
[L["Warlock Set"]] = { 33677, 33679, 33680, 33676, 33678, 33683, 33682, 33685, 33684, 33686 },
[L["Warrior Set"]] = { 33730, 33732, 33728, 33729, 33731 },
[L["Weapons"]] = { 33737, 33705, 34016, 33763, 33754, 33801, 33756, 33762, 33734, 33688,
33669, 34015, 33689, 33670, 34014, 33687, 33743, 33733, 33662, 33663,
33727, 34540, 33716, 33766, 33661, 33735, 33755, 33765, 34529, 33006,
34530, 34059, 34066, 33764, 33681, 34033, 33736, 33947, 33944, 33841,
33938, 33842, 33950, 33941, 33953, 33843 }
},
[format(L["Arena Season %d"], 4)] = {
[L["Druid Set"]] = { 34999, 35001, 35002, 34998, 35000, 35112, 35114, 35115, 35111, 35113,
35023, 35025, 35026, 35022, 35024 },
[L["Hunter Set"]] = { 34992, 34994, 34990, 34991, 34993 },
[L["Mage Set"]] = { 35097, 35096, 35099, 35098, 35100 },
[L["Paladin Set"]] = { 35029, 35031, 35027, 5028, 35030, 35090, 35092, 35088, 35089, 35091,
35061, 35063, 35059, 35060, 35062 },
[L["Priest Set"]] = { 35084, 35086, 35087, 35083, 35085, 35054, 35056, 35057, 35053, 35055 },
[L["Rogue Set"]] = { 35033, 35035, 35036, 35032, 35034 },
[L["Shaman Set"]] = { 35044, 35046, 35042, 35043, 35045, 35050, 35052, 35048, 35049, 35051,
35079, 35081, 35077, 35078, 35080 },
[L["Warlock Set"]] = { 35004, 35006, 35007, 35003, 35005, 35010, 35009, 35012, 35011, 35013 },
[L["Warrior Set"]] = { 35068, 35070, 35066, 35067, 35069 },
[L["Weapons"]] = { 35076, 35038, 35037, 35102, 37739, 35093, 35058, 35095, 35101, 35072,
35015, 34996, 34995, 35017, 34997, 35110, 35014, 35082, 37740, 35071,
34988, 34989, 35064, 34987, 35103, 35109, 34986, 35073, 35094, 35108,
35047, 35018, 35075, 34985, 35065, 35107, 35008, 35016, 35074, 35019,
35020, 35021, 35039, 35040, 35041, 35104, 35105, 35106 }
},
[format(L["Arena Season %d"], 5)] = {
[L["Death Knight"]] = {
40817, 40857, 40779, 40799, 40837, 40820, 40860, 40781, 40803, 40841, 40824, 40863, 40784, 40806, 40845
},
[L["Druid Set"]] = {
41324, 41278, 41313, 41290, 41301, 41325, 41279, 41314, 41291, 41302, 41326, 41280, 41315, 41292, 41303, -- balance
41675, 41712, 41658, 41770, 41664, 41676, 41713, 41659, 41771, 41665, 41677, 41714, 41660, 41772, 41666, -- feral
41269, 41271, 41272, 41268, 41270, 41319, 41273, 41308, 41284, 41296, 41320, 41274, 41309, 41286, 41297 -- resto
},
[L["Hunter Set"]] = {
41154, 41214, 41084, 41140, 41202, 41155, 41215, 41085, 41141, 41203, 41156, 41216, 41086, 41142, 41204
},
[L["Mage Set"]] = {
41943, 41962, 41949, 41968, 41956, 41944, 41963, 41950, 41969, 41957, 41945, 41964, 41951, 41970, 41958
},
[L["Paladin Set"]] = {
40818, 40858, 40780, 40798, 40838, 40821, 40861, 40782, 40802, 40842, 40825, 40864, 40785, 40805, 40846, -- retrib
40930, 40960, 40898, 40918, 40936, 40931, 40961, 40904, 40925, 40937, 40932, 40962, 40905, 40926, 40938 -- holy
},
[L["Priest Set"]] = {
41912, 41930, 41918, 41937, 41924, 41913, 41931, 41919, 41938, 41925, 41914, 41933, 41920, 41939, 41926, -- shadow
41848, 41850, 41851, 41847, 41849, 41852, 41867, 41857, 41872, 41862, 41853, 41868, 41858, 41873, 41863, -- holy
},
[L["Rogue Set"]] = {
41644, 41646, 41647, 41643, 41645, 41670, 41681, 41648, 41765, 41653, 41671, 41682, 41649, 41766, 41654
},
[L["Shaman Set"]] = {
41016, 41041, 40987, 41004, 41030, 41017, 41042, 40989, 41005, 41031, 41018, 41043, 40991, 41006, 41032, -- elem
41148, 41208, 41078, 41134, 41160, 41149, 41209, 41079, 41135, 41162, 41150, 41210, 41080, 41136, 41198, -- enh
41010, 41024, 40986, 40998, 41023, 41011, 41036, 40988, 40999, 41025, 41012, 41037, 40990, 41000, 41026 -- resto
},
[L["Warlock Set"]] = {
41990, 42008, 41996, 42014, 42002, 41991, 42009, 42001, 42015, 42003, 41992, 42010, 41997, 42016, 42004
},
[L["Warrior Set"]] = {
40816, 40856, 40778, 40797, 40836, 40819, 40859, 40783, 40801, 40840, 40823, 40862, 40786, 40804, 40844
},
},
[format(L["Arena Season %d"], 6)] = {
[L["Death Knight"]] = { 40827, 40868, 40787, 40809, 40848 },
[L["Druid Set"]] = { 41327, 41281, 41316, 41293, 41304, 41678, 41715, 41661, 41773, 41667,
41321, 41275, 41310, 41287, 41298 },
[L["Hunter Set"]] = { 41157, 41217, 41087, 41143, 41205 },
[L["Mage Set"]] = { 41946, 41965, 41953, 41971, 41959 },
[L["Paladin Set"]] = { 40828, 40869, 40788, 40808, 40849, 40933, 40963, 40907, 40927, 40939 },
[L["Priest Set"]] = { 41915, 41934, 41921, 41940, 41927, 41854, 41869, 41859, 41874, 41864 },
[L["Rogue Set"]] = { 41672, 41683, 41650, 41767, 41655 },
[L["Shaman Set"]] = { 41019, 41044, 40993, 41007, 41033, 41151, 41211, 41081, 41137, 41199,
41013, 41038, 40992, 41001, 41027 },
[L["Warlock Set"]] = { 41993, 42011, 41998, 42017, 42005 },
[L["Warrior Set"]] = { 40826, 40866, 40789, 40807, 40847 },
},
[format(L["Arena Season %d"], 7)] = {
[L["Death Knight"]] = { 40830, 40871, 40791, 40811, 40851 },
[L["Druid Set"]] = { 41328, 41282, 41317, 41294, 41305, 41679, 41716, 41662, 41774, 41668,
41322, 41276, 41311, 41288, 41299 },
[L["Hunter Set"]] = { 41158, 41218, 41088, 41144, 41206 },
[L["Mage Set"]] = { 41947, 41966, 41954, 41972, 41960 },
[L["Paladin Set"]] = { 40831, 40872, 40792, 40812, 40852, 40934, 40964, 40910, 40928, 40940 },
[L["Priest Set"]] = { 41916, 41935, 41922, 41941, 41928, 41855, 41870, 41860, 41875, 41865 },
[L["Rogue Set"]] = { 41673, 41684, 41651, 41768, 41656 },
[L["Shaman Set"]] = { 41020, 41045, 40995, 41008, 41034, 41152, 41212, 41082, 41138, 41200,
41014, 41039, 40994, 41002, 41028 },
[L["Warlock Set"]] = { 41994, 42012, 41999, 42018, 42006 },
[L["Warrior Set"]] = { 40829, 40870, 40790, 40810, 40850 },
},
[format(L["Level %d Honor PVP"], 60)] = {
[L["Druid Set"]] = { 16451, 16449, 16452, 16448, 16450, 16459, 23308, 23309, 23294, 23280,
23295, 23281, 16550, 16551, 16549, 16555, 16552, 16554, 23253, 23254,
22877, 22863, 22878, 22852 },
[L["Hunter Set"]] = { 16465, 16468, 16466, 16463, 16467, 16462, 23306, 23307, 23292, 23279,
23293, 23278, 16566, 16568, 16565, 16571, 16567, 16569, 23251, 23252,
22874, 22862, 22875, 22843 },
[L["Mage Set"]] = { 16441, 16444, 16443, 16440, 16442, 16437, 23318, 23319, 23305, 23290,
23304, 23291, 16533, 16536, 16535, 16540, 16534, 16539, 23263, 23264,
22886, 22870, 22883, 22860 },
[L["Paladin Set"]] = { 16474, 16476, 16473, 16471, 16475, 16472, 23276, 23277, 23272, 23274,
23273, 23275, 29616, 29617, 29615, 29613, 29614, 29612, 29604, 29605,
29602, 29600, 29603, 29601 },
[L["Priest Set"]] = { 17602, 17604, 17605, 17608, 17603, 17607, 23316, 23317, 23303, 23288,
23302, 23289, 17623, 17622, 17624, 17620, 17625, 17618, 23261, 23262,
22885, 22869, 22882, 22859 },
[L["Rogue Set"]] = { 16455, 16457, 16453, 16454, 16456, 16446, 23312, 23313, 23298, 23284,
23299, 23285, 16561, 16562, 16563, 16560, 16564, 16558, 23257, 23258,
22879, 22864, 22880, 22856 },
[L["Shaman Set"]] = { 29610, 29611, 29609, 29607, 29608, 29606, 29598, 29599, 29596, 29595,
29597, 29594, 16578, 16580, 16577, 16574, 16579, 16573, 23259, 23260,
22876, 22867, 22887, 22857 },
[L["Warlock Set"]] = { 17578, 17580, 17581, 17584, 17579, 17583, 23310, 23311, 23297, 23282,
23296, 23283, 17591, 17590, 17592, 17588, 17593, 17586, 23255, 23256,
22884, 22865, 22881, 22855 },
[L["Warrior Set"]] = { 16478, 16480, 16477, 16484, 16479, 16483, 23314, 23315, 23300, 23286,
23301, 23287, 16542, 16544, 16541, 16548, 16543, 16545, 23244, 23243,
22872, 22868, 22873, 22858 },
[L["Weapons"] .. " (" .. FACTION_ALLIANCE .. ")"] = { 18843, 18847, 23451, 18838, 12584, 23456, 18876, 18827, 18830, 23454,
18865, 18867, 23455, 18869, 18873, 18825, 18833, 18836, 18855, 23452, 23453 },
[L["Weapons"] .. " (" .. FACTION_HORDE .. ")"] = { 18844, 18848, 23466, 18840, 16345, 23467, 18877, 18828, 18831, 23464,
18866, 18868, 23465, 18871, 18874, 18826, 18835, 18837, 18860, 23468, 23469 },
[L["Accessories"] .. " (" .. FACTION_ALLIANCE .. ")"] = { 29465, 29467, 29468, 29471, 35906, 18863, 18856, 18859, 18864, 18862,
18857, 29593, 18858, 18854, 18440, 18441, 16342, 18457, 18456, 18455,
18454, 18453, 18452, 18449, 18448, 18447, 18445, 18442, 18444, 18443,
15196, 15198, 18606, 18839, 18841, 32455 },
[L["Accessories"] .. " (" .. FACTION_HORDE .. ")"] = { 29466, 29469, 29470, 29472, 34129, 18853, 18846, 18850, 29592, 18851,
18849, 18845, 18852, 18834, 18427, 16341, 18461, 18437, 16486, 18436,
18434, 18435, 16497, 18432, 16532, 18430, 18429, 15200, 18428, 16335,
15197, 15199, 18607, 18839, 18841, 32455 }
},
[L["Level 70 Reputation PVP"]] = {
[L["Druid Set"]] = { 35357, 35359, 35360, 35356, 35358, 35372, 35374, 35375, 35371, 35373,
35362, 35364, 35365, 35361, 35363, 35469, 35470, 35471 },
[L["Hunter Set"]] = { 35378, 35380, 35376, 35377, 35379, 35475 },
[L["Mage Set"]] = { 35344, 35343, 35346, 35345, 35347, 35465 },
[L["Paladin Set"]] = { 35414, 35416, 35412, 35413, 35415, 35404, 35406, 35402, 35403, 35405, 35476, 35477 },
[L["Priest Set"]] = { 35339, 35341, 35342, 35338, 35340, 35333, 35336, 35337, 35335, 35334, 35467, 35466 },
[L["Rogue Set"]] = { 35367, 35369, 35370, 35366, 35368, 35468 },
[L["Shaman Set"]] = { 35383, 35385, 35381, 35382, 35384, 35388, 35390, 35386, 35387, 35389,
35393, 35395, 35391, 35392, 35394, 35472, 35473, 35474 },
[L["Warlock Set"]] = { 35329, 35331, 35332, 35328, 35330, 35464 },
[L["Warrior Set"]] = { 35409, 35411, 35407, 35408, 35410, 35478 }
},
[format(L["Level %d Honor PVP"], 70)] = {
[L["Weapons"] .. " (" .. FACTION_ALLIANCE .. ")"] = { 28953, 28947, 28957, 28954, 28955, 28956, 28952, 28943, 28944, 28946,
28945, 28950, 28951, 28942, 28948, 28949, 28959, 28940, 28960, 28941 },
[L["Weapons"] .. " (" .. FACTION_HORDE .. ")"] = { 28928, 28922, 28931, 28929, 28930, 28937, 28926, 28293, 28920, 28921,
28918, 28924, 28925, 28917, 28919, 28923, 28935, 28939, 28933, 28938 },
[L["Accessories"] .. " (" .. FACTION_ALLIANCE .. ")"] = { 25829, 28235, 28237, 28238, 28236, 30349, 28234, 30351, 30348, 30350,
28246, 28247 },
[L["Accessories"] .. " (" .. FACTION_HORDE .. ")"] = { 24551, 28241, 28243, 28239, 28242, 30346, 28240, 30345, 30343, 30344,
28246, 28247 },
[L["Accessories"]] = { 28362, 28119, 28363, 31853, 31839, 31855, 31841, 32453, 28118, 28120,
28123, 31838, 31852, 31840, 31854 },
[L["Non Set Accessories"]] = { 28378, 28377, 33920, 33921, 33922, 35317, 35319, 33923, 33056, 33064,
33057, 34576, 34577, 34578, 35326, 34579, 34580, 33853, 33918, 35320, 33919 },
[L["Non Set Cloth"]] = { 33883, 33882, 33884, 33901, 33900, 33902, 33913, 33912, 33914 },
[L["Non Set Leather"]] = { 33881, 33879, 33880, 33887, 33885, 33886, 33893, 33891, 33892, 33917,
33915, 33916 },
[L["Non Set Mail"]] = { 33876, 33877, 33878, 33894, 33895, 33896, 33897, 33898, 33899, 33906,
33907, 33908 },
[L["Non Set Plate"]] = { 33889, 33888, 33890, 33904, 33903, 33905, 33813, 33811, 33812, 33910,
33909, 33911 }
},
[format(L["Level %d Honor PVP"], 80)] = {
[L["Non Set Accessories"]] = { 42020, 42021, 42022, 42023, 42024, 42025, 42026, 42110, 42112, 42055,
42056, 42057, 42058, 42059, 42060, 42061, 42122, 42123, 42128, 42129, 42130, 42131, 42132 },
[L["Non Set Cloth"]] = { 41907, 41896, 41901, 41878, 41877, 41879, 41908, 41897, 41902, 41892, 41880, 41884 },
[L["Non Set Leather"]] = { 41638, 41628, 41633, 41332, 41330, 41331, 41830, 41827, 41828, 41639,
41629, 41634, 41624, 41616, 41620, 41839, 41831, 41835 },
[L["Non Set Mail"]] = { 41063, 41068, 41073, 41047, 41050, 41049, 41223, 41233, 41228, 41064,
41069, 41074, 41059, 41048, 41054, 41224, 41234, 41229 },
[L["Non Set Plate"]] = { 40972, 40966, 40973, 40887, 40877, 40878, 40982, 40974, 40975, 40888, 40879, 40880 },
[L["Savage Gladiator\'s Weapons"]] = { 42294, 42295, 42297, 42445, 42343, 42356, 42448, 42446, 42213, 42217,
42220, 42221, 42223, 42447, 42557, 42568, 42344, 42296, 42206, 42216,
42222, 42224, 42218, 42212, 42214, 42219, 42517, 42511, 42556, 42444,
42618, 42574, 42575, 42576, 42612, 42611, 42595, 42593, 42594 },
[L["Deadly Gladiator\'s Weapons"]] = { 42317, 42322, 42332, 42346, 42454, 42227, 42248, 42270, 42280, 42290,
42352, 42327, 42208, 42242, 42275, 42285, 42260, 42232, 42237, 42265,
42362, 42384, 44420, 44419, 42564, 42570, 42559, 42450, 42490, 42495,
42485, 42513, 42519, 42502, 42525, 42537, 42531, 42588, 42583, 42578,
42614, 42852, 42620, 42597, 42607, 42602 },
[BZ["Wintergrasp"]] = { 43956, 44077, 44066, 44075, 44069, 44068, 44067, 44081, 44084, 44082,
44076, 44078, 44087, 44088, 44089, 41730, 41732, 41733, 41735, 41739,
41736, 41738, 41734, 41727, 41740, 41728, 41742, 41743, 41744, 44107,
44103, 44105, 44102, 44101, 44100, 44099, 44098, 44097, 44091, 44096,
44092, 44094, 44095, 44093, 44115, 44910, 44909, 44899, 44900, 44907,
44906, 44908, 44891, 44892, 44893, 44914, 44912, 44903, 44904, 44905,
44896, 44897, 44898, 44901, 44902, 44894, 44895, },
[BZ["Grizzly Hills"]] = { 38354, 38355, 38353, 38358, 38359, 38357, 38356, 38360, 38365, 38366,
38364, 38363, 38362, 37836, 38368, 38367, 38361, 40875, 40822, 40867 },
},
-- Tier 0 (dungeon 1) is already in the level 60 instances (strat, scholo ..)
[L["Tier 0.5 Quests"]] = {
[L["Druid Set"]] = { 22109, 22112, 22113, 22108, 22110, 22106, 22111, 22107 },
[L["Hunter Set"]] = { 22013, 22016, 22060, 22011, 22015, 22010, 22017, 22061 },
[L["Mage Set"]] = { 22065, 22068, 22069, 22063, 22066, 22062, 22067, 22064 },
[L["Paladin Set"]] = { 22091, 22093, 22089, 22088, 22090, 22086, 22092, 22087 },
[L["Priest Set"]] = { 22080, 22082, 22083, 22079, 22081, 22078, 22085, 22084 },
[L["Rogue Set"]] = { 22005, 22008, 22009, 22004, 22006, 22002, 22007, 22003 },
[L["Shaman Set"]] = { 22097, 22101, 22102, 22095, 22099, 22098, 22100, 22096 },
[L["Warlock Set"]] = { 22074, 22073, 22075, 22071, 22077, 22070, 22072, 22076 },
[L["Warrior Set"]] = { 21999, 22001, 21997, 21996, 21998, 21994, 22000, 21995 }
},
-- Dungeon 3 (level 70) is already in the BC 5-men
-- Tier 1 is already in MC
-- Tier 2 is already in BWL, Ony
[format(L["Tier %d Tokens"], 3)] = {
[L["Druid Set"]] = { 22490, 22491, 22488, 22495, 22493, 22494, 22489, 22492, 23064 },
[L["Hunter Set"]] = { 22438, 22439, 22436, 22443, 22441, 22442, 22437, 22440, 23067 },
[L["Mage Set"]] = { 22498, 22499, 22496, 22503, 22501, 22502, 22497, 22500, 23062 },
[L["Paladin Set"]] = { 22428, 22429, 22425, 22424, 22426, 22431, 22427, 22430, 23066 },
[L["Priest Set"]] = { 22514, 22515, 22512, 22519, 22517, 22518, 22513, 22516, 23061 },
[L["Rogue Set"]] = { 22478, 22479, 22476, 22483, 22481, 22482, 22477, 22480, 23060 },
[L["Shaman Set"]] = { 22466, 22467, 22464, 22471, 22469, 22470, 22465, 22468, 23065 },
[L["Warlock Set"]] = { 22506, 22507, 22504, 22511, 22509, 22510, 22505, 22508, 23063 },
[L["Warrior Set"]] = { 22418, 22419, 22416, 22423, 22421, 22422, 22417, 22420, 23059 }
},
[format(L["Tier %d Tokens"], 4)] = {
[BB["Prince Malchezaar"] .. " (" .. BZ["Karazhan"] .. ")"] = { 29098, 29086, 29093, 29081, 29076, 29068, 29073,
29061, 29049, 29058, 29044, 29040, 29028, 29035, 28963, 29011, 29021 }, -- T4 helm
[BB["High King Maulgar"] .. " (" .. BZ["Gruul's Lair"] .. ")"] = { 29100, 29089, 29095, 29084, 29079, 29070, 29075,
29064, 29054, 29060, 29047, 29043, 29031, 29037, 28967, 29016, 29023 }, -- T4 shoulder
[BB["Magtheridon"] .. " (" .. BZ["Magtheridon's Lair"] .. ")"] = { 29096, 29087, 29091, 29082, 29077, 29066, 29071,
29062, 29050, 29056, 29045, 29038, 29029, 29033, 28964, 29012, 29019 }, -- T4 chest
[BB["The Curator"] .. " (" .. BZ["Karazhan"] .. ")"] = { 29097, 29090, 29092, 29085, 29080, 29067, 29072,
29065, 29055, 29057, 29048, 29039, 29032, 29034, 28968, 29017, 29020 }, -- T4 gloves
[BB["Gruul the Dragonkiller"] .. " (" .. BZ["Gruul's Lair"] .. ")"] = { 29099, 29088, 29094, 29083, 29078, 29069, 29074,
29063, 29053, 29059, 29046, 29042, 29030, 29036, 28966, 29015, 29022 } -- T4 leggings
},
[format(L["Tier %d Tokens"], 5)] = {
[BB["Lady Vashj"] .. " (" .. BZ["Serpentshrine Cavern"] .. ")"] = { 30228, 30219, 30233, 30141, 30206, 30125, 30131,
30136, 30152, 30161, 30146, 30190, 30166, 30171, 30212, 30115, 30120 }, -- T5 helm
[BB["Void Reaver"] .. " (" .. BZ["The Eye"] .. ")"] = { 30230, 30221, 30235, 30143, 30210, 30127, 30133,
30138, 30154, 30163, 30149, 30194, 30168, 30173, 30215, 30117, 30122 }, -- T5 shoulders
[BB["Kael'thas Sunstrider"] .. " (" .. BZ["The Eye"] .. ")"] = { 30222, 30216, 30231, 30139, 30196, 30123, 30129,
30134, 30150, 30159, 30144, 30185, 30164, 30169, 30214, 30113, 30118 }, -- T5 chest
[BB["Leotheras the Blind"] .. " (" .. BZ["Serpentshrine Cavern"] .. ")"] = { 30223, 30217, 30232, 30140, 30205, 30124, 30130,
30135, 30151, 30160, 30145, 30189, 30165, 30170, 30211, 30114, 30119 }, -- T5 gloves
[BB["Fathom-Lord Karathress"] .. " (" .. BZ["Serpentshrine Cavern"] .. ")"] = { 30229, 30220, 30234, 30142, 30207, 30126, 30132,
30137, 30153, 30162, 30148, 30192, 30167, 30172, 30213, 30116, 30121 } -- T5 leggings
},
[format(L["Tier %d Tokens"], 6)] = {
[BB["Azgalor"] .. " (" .. BZ["Hyjal Summit"] .. ")"] = { 31034, 31032, 31035, 31001, 31055, 30985, 30982,
30983, 31060, 31061, 31026, 31011, 31007, 31008, 31050, 30970, 30969 }, -- T6 gloves
[BB["Archimonde"] .. " (" .. BZ["Hyjal Summit"] .. ")"] = { 31039, 31037, 31040, 31003, 31056, 30987, 30989,
30988, 31063, 31064, 31027, 31015, 31012, 31014, 31051, 30974, 30972 }, -- T6 helm
[BB["Mother Shahraz"] .. " (" .. BZ["Black Temple"] .. ")"] = { 31048, 31047, 31049, 31006, 31059, 30997, 30998,
30996, 31069, 31070, 31030, 31024, 31022, 31023, 31054, 30980, 30979 }, -- T6 shoulders
[BB["The Illidari Council"] .. " (" .. BZ["Black Temple"] .. ")"] = { 31044, 31045, 31046, 31005, 31058, 30995, 30993,
30994, 31068, 31067, 31029, 31021, 31019, 31020, 31053, 30978, 30977 }, -- T6 leggings
[BB["Illidan Stormrage"] .. " (" .. BZ["Black Temple"] .. ")"] = { 31042, 31041, 31043, 31004, 31057, 30991, 30990,
30992, 31066, 31065, 31028, 31018, 31016, 31017, 31052, 30976, 30975 }, -- T6 chest
[BB["Kalecgos"] .. " (" .. BZ["Sunwell Plateau"] .. ")"] = { 34444, 34445, 34446, 34443, 34447, 34433, 34431,
34432, 34435, 34434, 34448, 34439, 34438, 34437, 34436, 34442, 34441 }, -- T6 bracers
[BB["Brutallus"] .. " (" .. BZ["Sunwell Plateau"] .. ")"] = { 34556, 34554, 34555, 34549, 34557, 34488, 34485,
34487, 34527, 34528, 34558, 34545, 34543, 34542, 34541, 34547, 34546 }, -- T6 belt
[BB["Felmyst"] .. " (" .. BZ["Sunwell Plateau"] .. ")"] = { 34573, 34571, 34572, 34570, 34574, 34560, 34561,
34559, 34562, 34563, 34575, 34567, 34565, 34566, 34564, 34568, 34569 } -- T6 boots
},
[format(L["Tier %d Tokens"], 7) .. " (10)"] = {
[BB["Kel'Thuzad"]] = { 39619, 39625, 39553, 39531, 39545, 39578, 39491, 39628, 39635, 39640,
39521, 39514, 39561, 39594, 39602, 39583, 39496, 39605, 39610 },
[BB["Loatheb"]] = { 39621, 39627, 39556, 39542, 39548, 39581, 39494, 39631, 39637, 39642,
39529, 39518, 39565, 39596, 39604, 39590, 39499, 39608, 39613 },
[BB["The Four Horsemen"]] = { 39617, 39623, 39554, 39538, 39547, 39579, 39492, 39629, 39633, 39638,
39523, 39515, 39558, 39592, 39597, 39588, 39497, 39606, 39611 },
[BB["Thaddius"]] = { 39620, 39626, 39555, 39539, 39546, 39580, 39493, 39630, 39636, 39641,
39528, 39517, 39564, 39595, 39603, 39589, 39498, 39607, 39612 },
[BB["Sartharion"]] = { 39618, 39624, 39557, 39543, 39544, 39582, 39495, 39632, 39634, 39639,
39530, 39519, 39560, 39593, 39601, 39591, 39500, 39609, 39622 },
},
[format(L["Tier %d Tokens"], 7) .. " (25)"] = {
[BB["Kel'Thuzad"]] = { 40565, 40554, 40473, 40461, 40467, 40505, 40416, 40571, 40576, 40581,
40456, 40447, 40499, 40510, 40521, 40516, 40421, 40528, 40546 },
[BB["Loatheb"]] = { 40568, 40557, 40494, 40465, 40470, 40507, 40419, 40573, 40578, 40584,
40459, 40450, 40502, 40513, 40524, 40518, 40424, 40530, 40548 },
[BB["The Four Horsemen"]] = { 40559, 40550, 40471, 40463, 40469, 40503, 40418, 40569, 40574, 40579,
40458, 40449, 40495, 40508, 40523, 40514, 40423, 40525, 40544 },
[BB["Thaddius"]] = { 40567, 40556, 40493, 40462, 40468, 40506, 40417, 40572, 40577, 40583,
40457, 40448, 40500, 40512, 40522, 40517, 40422, 40529, 40547 },
[BB["Sartharion"]] = { 40563, 40552, 40472, 40460, 40466, 40504, 40415, 40570, 40575, 40580,
40454, 40445, 40496, 40509, 40520, 40515, 40420, 40527, 40545 },
},
[L["Blizzard Collectables"]] = {
[L["WoW Collector Edition"]] = { 13582, 13583, 13584 },
[L["BC Collector Edition (Europe)"]] = { 25535, 30360 },
[L["Blizzcon 2005"]] = { 20371 },
[L["Blizzcon 2007"]] = { 33079 },
["Worldwide Invitational Paris 2008"] = { 39656 },
[L["Christmas Gift 2006"]] = { 22114 }
},
[L["Upper Deck"]] = {
[L["Loot Card Items"]] = { 23705, 23713, 23720, 32588, 32566, 32542, 33225, 33224, 33223, 33219,
34493, 34492, 34499, 35226, 35225, 35223, 23709, 23714, 23716, 35227,
38050, 38301, 38233, 38312, 23709, 38313, 38309, 38310, 38314, 38314,
38311, 23716, 23714 }
},
[L["Heroic Mode Tokens"]] = {
[L["Fire Resistance Gear"]] = { 30762, 30764, 30761, 30763, 30776, 30780, 30778, 30779, 30773, 30774,
30772, 30770, 30769, 30767, 30766, 30768 },
[BI["Cloth"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 32090, 32089, 33588, 33589, 33587, 33586, 33291, 33584, 33585 },
[BI["Cloth"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34924, 34917, 34936, 34938, 34925, 34937, 34918, 34919, 34926 },
[BI["Leather"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 32088, 33972, 32087, 33287, 33973, 33566, 33579, 33578, 33580, 33557,
33540, 33974, 33539, 33559, 33583, 33552, 33538, 33582, 33222, 33577 },
[BI["Leather"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34906, 34903, 34900, 34927, 34904, 34902, 34901,
34911, 34929, 34905, 34910, 34928 },
[BI["Mail"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 32086, 32085, 33970, 33965, 33535, 33532, 33529, 33528, 33534, 33531,
33386, 33536, 33280, 33530, 33527, 33537, 33324 },
[BI["Mail"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34912, 34933, 34930, 34916, 34935, 34932, 34914, 34931, 34934 },
[BI["Plate"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 33810, 32083, 32084, 33514, 33522, 33516, 33513, 33520, 33517, 33512,
33519, 33331, 33524, 33279, 33501, 33518, 33515, 33207, 33523 },
[BI["Plate"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34942, 34939, 34921, 34945, 34944, 34941, 34923, 34922, 34946, 34943,
34940, 34947 },
[L["Cloaks"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 29375, 29382, 35321, 33304, 35324, 33484, 29385, 33333, 29369, 33593 },
[L["Relics"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 29390, 33508, 33509, 33510, 33506, 33507, 33505, 29389, 33503, 33504,
33502, 29388 },
[L["Accessories"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 33296, 29381, 29374, 29386, 29368, 29373, 29379, 29367, 29384, 23572,
35326, 34049, 34163, 34162, 33832, 34050, 29383, 29376, 29387, 29370, 30183 },
[L["Accessories"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34887, 34890, 34889, 34888, 32227, 32228, 32229,
32231, 32249, 32230, 35318, 35315, 35316},
[L["Weapons"] .. " (" .. BZ["Shattrath City"] .. ")"] = { 29275, 33192, 29268, 29267, 29266, 33334, 29270, 29273, 29272, 29269,
29271, 29274, 33325 },
[L["Weapons"] .. " (" .. BZ["Isle of Quel'Danas"] .. ")"] = { 34894, 34896, 34895, 34893, 34951, 34950, 34949, 34952, 34891, 34898, 34892 },
[L["Emblems of Valor"]] = { 40724, 40723, 40722, 40721, 40741, 40740, 40751, 40750, 40739, 40738,
40748, 40749, 40736, 40737, 40746, 40747, 40734, 40733, 40735, 40742,
40743, 40745, 40719, 40720, 40717, 40718, 40634, 40635, 40636, 40637, 40638, 40639 },
[L["Emblems of Heroism"]] = { 40697, 40696, 40694, 40695, 40693, 40692, 40691, 40688, 40689, 40610,
40611, 40612, 40613, 40614, 40615, 43102, 40704, 40702, 40703, 40716,
40701, 40700, 40699, 40698, 40679, 40680, 40681, 40678, 40684, 40682,
40685, 40683, 40711, 40712, 40713, 40707, 40706, 40705, 40715, 40709,
40710, 40708, 42985, 42984, 42952, 42950, 42951, 42949, 42992, 42991,
42944, 42945, 42943, 42948, 42947, 42946 }
},
[L["World Drops"]] = {
[L["Level 30-39"]] = { 867, 1981, 1980, 869, 1982, 870, 868, 873, 1204, 2825 },
[L["Level 40-49"]] = { 3075, 940, 14551, 17007, 14549, 1315, 942, 1447, 2164, 2163,
809, 871, 2291, 810, 2915, 812, 943, 1169, 1979, 2824, 2100 },
[L["Level 50-60"]] = { 3475, 14553, 2245, 14552, 14554, 1443, 14558, 2246, 833, 14557,
1728, 14555, 2244, 2801, 647, 811, 1263, 2243, 944, 1168, 2099 },
[L["Level 70"]] = { 34703, 28189, 31329, 31340, 31343, 31333, 31330, 31328, 31335, 31320,
31338, 31321, 31319, 31339, 31326, 31331, 31336, 31332, 31318, 31342,
31322, 31334, 34622, 31323 }
},
[BZ["Ulduar"] ] = {
[L["Patterns"]] = { 45088, 45089, 45090, 45091, 45092, 45093, 45094, 45095, 45096, 45097, 45098, 45099, 45100, 45101, 45102, 45103, 45104, 45105, 46027, 46348 },
[BB["Freya"]] = { 46110 },
},
[BZ["Ulduar"] .. " (10)"] = {
[BB["Flame Leviathan"]] = { 45289, 45291, 45288, 45283, 45285, 45292, 45286, 45284, 45287, 45282 },
[BB["Flame Leviathan"] .. " (HM)"] = { 45293, 45300, 45295, 45297, 45296 },
[BB["Razorscale"]] = { 45306, 45302, 45301, 45307, 45299, 45305, 45304, 45303, 45308, 45298 },
[BB["Ignis the Furnace Master"]] = { 45317, 45318, 45312, 45316, 45321, 45310, 45313, 45314, 45311, 45309 },
[BB["XT-002 Deconstructor"]] = { 45694, 45677, 45686, 45687, 45679, 45676, 45680, 45675, 45685, 45682 },
[BB["XT-002 Deconstructor"] .. " (HM)"] = { 45869, 45867, 45871, 45868, 45870 },
[BB["The Iron Council"]] = { 45322, 45423, 45324, 45378, 45329, 45333, 45330, 45418, 45332, 45331 },
[BB["The Iron Council"] .. " (HM)"] = { 45455, 45447, 45456, 45449, 45448, 45506 },
[BB["Kologarn"]] = { 45704, 45701, 45697, 45698, 45696, 45699, 45702, 45703, 45700, 45695 },
[BB["Algalon the Observer"]] = { 46042, 46045, 46050, 46043, 46049, 46044, 46037, 46039, 46041, 46047, 46040, 46048, 46046, 46038, 46051, 46052 },
[BB["Auriaya"]] = { 45832, 45865, 45864, 45709, 45711, 45712, 45708, 45866, 45707, 45713 },
[BB["Hodir"]] = { 45873, 45464, 45874, 45458, 45872, 45650, 45651, 45652 },
[BB["Hodir"] .. " (HM)"] = { 45888, 45876, 45886, 45887, 45877, 45786 },
[BB["Thorim"]] = { 45893, 45927, 45894, 45895, 45892, 45659, 45660, 45661 },
[BB["Thorim"] .. " (HM)"] = { 45928, 45933, 45931, 45929, 45930, 45784 },
[BB["Freya"]] = { 45940, 45941, 45935, 45936, 45934, 45644, 45645, 45646 },
[BB["Freya"] .. " (HM)"] = { 45943, 45945, 45946, 45947, 45294, 45788 },
[BB["Mimiron"]] = { 45973, 45976, 45974, 45975, 45972, 45647, 45648, 45649 },
[BB["Mimiron"] .. " (HM)"] = { 45993, 45989, 45982, 45988, 45990, 45787 },
[BB["General Vezax"]] = { 46014, 46013, 46012, 46009, 46346, 45997, 46008, 46015, 46010, 46011, 45996 },
[BB["General Vezax"] .. " (HM)"] = { 46032, 46034, 46036, 46035, 46033 },
[BB["Yogg-Saron"]] = { 46030, 46019, 46028, 46022, 46021, 46024, 46016, 46031, 46025, 46018, 45635, 45636, 45637 },
[BB["Yogg-Saron"] .. " (HM+1)"] = { 46068, 46095, 46096, 46097, 46067 },
[BB["Yogg-Saron"] .. " (HM+0)"] = { 46312 },
[L["Trash Mobs"]] = { 46341, 46347, 46344, 46346, 46345, 46340, 46343, 46339, 46351, 46350, 46342 },
},
[BZ["Ulduar"] .. " (25)"] = {
[BB["Flame Leviathan"]] = { 45117, 45119, 45108, 45118, 45109, 45107, 45111, 45116, 45113, 45106, 45112, 45115, 45114, 45110, 45086 },
[BB["Flame Leviathan"] .. " (HM)"] = { 45135, 45136, 45134, 45133, 45132 },
[BB["Razorscale"]] = { 45138, 45150, 45146, 45149, 45141, 45151, 45143, 45140, 45139, 45148, 45510, 45144, 45142, 45147, 45137 },
[BB["Ignis the Furnace Master"]] = { 45186, 45185, 45162, 45164, 45187, 45167, 45161, 45166, 45157, 45168, 45158, 45169, 45165, 45171, 45170 },
[BB["XT-002 Deconstructor"]] = { 45253, 45258, 45260, 45259, 45249, 45251, 45252, 45248, 45250, 45247, 45254, 45255, 45246, 45256, 45257 },
[BB["XT-002 Deconstructor"] .. " (HM)"] = { 45446, 45444, 45445, 45443, 45442 },
[BB["The Iron Council"]] = { 45224, 45240, 45238, 45237, 45232, 45227, 45239, 45226, 45225, 45228, 45193, 45236, 45235, 45233, 45234 },
[BB["The Iron Council"] .. " (HM)"] = { 45242, 45245, 45244, 45241, 45243, 45607, 45857 },
[BB["Kologarn"]] = { 45272, 45275, 45273, 45265, 45274, 45264, 45269, 45268, 45267, 45262, 45263, 45271, 45270, 45266, 45261 },
[BB["Algalon the Observer"]] = { 45665, 45619, 45611, 45616, 45610, 45615, 45594, 45599, 45617, 45620, 45607, 45612, 45613, 45587, 45570, 45609, 46053 },
[BB["Auriaya"]] = { 45319, 45435, 45441, 45439, 45325, 45440, 45320, 45334, 45434, 45326, 45438, 45436, 45437, 45315, 45327 },
[BB["Hodir"]] = { 45453, 45454, 45452, 45451, 45450, 45632, 45633, 45634 },
[BB["Hodir"] .. " (HM)"] = { 45461, 45462, 45460, 45459, 45612, 45457, 45815 },
[BB["Thorim"]] = { 45468, 45467, 45469, 45466, 45463, 45638, 45639, 45640 },
[BB["Thorim"] .. " (HM)"] = { 45473, 45474, 45472, 45471, 45570, 45470, 45817 },
[BB["Freya"]] = { 45483, 45482, 45481, 45480, 45479, 45653, 45654, 45655 },
[BB["Freya"] .. " (HM)"] = { 45486, 45488, 45487, 45485, 45484, 45613, 45814 },
[BB["Mimiron"]] = { 45493, 45492, 45491, 45490, 45489, 45641, 45642, 45643 },
[BB["Mimiron"] .. " (HM)"] = { 45496, 45497, 45663, 45495, 45494, 45620, 45816 },
[BB["General Vezax"]] = { 45514, 45508, 45512, 45504, 45513, 45502, 45505, 45501, 45503, 45515, 45507, 45509, 45145, 45498, 45511 },
[BB["General Vezax"] .. " (HM)"] = { 45520, 45519, 45517, 45518, 45516 },
[BB["Yogg-Saron"]] = { 45529, 45532, 45523, 45524, 45531, 45525, 45530, 45522, 45527, 45521, 45656, 45657, 45658 },
[BB["Yogg-Saron"] .. " (HM+1)"] = { 45537, 45536, 45534, 45535, 45533 },
[BB["Yogg-Saron"] .. " (HM+0)"] = { 45693 },
[L["Trash Mobs"]] = { 45541, 45549, 45547, 45548, 45543, 45544, 45542, 45540, 45539, 45538, 46138, 45605 },
},
-- not in LPT
[BZ["Onyxia's Lair"] .. " (10)"] = {
[BB["Onyxia"]] = { 49307, 49316, 49317, 49315, 49318, 49322, 49327, 49328, 49326, 49331,
49330, 49329, 49319, 49320, 49321, 49333, 49332, 49323, 49325, 49324,
49306, 49309, 49463, 49310, 49308, 49304, 49437, 49298, 49303, 49296,
49299, 49297, 49302, 49301, 49305, 49644, 49485, 49486, 49487, 49295,
49294, 49636 },
},
[BZ["Onyxia's Lair"] .. " (25)"] = {
[BB["Onyxia"]] = { 49491, 49482, 49483, 49484, 49481, 49477, 49472, 49473, 49471, 49469,
49468, 49470, 49480, 49479, 49478, 49467, 49466, 49476, 49475, 49474,
49492, 49489, 49464, 49488, 49490, 49295, 49636, 49294, 49494, 49465,
49499, 49495, 49501, 49498, 49500, 49496, 49497, 49493, 49644, 49485,
49486, 49487 },
},
[BZ["Trial of the Champion"]] = {
[BB["Faction Champions"]] = { 47173, 47170, 47174, 47175, 47172, 47171 },
[BB["Argent Confessor Paletress"]] = { 47181, 47218, 47185, 47217, 47177, 47178, 47211, 47176, 47212, 47219,
47213, 47214 },
[BB["Eadric the Pure"]] = { 47181, 47185, 47210, 47177, 47202, 47178, 47176, 47197, 47201, 47199,
47200, 47213 },
[BB["The Black Knight"]] = { 47232, 47226, 47230, 47221, 47231, 47228, 47220, 47229, 47227, 47222,
47215, 47216 },
},
[BZ["Trial of the Champion"] .. L[" (Heroic)"]] = {
[BB["Faction Champions"]] = { 45624, 47249, 47248, 47250, 47244, 47243, 47493, 44990 },
[BB["Argent Confessor Paletress"]] = { 45624, 47498, 47496, 47245, 47497, 47514, 47510, 47495, 47511, 47494,
47512, 47500, 47522, 44990 },
[BB["Eadric the Pure"]] = { 45624, 47501, 47496, 47498, 47504, 47497, 47502, 47495, 47503, 47494,
47500, 47509, 47508, 44990 },
[BB["The Black Knight"]] = { 45624, 47564, 47527, 47560, 47529, 47561, 47563, 47565, 47567, 47562,
47566, 47569, 49682, 47568, 43102, 44990, 48418 },
},
[BZ["Trial of the Crusader"] ] = {
[L["Patterns"]] = { 47654, 47655, 47656, 47657, 47629, 47635, 47631, 47630, 47628, 47634,
47632, 47633, 47622, 47623, 47627, 47626, 47624, 47625, 47556, 47639,
47638, 47637, 47636, 47646, 47647, 47648, 47649, 47650, 47651, 47652,
47653, 47640, 47641, 47642, 47643, 47644, 47645 },
[L["Miscellaneous"]] = { 47242 },
},
[BZ["Trial of the Crusader"] .. " (10)"] = {
[BB["The Beasts of Northrend"]] = { 47617, 47613, 47608, 47616, 47610, 47611, 47609, 47615, 47614, 47607,
47578, 47612, 47855, 47857, 47853, 47860, 47850, 47852, 47851, 47859, 47858, 47849, 47854, 47856 },
[BB["Lord Jaraxxus"]] = { 47663, 47620, 47669, 47621, 49235, 47683, 47680, 47711, 47619, 47679,
47618, 47703, 47676, 47861, 47865, 47863, 47866, 49236, 47867, 47869,
47870, 47872, 47864, 47862, 47868, 47871 },
[BB["Faction Champions"]] = { 47721, 47719, 47718, 47717, 47720, 47728, 47727, 47726, 47725, 47724,
47873, 47878, 47875, 47876, 47877, 47880, 47882, 47879, 47881, 47874 },
[BB["The Twin Val'kyr"]] = { 47745, 49231, 47746, 47739, 47744, 47738, 47747, 47700, 47742, 47736,
47737, 47743, 47740, 47889, 49232, 47891, 47887, 47893, 47885, 47890,
47888, 47913, 47886, 47884, 47892, 47883 },
[BB["Anub'arak"]] = { 47838, 47837, 47832, 47813, 47829, 47811, 47836, 47830, 47810, 47814,
47808, 47809, 47816, 47834, 47815, 47835, 47812, 47741, 47906, 47909,
47904, 47897, 47901, 47896, 47902, 47908, 47899, 47903, 47898, 47894,
47905, 47911, 47900, 47910, 47895, 47907 },
},
[BZ["Trial of the Crusader"] .. " (25)"] = {
[BB["The Beasts of Northrend"]] = { 46970, 46976, 46992, 46972, 46974, 46988, 46960, 46990, 46962, 46961,
46985, 46959, 46979, 46958, 46963, 47257, 47256, 47264, 47258, 47259, 47262, 47251, 47265,
47254, 47253, 47263, 47252, 47261, 47255, 47260 },
[BB["Lord Jaraxxus"]] = { 47042, 47051, 47000, 47055, 47056, 46999, 47057, 47052, 46997, 47043,
47223, 47041, 47053, 46996, 46994, 47275, 47274, 47270, 47277,
47280, 47268, 47279, 47273, 47269, 47272, 47278, 47271, 47276, 47266,
47267 },
[BB["Faction Champions"]] = { 47089, 47081, 47092, 47094, 47071, 47073, 47083, 47090, 47082, 47093,
47072, 47070, 47080, 47069, 47079, 47291, 47286, 47293, 47292,
47284, 47281, 47289, 47295, 47288, 47294, 47283, 47282, 47290, 47285,
47287 },
[BB["The Twin Val'kyr"]] = { 47126, 47141, 47107, 47140, 47106, 47142, 47108, 47121, 47116, 47105,
47139, 47115, 47138, 47104, 47114, 47301, 47306, 47308, 47299,
47296, 47310, 47298, 47304, 47307, 47305, 47297, 47303, 47309, 47300,
47302 },
[BB["Anub'arak"]] = { 47225, 47183, 47203, 47235, 47187, 47194, 47151, 47186, 47204, 47152,
47184, 47234, 47195, 47150, 47054, 47149, 47182, 47148, 47193, 47233,
47328, 47320, 47324, 47326, 47317, 47321, 47313, 47318, 47325,
47311, 47319, 47330, 47323, 47312, 47315, 47327, 47316, 47314, 47322,
47329 },
},
[BZ["Trial of the Crusader"] .. " (10)" .. L[" (Heroic)"]] = {
[BB["The Beasts of Northrend"]] = { 47921, 47923, 47919, 47926, 47916, 47918, 47917, 47924, 47925, 47915,
47920, 47922, 47994, 47996, 47992, 47999, 47989, 47991, 47990, 47998,
47997, 47988, 47993, 47995 },
[BB["Lord Jaraxxus"]] = { 47927, 47931, 47929, 47932, 49238, 47933, 47935, 47937, 47930, 47939,
47928, 47934, 47938, 48000, 48004, 48002, 48005, 49237, 48006, 48008,
48009, 48011, 48003, 48001, 48007, 48010 },
[BB["Faction Champions"]] = { 47940, 47945, 47942, 47943, 47944, 47947, 47949, 47946, 47948, 47941,
48012, 48017, 48014, 48015, 48016, 48019, 48021, 48018, 48020, 48013 },
[BB["The Twin Val'kyr"]] = { 47956, 49234, 47959, 47954, 47961, 47952, 47957, 47955, 47958, 47953,
47951, 47960, 47950, 48028, 49233, 48034, 48026, 48038, 48024, 48030,
48027, 48032, 48025, 48023, 48036, 48022 },
[BB["Anub'arak"]] = { 47974, 47977, 47972, 47965, 47969, 47964, 47976, 47970, 47967, 47971,
47966, 47962, 47973, 47979, 47968, 47978, 47963, 47975, 48051, 48054,
48049, 48042, 48046, 48041, 48047, 48053, 48044, 48048, 48043, 48039,
48050, 48056, 48045, 48055, 48040, 48052 },
[L["Tribute Run"]] = { 48712, 48708, 48713, 48709, 48714, 48710, 48711, 48673,
48675, 48674, 48671, 48672, 49044, 48703, 48701, 48695, 48693,
48699, 48705, 48697, 48668, 48669, 48670, 48666, 48667, 49046 },
},
[BZ["Trial of the Crusader"] .. " (25)" .. L[" (Heroic)"]] = {
[BB["The Beasts of Northrend"]] = { 46971, 46977, 46993, 46973, 46975, 46989, 46965, 46991, 46968, 46967,
46986, 46966, 46980, 46969, 46964, 47418, 47417, 47425, 47419,
47420, 47423, 47412, 47426, 47415, 47414, 47424, 47413, 47422, 47416,
47421 },
[BB["Lord Jaraxxus"]] = { 47063, 47062, 47004, 47066, 47068, 47002, 47067, 47061, 47003, 47060,
47224, 47059, 47064, 47001, 46995, 47436, 47435, 47431, 47438,
47441, 47429, 47440, 47434, 47430, 47433, 47439, 47432, 47437, 47427,
47428 },
[BB["Faction Champions"]] = { 47095, 47084, 47097, 47096, 47077, 47074, 47087, 47099, 47086, 47098,
47076, 47075, 47088, 47078, 47085, 47452, 47447, 47454, 47453,
47445, 47442, 47450, 47456, 47449, 47455, 47444, 47443, 47451, 47446,
47448 },
[BB["The Twin Val'kyr"]] = { 47129, 47143, 47112, 47145, 47109, 47147, 47111, 47132, 47133, 47110,
47144, 47131, 47146, 47113, 47130, 47462, 47467, 47469, 47460,
47457, 47471, 47459, 47465, 47468, 47466, 47458, 47464, 47470, 47461,
47463 },
[BB["Anub'arak"]] = { 47238, 47192, 47208, 47236, 47189, 47205, 47155, 47190, 47209, 47153,
47191, 47240, 47207, 47154, 47237, 47157, 47188, 47156, 47206, 47239,
47490, 47481, 47485, 47487, 47478, 47482, 47474, 47479, 47486,
47472, 47480, 47492, 47484, 47473, 47476, 47489, 47477, 47475, 47483,
47491 },
[L["Tribute Run"]] = { 47557, 47558, 47517, 47506, 47515, 47526, 47519, 47524, 47521, 47553,
47552, 47549, 47545, 47547, 47518, 47513, 47516, 47528, 47520, 47525,
47523, 47551, 47550, 47548, 47554, 47546 },
},
-- 3.3
[BZ["The Forge of Souls"]] = {
[BB["Bronjahm"]] = { 49788, 49785, 49786, 49787, 49784, 49783, 50317, 50316 },
[BB["Devourer of Souls"]] = { 49792, 49796, 49798, 49791, 49797, 49794, 49795, 49799, 49800, 49789, 49790, 49793 },
[L["Trash Mobs"]] = { 49854, 49855, 49853, 49852 },
},
[BZ["The Forge of Souls"] .. L[" (Heroic)"]] = {
[BB["Bronjahm"]] = { 50193, 50197, 50194, 50196, 50191, 50169, 50317, 50316 },
[BB["Devourer of Souls"]] = { 50213, 50206, 50212, 50214, 50209, 50208, 50207, 50215, 50211, 50198,
50203, 50210 },
[L["Trash Mobs"]] = { 50318, 50315, 50319, 50380, 50379 },
},
[BZ["Pit of Saron"]] = {
[BB["Forgemaster Garfrost"]] = { 49805, 49806, 49804, 49803, 49802, 49801 },
-- temporarily not localized
["Krick and Ick"] = { 49809, 49810, 49811, 49808, 49812, 49807 },
[BB["Scourgelord Tyrannus"]] = { 49823, 49825, 49822, 49817, 49824, 49826, 49820, 49819, 49816, 49818,
49821, 49813, },
[L["Trash Mobs"]] = { 49854, 49855, 49853, 49852 },
},
[BZ["Pit of Saron"] .. L[" (Heroic)"]] = {
[BB["Forgemaster Garfrost"]] = { 50233, 50234, 50230, 50229, 50228, 50227 },
-- temporarily not localized
["Krick and Ick"] = { 50266, 50263, 50624, 50265, 50235, 50262 },
[BB["Scourgelord Tyrannus"]] = { 50286, 50269, 50270, 50283, 50272, 50285, 50284, 50271, 50259, 50268,
50267, 50273 },
[L["Trash Mobs"]] = { 50318, 50315, 50319, 50380, 50379 },
},
[BZ["Halls of Reflection"]] = {
-- temporarily not localized
[BB["Falric"]] = { 49832, 49828, 49830, 49831, 49829, 49827 },
[BB["Marwyn"]] = { 49834, 49838, 49837, 49836, 49833, 49835, 49828 },
[BB["The Lich King"]] = { 49842, 49849, 49848, 49841, 49847, 49851, 49843, 49846, 49839, 49840,
49845, 49844, },
[L["Trash Mobs"]] = { 49854, 49855, 49853, 49852 },
},
[BZ["Halls of Reflection"] .. L[" (Heroic)"]] = {
[BB["Falric"]] = { 50292, 50293, 50295, 50294, 50290, 50291 },
[BB["Marwyn"]] = { 50298, 50299, 50300, 50297, 50260, 50296 },
[BB["The Lich King"]] = { 50314, 50312, 50308, 50304, 50311, 50305, 50310, 50313, 50306, 50309,
50302, 50303 },
[L["Trash Mobs"]] = { 50318, 50315, 50319, 50380, 50379 },
},
[BZ["Icecrown Citadel"] .. " (10)"] = {
[BB["Lord Marrowgar"]] = { 50764, 50773, 50774, 50762, 50775, 50772, 50763, 50339, 50771, 50761, 50759, 50760, },
[BB["Lady Deathwhisper"]] = { 50785, 50782, 50780, 50778, 50783, 50777, 50784, 50779, 50786, 50342, 50781, 50776 },
[BB["Icecrown Gunship Battle"]] = { 50791, 50795, 50797, 50792, 50789, 50796, 50788, 50790, 50340, 50793, 50787, 50794 },
[BB["Deathbringer Saurfang"]] = { 50807, 50804, 50799, 50806, 50800, 50801, 50802, 50808, 50809, 50803, 50798, 50805 },
[BB["Festergut"]] = { 50859, 50988, 50990, 50985, 50858, 50812, 50967, 50811, 50852, 50986, 50810, 50966 },
[BB["Rotface"]] = { 51007, 51005, 51009, 51002, 51006, 51000, 51008, 51001, 51003, 51004, 50998, 50999 },
[BB["Professor Putricide"]] = { 51020, 51017, 51013, 51015, 51019, 51014, 51018, 51012, 51016, 50341, 51011, 51010 },
[BB["Blood Princes"]] = { 51382, 51379, 51380, 51023, 51325, 51383, 51025, 51381, 51024, 51021, 51022, 51326 },
[BB["Blood-Queen Lana'thel"]] = { 51554, 51552, 51550, 51551, 51386, 51556, 51555, 51548, 51387, 51384, 51385, 51553 },
[BB["Valithria Dreamwalker"]] = { 51584, 51777, 51585, 51565, 51583, 51566, 51586, 51563, 51564, 51562, 51582, 51561,},
[BB["Sindragosa"]] = { 51790, 51783, 51789, 51792, 51785, 51782, 51786, 51787, 51026, 51779,
51784, 51788, 51791 },
[BB["The Lich King"]] = { },
},
[BZ["Icecrown Citadel"] .. " (25)"] = {
[BB["Lord Marrowgar"]] = { 49978, 49979, 49950, 49952, 49980, 49951, 49960, 49964, 49975, 49949, 49977, 49967, 49968, 50415, 49976, 50274, 49908 },
[BB["Lady Deathwhisper"]] = { 49991, 49994, 49987, 49996, 49988, 49993, 49986, 49995, 49983, 49989, 49985, 49990, 49982, 49992, 50034, 50274, 49908 },
[BB["Icecrown Gunship Battle"]] = { 49998, 50006, 50011, 50001, 50009, 50000, 50003, 50002, 50010, 50274,
49908, 50005, 50008, 49999, 50359, 50352, 50411 },
[BB["Deathbringer Saurfang"]] = { 50014, 50333, 50015, 50362, 50412, 50274, 49908, 52027, 52026, 52025, },
[BB["Festergut"]] = { 50063, 50056, 50062, 50042, 50041, 50059, 50038, 50064, 50413, 50060,
50037, 50036, 50061, 50414, 50035, 50040, 50226, 50274, 49908, },
[BB["Rotface"]] = { 50019, 50032, 50026, 50021, 50022, 50030, 50020, 50024, 50027, 50023,
50025, 50353, 50028, 50016, 50033, 50231, 50274, 49908 },
[BB["Professor Putricide"]] = { 50067, 50069, 50351, 50179, 50068, 50274, 49908, 52027, 52026, 52025},
[BB["Blood Princes"]] = { 50074, 50172, 50176, 50073, 50171, 50177, 50071, 50072, 50075, 50175,
50174, 50170, 50173, 50184, 49919, 50274, 49908 },
[BB["Blood-Queen Lana'thel"]] = { 50182, 50180, 50354, 50178, 50181, 50065, 50274, 49908, 52027, 52026, 52025 },
[BB["Valithria Dreamwalker"]] = { 50205, 50418, 50417, 50202, 50188, 50187, 50199, 50192, 50416, 50190,
50195, 50185, 50186, 50183, 50472, 50274, 49908 },
[BB["Sindragosa"]] = { 50421, 50424, 50360, 50361, 50423, 50274, 49908, 51026, 52027, 52026, 52025, },
[BB["The Lich King"]] = { },
[L["Trash Mobs"]] = { 50449, 50450, 50451, 50452, 50447, 50453, 50444 },
},
[BZ["Icecrown Citadel"] .. " (10)" .. L[" (Heroic)"]] = {
[BB["Lord Marrowgar"]] = { },
[BB["Lady Deathwhisper"]] = { },
[BB["Icecrown Gunship Battle"]] = { },
[BB["Deathbringer Saurfang"]] = { },
[BB["Festergut"]] = { },
[BB["Rotface"]] = { },
[BB["Professor Putricide"]] = { },
[BB["Blood Princes"]] = { },
[BB["Blood-Queen Lana'thel"]] = { },
[BB["Valithria Dreamwalker"]] = { },
[BB["Sindragosa"]] = { },
[BB["The Lich King"]] = { },
},
[BZ["Icecrown Citadel"] .. " (25)" .. L[" (Heroic)"]] = {
[BB["Lord Marrowgar"]] = { },
[BB["Lady Deathwhisper"]] = { },
[BB["Icecrown Gunship Battle"]] = { },
[BB["Deathbringer Saurfang"]] = { },
[BB["Festergut"]] = { },
[BB["Rotface"]] = { },
[BB["Professor Putricide"]] = { },
[BB["Blood Princes"]] = { },
[BB["Blood-Queen Lana'thel"]] = { },
[BB["Valithria Dreamwalker"]] = { },
[BB["Sindragosa"]] = { },
[BB["The Lich King"]] = { },
},
-- [] = {
-- },
}
local DataProviders
addon.Loots = {}
local ns = addon.Loots -- ns = namespace
function ns:GetSource(searchedID)
DataProviders = DataProviders or { -- list of sources that have a :GetSource() method
DataStore_Reputations,
DataStore_Crafts,
DataStore_Inventory,
}
-- extremely fast: takes from 0.3 to 3 ms max, depends on the location of the item in the table (obviously longer if the item is at the end)
for Instance, BossList in pairs(lootTable) do
for Boss, LootList in pairs(BossList) do
for itemID, _ in pairs(LootList) do
if LootList[itemID] == searchedID then
return Instance, Boss
end
end
end
end
local domain, subDomain
for _, provider in pairs(DataProviders) do
domain, subDomain = provider:GetSource(searchedID)
if domain and subDomain then
return domain, subDomain
end
end
return nil
end
local filters = addon.ItemFilters
local function ParseAltoholicLoots(OnMatch, OnNoMatch)
assert(type(OnMatch) == "function")
local count = 0
for Instance, BossList in pairs(lootTable) do
for Boss, LootList in pairs(BossList) do
for _, itemID in pairs(LootList) do
count = count + 1
filters:SetSearchedItem(itemID)
if filters:ItemPassesFilters() then
OnMatch(Instance, Boss)
else
if OnNoMatch then
OnNoMatch()
end
end
end
end
end
filters:ClearSearchedItem()
return count
end
local function ParseLPTSet(set, OnMatch, OnNoMatch)
assert(type(OnMatch) == "function")
local PT = LibStub("LibPeriodicTable-3.1")
if not PT then return 0 end -- exit if LPT is not active
-- LPT stores certain sets twice, but does not offer the possibility to differentiate entries (instances that are part of hubs)
-- So keep track of the sets we've already parsed, to avoid returning items twice.
local doneSets = {}
local count = 0
for _, list in pairs(PT:GetSetTable(set)) do
local _, domain, subdomain = strsplit(".", list.set)
if not doneSets[list.set] then -- if this set hasn't been parsed yet, proceed..
for itemID, value in pairs(list) do
if tostring(itemID) ~= "set" then
count = count + 1
filters:SetSearchedItem(itemID)
if filters:ItemPassesFilters() then
OnMatch(domain, subdomain or value) -- pass the value in case "subdomain" is nil
else
if OnNoMatch then
OnNoMatch()
end
end
end
end
end
doneSets[list.set] = true
end
filters:ClearSearchedItem()
return count
end
local allowedQueries, unknownCount
local function OnMatch(domain, subdomain)
Altoholic.Search:AddResult( {
id = filters:GetSearchedItemInfo("itemID"),
iLvl = filters:GetSearchedItemInfo("itemLevel"),
dropLocation = domain,
bossName = subdomain,
} )
end
local function Currency_OnMatch(domain, subdomain)
Altoholic.Search:AddResult( {
id = filters:GetSearchedItemInfo("itemID"),
iLvl = filters:GetSearchedItemInfo("itemLevel"),
dropLocation = domain,
bossName = subdomain.."x",
} )
end
local function OnNoMatch()
-- if FilterByExistence() then return end -- if the item exists, do nothing
if filters:TryFilter("Existence") then return end -- if the item exists, do nothing
unknownCount = unknownCount + 1
if allowedQueries > 0 then
if Altoholic.Options:Get("SearchAutoQuery") == 1 then -- if autoquery is enabled
local itemID = filters:GetSearchedItemInfo("itemID")
if not addon:IsItemUnsafe(itemID) then -- if the item is not known to be unsafe
GameTooltip:SetHyperlink("item:"..itemID..":0:0:0:0:0:0:0") -- this line queries the server for an unknown id
GameTooltip:ClearLines(); -- don't leave residual info in the tooltip after the server query
-- save ALL tested id's, clean the list in OnEnable during the next session.
-- the unsafe list will be cleaned in OnEnable, by parsing all ids and testing if getiteminfo returns a nil or not, if so, it's a definite unsafe link
addon:SaveUnsafeItem(itemID) -- save id to unsafe list
end
end
allowedQueries = allowedQueries - 1
end
end
function ns:Find()
unknownCount = 0
allowedQueries = 5
local count = ParseAltoholicLoots(OnMatch, OnNoMatch)
count = count + ParseLPTSet("InstanceLoot", OnMatch, OnNoMatch)
count = count + ParseLPTSet("InstanceLootHeroic", OnMatch, OnNoMatch)
count = count + ParseLPTSet("CurrencyItems", Currency_OnMatch, OnNoMatch)
addon.Options:Set("TotalLoots", count)
addon.Options:Set("UnknownLoots", unknownCount)
end
function ns:FindUpgrade()
local function OnMatch(domain, subdomain)
addon.Search:AddResult( {
id = filters:GetSearchedItemInfo("itemID"),
iLvl = filters:GetSearchedItemInfo("itemLevel"),
dropLocation = domain,
bossName = subdomain,
} )
end
ParseAltoholicLoots(OnMatch)
ParseLPTSet("InstanceLoot", OnMatch)
ParseLPTSet("InstanceLootHeroic", OnMatch)
ParseLPTSet("CurrencyItems", Currency_OnMatch)
end
local tooltipLines -- cache containing the text lines of the tooltip "+15 stamina, etc.."
local rawItemStats -- contains the raw stats of the item currently being searched, placed here to avoid creating/deleting the table during the search
local currentItemStats -- contains the stats of the item for which we'll try to find upgrades
local classExcludedStats
local classBaseStats
local function AddCurrentlyEquippedItem(itemID, class)
AltoTooltip:SetOwner(AltoholicFrame, "ANCHOR_LEFT")
local _, itemLink, _, itemLevel = GetItemInfo(itemID)
AltoTooltip:SetHyperlink(itemLink)
local statLine = addon.Equipment.FormatStats[class]
local numLines = AltoTooltip:NumLines()
local j=1
for _, BaseStat in pairs(classBaseStats) do
for i = 4, numLines do
local tooltipText = _G[ "AltoTooltipTextLeft" .. i]:GetText()
if tooltipText then
if string.find(tooltipText, BaseStat) ~= nil then
currentItemStats[BaseStat] = tonumber(string.sub(tooltipText, string.find(tooltipText, "%d+")))
statLine = string.gsub(statLine, "-s", WHITE .. currentItemStats[BaseStat], 1)
rawItemStats[j] = currentItemStats[BaseStat] .. "|0"
break
end
end
end
if not currentItemStats[BaseStat] then
rawItemStats[j] = "0|0"
currentItemStats[BaseStat] = 0 -- Set the current stat to zero if it was not found on the item
statLine = string.gsub(statLine, "-s", WHITE .. "0", 1)
end
j = j + 1
end
AltoTooltip:ClearLines();
-- Save currently equipped item to the results table
addon.Search:AddResult( {
id = itemID,
iLvl = itemLevel,
dropLocation = "Currently equipped",
stat1 = rawItemStats[1],
stat2 = rawItemStats[2],
stat3 = rawItemStats[3],
stat4 = rawItemStats[4],
stat5 = rawItemStats[5],
stat6 = rawItemStats[6]
} )
end
local function MatchUpgradeByStats(itemID)
filters:SetSearchedItem(itemID)
if not filters:ItemPassesFilters() then
filters:ClearSearchedItem()
return
end
AltoTooltip:ClearLines();
AltoTooltip:SetOwner(AltoholicFrame, "ANCHOR_LEFT");
AltoTooltip:SetHyperlink(filters:GetSearchedItemInfo("itemLink"))
-- save some time by trying to find out if the item could be excluded
wipe(tooltipLines)
for i = 4, AltoTooltip:NumLines() do -- parse all tooltip lines, one by one, start at 4 since 1= item name, 2 = binds on.., 3 = type/slot/unique ..etc
-- in this first pass, save the lines into a cache, reused below
local tooltipLine = _G[ "AltoTooltipTextLeft" .. i]:GetText()
if tooltipLine then
if string.find(tooltipLine, L["Socket"]) == nil then
for _, v in pairs(classExcludedStats) do
--if string.find(tooltipLine, v, 1, true) ~= nil then return end
if string.find(tooltipLine, v) ~= nil then return end
end
tooltipLines[i] = tooltipLine
end
end
end
local statFound
local j=1
for _, BaseStat in pairs(classBaseStats) do
statFound = nil
for i, tooltipText in pairs(tooltipLines) do
--if string.find(tooltipText, BaseStat, 1, true) ~= nil then
if string.find(tooltipText, BaseStat) ~= nil then
--local stat = tonumber(string.sub(tooltipText, string.find(tooltipText, "%d+")))
local stat = tonumber(string.match(tooltipText, "%d+"))
rawItemStats[j] = stat .. "|" .. (stat - currentItemStats[BaseStat])
table.remove(tooltipLines, i) -- remove the current entry, so it won't be parsed in the next loop cycle
statFound = true
break
end
end
if not statFound then
rawItemStats[j] = "0|" .. (0 - currentItemStats[BaseStat])
end
j = j + 1
end
local iLvl = filters:GetSearchedItemInfo("itemLevel")
filters:ClearSearchedItem()
-- All conditions ok ? save it
return true, iLvl
end
-- modify this one after 3.2, to use GetItemStats
function ns:FindUpgradeByStats(currentID, class)
classExcludedStats = addon.Equipment.ExcludeStats[class]
classBaseStats = addon.Equipment.BaseStats[class]
rawItemStats = {}
currentItemStats = {}
tooltipLines = {}
AddCurrentlyEquippedItem(currentID, class)
for Instance, BossList in pairs(lootTable) do -- parse the loot table to find an upgrade
for Boss, LootList in pairs(BossList) do
for _, itemID in pairs(LootList) do
local matches, itemLevel = MatchUpgradeByStats(itemID)
if matches then
addon.Search:AddResult( {
id = itemID,
iLvl = itemLevel,
dropLocation = Instance .. ", " .. GREEN .. Boss,
stat1 = rawItemStats[1],
stat2 = rawItemStats[2],
stat3 = rawItemStats[3],
stat4 = rawItemStats[4],
stat5 = rawItemStats[5],
stat6 = rawItemStats[6]
} )
end
end
end
end
classExcludedStats = nil
classBaseStats = nil
currentItemStats = nil
tooltipLines = nil
rawItemStats = nil
end